89 Commits
Author SHA1 Message Date
toshi0383 53cf0faa21 Update .gitignore and spec fixtures 2018-02-09 05:16:41 +09:00
Yonas Kolb a2c41917e5 Fix groups (#144)
* failing createIntermediateDirectories test

* refactor sources

* add reference generator tests
2017-11-12 18:52:11 +01:00
Yonas Kolb 94a449c647 Merge pull request #139 from bkase/xcassets-as-files
Support paths directly to xcassets
2017-11-10 23:31:53 +01:00
Brandon Kase a27a25e76f Fix duplicate sources in groups, fixes #141 2017-11-09 15:05:56 -08:00
Brandon Kase 496a7cc4b0 Support paths directly to xcassets
Pretend xcassets are files to allow top-level xcassets in the spec.
2017-11-08 11:10:21 -08:00
Brandon Kase 8c3821b6c8 Filegroups that subsume sources work again
Fixes #130

Plus there's something in the Fixture to catch this sorts of
regression in the future.
2017-11-03 22:10:52 -07:00
rmalik 91056efc8a Load json files directly with NSJSONSerialization if the spec path extension is
`json`
2017-11-03 12:10:00 -07:00
Yonas Kolb e05ed6a0b9 sort build phase files 2017-11-03 15:04:10 +01:00
ryohey 7eb4e92f00 Add stringsdict file to TestProject 2017-11-03 12:32:04 +09:00
Brandon Kase 6b17b76435 Support CompilerFlags in Sources
Added support for compilerFlags in source list. If any source file
metadata (like compilerFlags) is attached to a directory the metadata
propagates downwards to all children recursively until the files are
reached.

Files are now processed in the same way as directories in `getSources`
this depends on #108 to not over-eagerly cache groups. The `source` is
propagated as metadata down all the way (thanks @yonaskolb)

Fixtures and unit tests are updated as well.
2017-11-02 13:47:26 -07:00
Brandon Kase e48045da9e Optionally make intermediate filler groups
This commit adds a new option `createIntermediateGroups` that defaults
to false. When it is false, the behavior of XcodeGen is the same as
before. When it is true, we make intermediate groups recursively until
we reach the basePath. In practice that means if you've chosen
`Platform/PINFoundation/Sources` as one of your sourcePaths, you get a
top-level group of `Platform` and under that `PINFoundation` and under
that `Sources`. This is instead of the default behavior of just making
`Sources` a top-level group (which is confusing when your directory is
called `Sources` for example).
2017-11-01 18:02:31 -07:00
Brandon Kase 4a54fe6d2a Support file sources
The `sources` key of the project spec only supported directories and not
files. Now it supports both!

This commit introduces a `getSourceFiles` overload that doesn't explicitly
invoke `path.children()`, but instead accepts `children` as a parameter.
This allows us to invoke the `children` overload of getSourceFiles with just
the files we want to include (determined by specifying the sources).

Now for sourcePaths that are files, we group by parents before invoking
getSourceFiles in order to reuse the same groups.
2017-11-01 11:37:19 -07:00
ryohey f67609f97e Don't add unnecessary headers build phase 2017-11-01 01:40:21 +09:00
Yonas Kolb 17b32e6a1a refactored TestProject Fixture
- renamed things
- made framework multiplatform
- integrate carthage
2017-10-29 23:17:16 +01:00
Yonas Kolb a4471e839e update to xcproj 1.2 2017-10-28 20:01:01 +02:00
Keith Smiley 739b9f36f7 Link framework and library dependencies 2017-10-18 08:50:54 -07:00
ryohey f2c440dd1d update fixture 2017-10-16 11:59:25 +09:00
ryohey bc9c007c53 add test for variant groups 2017-10-16 11:51:28 +09:00
Eric Miller 713631a459 Update GeneratedProject file to use the new classes dictionary format 2017-10-11 10:44:05 -05:00
mironal d1efa9ac64 Add outputpaths to carthage copy-framewors script
According to Carthage README, the Output Files should be set to
`carthage copy-frameworks` script.

https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos
2017-10-04 15:02:35 +09:00
Yonas Kolb 2cdf1cec38 setting presets: only apply ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: YES to applications 2017-10-02 01:41:37 +02:00
Yonas Kolb 4c5401dd80 sort group files for APFS 2017-10-01 12:43:42 +02:00
Yonas Kolb 836fa4d3fd update xcodeproj to xcproj in tests 2017-10-01 11:43:27 +02:00
Yonas Kolb eef423970f filter out nulls from all yaml files including setting presets 2017-09-29 18:20:36 +02:00
Yonas Kolb cfc21a970a update fixture 2017-09-28 21:26:14 +02:00
Yonas Kolb f3a60d5358 Merge pull request #68 from yonaskolb/include_replace
Add replace syntax for Include
2017-09-25 17:33:20 +02:00
Yonas Kolb 658c3f8477 Merge pull request #67 from yonaskolb/bundleIdPrefix
Add bundleIdPrefix
2017-09-25 17:26:44 +02:00
Yonas Kolb 829fb59aa7 fix fixture config group 2017-09-25 16:21:53 +02:00
Yonas Kolb c9e8e68bc5 move bundleIdPrefix to options 2017-09-25 15:30:15 +02:00
Yonas Kolb c9c589c5ee add optional replace syntax when merging includes 2017-09-25 13:34:11 +02:00
Yonas Kolb de8f885ae3 add bundleIdPrefix for generating PRODUCT_BUNDLE_IDENTIFIER 2017-09-24 21:21:57 +02:00
Yonas Kolb 2d1ccb6d1d rename project.groups to project.fileGroups 2017-09-24 19:35:26 +02:00
Yonas Kolb 8929625be9 remove old project 2017-09-24 18:10:46 +02:00
Yonas Kolb 8e3966a5b8 add groups to spec for specifying non build files 2017-09-23 22:39:15 +02:00
Yonas Kolb 3abaf7ae40 include xcconfig files in fixture 2017-09-23 22:39:09 +02:00
Yonas Kolb 4cf9e9b399 fix missing bundle id in test project 2017-09-23 18:57:27 +02:00
Yonas Kolb 8229e013f4 set default version of generated targets to Swift 4.0 2017-09-20 16:10:30 +02:00
Yonas Kolb 2b4d8aa6ff update generated LastUpgradeVersion to 0900 2017-09-19 13:14:38 +02:00
Yonas Kolb b9d6ee2e34 xcode 9 base settings 2017-09-18 22:00:35 +02:00
Yonas Kolb b768689c44 Merge pull request #54 from yonaskolb/target_map
Change targets from list to map
2017-09-18 21:51:12 +02:00
Yonas Kolb 956edd3350 upgrade to xcodeproj 0.1.2 2017-09-14 21:28:09 +02:00
Yonas Kolb 061bddd18b ability to override target name 2017-09-14 21:04:33 +02:00
Yonas Kolb d5204199f3 add target modification in include test 2017-09-14 21:00:52 +02:00
Yonas Kolb 38bc3be64b change yaml targets from list to map 2017-09-14 20:53:34 +02:00
Yonas Kolb 05e7928c7c upgrade to Swift 4 2017-09-14 00:48:57 +02:00
Yonas Kolb 016040d6bf move code signing settings from iOS to application_iOS 2017-08-30 17:20:32 +02:00
Yonas Kolb 183630159e don't bother linking target dependencies 2017-08-30 16:46:31 +02:00
Yonas Kolb 6774934a1b support include array in spec that merges other specs 2017-08-30 12:58:10 +02:00
Yonas Kolb 6bfb0eade6 fix "" not escaping in build scripts 2017-08-28 17:44:42 +02:00
Yonas Kolb 56740c3ea6 tweak build settings format 2017-08-27 17:54:23 +02:00