Commit Graph

57 Commits

Author SHA1 Message Date
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
Yonas Kolb 698d8d85b4 change target source from String to Source struct 2017-10-31 17:22:14 +01:00
Yonas Kolb 92c2e5c5b5 run format-code.sh 2017-10-29 22:27:05 +01:00
Yonas Kolb f8b4b5792e move and rename files 2017-10-29 22:15:02 +01:00
Yonas Kolb 9a41bb9ab6 minor refactoring of spec validation 2017-10-29 20:32:36 +01:00
Yonas Kolb 770b502638 change target description 2017-10-27 00:50:21 +02:00
Keith Smiley 08de6077d9 Add option for not linking dependencies
This adds a new attribute to Dependency that allows consumers to choose
to not link a dependency. This is useful for if you have this dependency
tree with static libraries:

App -> A -> Shared
App -> B -> Shared

Where A and B both share a static library dependency, that is finally
linked into App. If Shared is added to the link phase of A and B, you
end up with duplicate symbols during the link phase. With this change
consumers could set link: False on A and B's dependency on Shared, this
way Shared will get build before A and B, but not linked.
2017-10-25 15:55:49 -07:00
Yonas Kolb 9f14fb88b1 Merge pull request #105 from bkase/fix-exclude-typo
Remove sourceExcludes
2017-10-25 09:31:25 +02:00
Brandon Kase 6d4449192c Remove unused sourceExcludes 2017-10-24 15:05:57 -07:00
Yonas Kolb 779397ec8d move basePath into ProjectSpec 2017-10-24 21:30:06 +02:00
Yonas Kolb 8d1e77b9c3 update equatable 2017-10-24 11:24:34 +02:00
Yonas Kolb 0204f27c82 rename Options.applySettingPresets to Options.settingPresets 2017-10-22 20:37:03 +01:00
Yonas Kolb 20f7797df7 add applySettingPresets option 2017-10-22 19:41:54 +01:00
Keith Smiley 739b9f36f7 Link framework and library dependencies 2017-10-18 08:50:54 -07:00
Eric Miller 6a168acb46 Remove workaround typealias 2017-10-12 07:37:22 -05:00
Eric Miller 5d9c3a9ab8 Update to xcproj 0.4.0 2017-10-10 13:39:18 -05:00
Yonas Kolb fec6066d91 updated to xcproj 0.3.0 2017-10-01 11:42:07 +02:00
Toshihiro Suzuki a271fec18d Fixed wrong directory path for macOS (#74)
* Fixed wrong directory path for macOS

before: Carthage/Build/macOS
after: Carthage/Build/Mac

* Update CHANGELOG.md
2017-09-29 17:23:01 +02:00
Yonas Kolb 8a7bfa12fc format code 2017-09-26 14:22:15 +02:00
Yonas Kolb fae35d6d67 add bundleIdPrefix to Equatable 2017-09-26 13:16:41 +02:00
Yonas Kolb a3b0bd24b2 sort configs 2017-09-26 10:10:55 +02:00
Yonas Kolb e2012736b0 add double space after emoji for terminal 2017-09-25 17:48:18 +02:00
Yonas Kolb 658c3f8477 Merge pull request #67 from yonaskolb/bundleIdPrefix
Add bundleIdPrefix
2017-09-25 17:26:44 +02:00
Yonas Kolb c9e8e68bc5 move bundleIdPrefix to options 2017-09-25 15:30:15 +02:00
Yonas Kolb c44b4f969f add some more comprehensive logging output with emoji 2017-09-25 14:44:39 +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 67ad669ea5 add project xcconfig files 2017-09-23 22:48:50 +02:00
Yonas Kolb 8e3966a5b8 add groups to spec for specifying non build files 2017-09-23 22:39:15 +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 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 ea41e6bbc6 set project attributes 2017-08-30 17:06:41 +02:00
Yonas Kolb 6774934a1b support include array in spec that merges other specs 2017-08-30 12:58:10 +02:00
Yonas Kolb cb3232df9f add dependency embed settings 2017-08-27 11:55:44 +02:00
Yonas Kolb 1ef53e39f0 change Target.Dependency to a struct with embed 2017-08-27 11:53:16 +02:00
Yonas Kolb d8ffafe4cf rename setting presets to setting groups 2017-08-26 18:38:39 +02:00
Yonas Kolb da4b382f51 generate multi platform targets 2017-08-26 16:17:15 +02:00
Yonas Kolb 6f9f194863 rename RunScript to BuildScript 2017-08-26 15:01:09 +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 3cfd3ce816 swiftformat 2017-08-25 19:18:02 +02:00
Yonas Kolb 6c7cca1092 add option for carthageBuildPath 2017-08-25 16:22:40 +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 edca4390e4 add BuildScript.runOnlyWhenInstalling 2017-08-24 17:02:27 +02:00
Yonas Kolb 0352ea347c fix decoding empty SettingPreset 2017-08-24 14:37:08 +02:00
Yonas Kolb 4dcfd68356 log missing SettingPreset files 2017-08-24 00:47:19 +02:00