Commit Graph

46 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
Simon Støvring 486df5da4d Supports specifying multiple package products (#1395)
* Supports specifying multiple package products

* Adds #1395 to CHANGELOG.md

* Updates documentation

* Adds fixture

* Adds changes to pbxproj after changing fixture

* Elaborates on linking options in "Package dependency" section
2023-09-11 11:49:38 +10:00
Yonas Kolb fd24307120 add a dependency test case 2022-12-09 21:35:17 +11:00
Aleksei Sapitskii 24572daeb5 Added duplicate dependencies validation (#1234)
**Reason**
 - More strict validation of added dependencies

**Contents**
 - Added changelog entry
 - Added check for duplicates in validation stage
 - Added test
2022-07-24 16:08:33 +10:00
Jakub Bednar d35d22f08b Added support for dependency destination specification. (Resolves #1038) (#1039)
* Added support for dependency destination specification. (Resolves #1038)

* More generic way covering more different dependency types. (#1038)

* Added unit-test for each possible dependency combination. First test current embeding then the new one with custom copy spec. (#1038)

* Review fixes. (#1038)

* Minimized unit-test boiler-plate (#1038)

* Update CHANGELOG.md

Co-authored-by: Jakub Bednář <jakub.bednar@avast.com>
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2021-07-15 12:10:34 +10:00
Dalton Claybrook 81bd52be4b Add support for conditionally linking dependencies based on platform (#1087)
* Add initial support for conditional platform dependencies

* Add tests for conditional platforms

* Update docs and changelog

* Respond to PR feedback

* Change name of field from 'conditionalPlatforms' to 'platforms'

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2021-06-20 20:19:02 +10:00
Kryštof Matěj 38888237c7 Add platform filter to dependencies (#951) 2021-05-18 20:52:24 +10:00
Yonas Kolb 0964a7ed30 Revert "Add staticBinary linkType for Carthage dependency (#847)"
This reverts commit d88d385757.

# Conflicts:
#	CHANGELOG.md
#	Sources/XcodeGenKit/PBXProjGenerator.swift
#	Tests/XcodeGenKitTests/ProjectGeneratorTests.swift
2020-06-17 17:56:02 +10:00
Toshihiro Suzuki 25f56acc4c Fix linking of multiple products from the same Swift Package (#830)
* link dependency.package.products transitively

* update test

* changelog

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-05-02 16:11:50 +10:00
Daiki Matsudate d88d385757 Add staticBinary linkType for Carthage dependency (#847) 2020-05-01 12:54:12 -05:00
Yuta Saito e336f56093 Support .bundle dependency 2019-11-18 18:07:46 +09:00
yonaskolb 0e4e08bfc4 run swift format for Swift 5.1 2019-11-10 11:56:23 +11:00
Kohki Miki 03076f40eb Support Static Frameworks for Carthage dependencies (#688) 2019-11-07 11:03:26 -06:00
yonaskolb fa5bd83049 add packages to project spec 2019-09-27 17:10:55 +10:00
yonaskolb d921d14259 make format_code 2019-09-01 22:02:53 +10: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 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
Kryštof Matěj 0533dda0a6 Added support for custom framework root 2019-04-08 15:41:06 +02:00
yonaskolb bcbc83dd75 rename includeCarthageRelatedDependencies to findCarthageFrameworks and includeRelated to findFrameworks 2019-03-24 22:59:29 +11:00
Rogerio de Paula Assis 1e69d705b7 Added includeCarthageRelated global flag, updated tests + documentation to reflect changes 2019-02-22 21:31:23 -05:00
Rogerio de Paula Assis a19871aaac Some additional tidy up & code improvements 2019-02-22 21:31:23 -05:00
Rogerio de Paula Assis 18f52ab098 Introduces ability to include Carthage related dependencies when creating a project configuration file 2019-02-22 21:29:56 -05:00
Ell Neal 8eadc2f96c Remove some imports that are no longer necessary 2019-01-27 15:34:41 +00: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 7e92db5346 add sdk dependency type 2018-11-04 21:38:07 +11:00
Yonas Kolb 8d6a70bdd0 Merge branch 'master' into xcodeproj_5
# Conflicts:
#	.circleci/config.yml
#	Sources/XcodeGenKit/PBXProjGenerator.swift
#	Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj
#	Tests/XcodeGenKitTests/ProjectFixtureTests.swift
#	Tests/XcodeGenKitTests/ProjectGeneratorTests.swift
2018-10-08 22:00:45 +11:00
Alvar Hansen ab0d71d96f Add framework weak linking setting 2018-10-02 11:07:58 +03:00
Yonas Kolb e97b002655 upgrade to xcodeproj 5 2018-09-25 21:08:11 +10:00
Yonas Kolb 75ac3b5669 make format_code 2018-08-19 14:22:42 +10:00
Brentley Jones 0afd7058bb Only link static libraries to executables 2018-07-23 09:23:14 -05:00
Yonas Kolb c79a205339 don't code sign target dependencies by default 2018-06-27 22:44:19 +10:00
Yonas Kolb 3533c2cb07 use AutoEquatable where possible 2018-05-13 19:05:32 +10:00
Yonas Kolb a176f85875 xcproj 4.0 2018-01-25 20:59:28 +10:30
Yonas Kolb 75e0644b99 wrap long lines 2017-12-26 18:47:18 +08:00
Yonas Kolb 0c1325cc5f remove header comments 2017-11-22 13:01:17 +01:00
Cameron Mc Gorian f143b907f8 Review feedback 2017-11-21 13:51:04 +01:00
Cameron Mc Gorian 99f8bafccf Update init method 2017-11-21 11:14:58 +01:00
Cameron Mc Gorian 5eb9468e97 Add implicit type to Dependency 2017-11-21 07:50:46 +01:00
Yonas Kolb 8b0cc83416 add linking to Dependency init 2017-11-17 00:37:36 +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