-
Notifications
You must be signed in to change notification settings - Fork 3
/
project.yml
163 lines (154 loc) · 4.31 KB
/
project.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
name: HackerNews
options:
developmentLanguage: en
createIntermediateGroups: true
deploymentTarget:
iOS: 17.0
xcodeVersion: 15.2
configs:
Debug: debug
Beta: beta
Release: release
configFiles:
Debug: ./HackerNews/Resources/Configurations/Debug.xcconfig
Beta: ./HackerNews/Resources/Configurations/Beta.xcconfig
Release: ./HackerNews/Resources/Configurations/Release.xcconfig
settings:
base:
SWIFT_VERSION: "5.9"
configs:
Debug:
DEVELOPMENT_TEAM: A8WE5LL2GU
OTHER_SWIFT_FLAGS: -D DEBUG
SWIFT_OPTIMIZATION_LEVEL: -Onone
GCC_OPTIMIZATION_LEVEL: 1
SWIFT_COMPILATION_MODE: "incremental"
Beta:
DEVELOPMENT_TEAM: A8WE5LL2GU
OTHER_SWIFT_FLAGS: -D DEBUG
SWIFT_OPTIMIZATION_LEVEL: -O
GCC_OPTIMIZATION_LEVEL: 1
SWIFT_COMPILATION_MODE: "incremental"
Release:
DEVELOPMENT_TEAM: A8WE5LL2GU
OTHER_SWIFT_FLAGS: -D RELEASE
OTHER_LDFLAGS: -Objc
SWIFT_COMPILATION_MODE: wholemodule
packages:
# Common
HackerNewsLocalization:
path: Modules/Common/HackerNewsLocalization
UIExtensions:
path: Modules/Common/UIExtensions
AppUtils:
path: Modules/Common/AppUtils
DesignKit:
path: Modules/Common/DesignKit
# Feature
Home:
path: Modules/Features/Home
Settings:
path: Modules/Features/Settings
# External
ComposableArchitecture:
url: https://github.com/pointfreeco/swift-composable-architecture.git
from: 1.13.1
SwiftCollections:
url: https://github.com/apple/swift-collections.git
from: 1.0.5
Pulse:
url: https://github.com/kean/Pulse.git
from: 4.0.5
attributes:
ORGANIZATIONNAME: Nikita Vasilev
schemes:
Debug:
build:
targets:
HackerNews: all
run:
config: Debug
test:
gatherCoverageData: true
targets:
- HackerNewsTests
- package: Home/HomeTests
- package: Settings/SettingsTests
coverageTargets:
- HackerNews
- package: Home/Home
- package: Settings/Settings
Release:
build:
targets:
HackerNews: all
run:
config: Release
Beta:
build:
targets:
HackerNews: all
targets:
HackerNews:
type: application
platform: iOS
dependencies:
- package: HackerNewsLocalization
- package: ComposableArchitecture
- package: SwiftCollections
product: OrderedCollections
- package: Home
- package: Settings
- package: UIExtensions
- package: DesignKit
- package: Pulse
product: PulseUI
sources:
- path: HackerNews
settings:
base:
MARKETING_VERSION: 3.0.0
CURRENT_PROJECT_VERSION: 1
TARGETED_DEVICE_FAMILY: "1,2"
configs:
Beta:
PRODUCT_NAME: HackerNews
PRODUCT_BUNDLE_IDENTIFIER: com.nikitavasilev.HackerNews.beta
CODE_SIGN_IDENTITY: "iPhone Developer"
PROVISIONING_PROFILE_SPECIFIER: match Development com.nikitavasilev.HackerNews.beta
Debug:
PRODUCT_NAME: HackerNews
PRODUCT_BUNDLE_IDENTIFIER: com.nikitavasilev.HackerNews.debug
CODE_SIGN_IDENTITY: "iPhone Developer"
PROVISIONING_PROFILE_SPECIFIER: match Development com.nikitavasilev.HackerNews.debug
Release:
PRODUCT_NAME: HackerNews
PRODUCT_BUNDLE_IDENTIFIER: com.nikitavasilev.HackerNews
CODE_SIGN_IDENTITY: "iPhone Distribution"
PROVISIONING_PROFILE_SPECIFIER: match AppStore com.nikitavasilev.HackerNews
prebuildScripts:
- script: |
make swiftgen
name: SwiftGen
- script: |
if [[ "${CONFIGURATION}" == "Debug" || "${CONFIGURATION}" == "Beta" ]]; then
export PATH="$PATH:/opt/homebrew/bin"
echo "[Swiftlint] Run"
if which mint >/dev/null; then
xcrun --sdk macosx make lint
echo "[Swiftlint] Complete"
else
echo "[Swiftlint] Bootstrap mint"
fi
fi
name: SwiftLint
HackerNewsTests:
type: bundle.unit-test
platform: iOS
settings:
GENERATE_INFOPLIST_FILE: YES
BUNDLE_LOADER: $(BUILT_PRODUCTS_DIR)/HackerNews.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/HackerNews
sources:
- HackerNewsTests
dependencies:
- target: HackerNews