Commit Graph

604 Commits

Author SHA1 Message Date
ryohey
ce27af0647 Refactor variant group generation
- Add getVariantGroup() in the same manner as getFileReference()
2017-11-03 10:51:48 +09:00
ryohey
e24c0e29c7 Refactor localized file references generation
- Use getFileReference() to generate localized file references
- Add name parameter to getFileReference
2017-11-03 10:35:54 +09:00
Yonas Kolb
b166634322
Merge pull request #121 from bkase/support-compiler-flags
Support CompilerFlags in Sources
2017-11-03 01:03:12 +01:00
Yonas Kolb
8e87808b5f
Merge pull request #125 from bkase/support-c-files
Interpret .c files as sources
2017-11-02 21:50:18 +01:00
Brandon Kase
4138032711 Interpret .c files as sources 2017-11-02 13:49:06 -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
Yonas Kolb
93cf0e9e32 add simple release script 2017-11-02 21:17:38 +01:00
Yonas Kolb
57216be1f9
Merge pull request #108 from bkase/optionally-make-filler-groups
Optionally make intermediate filler groups
2017-11-02 21:16:38 +01:00
Yonas Kolb
01e29e690e add source generator tests 2017-11-02 18:03:12 +01: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
b274ae6f63 swiftformat 2017-11-02 00:25:13 +01:00
Yonas Kolb
e4d42cb6eb getSources tweak 2017-11-02 00:25:13 +01:00
Yonas Kolb
aae871c31d
Merge pull request #120 from enmiller/master
Add .mm file as a source type
2017-11-02 00:24:46 +01:00
Eric Miller
a27d65b7d0 Add .mm file as a source type 2017-11-01 17:35:31 -05:00
Yonas Kolb
d540abc7d0
Merge pull request #106 from bkase/feature-support-file-sources
Support file sources
2017-11-01 20:45:30 +01: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
Yonas Kolb
ec576e31c5
Merge pull request #118 from ryohey/fix-copy-headers
Don't add unnecessary headers build phase
2017-10-31 21:15:34 +01:00
Yonas Kolb
f51894e219
Merge pull request #119 from yonaskolb/source_options
Source options
2017-10-31 19:13:15 +01:00
ryohey
f67609f97e Don't add unnecessary headers build phase 2017-11-01 01:40:21 +09:00
Yonas Kolb
cda8931e30 refactor source generating 2017-10-31 17:33:35 +01:00
Yonas Kolb
698d8d85b4 change target source from String to Source struct 2017-10-31 17:22:14 +01:00
Yonas Kolb
dd0667680d
Update CHANGELOG.md 2017-10-30 14:18:26 +01:00
Yonas Kolb
17b32e6a1a refactored TestProject Fixture
- renamed things
- made framework multiplatform
- integrate carthage
2017-10-29 23:17:16 +01:00
Yonas Kolb
43bacd4626 don't run later fixture tests if changed, so it's clearer in logs what happened 2017-10-29 23:17:16 +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
d9da493f03
Merge pull request #117 from yonaskolb/validation_tests
Add spec validation tests
2017-10-29 21:05:03 +01:00
Yonas Kolb
4fe9a06148 add spec validation tests 2017-10-29 20:45:17 +01:00
Yonas Kolb
9a41bb9ab6 minor refactoring of spec validation 2017-10-29 20:32:36 +01:00
toshi0383
9c603af5e9 Refactor remove value logic 2017-10-29 08:41:10 +09:00
toshi0383
cd910fe714 remove values before loading buildSettings from user spec 2017-10-29 08:32:28 +09:00
toshi0383
f68f96e249 Remove basePath parameter for spec 2017-10-29 08:27:42 +09:00
toshi0383
28b6e2cfbf Merge remote-tracking branch 'upstream/master' into ts-no-overwriting-xcconfig-value 2017-10-29 07:52:04 +09:00
Yonas Kolb
e14a85fd69
Merge pull request #113 from yonaskolb/xcproj_1.2
Update to xcproj 1.2
2017-10-28 20:11:18 +02:00
Yonas Kolb
a4471e839e update to xcproj 1.2 2017-10-28 20:01:01 +02:00
Yonas Kolb
53e7b2dee9
Merge pull request #112 from mironal/add-version-option
add support --version option
2017-10-27 23:17:05 +02:00
mironal
ac2a1ac2d6 add support --vesion option 2017-10-27 11:45:18 +09:00
Yonas Kolb
770b502638 change target description 2017-10-27 00:50:21 +02:00
Yonas Kolb
d17099123d update version 2017-10-27 00:39:32 +02:00
Yonas Kolb
4539ead7f9 update changelog 2017-10-27 00:35:29 +02:00
Yonas Kolb
c2136b22d6 update changelog 2017-10-27 00:31:14 +02:00
Yonas Kolb
ebb945ede2 add spec validation that a spec has debug and release configs when generating a target scheme 2017-10-26 23:52:18 +02:00
Yonas Kolb
e44868530f Merge pull request #111 from yonaskolb/config_reference
Partial config matching
2017-10-26 23:32:10 +02:00
Yonas Kolb
ff73efa26b Merge pull request #109 from yonaskolb/ks/link-dependency
Add option for not linking dependencies
2017-10-26 22:16:58 +02:00
Keith Smiley
d31f9be4bf
Update documentation for link dependency 2017-10-26 13:14:01 -07:00
Yonas Kolb
57204c5054 add partial config matching documentation 2017-10-26 22:09:26 +02:00
Yonas Kolb
08079c914e make Settings.configs case insensitive 2017-10-26 21:53:16 +02:00
Yonas Kolb
11abfb0ae2 apply partial matching to Settings.configs 2017-10-26 21:50:45 +02:00
Yonas Kolb
5c65ef13b7 add setting config reference linting 2017-10-26 19:40:46 +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