Commit Graph

75 Commits

Author SHA1 Message Date
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 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 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 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
Yonas Kolb 57929c51a0 change SDK version defaults 2017-08-26 23:59:37 +02:00
Yonas Kolb 2f7d1616fb generate fixture 2017-08-26 23:39:58 +02:00
Yonas Kolb d8ffafe4cf rename setting presets to setting groups 2017-08-26 18:38:39 +02:00
Yonas Kolb 7db1f77685 tweak setting preset files 2017-08-26 18:33:06 +02:00
Yonas Kolb 5126b0cb7a fixed localized files not being added to build phase of targets 2017-08-26 15:01:09 +02:00
Yonas Kolb e77faeddf3 upgrade to xcodeproj 0.1.1 2017-08-25 15:31:50 +02:00
Yonas Kolb fc72702e33 update to xcodeproj 0.1.0 2017-08-25 15:05:31 +02:00
Yonas Kolb 823eceba75 add unit tests to target schemes 2017-08-04 00:23:52 +02:00
Yonas Kolb 1d0e310e3d dont't write PBXBuildFile settings if empty 2017-08-03 22:02:58 +02:00
Yonas Kolb 92dcc3739a only generate copy build phases when needed 2017-08-03 22:02:58 +02:00
Yonas Kolb 52fd803386 add target name to all child pbx objects when generating uuid 2017-08-02 21:25:50 +02:00
Yonas Kolb b71eb02496 fix duplicate uuids 2017-08-02 13:29:45 +02:00
Yonas Kolb 9cc1e50824 add run script support 2017-08-01 18:40:40 +02:00
Yonas Kolb 3b9e9ec4f5 update generated fixture 2017-07-28 00:29:17 +02:00