xcake 0.8.3 → 0.8.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/lib/xcake/version.rb +1 -1
  4. data/xcake.gemspec +1 -1
  5. metadata +1 -35
  6. data/docs/Cakefile.md +0 -509
  7. data/docs/Getting Started.md +0 -65
  8. data/docs/Hooks.md +0 -14
  9. data/docs/Xcode Project Support.md +0 -51
  10. data/example/app/CakeMania/CakeMania.xcodeproj/project.pbxproj +0 -973
  11. data/example/app/CakeMania/CakeMania.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  12. data/example/app/CakeMania/CakeMania.xcodeproj/project.xcworkspace/xcuserdata/maxim.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  13. data/example/app/CakeMania/CakeMania.xcodeproj/xcshareddata/xcschemes/CakeMania-AppStore.xcscheme +0 -91
  14. data/example/app/CakeMania/CakeMania.xcodeproj/xcshareddata/xcschemes/CakeMania-Debug.xcscheme +0 -91
  15. data/example/app/CakeMania/CakeMania.xcodeproj/xcshareddata/xcschemes/CakeMania-Production.xcscheme +0 -91
  16. data/example/app/CakeMania/CakeMania.xcodeproj/xcshareddata/xcschemes/CakeMania-RC.xcscheme +0 -91
  17. data/example/app/CakeMania/CakeMania.xcodeproj/xcshareddata/xcschemes/CakeMania-Staging.xcscheme +0 -91
  18. data/example/app/CakeMania/CakeMania.xcodeproj/xcuserdata/maxim.xcuserdatad/xcschemes/CakeManiaTst.xcscheme +0 -56
  19. data/example/app/CakeMania/CakeMania.xcodeproj/xcuserdata/maxim.xcuserdatad/xcschemes/CakeManiaUITst.xcscheme +0 -56
  20. data/example/app/CakeMania/CakeMania.xcodeproj/xcuserdata/maxim.xcuserdatad/xcschemes/xcschememanagement.plist +0 -72
  21. data/example/app/CakeMania/Cakefile +0 -398
  22. data/example/app/CakeMania/Info/CakeMania.plist +0 -38
  23. data/example/app/CakeMania/Info/CakeManiaTst.plist +0 -22
  24. data/example/app/CakeMania/Info/CakeManiaUITst.plist +0 -22
  25. data/example/app/CakeMania/Res/CakeMania-test.entitlements +0 -10
  26. data/example/app/CakeMania/Res/CakeMania.entitlements +0 -10
  27. data/example/app/CakeMania/Res/CakeMania.xcassets/AppIcon.appiconset/Contents.json +0 -48
  28. data/example/app/CakeMania/Src/AppDelegate.swift +0 -46
  29. data/example/app/CakeMania/Src/Base.lproj/LaunchScreen.storyboard +0 -27
  30. data/example/app/CakeMania/Src/Base.lproj/Main.storyboard +0 -26
  31. data/example/app/CakeMania/Src/ObjC/CakeMania-Bridging-Header.h +0 -3
  32. data/example/app/CakeMania/Src/ObjC/Prefix.pch +0 -14
  33. data/example/app/CakeMania/Src/ViewController.swift +0 -25
  34. data/example/app/CakeMania/Tst/Main.swift +0 -36
  35. data/example/app/CakeMania/UITst/Main.swift +0 -36
  36. data/example/framework/Cakefile +0 -133
  37. data/gemfiles/Gemfile.xcodeproj-1.3.x +0 -5
  38. data/gemfiles/Gemfile.xcodeproj-1.4.x +0 -5
  39. data/gemfiles/Gemfile.xcodeproj-edge +0 -5
@@ -1,56 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Scheme
3
- LastUpgradeVersion = "0810"
4
- version = "1.3">
5
- <BuildAction
6
- parallelizeBuildables = "YES"
7
- buildImplicitDependencies = "YES">
8
- </BuildAction>
9
- <TestAction
10
- buildConfiguration = "Debug"
11
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
12
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
13
- shouldUseLaunchSchemeArgsEnv = "YES">
14
- <Testables>
15
- <TestableReference
16
- skipped = "NO">
17
- <BuildableReference
18
- BuildableIdentifier = "primary"
19
- BlueprintIdentifier = "4D92BE07FADBC9796349860D"
20
- BuildableName = "CakeManiaTst.xctest"
21
- BlueprintName = "CakeManiaTst"
22
- ReferencedContainer = "container:CakeMania.xcodeproj">
23
- </BuildableReference>
24
- </TestableReference>
25
- </Testables>
26
- <AdditionalOptions>
27
- </AdditionalOptions>
28
- </TestAction>
29
- <LaunchAction
30
- buildConfiguration = "Debug"
31
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
32
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
33
- launchStyle = "0"
34
- useCustomWorkingDirectory = "NO"
35
- ignoresPersistentStateOnLaunch = "NO"
36
- debugDocumentVersioning = "YES"
37
- debugServiceExtension = "internal"
38
- allowLocationSimulation = "YES">
39
- <AdditionalOptions>
40
- </AdditionalOptions>
41
- </LaunchAction>
42
- <ProfileAction
43
- buildConfiguration = "Debug"
44
- shouldUseLaunchSchemeArgsEnv = "YES"
45
- savedToolIdentifier = ""
46
- useCustomWorkingDirectory = "NO"
47
- debugDocumentVersioning = "YES">
48
- </ProfileAction>
49
- <AnalyzeAction
50
- buildConfiguration = "Debug">
51
- </AnalyzeAction>
52
- <ArchiveAction
53
- buildConfiguration = "Debug"
54
- revealArchiveInOrganizer = "YES">
55
- </ArchiveAction>
56
- </Scheme>
@@ -1,56 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Scheme
3
- LastUpgradeVersion = "0810"
4
- version = "1.3">
5
- <BuildAction
6
- parallelizeBuildables = "YES"
7
- buildImplicitDependencies = "YES">
8
- </BuildAction>
9
- <TestAction
10
- buildConfiguration = "Debug"
11
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
12
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
13
- shouldUseLaunchSchemeArgsEnv = "YES">
14
- <Testables>
15
- <TestableReference
16
- skipped = "NO">
17
- <BuildableReference
18
- BuildableIdentifier = "primary"
19
- BlueprintIdentifier = "E1D6D3AA914753263EC9C524"
20
- BuildableName = "CakeManiaUITst.xctest"
21
- BlueprintName = "CakeManiaUITst"
22
- ReferencedContainer = "container:CakeMania.xcodeproj">
23
- </BuildableReference>
24
- </TestableReference>
25
- </Testables>
26
- <AdditionalOptions>
27
- </AdditionalOptions>
28
- </TestAction>
29
- <LaunchAction
30
- buildConfiguration = "Debug"
31
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
32
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
33
- launchStyle = "0"
34
- useCustomWorkingDirectory = "NO"
35
- ignoresPersistentStateOnLaunch = "NO"
36
- debugDocumentVersioning = "YES"
37
- debugServiceExtension = "internal"
38
- allowLocationSimulation = "YES">
39
- <AdditionalOptions>
40
- </AdditionalOptions>
41
- </LaunchAction>
42
- <ProfileAction
43
- buildConfiguration = "Debug"
44
- shouldUseLaunchSchemeArgsEnv = "YES"
45
- savedToolIdentifier = ""
46
- useCustomWorkingDirectory = "NO"
47
- debugDocumentVersioning = "YES">
48
- </ProfileAction>
49
- <AnalyzeAction
50
- buildConfiguration = "Debug">
51
- </AnalyzeAction>
52
- <ArchiveAction
53
- buildConfiguration = "Debug"
54
- revealArchiveInOrganizer = "YES">
55
- </ArchiveAction>
56
- </Scheme>
@@ -1,72 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>SchemeUserState</key>
6
- <dict>
7
- <key>CakeMania-AppStore.xcscheme_^#shared#^_</key>
8
- <dict>
9
- <key>isShown</key>
10
- <true/>
11
- <key>orderHint</key>
12
- <integer>0</integer>
13
- </dict>
14
- <key>CakeMania-Debug.xcscheme_^#shared#^_</key>
15
- <dict>
16
- <key>isShown</key>
17
- <true/>
18
- <key>orderHint</key>
19
- <integer>1</integer>
20
- </dict>
21
- <key>CakeMania-Production.xcscheme_^#shared#^_</key>
22
- <dict>
23
- <key>isShown</key>
24
- <true/>
25
- <key>orderHint</key>
26
- <integer>2</integer>
27
- </dict>
28
- <key>CakeMania-RC.xcscheme_^#shared#^_</key>
29
- <dict>
30
- <key>isShown</key>
31
- <true/>
32
- <key>orderHint</key>
33
- <integer>3</integer>
34
- </dict>
35
- <key>CakeMania-Staging.xcscheme_^#shared#^_</key>
36
- <dict>
37
- <key>isShown</key>
38
- <true/>
39
- <key>orderHint</key>
40
- <integer>4</integer>
41
- </dict>
42
- <key>CakeManiaTst.xcscheme</key>
43
- <dict>
44
- <key>orderHint</key>
45
- <integer>5</integer>
46
- </dict>
47
- <key>CakeManiaUITst.xcscheme</key>
48
- <dict>
49
- <key>orderHint</key>
50
- <integer>6</integer>
51
- </dict>
52
- </dict>
53
- <key>SuppressBuildableAutocreation</key>
54
- <dict>
55
- <key>4D92BE07FADBC9796349860D</key>
56
- <dict>
57
- <key>primary</key>
58
- <true/>
59
- </dict>
60
- <key>D2CF49CEAF900441E70E24B1</key>
61
- <dict>
62
- <key>primary</key>
63
- <true/>
64
- </dict>
65
- <key>E1D6D3AA914753263EC9C524</key>
66
- <dict>
67
- <key>primary</key>
68
- <true/>
69
- </dict>
70
- </dict>
71
- </dict>
72
- </plist>
@@ -1,398 +0,0 @@
1
- # https://github.com/jcampbell05/xcake
2
- # http://www.rubydoc.info/github/jcampbell05/xcake/master/file/docs/Cakefile.md
3
-
4
- # this is a sample Cakefile for a fictional project that is called "CakeMania"
5
-
6
- #===
7
-
8
- # just helper variables to use these values in a consistent way across whole file
9
-
10
- iOSdeploymentTarget = "8.0"
11
- currentSwiftVersion = "3.0.1" # to set "Use Legacy Swift ..." to "No"
12
- companyIdentifier = "com.CakeMania"
13
- developmentTeamId = "XYZXYZ" # for automatic debug signing in Xcode 8
14
- testSuffix = "Tst"
15
- testSuffixUI = "UI" + testSuffix
16
-
17
- provProfAdHoc = "XXX"
18
- provProfAppStore = "YYY"
19
-
20
- #=== 3d-party integration keys (global variables)
21
-
22
- # The values below will be used to set "user-defined" build settings
23
- # for build configurations on target level,
24
- # so we can reuse the same, lets say, "test" FB key
25
- # within several "test" configurations (for example, the same test key
26
- # would be used for "Debug" and "Staging" configurations), and can easily
27
- # see what is the value/key we use for testing and production,
28
- # and even update it in future if needed.
29
-
30
- # "FACEBOOK_KEY"
31
-
32
- facebookProdKey = "888888888888888"
33
- facebookTestKey = "999999999999999"
34
-
35
- #===
36
-
37
- # lets define high level project settings
38
-
39
- project.name = "CakeMania"
40
- project.class_prefix = "CMN"
41
- project.organization = "CakeMania Inc."
42
-
43
- #===
44
-
45
- # Below we explicitly define the list of project build configurations.
46
- # If you do not define it explicitly, Xcake will implicitly define default ones,
47
- # that are equivalent to this:
48
- #
49
- # project.debug_configuration :Debug
50
- # project.release_configuration :Release
51
- #
52
-
53
- project.debug_configuration :Debug # for local development/debugging only, pointing to "test.*" API server
54
- project.release_configuration :Staging # for alpha and beta AdHoc builds, pointing to "test.*" API server
55
- project.release_configuration :RC # for release candidate AdHoc builds, pointing to "rc.*" API server
56
- project.release_configuration :Production # for App Store ready AdHoc builds, pointing to "www." API server
57
- project.release_configuration :AppStore # for App Store builds, pointing to "www." API server
58
-
59
- # Note, that Xcake will also automatically create set of project "Schemes" -
60
- # one for each build configuration, their names will be constructed from
61
- # project name and configuration name, separated by dash, like this:
62
- #
63
- # "<project_name>-<configuration_name>"
64
- #
65
- # NOTE: every scheme will have the same build configiuration
66
- # for all phases (Run, Test, Profile, Archive). If you need different build configurations
67
- # based on phase - lets say one configuration for Run, but different one for Archive -
68
- # consider to have different build configurations (and as result - build shemes) for these purposes
69
- # (as proposed in this sample file).
70
- #
71
- # For this example, shemes will be:
72
- #
73
- # "CakeMania-Debug"
74
- # "CakeMania-Staging"
75
- # "CakeMania-RC"
76
- # "CakeMania-Production"
77
- # "CakeMania-AppStore"
78
-
79
- #=== DEFAULT target settings
80
-
81
- # Below we define "project level" build configurations.
82
- # REMEMBER this entiire file is just an interpretable script,
83
- # and the structure below is just a loop.
84
- # At every iteration we have reference to one
85
- # of the build configurations defined above explicitly or implicitly.
86
-
87
- # In this case, we set the same build settings to each configuration,
88
- # but, if we need to have some settings to be different for different
89
- # configurations, then you can use "if" expression to set different build settings
90
- # dependiong on "configuration.name" (we will see example of that in target settings below in this document).
91
-
92
- project.all_configurations.each do |configuration|
93
-
94
- # the settings listed below are just a copy
95
- # of what Xcode sets explicitly in a newly created Xcode
96
- # project file in comparison with default values
97
- # (the values that are marked with bold font).
98
-
99
- configuration.settings["ENABLE_BITCODE"] = "YES"
100
-
101
- configuration.settings["SDKROOT"] = "iphoneos"
102
- configuration.settings["GCC_DYNAMIC_NO_PIC"] = "NO"
103
- configuration.settings["OTHER_CFLAGS"] = "$(inherited) -DNS_BLOCK_ASSERTIONS=1"
104
- configuration.settings["GCC_C_LANGUAGE_STANDARD"] = "gnu99"
105
- configuration.settings["CLANG_ENABLE_MODULES"] = "YES"
106
- configuration.settings["CLANG_ENABLE_OBJC_ARC"] = "YES"
107
- configuration.settings["ENABLE_NS_ASSERTIONS"] = "NO"
108
- configuration.settings["ENABLE_STRICT_OBJC_MSGSEND"] = "YES"
109
- configuration.settings["CLANG_WARN_EMPTY_BODY"] = "YES"
110
- configuration.settings["CLANG_WARN_BOOL_CONVERSION"] = "YES"
111
- configuration.settings["CLANG_WARN_CONSTANT_CONVERSION"] = "YES"
112
- configuration.settings["GCC_WARN_64_TO_32_BIT_CONVERSION"] = "YES"
113
- configuration.settings["CLANG_WARN_INT_CONVERSION"] = "YES"
114
- configuration.settings["GCC_WARN_ABOUT_RETURN_TYPE"] = "YES_ERROR"
115
- configuration.settings["GCC_WARN_UNINITIALIZED_AUTOS"] = "YES_AGGRESSIVE"
116
- configuration.settings["CLANG_WARN_UNREACHABLE_CODE"] = "YES"
117
- configuration.settings["GCC_WARN_UNUSED_FUNCTION"] = "YES"
118
- configuration.settings["GCC_WARN_UNUSED_VARIABLE"] = "YES"
119
- configuration.settings["CLANG_WARN_DIRECT_OBJC_ISA_USAGE"] = "YES_ERROR"
120
- configuration.settings["CLANG_WARN__DUPLICATE_METHOD_MATCH"] = "YES"
121
- configuration.settings["GCC_WARN_UNDECLARED_SELECTOR"] = "YES"
122
- configuration.settings["CLANG_WARN_OBJC_ROOT_CLASS"] = "YES_ERROR"
123
-
124
- configuration.settings["CURRENT_PROJECT_VERSION"] = "1" # just default non-empty value
125
-
126
- configuration.settings["DEFINES_MODULE"] = "YES" # http://stackoverflow.com/a/27251979
127
-
128
- configuration.settings["SWIFT_OPTIMIZATION_LEVEL"] = "-Onone"
129
-
130
- configuration.settings["CLANG_WARN_INFINITE_RECURSION"] = "YES" # Xcode 8
131
- configuration.settings["CLANG_WARN_SUSPICIOUS_MOVE"] = "YES" # Xcode 8
132
- configuration.settings["ENABLE_STRICT_OBJC_MSGSEND"] = "YES" # Xcode 8
133
- configuration.settings["GCC_NO_COMMON_BLOCKS"] = "YES"
134
- configuration.settings["ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES"] = "$(inherited)" # "YES"
135
-
136
- configuration.settings["SWIFT_VERSION"] = currentSwiftVersion
137
-
138
- #===
139
-
140
- if configuration.name == "RC" || configuration.name == "AppStore"
141
-
142
- configuration.settings["DEBUG_INFORMATION_FORMAT"] = "dwarf-with-dsym"
143
- configuration.settings["SWIFT_OPTIMIZATION_LEVEL"] = "-Owholemodule" # Xcode 8
144
-
145
- end
146
- end
147
-
148
- #=== Targets
149
-
150
- # So far, we've defined poject settings and
151
- # project level build configuration settings
152
- # (which define defaults for target level build configurations).
153
- #
154
- # Now it's time to define target-level build settings.
155
-
156
- # Below we define "application"-type target and
157
- # put all it's settings (including definition or related unit test targets)
158
- # inside "application_for ... do ... end" structure.
159
-
160
- target do |target|
161
-
162
- target.name = project.name
163
- target.language = :swift
164
- target.type = :application
165
- target.platform = :ios
166
- target.deployment_target = iOSdeploymentTarget
167
-
168
- #===
169
-
170
- # Now lets set target-level build settigns.
171
- # Again, the structure below is just a loop,
172
- # everything between "target.all_configurations.each do |configuration|"
173
- # and corresponding "end" (see below on the same level in the very bottom of the file)
174
- # is body of this loop, that repeats every iteration. This loop goes through
175
- # the list of build configurations (defined above) and on each iteration
176
- # we have variable "configuration" that contains reference to one
177
- # of the build configurations in CONTEXT of the TARGET. This is equivalent of setting
178
- # build settings on target-level in Xcode (you can access it if you choose to
179
- # see build settigns by "Levels", not "Combined").
180
-
181
- # Imagine we have project folder structure like this:
182
- #
183
- # - Cakefile
184
- # - Info/
185
- # | - CakeMania.plist
186
- # | - CakeManiaTst.plist
187
- # | - CakeManiaUITst.plist
188
- # - Lib/
189
- # | - ...
190
- # - Res/
191
- # | - CakeMania.entitlements
192
- # | - CakeMania-test.entitlements
193
- # | - ...
194
- # | - CakeMania.xcassets/
195
- # | - ...
196
- # | - AppIcon.appiconset/
197
- # | - ...
198
- # | - ...
199
- # - Src/
200
- # | - ...
201
- # | - ObjC/
202
- # | - Prefix.pch
203
- # | - CakeMania-Bridging-Header.h
204
- # | - ...
205
- # - Tst/
206
- # | - ...
207
- # - UITst/
208
- # | - ...
209
- #
210
-
211
- target.all_configurations.each do |configuration|
212
-
213
- #=== Build Settings - Core
214
-
215
- configuration.product_bundle_identifier = companyIdentifier + "." + target.name
216
- configuration.supported_devices = :universal
217
- configuration.settings["INFOPLIST_FILE"] = "Info/" + target.name + ".plist"
218
- configuration.settings["PRODUCT_NAME"] = "$(TARGET_NAME)"
219
-
220
- configuration.settings["CODE_SIGN_ENTITLEMENTS"] = "Res/CakeMania.entitlements"
221
- configuration.settings["GCC_PREFIX_HEADER"] = "Src/ObjC/Prefix.pch"
222
- # configuration.settings["FRAMEWORK_SEARCH_PATHS"] = "$(inherited)"
223
- configuration.settings["LIBRARY_SEARCH_PATHS"] = "$(inherited) $(SRCROOT)/Lib/**"
224
- configuration.settings["ASSETCATALOG_COMPILER_APPICON_NAME"] = "AppIcon"
225
- # configuration.settings["ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME"] = "Brand Assets"
226
- configuration.settings["SWIFT_OBJC_BRIDGING_HEADER"] = "Src/ObjC/CakeMania-Bridging-Header.h"
227
- configuration.settings["OTHER_LDFLAGS"] = "$(inherited) -ObjC"
228
-
229
- # make configuration name available in run time:
230
- configNameFlag = "CONFIG_" + configuration.name.upcase
231
- configuration.settings["GCC_PREPROCESSOR_DEFINITIONS"] = "$(inherited) " + configNameFlag + "=1" # Obj-C support
232
- configuration.settings["OTHER_SWIFT_FLAGS"] = "$(inherited) -D" + configNameFlag # Swift support
233
-
234
- # This will show "Automatic" in Xcode,
235
- # relies on proper/valid "PROVISIONING_PROFILE" value:
236
- # configuration.settings["CODE_SIGN_IDENTITY[sdk=iphoneos*]"] = nil # DEPRECATED
237
-
238
- # Xcode 8 automati c signing support
239
- configuration.settings["CODE_SIGN_IDENTITY[sdk=iphoneos*]"] = "iPhone Developer"
240
- configuration.settings["DEVELOPMENT_TEAM"] = developmentTeamId
241
-
242
- #=== Build Settings - Per-configuration
243
-
244
- # NOTE: any configuration-specific settings below will override
245
- # common settings that you already applied above inside this
246
- # "target.all_configurations.each do |configuration|" block
247
-
248
- if configuration.name == "Debug"
249
-
250
- #=== Config
251
-
252
- configuration.settings["CODE_SIGN_ENTITLEMENTS"] = "Res/CakeMania-test.entitlements"
253
-
254
- #=== Config - User Defined Build Settings
255
-
256
- configuration.settings["FACEBOOK_KEY"] = facebookTestKey
257
-
258
- end
259
-
260
- #===
261
-
262
- if configuration.name == "Staging"
263
-
264
- #=== Config
265
-
266
- configuration.settings["PROVISIONING_PROFILE"] = provProfAdHoc
267
-
268
- configuration.settings["CODE_SIGN_ENTITLEMENTS"] = "Res/CakeMania-test.entitlements"
269
-
270
- #=== Config - User Defined Build Settings
271
-
272
- configuration.settings["FACEBOOK_KEY"] = facebookTestKey
273
-
274
- end
275
-
276
- #===
277
-
278
- if configuration.name == "RC"
279
-
280
- #=== Config
281
-
282
- configuration.settings["PROVISIONING_PROFILE"] = provProfAdHoc
283
-
284
- configuration.settings["CODE_SIGN_ENTITLEMENTS"] = "Res/CakeMania-test.entitlements"
285
-
286
- #=== Config - User Defined Build Settings
287
-
288
- configuration.settings["FACEBOOK_KEY"] = facebookTestKey
289
-
290
- end
291
-
292
- #===
293
-
294
- if configuration.name == "Production"
295
-
296
- #=== Config
297
-
298
- configuration.settings["PROVISIONING_PROFILE"] = provProfAdHoc # AdHoc
299
-
300
- #=== Config - User Defined Build Settings
301
-
302
- configuration.settings["FACEBOOK_KEY"] = facebookProdKey
303
-
304
- end
305
-
306
- #===
307
-
308
- if configuration.name == "AppStore"
309
-
310
- #=== Config
311
-
312
- configuration.settings["PROVISIONING_PROFILE"] = provProfAppStore
313
-
314
- #=== Config - User Defined Build Settings
315
-
316
- configuration.settings["FACEBOOK_KEY"] = facebookProdKey
317
-
318
- end
319
-
320
- end
321
-
322
- #=== Extra System Frameworks
323
-
324
- # Here is how we tell Xcake to include Apple system framework
325
- # into the target.
326
-
327
- # NOTE: "target.system_frameworks" is an array, that always have at least
328
- # "Foundation" and "UIKit", os it's always non-empty and we should not initialize it
329
- # before adding something there, so we jsut add values, one at a time (one per each line below).
330
-
331
- target.system_frameworks << "AdSupport"
332
- target.system_frameworks << "QuartzCore"
333
-
334
- #=== Source Files
335
-
336
- # Here is how we tell Xcake where to look for source files
337
- # which need to be added into the target. Moreover, the folder struture
338
- # will be re-created with Xcode groups.
339
-
340
- # NOTE: "target.include_files" is an array, that is empty by default
341
- # (no source files will be added to the target). So it's our responsibility
342
- # to initialize this array (with "=" operand) before adding values/elements
343
- # into it (with "<<" operand). Remember, this file is a Ruby script, and
344
- # that's just how Ruby works.
345
-
346
- target.include_files = ["Src/**/*.*"] # initialize array with 1 element
347
- target.include_files << "Lib/**/*.*" # add value into already non-empty array
348
-
349
- target.include_files << "Res/**/*.*" # add another value
350
-
351
- #=== Tests
352
-
353
- # Below we define unit tests target for the application target.
354
- # "unit_tests_for" is a reserved word, then you put variable that contains reference
355
- # to the application target that you want to create unit tests for, it's "target" in our case.
356
- # The "test_target" is reference to the newly created unit test target
357
- # so we can configure it as we want - set name, build configurations (at least info plist file)
358
- # and its source files, or course. The rules of how we work with test target (set its settings)
359
- # are the same, as we work with application target.
360
-
361
- unit_tests_for target do |test_target|
362
-
363
- test_target.name = target.name + testSuffix
364
-
365
- test_target.all_configurations.each do |configuration|
366
-
367
- configuration.settings["INFOPLIST_FILE"] = "Info/" + test_target.name + ".plist"
368
-
369
- end
370
-
371
- #=== Source Files
372
-
373
- test_target.include_files = [testSuffix + "/**/*.*"] # we set array with 1 element here!
374
-
375
- end
376
-
377
- #===
378
-
379
- # Below we define UI tests target for the application target.
380
- # See https://github.com/jcampbell05/xcake/issues/44
381
-
382
- ui_tests_for target do |test_target|
383
-
384
- test_target.name = target.name + testSuffixUI
385
-
386
- test_target.all_configurations.each do |configuration|
387
-
388
- configuration.settings["INFOPLIST_FILE"] = "Info/" + test_target.name + ".plist"
389
-
390
- end
391
-
392
- #=== Source Files
393
-
394
- test_target.include_files = [testSuffixUI + "/**/*.*"] # we set array with 1 element here!
395
-
396
- end
397
-
398
- end