50 Commits

Author SHA1 Message Date
Giovanni Amati 97d36fd1d2 Support for multiple deployment targets with xcode 14 (#1336)
* platformFilters on Dependecies

* platformFilters on sources

* fixed current unit tests

* renamed enum to SupportedPlatforms

* supportedPlatforms field for target

* errors

* renamed errors

* inferPlatformFiltersByPath flag

* changed priority to generate filter

* fixed parsing

* fixed init

* unit test supportedPlatforms

* unit tests for errors

* fixing build settings and unit tests

* added new settingsPresets

* new check errors and unit tests

* case insensitive match

* fixed skipping cross platform target

* json decode

* unit tests inferPlatformFiltersByPath and platformFilters for sources

* mocked files

* fixing unit tests

* first test on dependecies

* unit tests completed

* fixed unit tests

* changelog

* doc changes

* doc changes

* doc changes

* doc changes

* doc changes

* doc changes

* doc changes

* doc changes

* fixed doc

* fixed unti tests style

* fixed regex

* fixed doc

* addressing comments

* Added TestProject, moved unit tests resources in another folder

* Raising error if platform is an array

* unit test on new error

* fixed error enum

* Integrated in TestProject

* committed TestProject

* unit test error

* fixing spm deps in test project

* pushed testProject

* pushed testProject

* pushed testProject fix

* comment on isResolved property

* renameing supportedPlatforms to supportedDestinations

* renameing supportedPlatforms to supportedDestinations

* renameing test app

* checked out old file

* fixing test app

* working on auto baseSDK

* fixed deploymentTarget

* renamed errors

* fixed presets

* remamed index to priority

* small comments

* removed isResolved in target and fixed error check

* added unit tests

* fixed doc

* fixed doc

* fixed doc

* fixed doc

* fixed test app

* add visionOS and more error check and testing

* fixed supported destinations priority and tests

* fixed doc

* solved conflicts

* fixed conflicts

* renamed everything

---------

Co-authored-by: Giovanni Amati <giovanni.amati@sky.uk>
2023-10-31 20:55:38 +11:00
Dale Myers 988afa0f5b Sanitize the ends of folder source paths (#1341)
* Sanitize the ends of folder source paths

Setting the source: `/foo/bar` is _sometimes_ different from `/foo/bar/` even if `bar` is a folder in both cases. The result of this is that we often run into a race condition where we have two objects with the same hash but different properties. This fixes #1339 and #1131.

* Update CHANGELOG.md

* Update TargetSource.swift

* Update TargetSource.swift

* Update TargetSource.swift
2023-04-06 09:17:31 +10:00
tokizo 410f644a2f Delete unnecessary processes. (#927) (#928)
* Delete unnecessary processes.

* move value assignment up above
2020-08-11 15:15:27 +10:00
Yonas Kolb 20a99e5018 Add FileTypes for cross project file options (#914)
* move BuildPhase

* add fileTypes

* update changelog
2020-08-04 09:14:32 +10:00
sipao 3a9131a21a Add support On Demand Resources (#753)
* added on-demand-resources setting to project.yml

* update documents

* Apply suggestions from code review

fixed docs

Co-Authored-By: Yonas Kolb <yonaskolb@users.noreply.github.com>

* Make it possible to resourceTags convert to json

* Use sorted() instead of Array initializer

* Avoid merge assetTags if it is empty

* Changed access to resourceTags to inline

* Don't add resourceTags other than chosenBuildPhase is .resources

* update CHANGELOG.md

* update spec loading test

* add a new "generates resource tags" test case

* add resourceTags in Test Fixture and update

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-01-21 08:47:31 +11:00
Steven Roebert 15e615300e Added new group parameter to target sources, allowing to add them to a custom parent group (resolving #478) 2019-11-19 15:56:23 -05:00
yonaskolb 0e4e08bfc4 run swift format for Swift 5.1 2019-11-10 11:56:23 +11:00
Brian Clymer 582193e482 Merge branch 'master' into BC-IncludesOnly 2019-09-01 15:23:24 -05:00
yonaskolb d921d14259 make format_code 2019-09-01 22:02:53 +10:00
Brian Clymer f918bf54ea Add support for explicit includes on sources.
They are overridden by excludes.
2019-08-28 14:22:35 -05:00
yonaskolb d71612cbe0 update code to new XcodeProj 2019-06-26 16:49:10 +10:00
Min Kim e034dc982f Merge branch 'master' into min/no_codegen 2019-06-13 21:38:52 -07:00
min efb5951d13 Allow more flexibility by accepting an [String] for attributes 2019-05-11 08:36:24 -07:00
min 60a0f64416 Add support for no_codegen settings ATTRIBUTE 2019-05-07 20:42:44 -07:00
ryohey 65dec6b652 Define default property values 2019-04-20 12:13:25 +09:00
ryohey d5649a1bd3 Allow nil values 2019-04-20 12:12:26 +09:00
ryohey 117b90d13f Don't omit empty arrays
https://github.com/yonaskolb/XcodeGen/pull/545#discussion_r271688539
2019-04-20 12:12:26 +09:00
ryohey b27f71eac1 Unify encoding protocols into JSONEncodable
https://github.com/yonaskolb/XcodeGen/pull/545#discussion_r271690085
2019-04-20 12:12:26 +09:00
ryohey 010b1c3804 Implement encoding to JSON 2019-04-20 12:12:26 +09:00
Yonas Kolb ac00ad9615 don't modify exclueds path with relative include path 2019-03-16 23:17:33 +11:00
Yonas Kolb 8d06dbe8ca add createIntermediateGroups to TargetSource 2019-01-28 21:52:29 +11:00
Ell Neal d2579bfe43 Refactor the PathContainer protocol to be a bit more expressive 2019-01-24 12:50:34 +00:00
Ell Neal 151d78ef98 Rename PathContaining -> PathContainer 2019-01-21 13:32:13 +00:00
Ell Neal 05a564c324 Use normal imports 2019-01-21 13:12:14 +00:00
Ell Neal 98aeef46dc Implement PathContaining on relevant models 2019-01-13 18:22:34 +00:00
Yonas Kolb f04c3e0496 format code 2018-12-18 22:37:22 +11:00
Brentley Jones e6288b49df Remove ability to specify copy files phase ordering 2018-11-05 10:40:25 -06:00
Brentley Jones ef0c87ecb5 Merge branch 'master' into copy-files-ordering 2018-11-05 10:38:21 -06:00
Yonas Kolb 39079dd801 Merge origin/master into xcodeproj_5 2018-10-09 23:11:36 +11:00
Jerry Marino bf293d6ac6 Use the provided TargetSource.headerVisibility
This was missing in the init - simply use the value provided by the
user.
2018-10-08 13:34:45 -07:00
Yonas Kolb e97b002655 upgrade to xcodeproj 5 2018-09-25 21:08:11 +10:00
Brentley Jones e6a0af79a8 Allow specifying phase order for copy files phases
Copy Files phases don't stop dependent targets from starting to compile. If some of the files being copied are needed for the dependent target to compile then they need to happen before the Compile Sources phase. This change allows specifying that.
2018-09-19 09:00:59 -05:00
Yonas Kolb 75ac3b5669 make format_code 2018-08-19 14:22:42 +10:00
Brentley Jones 341e0214ed Automatically copy XPC Services to correct location 2018-08-15 08:30:55 -05:00
Brentley Jones b1c8fb1db6 Automatically copy modulemap files correctly 2018-07-31 08:13:30 -05:00
Brentley Jones b44dc46244 Cleanup SpecParsingError.invalidSourceBuildPhase 2018-07-31 07:36:59 -05:00
Brentley Jones d1c3ac10d0 Refactor SpecParsingError.unknownSourceBuildPhase
Consolidate `.unknownSourceBuildPhase` and `.invalidSourceCopyFilesPhase` into one.
2018-07-30 08:14:06 -05:00
Brentley Jones 5e96eedd78 Add support for Copy Files build phase 2018-07-30 08:14:06 -05:00
Yonas Kolb 3533c2cb07 use AutoEquatable where possible 2018-05-13 19:05:32 +10:00
Yonas Kolb d11783bdb0 make format_code 2018-03-03 09:21:16 +11:00
Yonas Kolb 59a2f4116d add headerVisibility 2018-02-27 09:28:17 +11:00
Yonas Kolb 75e0644b99 wrap long lines 2017-12-26 18:47:18 +08:00
Yonas Kolb cf6df044cf add TargetSource.buildPhase for overriding build phase 2017-12-22 18:57:15 +08:00
Alvar Hansen 24c8668eb7 Allow missing files in sources
Adds `optional` flag to `TargetSource` to allow files that do not exist yet.
This is useful in cases where build script will generate files.
2017-12-21 11:33:04 +02:00
Yonas Kolb 0c1325cc5f remove header comments 2017-11-22 13:01:17 +01:00
Yonas Kolb 0004cdd333 Update to 1.4.0 2017-11-16 11:49:30 +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