68 Commits

Author SHA1 Message Date
Yonas Kolb 0004cdd333 Update to 1.4.0 2017-11-16 11:49:30 +01:00
ryohey 3fb7a15c74 Fix option parsing 2017-11-16 01:45:28 +09:00
Yonas Kolb cf426ba5eb add ProjectSpec.options.developmentLanguage 2017-11-15 12:13:32 +01:00
Yonas Kolb ce0f3b5665 add folder reference support 2017-11-15 01:22:02 +01:00
Yonas Kolb e8188ad9f8 swiftformat 2017-11-13 21:33:59 +01:00
Yonas Kolb 63c2d08977 add TargetSource.name for renaming sources (#146) 2017-11-12 20:26:36 +01:00
Yonas Kolb a2c41917e5 Fix groups (#144)
* failing createIntermediateDirectories test

* refactor sources

* add reference generator tests
2017-11-12 18:52:11 +01:00
Peyman Khanjan 91729a9694 Add support for simple files excludes from sources #5. (#135)
* Add support for simple files excludes from sources #5.

* Add pattern matching for Source excludes #5.

* Simplify getting Source.excludes from jsonDictionary.

* Remove recursive pattern matching and formatting.
2017-11-11 00:22:07 +01:00
Yonas Kolb 7cdc496f45 test refactoring 2017-11-10 23:28:16 +01:00
Yonas Kolb 68b4214c24 json loading refactoring
- don't convert to string and back
2017-11-04 02:05:39 +01:00
rmalik 91056efc8a Load json files directly with NSJSONSerialization if the spec path extension is
`json`
2017-11-03 12:10:00 -07: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
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