Commit Graph

436 Commits

Author SHA1 Message Date
Yonas Kolb bf6d8aa464 fix cyclical target dependencies 2017-11-12 20:43:07 +01:00
Yonas Kolb 63c2d08977 add TargetSource.name for renaming sources (#146) 2017-11-12 20:26:36 +01:00
Yonas Kolb 6c1dcde2f5 commit fixture 2017-11-12 19:01:14 +01:00
Yonas Kolb 354407b165 make variant groups have same sort order as file references 2017-11-12 18:55:45 +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
Yonas Kolb 975cc8b98e fix merge conflict 2017-11-11 00:25:10 +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 94a449c647 Merge pull request #139 from bkase/xcassets-as-files
Support paths directly to xcassets
2017-11-10 23:31:53 +01:00
Yonas Kolb 7cdc496f45 test refactoring 2017-11-10 23:28:16 +01:00
Yonas Kolb 405b7b7acc Merge pull request #142 from bkase/fix-duplicate-sources
Fix duplicate sources in groups, fixes #141
2017-11-10 01:21:41 +01:00
Brandon Kase a27a25e76f Fix duplicate sources in groups, fixes #141 2017-11-09 15:05:56 -08:00
Yonas Kolb be4767be36 add failing test for shared sources 2017-11-09 22:47:53 +01: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
Yonas Kolb 5789a1110a Merge pull request #138 from bkase/support-assembly-files
Support assembly files in sources
2017-11-07 22:46:05 +01:00
Brandon Kase fb11b06744 Support assembly files in sources 2017-11-07 13:36:18 -08:00
Yonas Kolb b120c9da37 fix Swift 4.0.3 warnings 2017-11-04 16:01:44 +01:00
Yonas Kolb cd7578e03c Merge pull request #133 from bkase/fix-filegroup-broken
Filegroups that subsume sources work again
2017-11-04 12:39:59 +01: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
Yonas Kolb 68b4214c24 json loading refactoring
- don't convert to string and back
2017-11-04 02:05:39 +01:00
Yonas Kolb 1f65e415d6 Merge pull request #131 from yonaskolb/documentation-type
Correct documentation type of createIntermediateGroups
2017-11-03 21:44:02 +01:00
Keith Smiley dc96645751 Correct documentation type of createIntermediateGroups 2017-11-03 13:42:53 -07:00
Yonas Kolb 61900fab9e Merge pull request #127 from bkase/rmalik-json-serialization
Load json files directly with NSJSONSerialization if the spec path ha…
2017-11-03 21:09:19 +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
Yonas Kolb b9163a0b31 sort group children 2017-11-03 15:07:28 +01:00
Yonas Kolb e05ed6a0b9 sort build phase files 2017-11-03 15:04:10 +01:00
Yonas Kolb a092dafec1 extract and cache XCConfig loading 2017-11-03 14:58:05 +01:00
Yonas Kolb 050ce8630d refactor config file setting removing 2017-11-03 14:42:51 +01:00
Yonas Kolb c00dbe3a81 Merge pull request #77 from toshi0383/ts-no-overwriting-xcconfig-value
Avoid overwriting xcconfig's value by preset's value
2017-11-03 14:35:40 +01:00
toshi0383 4204c65ee7 Merge remote-tracking branch 'upstream/master' into ts-no-overwriting-xcconfig-value 2017-11-03 22:00:44 +09:00
Yonas Kolb a9cbe51783 Merge pull request #126 from ryohey/fix-localized-files
Fix localized files with same name
2017-11-03 13:05:49 +01:00
ryohey 7eb4e92f00 Add stringsdict file to TestProject 2017-11-03 12:32:04 +09:00
ryohey 66a2893dd0 Fix localized files with same name
#122
2017-11-03 11:41:13 +09:00
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