Skip to content

Commit

Permalink
Initialize Xcode-14.2-Component
Browse files Browse the repository at this point in the history
  • Loading branch information
perseusrealdeal committed Oct 2, 2024
0 parents commit f80d314
Show file tree
Hide file tree
Showing 13 changed files with 696 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: 'Tests'

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# schedule:
# - cron: '5 5 * * 5'

jobs:
unit-testing-iOS:
runs-on: macos-14
steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: Select Xcode 15.4
run: sudo xcode-select -s "/Applications/Xcode_15.4.app"
- name: Show xcodebuild version
run: xcodebuild -version
- name: Show xcode embedded SDKs
run: xcodebuild -showsdks
- name: Show buildable schemes
run: xcodebuild -list
- uses: mxcl/xcodebuild@v1.9.2
with:
platform: iOS
scheme: 'T3Component'
action: test
code-coverage: true
verbosity: xcpretty
upload-logs: always

unit-testing-macOS:
runs-on: macos-14
steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: Select Xcode 15.4
run: sudo xcode-select -s "/Applications/Xcode_15.4.app"
- name: Show xcodebuild version
run: xcodebuild -version
- name: Show xcode embedded SDKs
run: xcodebuild -showsdks
- name: Show buildable schemes
run: xcodebuild -list
- uses: mxcl/xcodebuild@v1.9.2
with:
platform: macOS
scheme: 'T3Component'
action: test
code-coverage: true
verbosity: xcpretty
upload-logs: always

17 changes: 17 additions & 0 deletions .github/workflows/swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# .github/workflows/swiftlint.yml
name: Style

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
SwiftLint:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: cirruslabs/swiftlint-action@v1
with:
version: latest
50 changes: 50 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
*.DS_Store
SwiftLintOutput

## Obj-C/Swift specific
*.hmap

## App packaging
*.ipa
*.dSYM.zip
*.dSYM

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
Package.resolved
*.xcodeproj
#
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
.swiftpm

.build/
53 changes: 53 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
reporter: "xcode" # reporter type (xcode, json, csv, checkstyle, junit, html, emoji)

opt_in_rules:
- empty_count
# - missing_docs

disabled_rules:
# - colon
# - comma
# - control_statement
- block_based_kvo

force_cast: warning

force_try:
severity: warning

identifier_name: # Variable name
allowed_symbols: "_"
min_length: 2
max_length:
warning: 40
error: 45

file_length:
warning: 200
error: 300
ignore_comment_only_lines: false

line_length: 95

type_name:
min_length: 4 # only warning
max_length: # warning and error
warning: 40
error: 50
# allowed_symbols: ["_"] # these are allowed in type names

type_body_length:
- 300 # warning
- 400 # error

function_body_length:
- 60 # warning
- 90 # error

function_parameter_count:
- 4 # warning
- 5 # error

large_tuple:
warning: 4
error: 5
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

- Dates in this file meets Gregorian calendar. Date in format YYYY-MM-DD.

## [0.1.0] - [Unreleased], Developer Release

### Added

- Feature (#NN).
- Feature (#NN).
- Option (#NN).
- Screen (#NN).
- Fun Spec (#NN)

### Security

- To keep Something in safe (#NN).

### Changed

- Project specifics (#NN).

## [0.0.1] - [YYYY-MM-DD], Developer Beginning Release

### Added

- Initial point of development process of [The Technological Tree](https://github.com/perseusrealdeal/TheTechnologicalTree).
24 changes: 24 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
MIT License

Copyright © 7531 - 7533 Mikhail A. Zhigulin of Novosibirsk

The year starts from the creation of the world according to a Slavic calendar.
September, the 1st of Slavic year.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
45 changes: 45 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// swift-tools-version:5.7

/* Package.swift
Version: 0.0.1

Created by Mikhail Zhigulin in 7531.

Copyright © 7531 - 7533 Mikhail A. Zhigulin of Novosibirsk

The year starts from the creation of the world according to a Slavic calendar.
September, the 1st of Slavic year.

Licensed under the MIT license. See LICENSE file.
All rights reserved.

Abstract:
Package manifest for an App component.
*/

import PackageDescription

let package = Package(
name: "T3Component",
platforms: [
.macOS(.v10_13),
.iOS(.v11)
],
products: [
.library(
name: "T3Component",
targets: ["T3Component"])
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
.target(
name: "T3Component",
dependencies: []),
.testTarget(
name: "T3ComponentTests",
dependencies: ["T3Component"])
]
)
91 changes: 91 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# <Component's Name> — Xcode 14.2+

> This is the custom template for macOS/iOS app's component.<br/>
[![Actions Status](https://github.com/perseusrealdeal/ConsolePerseusLogger/actions/workflows/main.yml/badge.svg)](https://github.com/perseusrealdeal/ConsolePerseusLogger/actions/workflows/main.yml)
[![Style](https://github.com/perseusrealdeal/ConsolePerseusLogger/actions/workflows/swiftlint.yml/badge.svg)](https://github.com/perseusrealdeal/ConsolePerseusLogger/actions/workflows/swiftlint.yml)
[![Version](https://img.shields.io/badge/Version-0.0.1-green.svg)](/CHANGELOG.md)
[![Platforms](https://img.shields.io/badge/Platforms-macOS%2010.13+_|_iOS%2011.0+-orange.svg)](https://en.wikipedia.org/wiki/List_of_Apple_products)
[![Xcode 14.2](https://img.shields.io/badge/Xcode-14.2+-red.svg)](https://en.wikipedia.org/wiki/Xcode)
[![Swift 5.7](https://img.shields.io/badge/Swift-5.7-red.svg)](https://docs.swift.org/swift-book/RevisionHistory/RevisionHistory.html)
[![License](http://img.shields.io/:License-MIT-blue.svg)](/LICENSE)

## Integration Capabilities

[![Standalone](https://img.shields.io/badge/Standalone%20-available-informational.svg)](/T3ComponentSingle.swift)
[![Swift Package Manager compatible](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-4BC51D.svg)](https://github.com/apple/swift-package-manager)

## In brief > Idea to use, the Why

> DESC: Initial point of development process.<br/>
> TODO: Preview material.
## Approbation Matrix

> [A3 Environment](https://docs.google.com/document/d/1K2jOeIknKRRpTEEIPKhxO2H_1eBTof5uTXxyOm5g6nQ/edit?usp=sharing). [CHANGELOG](/CHANGELOG.md) for details.
### macOS

| macOS | Version | Result | Details |
| ----------- | -------- | :-----: | ------- |
| High Sierra | 10.13.6 | ?? | - |
| Mojave | 10.14.6 | ?? | - |
| Catalina | 10.15.7 | ?? | - |
| Big Sur | 11.7.10 | ?? | - |
| Monterey | 12.7.6 | ok | - |
| Ventura | 13.6.9 | ?? | - |
| Sonoma | 14.6.1 | ?? | - |
| Sequoia | 15.nn.nn | ?? | - |

### iOS

| iOS | Simulator | Device | Result | Details |
| ------ | --------- | --------------------- | :-----: | ------- |
| iOS 11 | | | ?? | - |
| iOS 12 | - | iPad Air / iOS 12.5.7 | ok | - |
| iOS 13 | | | ?? | - |
| iOS 14 | | | ?? | - |
| iOS 15 | | | ?? | - |
| iOS 16 | | | ?? | - |
| iOS 17 | | | ?? | - |
| iOS 18 | | | ?? | - |

# Build system requirements

- [macOS Monterey 12.7.6+](https://apps.apple.com/by/app/macos-monterey/id1576738294) / [Xcode 14.2+](https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_14.2/Xcode_14.2.xip)
- AppKit SDK, macOS 10.13+
- UIKit SDK, iOS 11.0+
- Swift 5

# First-party software

- [PerseusLogger](https://gist.github.com/perseusrealdeal/df456a9825fcface44eca738056eb6d5)

# Third-party software

- Style [SwiftLint](https://github.com/realm/SwiftLint)
- Action [mxcl/xcodebuild@v3.3](https://github.com/mxcl/xcodebuild/releases/tag/v3.3.0)
- Action [cirruslabs/swiftlint-action@v1](https://github.com/cirruslabs/swiftlint-action/releases/tag/v1.0.0)

# Points taken into account

- Preconfigured Swift Package [Package.swift](/Package.swift) file
- Preconfigured SwiftLint config [.swiftlint.yml](/.swiftlint.yml) file
- Preconfigured SwiftLint CI [swiftlint.yml](/.github/workflows/swiftlint.yml) file
- Preconfigured GitHub config [.gitignore](/.gitignore) file
- Preconfigured GitHub CI [main.yml](/.github/workflows/main.yml) file
- Light-weight [logger](/Sources/T3Component/PerseusLogger.swift)

# License MIT

Copyright © 7531 - 7533 Mikhail A. Zhigulin of Novosibirsk

- The year starts from the creation of the world according to a Slavic calendar.
- September, the 1st of Slavic year. It means that Sep 01 2024 is the beginning of 7533.

[LICENSE](/LICENSE) for details.

# Editors, prepared by

> Mikhail A. Zhigulin of Novosibirsk
Loading

0 comments on commit f80d314

Please sign in to comment.