-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from salute-developers/feature/add-xcode-project
chore: Added an initial Xcode project structure. Added license, readme.
- Loading branch information
Showing
39 changed files
with
1,509 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
# Xcode | ||
# | ||
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore | ||
|
||
## User settings | ||
xcuserdata/ | ||
|
||
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) | ||
*.xcscmblueprint | ||
*.xccheckout | ||
|
||
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) | ||
build/ | ||
DerivedData/ | ||
*.moved-aside | ||
*.pbxuser | ||
!default.pbxuser | ||
*.mode1v3 | ||
!default.mode1v3 | ||
*.mode2v3 | ||
!default.mode2v3 | ||
*.perspectivev3 | ||
!default.perspectivev3 | ||
|
||
## Obj-C/Swift specific | ||
*.hmap | ||
|
||
## App packaging | ||
*.ipa | ||
*.dSYM.zip | ||
*.dSYM | ||
|
||
## Playgrounds | ||
timeline.xctimeline | ||
playground.xcworkspace | ||
|
||
# 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/ | ||
|
||
# CocoaPods | ||
# | ||
# We recommend against adding the Pods directory to your .gitignore. However | ||
# you should judge for yourself, the pros and cons are mentioned at: | ||
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control | ||
# | ||
# Pods/ | ||
# | ||
# Add this line if you want to avoid checking in source code from the Xcode workspace | ||
# *.xcworkspace | ||
|
||
# Carthage | ||
# | ||
# Add this line if you want to avoid checking in source code from Carthage dependencies. | ||
# Carthage/Checkouts | ||
|
||
Carthage/Build/ | ||
|
||
# Accio dependency management | ||
Dependencies/ | ||
.accio/ | ||
|
||
# fastlane | ||
# | ||
# It is recommended to not store the screenshots in the git repo. | ||
# Instead, use fastlane to re-generate the screenshots whenever they are needed. | ||
# For more information about the recommended setup visit: | ||
# https://docs.fastlane.tools/best-practices/source-control/#source-control | ||
|
||
fastlane/report.xml | ||
fastlane/Preview.html | ||
fastlane/screenshots/**/*.png | ||
fastlane/test_output | ||
|
||
# Code Injection | ||
# | ||
# After new code Injection tools there's a generated folder /iOSInjectionProject | ||
# https://github.com/johnno1962/injectionforxcode | ||
|
||
iOSInjectionProject/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# These owners will be the default owners for everything in | ||
# the repo. Unless a later match takes precedence, | ||
# @global-owner1 and @global-owner2 will be requested for | ||
# review when someone opens a pull request. | ||
* @vkaltyrin | ||
|
||
.github/* @vkaltyrin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Contributing | ||
|
||
Процесс внесения изменений в проект SDDS iOS, | ||
|
||
## Before commit | ||
На каждом PR происходит прогон тестов и статических анализаторов. Влить PR не удастся без успешно пройденых тестов и валидных результатов | ||
анализаторов. Поэтому перед коммитом рекомендуется запустить этот процесс локально, чтобы поберечь время и избежать повторного запуска пайплайна. | ||
|
||
## Issues | ||
|
||
Если в процессе разработки выяснилось, что необходимо сделать какое-то изменение в будущем или встретился какой-либо баг, | ||
то требуется создать новый [Issue](https://github.com/salute-developers/plasma/issues), добавить в нём описание и требования, | ||
а также отметить данный участок кода комментарием с ключевым словом `TODO` и ссылкой на issue: | ||
```swift | ||
// TODO: https://github.com/salute-developers/plasma/issues/438 | ||
``` | ||
|
||
## Commit | ||
|
||
Мы используем Conventional Commits (<https://www.conventionalcommits.org/>). Git commit message должен быть на английском языке. | ||
Для удобства генерации release notes каждый коммит должен относиться к одному target и указывать его в скобках как скоуп. | ||
Target - это то, что мы собираем и выпускаем в релиз (:sdds-core:sandbox, :sdds-core:uikit, :sdds-core:plugin_theme_builder и т.д.). | ||
Допустимые скоупы: | ||
- sdds-icore/uikit | ||
- sdds-icore/uikit-swift | ||
- sdds-icore/theme-builder | ||
- sdds-icore/sandbox | ||
- sdds-ios/build-system (не target, но нужно указывать, если есть изменения в build-system) | ||
- sdds-ilibs/${libName} - где libName - это библиотеки для вертикалей | ||
|
||
Примеры коммитов: | ||
|
||
```sh | ||
git commit -m "feat(sdds-acore/uikit): Component Button was added" | ||
git commit -m "fix(sdds-acore/sandbox): Buttons screen was fixed" | ||
``` | ||
|
||
Использование Conventional Commits обязательно: | ||
|
||
- `fix` - если вносится исправление в существующую функциональность; | ||
- `feat` - если в кодовую базу добавляется новая функциональность; | ||
- `docs` - если вносится изменение в контент документации; | ||
- `chore` - если вносимые изменения не относятся ни к кодовой базе пакетов, ни к документации; | ||
- `build` - сборка пакетов и утилит; | ||
- `test` - для добавления / обновления тестов и снапшотов; | ||
- `ci` - для всех коммитов в папке .github | ||
|
||
## Pull request | ||
|
||
- Создаем PR в ветку `develop`, дожидаемся успешного завершения работы CI. | ||
- Дописываем в главный коммент описание того, что было сделано и для чего. | ||
- Дожидаемся аппрува от всех ревьюеров ПРа. | ||
- Добавляем PR в очередь на merge. | ||
|
||
## Релизный процесс | ||
- Разработка ведется в `feature/` ветках, которые отводятся из ветки `develop` | ||
- Каждые 2 недели `feature-freeze`, когда отводится ветка `release/`, а версия `develop` поднимается | ||
- Ветка `release/` стабилизируется (вливаются только исправления дефектов) 2 недели | ||
- По окончанию стабилизации `release/` ветки происходит `code-freeze` и публикация релиза | ||
- Во время `code-freeze`, пока ветка `release/` вливается в `develop` и `main`, запрещено вливать любой код | ||
- При необходимости из `main` ветки может создаваться ветка `hotfix`, которая потом тоже вливается в `main` и `develop` | ||
|
||
![GitFlow](./assets/git-flow.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# plasma-ios | ||
### SDDS iOS | ||
|
||
Проект объединяет в себе набор решений по адаптации дизайн-системы SDDS для приложений iOS. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// | ||
// plasma_iosTests.swift | ||
// plasma-iosTests | ||
// | ||
// Created by Калтырин Владимир Александрович on 21.03.2024. | ||
// | ||
|
||
import XCTest | ||
@testable import plasma_ios | ||
|
||
final class plasma_iosTests: XCTestCase { | ||
|
||
override func setUpWithError() throws { | ||
// Put setup code here. This method is called before the invocation of each test method in the class. | ||
} | ||
|
||
override func tearDownWithError() throws { | ||
// Put teardown code here. This method is called after the invocation of each test method in the class. | ||
} | ||
|
||
func testExample() throws { | ||
// This is an example of a functional test case. | ||
// Use XCTAssert and related functions to verify your tests produce the correct results. | ||
// Any test you write for XCTest can be annotated as throws and async. | ||
// Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. | ||
// Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. | ||
} | ||
|
||
func testPerformanceExample() throws { | ||
// This is an example of a performance test case. | ||
self.measure { | ||
// Put the code you want to measure the time of here. | ||
} | ||
} | ||
|
||
} |
Oops, something went wrong.