xcake 0.8.13 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/xcake.rb +1 -2
- data/lib/xcake/command/make.rb +1 -3
- data/lib/xcake/constants.rb +10 -10
- data/lib/xcake/context.rb +0 -2
- data/lib/xcake/context/xcodeproj_context.rb +5 -8
- data/lib/xcake/core_ext/class.rb +14 -0
- data/lib/xcake/dependency_provider.rb +3 -3
- data/lib/xcake/dsl/build_phase/copy_files_build_phase.rb +1 -3
- data/lib/xcake/dsl/build_phase/shell_script_build_phase.rb +10 -0
- data/lib/xcake/dsl/build_rule.rb +2 -2
- data/lib/xcake/dsl/configurable.rb +10 -8
- data/lib/xcake/dsl/configuration/sugar.rb +1 -1
- data/lib/xcake/dsl/project.rb +1 -1
- data/lib/xcake/dsl/project/hooks.rb +4 -0
- data/lib/xcake/dsl/project/sugar.rb +17 -15
- data/lib/xcake/dsl/scheme.rb +2 -3
- data/lib/xcake/dsl/target.rb +13 -5
- data/lib/xcake/generator.rb +1 -0
- data/lib/xcake/generator/default_project_structure_generator.rb +5 -6
- data/lib/xcake/generator/project_generator.rb +3 -2
- data/lib/xcake/generator/scheme_generator.rb +31 -33
- data/lib/xcake/generator/target_file_reference_generator.rb +11 -10
- data/lib/xcake/generator/target_framework_generator.rb +6 -6
- data/lib/xcake/generator/target_library_generator.rb +5 -6
- data/lib/xcake/path_classifier.rb +23 -19
- data/lib/xcake/ui.rb +1 -1
- data/lib/xcake/version.rb +1 -1
- data/lib/xcake/xcode/project.rb +3 -2
- data/lib/xcake/xcode/scheme_list.rb +0 -2
- data/lib/xcake/xcodeproj_ext/PBXGroup.rb +12 -10
- data/lib/xcake/xcodeproj_ext/PBXNativeTarget.rb +2 -2
- metadata +135 -91
- data/.gitattributes +0 -1
- data/.gitignore +0 -39
- data/.rspec +0 -2
- data/.travis.yml +0 -16
- data/.yardopts +0 -7
- data/CHANGELOG.md +0 -329
- data/CODE_OF_CONDUCT.md +0 -13
- data/Gemfile +0 -4
- data/LICENSE.txt +0 -21
- data/README.md +0 -110
- data/Rakefile +0 -6
- data/bin/console +0 -10
- data/bin/setup +0 -7
- data/fastlane-plugin-xcake/Gemfile +0 -3
- data/fastlane-plugin-xcake/LICENSE +0 -21
- data/fastlane-plugin-xcake/README.md +0 -31
- data/fastlane-plugin-xcake/Rakefile +0 -6
- data/fastlane-plugin-xcake/fastlane-plugin-xcake.gemspec +0 -25
- data/fastlane-plugin-xcake/lib/fastlane/plugin/xcake.rb +0 -16
- data/fastlane-plugin-xcake/lib/fastlane/plugin/xcake/actions/xcake_action.rb +0 -34
- data/fastlane-plugin-xcake/lib/fastlane/plugin/xcake/version.rb +0 -5
- data/fastlane-plugin-xcake/spec/spec_helper.rb +0 -8
- data/hound.yml +0 -2
- data/lib/xcake/core_ext/array.rb +0 -5
- data/lib/xcake/core_ext/object.rb +0 -7
- data/rubocop.yml +0 -173
- data/rubocop_general.yml +0 -113
- data/xcake.gemspec +0 -40
data/.gitattributes
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Cakefile linguist-language=Ruby
|
data/.gitignore
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
/.config
|
4
|
-
/coverage/
|
5
|
-
/InstalledFiles
|
6
|
-
/pkg/
|
7
|
-
/spec/reports/
|
8
|
-
/test/tmp/
|
9
|
-
/test/version_tmp/
|
10
|
-
/tmp/
|
11
|
-
fastlane-plugin-xcake/Gemfile.lock
|
12
|
-
|
13
|
-
## Specific to RubyMotion:
|
14
|
-
.dat*
|
15
|
-
.repl_history
|
16
|
-
build/
|
17
|
-
|
18
|
-
## Documentation cache and generated files:
|
19
|
-
/.yardoc/
|
20
|
-
/_yardoc/
|
21
|
-
/doc/
|
22
|
-
/rdoc/
|
23
|
-
|
24
|
-
## Environment normalisation:
|
25
|
-
/.bundle/
|
26
|
-
/vendor/bundle
|
27
|
-
/lib/bundler/man/
|
28
|
-
|
29
|
-
# for a library or gem, you might want to ignore these files since the code is
|
30
|
-
# intended to run in multiple environments; otherwise, check them in:
|
31
|
-
# Gemfile.lock
|
32
|
-
# .ruby-version
|
33
|
-
# .ruby-gemset
|
34
|
-
|
35
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
36
|
-
.rvmrc
|
37
|
-
|
38
|
-
# Mac file metadata files
|
39
|
-
.DS_Store
|
data/.rspec
DELETED
data/.travis.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
os:
|
2
|
-
- osx
|
3
|
-
language: ruby
|
4
|
-
gemfile:
|
5
|
-
- gemfiles/Gemfile.xcodeproj-1.3.x
|
6
|
-
- gemfiles/Gemfile.xcodeproj-1.4.x
|
7
|
-
- gemfiles/Gemfile.xcodeproj-edge
|
8
|
-
rvm:
|
9
|
-
# The latest ruby version
|
10
|
-
# - 2.4.0 # Doesn't build :()
|
11
|
-
- 2.3.1
|
12
|
-
# OS X 10.9.5-10.10.0 (2.0.0-p481)
|
13
|
-
- 2.0.0-p481
|
14
|
-
# OS X 10.9.3-10.9.4
|
15
|
-
- 2.0.0-p451
|
16
|
-
before_install: gem install bundler -v 1.10.6
|
data/.yardopts
DELETED
data/CHANGELOG.md
DELETED
@@ -1,329 +0,0 @@
|
|
1
|
-
v0.8.13
|
2
|
-
=======
|
3
|
-
- Fixes some of the gem being bundled with older code
|
4
|
-
|
5
|
-
v0.8.12
|
6
|
-
=======
|
7
|
-
- Fixes bug with the target file reference generator
|
8
|
-
|
9
|
-
v0.8.11
|
10
|
-
=======
|
11
|
-
- Fixes issues with .framework not being automatically included
|
12
|
-
- Fixes issues with .xcassets not being automatically included
|
13
|
-
- Fixes issues with .bundle not being automatically included
|
14
|
-
- Fixes UI tests for iOS and OS X targets
|
15
|
-
- Fixes crash if folder contains special characters
|
16
|
-
- Generates fields to prevent crashes trying to work with xcake generated xcode projects
|
17
|
-
- Updates yard dependency to fix security vunerability
|
18
|
-
- Fixes `deep_merge` error
|
19
|
-
- Fixes undefined method `dirname`
|
20
|
-
- Adds ability to specify custom build rules
|
21
|
-
|
22
|
-
v0.8.10
|
23
|
-
=======
|
24
|
-
- Fixes `deep_merge` error
|
25
|
-
- Fixes undefined `dirname` error
|
26
|
-
- Adds copy files build phase
|
27
|
-
|
28
|
-
v0.8.9
|
29
|
-
======
|
30
|
-
- Fixes occasional crash when attempting to resolve Cakefile with implcit-configurations
|
31
|
-
- Fixes wrong Test Host being set for macOS Unit Tests.
|
32
|
-
- Fixes crash with schemes and framework targets.
|
33
|
-
|
34
|
-
v0.8.8
|
35
|
-
======
|
36
|
-
- Adds Copy Files build phase
|
37
|
-
- Clears project before recreating it to prevent any errors
|
38
|
-
- Fixes xcode prompting for "reccomended defaults"
|
39
|
-
|
40
|
-
v0.8.7
|
41
|
-
======
|
42
|
-
- Adds ability to specify shell script build phase before all other build phases.
|
43
|
-
|
44
|
-
v0.8.5 & v0.8.6
|
45
|
-
===============
|
46
|
-
- Fixes gem failing to load.
|
47
|
-
|
48
|
-
v0.8.4
|
49
|
-
======
|
50
|
-
- Reduces gem size.
|
51
|
-
|
52
|
-
v0.8.3
|
53
|
-
======
|
54
|
-
- Fixes bug with scheme generator when configuring unit tests for schemes.
|
55
|
-
|
56
|
-
v0.8.2
|
57
|
-
======
|
58
|
-
- Adds ability to explicity specify schemes.
|
59
|
-
- Reduced verbosity of output to the command line.
|
60
|
-
|
61
|
-
v0.8.1
|
62
|
-
======
|
63
|
-
- Fixes error creating shell script build phase.
|
64
|
-
|
65
|
-
v0.8.0
|
66
|
-
======
|
67
|
-
- Dropped support for Xcodeproj 0.20.0.
|
68
|
-
- Adds support for Xcodeproj 1.4.x.
|
69
|
-
- Adds support for copy headers build phase.
|
70
|
-
- Adds linked targets to allow you to link to a library or framework created from your project.
|
71
|
-
- Fixes bug where runpath searchpaths wasn't set for unit test bundles causing libraries not to be loaded.
|
72
|
-
- Fixes bug where Xcake could add duplicate file reference to project.
|
73
|
-
- Schemes are generated across all targets not just Application targets.
|
74
|
-
- UI Test no longer produce a redundant scheme.
|
75
|
-
|
76
|
-
v0.7.1
|
77
|
-
======
|
78
|
-
- Implemented syntax for declaring UI Test targets.
|
79
|
-
|
80
|
-
v0.7.0
|
81
|
-
======
|
82
|
-
- Simplified Target File Reference Generator.
|
83
|
-
- Adds sample Cakefile to documentation.
|
84
|
-
- Adds support for extension targets.
|
85
|
-
|
86
|
-
v0.6.25
|
87
|
-
=======
|
88
|
-
- Fixed bug where Xcake would set incorrect path for a group of a Localized file.
|
89
|
-
|
90
|
-
v0.6.24
|
91
|
-
=======
|
92
|
-
- Fixed bug where Localized Files would show up multiple times in Xcode for each language.
|
93
|
-
|
94
|
-
v0.6.23
|
95
|
-
=======
|
96
|
-
- Adds support for Localized Files.
|
97
|
-
- Swift is no-longer optimized for debug configurations when Xcake is ran with
|
98
|
-
older versions of Xcodeproj.
|
99
|
-
|
100
|
-
v0.6.22
|
101
|
-
=======
|
102
|
-
- Fixes crash with `after_save` hook.
|
103
|
-
|
104
|
-
v0.6.21
|
105
|
-
=======
|
106
|
-
- Improved UI Output.
|
107
|
-
- Fixes crash when no XCConfig is set.
|
108
|
-
|
109
|
-
v0.6.20
|
110
|
-
=======
|
111
|
-
- When adding a file to a group, Xcode will now open the correct folder.
|
112
|
-
- Adds support for adding third-party frameworks.
|
113
|
-
- Fixes `all_configurations` not returning all configurations when using implicit configurations.
|
114
|
-
- Names of the implicit configurations match the default configurations for Xcode projects.
|
115
|
-
- Fixes out of date documentation.
|
116
|
-
- Fixes typos and out of date API used in `xcake init` template.
|
117
|
-
- Removes dependency on `Molinillo` for internal dependency resolution.
|
118
|
-
- Fixes issues with adding XCConfig.
|
119
|
-
|
120
|
-
v0.6.19
|
121
|
-
=======
|
122
|
-
- Uses the reccomended code signing settings from Apple.
|
123
|
-
|
124
|
-
v0.6.18
|
125
|
-
=======
|
126
|
-
- Fixes cases where xcode would complain about embedded products weren't
|
127
|
-
signed by the same profile.
|
128
|
-
|
129
|
-
v0.6.17
|
130
|
-
=======
|
131
|
-
- Fixes issues installing later versions of Xcake with dependencies that
|
132
|
-
required a version of Claide before version 1.0.
|
133
|
-
|
134
|
-
v0.6.16
|
135
|
-
=======
|
136
|
-
- Fixes issue where Xcodeproj created release configurations which used the
|
137
|
-
developer code signing certificate rather than the distribution certificate.
|
138
|
-
|
139
|
-
v0.6.15
|
140
|
-
=======
|
141
|
-
- Support Xcodeproj 1.0's new Plist module.
|
142
|
-
|
143
|
-
v0.6.14
|
144
|
-
=======
|
145
|
-
- Updates Claide dependency.
|
146
|
-
|
147
|
-
v0.6.13
|
148
|
-
=======
|
149
|
-
- Updates Xcodeproj dependency.
|
150
|
-
|
151
|
-
v0.6.12
|
152
|
-
=======
|
153
|
-
- Fixes issues when resolving project with implicit configurations.
|
154
|
-
|
155
|
-
v0.6.11
|
156
|
-
=======
|
157
|
-
- Fixes issues with system frameworks with inherited configurations.
|
158
|
-
|
159
|
-
v0.6.10
|
160
|
-
=======
|
161
|
-
- Fixes race-condition where configurations weren't setup.
|
162
|
-
|
163
|
-
v0.6.9
|
164
|
-
======
|
165
|
-
- Fixes project configurations not inherited by targets.
|
166
|
-
|
167
|
-
v0.6.8
|
168
|
-
======
|
169
|
-
- Improvements to setting build settings on all configurations (Thanks to @therealbnut).
|
170
|
-
|
171
|
-
v0.6.7
|
172
|
-
======
|
173
|
-
- Fixes issue where `agvtool` command line tool failed to find plist with the default value used for the `INFOPLIST_FILE` build setting.
|
174
|
-
|
175
|
-
v0.6.6
|
176
|
-
======
|
177
|
-
- Fixes issue where `agvtool` command line tool failed to understand preprocessor directives used with the default value used for the `INFOPLIST_FILE` build setting.
|
178
|
-
|
179
|
-
v0.6.5
|
180
|
-
======
|
181
|
-
- Fixes bug with generating Xcode Project without specifying XCConfig files.
|
182
|
-
|
183
|
-
v0.6.4
|
184
|
-
======
|
185
|
-
- Fixes error when installing XCConfig files.
|
186
|
-
|
187
|
-
v0.6.3
|
188
|
-
======
|
189
|
-
- Adds support for adding system and static libraries (Thanks to @nodepad).
|
190
|
-
- Adds support for folder references (Thanks to @nodepad).
|
191
|
-
- Adds support for XCConfig Files (Thanks to @colinta).
|
192
|
-
- Documentation updated to explain how to set up a unit test target (Thanks to @maximkhatskevich).
|
193
|
-
|
194
|
-
v0.6.2
|
195
|
-
======
|
196
|
-
- Fixes bug where certain file installers fail to register and could cause issues with adding certain files to the Xcode project.
|
197
|
-
|
198
|
-
v0.6.1
|
199
|
-
======
|
200
|
-
- Reduces gem file-size
|
201
|
-
|
202
|
-
v0.6.0
|
203
|
-
======
|
204
|
-
- Infers build phases for the apple watch.
|
205
|
-
- Re-engineered generator infastructure.
|
206
|
-
- Fixes bug where configurations lacked a name when using shorthand syntax. (Thanks to @colinta).
|
207
|
-
- Adds support for custom script build phases (Thanks to @colinta).
|
208
|
-
|
209
|
-
v0.5.3
|
210
|
-
======
|
211
|
-
- Updates `xcake bake` to the more generic `xcake make` (Thanks to @roger-tan).
|
212
|
-
|
213
|
-
v0.5.2
|
214
|
-
======
|
215
|
-
- Updates `xcake init` for new project syntax.
|
216
|
-
- Adds shorthand build configuration syntax for projects which contain one debug or release configuration (Thanks to @colinta).
|
217
|
-
|
218
|
-
v0.5.1
|
219
|
-
======
|
220
|
-
- Tweaks DSL so it's easier to access the project properties via the `project` method.
|
221
|
-
|
222
|
-
v0.5.0
|
223
|
-
======
|
224
|
-
- Introduces `xcake init` command to setup an example Cakefile for you.
|
225
|
-
- To turn a Cakefile into a project you now run `xcake bake`.
|
226
|
-
- Simplified DSL, you no longer have to declare the project. Check the documentation for details.
|
227
|
-
- Adds support for Claide and Xcake Plugins.
|
228
|
-
|
229
|
-
v0.4.8
|
230
|
-
======
|
231
|
-
- The type property for a target now accepts a raw UTI.
|
232
|
-
|
233
|
-
v0.4.7
|
234
|
-
======
|
235
|
-
- Sets correct configurations for `analyse` and `archive` action for schemes.
|
236
|
-
|
237
|
-
v0.4.6
|
238
|
-
======
|
239
|
-
- Sets correct configurations for each action for schemes.
|
240
|
-
|
241
|
-
v0.4.5
|
242
|
-
======
|
243
|
-
- Correctly configures schemes for Applications; It should now be possible to
|
244
|
-
run, profile, test and analyse out of the box.
|
245
|
-
|
246
|
-
v0.4.4
|
247
|
-
======
|
248
|
-
- Correctly registers `.xcdatamodeld` build phase generator.
|
249
|
-
|
250
|
-
v0.4.3
|
251
|
-
======
|
252
|
-
- Correctly adds containing `.xcdatamodeld` files to a project, rather than the
|
253
|
-
internal `.xcdatamodel`.
|
254
|
-
|
255
|
-
v0.4.2
|
256
|
-
======
|
257
|
-
- Correctly adds `.xcdatamodel` files to a project.
|
258
|
-
|
259
|
-
v0.4.1
|
260
|
-
======
|
261
|
-
- Error message for missing `Cakefile` is more understandable.
|
262
|
-
|
263
|
-
v0.4.0
|
264
|
-
======
|
265
|
-
- Adds ability to specify preprocessor definitions.
|
266
|
-
- Adds shortcuts for specifying product bundle identifier.
|
267
|
-
|
268
|
-
v0.3.1
|
269
|
-
======
|
270
|
-
- Adds Hook system, starting with "after_save" hook for when project is saved.
|
271
|
-
- Adds ability to specify array of files to include or exclude.
|
272
|
-
|
273
|
-
v0.3.0
|
274
|
-
======
|
275
|
-
- Simplified Watch OS target syntax.
|
276
|
-
- Fixes issue with `--version` not working for all installations.
|
277
|
-
|
278
|
-
v0.2.0
|
279
|
-
======
|
280
|
-
- Now adds `--version` flag to command line, to allow you to find out Xcake's
|
281
|
-
version.
|
282
|
-
- Brings naming of default build configurations closer to Xcode's, so that it
|
283
|
-
works with existing build scripts.
|
284
|
-
- Adds support for Watch OS 2 Applications.
|
285
|
-
|
286
|
-
v0.1.9
|
287
|
-
======
|
288
|
-
- Updates documentation for tvOS and Watch OS support.
|
289
|
-
|
290
|
-
v0.1.8
|
291
|
-
======
|
292
|
-
- Add tvOS and Watch OS support (Thanks to @petester42).
|
293
|
-
|
294
|
-
v0.1.7
|
295
|
-
======
|
296
|
-
- Adds ability to set Project Class Prefix and Organization.
|
297
|
-
|
298
|
-
v0.1.6
|
299
|
-
======
|
300
|
-
- Fixed crash with unit tests.
|
301
|
-
- Added documentation for Configuration syntax.
|
302
|
-
|
303
|
-
v0.1.5
|
304
|
-
======
|
305
|
-
- Added documentation for Target syntax.
|
306
|
-
|
307
|
-
v0.1.4
|
308
|
-
======
|
309
|
-
- Removes references to "build_configurations" to "configuration".
|
310
|
-
to make syntax shorter and to reflect the fact it's an abstraction
|
311
|
-
and not directly a Xcode build configuration.
|
312
|
-
|
313
|
-
v0.1.3
|
314
|
-
======
|
315
|
-
- Reverts to an older GemSpec to fix installation issues.
|
316
|
-
- Adds initial Getting Started documentation.
|
317
|
-
|
318
|
-
v0.1.2
|
319
|
-
======
|
320
|
-
- Adds dependency information for Ruby and RubyGems versions.
|
321
|
-
|
322
|
-
v0.1.1
|
323
|
-
======
|
324
|
-
- Updated README instructions.
|
325
|
-
- General tidy up of code.
|
326
|
-
|
327
|
-
v0.1.0
|
328
|
-
======
|
329
|
-
- Initial Release.
|
data/CODE_OF_CONDUCT.md
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# Contributor Code of Conduct
|
2
|
-
|
3
|
-
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
|
-
|
5
|
-
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
|
6
|
-
|
7
|
-
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
|
-
|
9
|
-
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
10
|
-
|
11
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
|
-
|
13
|
-
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
data/Gemfile
DELETED
data/LICENSE.txt
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2015 James Campbell
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
data/README.md
DELETED
@@ -1,110 +0,0 @@
|
|
1
|
-
# Xcake
|
2
|
-
[](https://rubygems.org/gems/xcake)
|
3
|
-
[](https://twitter.com/jcampbell_05)
|
4
|
-
[](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
5
|
-
[](https://travis-ci.org/jcampbell05/xcake)
|
6
|
-
[](https://coveralls.io/github/jcampbell05/xcake)
|
7
|
-
[](https://rubygems.org/gems/fastlane-plugin-xcake)
|
8
|
-
|
9
|
-
### Describe Xcode project in a human readable format and (re)generate one on demand.
|
10
|
-
|
11
|
-
You describe your project in a simple text file: your `Cakefile`.
|
12
|
-
Xcake creates your project based on this including importing all of your files and creating groups
|
13
|
-
to match the file hiearchy.
|
14
|
-
|
15
|
-
This is perfect for working in teams or with cocoapods as it reduces conflicts,
|
16
|
-
makes it easy to modify settings and allows you to create a clean project anytime you need to.
|
17
|
-
|
18
|
-
Isn't this just like liftoff, generamba or crafter? No these tools are for scafolding a whole project structure to get you started (Creating folder structure, git repo etc.). However xcake is not for this, xcake is just for generating a xcodeproject.
|
19
|
-
|
20
|
-
Get in contact with the developer on Twitter: [@jcampbell_05](https://twitter.com/jcampbell_05)
|
21
|
-
|
22
|
-
-------
|
23
|
-
<p align="center">
|
24
|
-
<a href="#features">Features</a> •
|
25
|
-
<a href="#installation">Installation</a> •
|
26
|
-
<a href="#need-help">Need help?</a> •
|
27
|
-
<a href="http://www.rubydoc.info/github/jcampbell05/xcake/master/file/docs/Getting%20Started.md">Documentation</a>
|
28
|
-
</p>
|
29
|
-
|
30
|
-
-------
|
31
|
-
|
32
|
-
## Features
|
33
|
-
|
34
|
-
Xcode projects were once described as "the closest thing to taboo we have to deal with on a regular basis", but it doesnt have to be this way.
|
35
|
-
|
36
|
-
Store a simple description of your project in a text file, your `Cakefile`, to easily create a xcode project from _any_ computer. Easily see, merge and maintain the structure of your project, It’s time to add *.xcodeproj into .gitignore!.
|
37
|
-
|
38
|
-
You define a project like this:
|
39
|
-
|
40
|
-
```ruby
|
41
|
-
application_for :ios, 8.0 do |target|
|
42
|
-
target.name = "MyApp"
|
43
|
-
end
|
44
|
-
```
|
45
|
-
|
46
|
-
To generate the xcode project, just run:
|
47
|
-
|
48
|
-
```sh
|
49
|
-
xcake make
|
50
|
-
```
|
51
|
-
|
52
|
-
If you would like an example Cakefile for guidence, just run:
|
53
|
-
|
54
|
-
```sh
|
55
|
-
xcake init
|
56
|
-
```
|
57
|
-
|
58
|
-
| xcake | |
|
59
|
-
--------------------------|------------------------------------------------------------
|
60
|
-
:sparkles: | Flexibly configure and create xcode project from one easy to read `Cakefile`
|
61
|
-
:ship: | Generate from any computer, including a CI-server
|
62
|
-
:thought_balloon: | Never remember any difficult commands, just `xcake make`
|
63
|
-
:page_with_curl: | Store **everything** but the project in git. Never again manually fix any corruptions or merge issues with the project.
|
64
|
-
:rocket: | Saves you **hours** when working with xcode projects
|
65
|
-
:anchor: | Confidence that the project file is exactly the same during Continuous Delivery
|
66
|
-
:computer: | Support for OSX, iOS and watchOS apps
|
67
|
-
|
68
|
-
## Installation
|
69
|
-
|
70
|
-
Install the gem by running:
|
71
|
-
|
72
|
-
sudo gem install xcake --verbose
|
73
|
-
|
74
|
-
Make sure, you have the latest version of the Xcode command line tools installed:
|
75
|
-
|
76
|
-
xcode-select --install
|
77
|
-
|
78
|
-
If you experience slow launch times of xcake, try running
|
79
|
-
|
80
|
-
gem cleanup
|
81
|
-
|
82
|
-
to clean up outdated gems.
|
83
|
-
|
84
|
-
System Requirements: `xcake` requires Mac OS X or Linux with Ruby 2.0.0 or above.
|
85
|
-
|
86
|
-
## Available commands
|
87
|
-
|
88
|
-
Xcake can create an example cakefile when you run:
|
89
|
-
|
90
|
-
xcake init
|
91
|
-
|
92
|
-
Usually you'll use xcake by running the command
|
93
|
-
|
94
|
-
xcake make
|
95
|
-
|
96
|
-
Xcake will then generate a Xcode project based on your Cakefile
|
97
|
-
|
98
|
-
## Sample Cakefile
|
99
|
-
|
100
|
-
To get better understanding of how to start using Xcake in a real project, see examples under [example](https://github.com/jcampbell05/xcake/tree/master/example) folder.
|
101
|
-
|
102
|
-
There is a sample [app project](https://github.com/jcampbell05/xcake/blob/master/example/app/CakeMania) (the project file has been generated using Xcake v.0.7.1 based on the [Cakefile](https://github.com/jcampbell05/xcake/blob/master/example/app/CakeMania/Cakefile)) as well as sample [Cakefile](https://github.com/jcampbell05/xcake/blob/master/example/framework/Cakefile) for an iOS framework project.
|
103
|
-
|
104
|
-
## Need help?
|
105
|
-
Please submit an issue on GitHub and provide information about your setup
|
106
|
-
|
107
|
-
## License
|
108
|
-
This project is licensed under the terms of the MIT license. See the LICENSE file.
|
109
|
-
|
110
|
-
This project is no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. Xcake runs on your own computer or server, so your sensitive information will never leave your own computer. You are responsible for how you use xcake.
|