Commit Graph
78 Commits
Author SHA1 Message Date
freddi(Yuki Aki) 4233cc8578 Support runPostActionsOnFailure on build scheme (#1075)
* supports runPostActionsOnFailure on build scheme

* updates test for runPostActionsOnFailure

update runPostActionsOnFailure tests

* update Docs for runPostActionsOnFailure

* update change log

* Update CHANGELOG.md

* Update CHANGELOG.md
2021-05-06 12:54:33 +10:00
Liam Nichols 1b57ba5c75 Improve INFOPLIST_FILE handling to only omit used Info.plist's from Copy Bundle Resources Build Phase (#1027)
* Update TestProject Fixture to include GoogleService-Info.plist resource bsaed on 2.18.0 generator

* Update TestProject fixture to include an Info.plist file named 'App-Info.plist' to simulate scenario in #945

* Resolve INFOPLIST_FILE values upfront ahead of resolving all source files for a target

* fixup! Resolve INFOPLIST_FILE values upfront ahead of resolving all source files for a target

* fixup! Resolve INFOPLIST_FILE values upfront ahead of resolving all source files for a target

* Refactor SourceGenerator to remove some redundant arguments on internal methods when generating source files in a target

* Update SourceGenerator to accept '[Path: BuildPhaseSpec]' of preferred build phases in order to prioritise over 'default' value. Remove explicit Info.plist check from SourceGenerator. Update PBXProjGenerator to inject hash of build phases for resolved INFOPLIST_FILE values. Update SourceGeneratorTests to comply with change where only the FIRST Info.plist is excluded from copy bundle resources build phase, additionally resolve absolute path

* Ensure project.basePath is always absolute when resolving Info.plist path relative to project

* Add test coverage in SourceGeneratorTests.swift

* Update CHANGELOG.md

* Reword CHANGELOG.md
2021-04-08 15:38:21 +10:00
freddi(Yuki Aki)andYonas Kolb cf88681749 Support macroExpansion on run scheme (#1036)
* allow to specify macroExpansion on schemes

* fix json parsing on macroExpansion

* set macroExpansion only launch scheme

* add test for macroExpansion

* add macroExpansion description

* add macroExpansion to Change Log

* Update CHANGELOG.md

* add App_Extension scheme for macroExpansion

* change example of macroExpansion in Fixtures project

* fix to keep back to keep back compatibility as possible

* Apply suggestions from code review

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2021-03-21 20:02:01 +11:00
Joseph Colicchio 05ea968f70 Bugfix/StoreKitConfiguration BuildPhase (#1026)
* Copy storekit to bundle resources by default

* Fix tests

* Update changelog
2021-02-24 08:33:54 +11:00
Bartosz PolaczykandFernanda Geraissate 2c600a7c64 Add Discovered Dependency File (#1012)
* Upgrade XCodeProj to 7.14.0

* Bump to XcodeProj to fork

* Add script discoveredDependencyFile

* Align cfbundle test

* Add changelog mock

* Update Documentation

* Update SPM manifest

* Change property name

* Verify defult dependency file to nil

* Add JSON encodable test

* Add PR number

Co-authored-by: Fernanda Geraissate <fernandag@spotify.com>
2021-02-15 12:43:41 +11:00
Joseph ColicchioandGemma Barlow 50aedc4511 Feature/Store Kit Configuration (#964)
* Preemptively fix compilation for latest XcodeProj

* Add StoreKitConfiguration to scheme and generator

* Add scheme generator test

* Fix and add tests

* Support StoreKitConfiguration in TargetScheme

* Set default type of `storekit` to `.none`

* Upgrade XcodeProj to 7.15.0

* Create struct for StoreKitConfiguration

* Update tests

* Add storekit configuration to test project

* Update changelog

* Update project spec

* Fix xcodeprojs

* Fix projects

* Capitalize String

* Update CHANGELOG.md

Co-authored-by: Gemma Barlow <gemmakbarlow@gmail.com>

* Refactor StoreKitConfiguration init from json

* Change `forWorkspace` to `pathPrefix` and add tests

* Replace StoreKitConfiguration struct with string + option

* Fix tests

* Update project spec

* Fixup changelog

* Add `See Options` to `storeKitConfiguration` in project spec

Co-authored-by: Gemma Barlow <gemmakbarlow@gmail.com>
2021-02-15 11:58:16 +11:00
Joseph Colicchio 0eeb6369ec Legacy / Settings Relative Paths (#981)
* Adjust header search paths and legacy working directory for relative included projects

* Undo change to HEADER_SEARCH_PATHS

* Add test

* Update changelog

* Fix test

* Undo test changes

* Fix tests
2021-01-14 16:59:59 +11:00
Jierong Li 04d6749441 Fix a typo (#993)
Rename baseOnDependencyAnalysis to basedOnDependencyAnalysis.
2020-12-03 11:20:13 +11:00
Jierong Li efed786cec Add baseOnDependencyAnalysis to Project Spec Build Script (#992)
* Add baseOnDependencyAnalysis to BuildScript

* Add tests for baseOnDependencyAnalysis

* Update CHANGELOG.md
2020-12-03 08:52:24 +11:00
Yonas Kolb 4988388cc5 Update to Xcode 12 (#960)
* update to final xcode 12 version

* only generate and test xcode 12 project

* update default xcode version to 12

* update changelog
2020-10-02 18:42:50 +10:00
Brentley JonesandDan Fleming bc51191a3a Add support for App Clips (#909)
* Add support for App Clips

Embeds App Clips into the containing app when they are a dependency.

* Patch #909 to not fail CI (#917)

Co-authored-by: Dan Fleming <dflems@spotify.com>
2020-08-16 20:02:56 +10:00
Bartosz PolaczykandBartosz Polaczyk 1d2a28490f Add custom lldinit for a scheme (#929)
* Add customLLDBInit

* Add changelog info to a valid bucket

* Update PR number

* Add fixture tests

Co-authored-by: Bartosz Polaczyk <bartoszp@spotify.com>
2020-08-12 16:13:47 +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
Muhammad Muizzsuddin d68900e313 Fix app extension scheme generation (#899)
* Fix XCScheme generation for Extension

* Use schemeTarget
2020-07-26 22:17:32 +10:00
Jared Sorge 331c3da0ef Add Target option for copying frameworks when installing (#912)
* Add copy files on install option

* Add documentation

* Add tests

* Add to the target’s JSON if true

* Add changelog entry

* Add test for outputted pbxproj file
2020-07-26 22:15:42 +10:00
Khaos Tian 37e1f72531 Treat all directories with known UTI as file wrapper (#896)
* Only allow folder with unknown UTI

* Update fixture

* Use fileGroups instead of fixtures.

* Change log

* Add to the right place

* Rename title
2020-06-25 18:39:04 +10:00
Joseph Colicchio 1f95a41b85 Compile xcmappingmodel files instead of copying them (#834)
* Compile xcmappingmodel files instead of copying them

* Add test for xcmappingmodel

* Update changelog

* Fix xcmappingmodel reference to avoid folder containing xml

* Fix xcmappingmodel contents to avoid test failure

* Tweak yaml to fix compiler flag on xcmappingmodel

avoid `-Werror` added to xcmappingmodel compiler flags, which was preventing compilation
2020-06-04 15:22:33 +10:00
Khaos Tian 474d8f6907 Bugfix: Ensure folder and wrapper directories are correctly set on generated project (#862)
Check for UTI type instead of hardcoded extensions.
2020-05-18 12:21:34 -05:00
Akio Yasui f25a8955ba Don't link transitive static carthage libraries (#853) 2020-05-02 12:18:12 -05:00
ionutivan 40902fb422 set stopOnEveryMainThreadCheckerIssue true for App_iOS_Tests and App_iOS_UITests 2020-03-05 12:59:38 +01:00
ionutivan 364aa7db12 add integration test by modifying the yaml file 2020-03-04 17:24:27 +01:00
Evan ColemanandYonas Kolb 6bfd620549 Support external target dependencies via subprojects (#701)
* Allow external target dependencies via subprojects

* Update CHANGELOG

* Update ProjectSpec

* Fix test

* Use existing fixture for test

* Sort subprojects by name

* Throw subproject generation error instead of crashing

* Cleanup target dependency generation

* Update test fixture project

* Combine extentions in Linkage

* Update XcodeProj to 7.7.0

* Update CHANGELOG.md

* Update ProjectSpec.md

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-02-02 09:44:56 +11:00
Yonas Kolb 49ed1503ef Add pre and post-gen commands (#759)
* add pre and post-gen commands

* update changelog

* run gen scripts in project directory
2020-01-27 22:22:35 +11:00
Bas van Kuijck f544dd36e6 Added a simulateLocation option in scheme specs (#756)
* Added a simulateLocation option in scheme specs

* Updated fixtures for simulateLocation

* Use fileGroups instead of sources
2020-01-23 09:12:06 -06:00
sipaoandYonas Kolb 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
Yuta Saito ea6ac80c87 Add AnotherProject for fixture 2019-11-21 16:38:06 +09:00
Yuta Saito 49f29e9156 Merge branch 'master' into katei/add-bundle-dependency 2019-11-20 19:35:38 -08:00
Yuta Saito 074791175c Add bundle dependency to TestProject 2019-11-20 19:26:42 -08:00
yonaskolb c7d81f1d4d add custom group to TestFixture 2019-11-20 22:18:05 +11:00
Malcolm Jarvis d22ab944c4 Fix macOS unit test target TEST_HOST (#696)
Resolves #695

Previously, macOS unit test targets would appear to have no test host.

By manually setting the test host in Xcode on the fixture project, I discovered that macOS test hosts require an additional `Contents/MacOS/` path component before the product name.

We can manually detect the platform when setting the test host and as such generate the host correctly for macOS unit test targets.
2019-10-24 11:12:00 -05:00
Qusic 76827d96e3 fix tests in case-sensitive file system 2019-10-02 17:02:57 +08:00
yonaskolb 26a0ca3b64 fix fixture building in Xcode 11 2019-09-28 17:14:45 +10:00
Yuta Saito fc5979150c Update TestProject project.yml 2019-09-13 10:09:43 +09:00
Yuta Saito 923a60fb63 Add dylib sdk for TestProject 2019-09-10 23:09:27 +09:00
Miles Hollingsworth 30ef0fb3be update integration test 2019-08-13 16:53:00 -07:00
Kryštof Matěj 0533dda0a6 Added support for custom framework root 2019-04-08 15:41:06 +02:00
yonaskolb 3311b4d321 fix TestProject building 2019-03-27 19:54:11 +11:00
yonaskolb c325176338 split Carthage fixtures up 2019-03-24 22:59:29 +11:00
Yonas Kolb 0b49bdb91f add optional source to Fixture 2019-02-27 22:51:12 +11: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
Yonas Kolb eb02ebe3d0 add macOS app scheme 2019-02-02 13:15:20 +11:00
Yonas Kolb 2ca26a5fc1 remove entitlements from main iOS app so it can build 2019-02-02 13:13:03 +11:00
Yonas Kolb df168dd9fa get iOS app compiling 2019-02-02 13:04:08 +11:00
Yonas Kolb 4062b6c883 Merge pull request #500 from lukewakeford/build_script_xcfilelist
Adding input and output file lists to build script spec
2019-01-25 08:37:33 +11:00
Luke Wakeford 52e15654c5 Updating spec loading tests for build scripts with input and output file lists 2019-01-24 12:52:08 +00:00
Yonas Kolb d792b9f25b add command line tool to ProjectTest fixture 2019-01-22 15:44:00 +11:00
Rogerio de Paula Assis f5cc31bb63 Adds sticker pack target to test project 2019-01-15 23:10:31 -05:00
Yonas Kolb 7e92db5346 add sdk dependency type 2018-11-04 21:38:07 +11:00
Yonas Kolb e8feba21ef add TestTarget with parallelizable and randomExecutionOrder 2018-11-03 19:04:28 +11:00
Yonas Kolb ff9d1acdee make carthage dependencies listen to link 2018-11-02 19:16:02 +11:00