Commit Graph
210 Commits
Author SHA1 Message Date
freddi(Yuki Aki)andGitHub 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
Yonas KolbandGitHub 7c510af3d7 Fix Xcode alert on generation (#1072)
* fix xcode warning alert on regeneration

* commit fixture diffs

* update changelog
2021-05-06 08:33:42 +10:00
Elliott WilliamsandGitHub fb559ba153 CarthageDependencyResolver: ignore order-only dependencies (#1041)
* CarthageDependencyResolver: ignore target-only dependencies

* Update fixtures for expected changed in watchOS apps' FRAMEWORK_SEARCH_PATHS

* Update CHANGELOG.md
2021-05-01 15:39:55 +10:00
Liam NicholsandGitHub 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
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
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
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 ColicchioandGitHub 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 LiandGitHub 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
Elliott WilliamsandGitHub 2601d39792 Support Linux by upgrading XcodeProj and Spectre (#988)
* Bump XcodeProj and Spectre

* Add LinuxMain.swift

* Linux test fixups

* Add CI job for ubuntu-latest

* Use URLs in glob logic to avoid Linux/Mac foundation inconsistencies

* fatalError when --enable-test-discovery is not used

* Update fixtures

They changed because of a bugfix in XcodeProj: https://github.com/tuist/XcodeProj/pull/563

* Update CHANGELOG.md
2020-11-24 11:28:41 +11:00
Yonas KolbandGitHub 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
Liam NicholsandGitHub 5ea9b4eec4 Update SettingsPresets to include new and modified values as part of Xcode 12 (#953)
* Update SettingsPresets to include new and modified values as part of Xcode 12's TemplateInfo.plist

* Update CHANGELOG.md

* Update Test Fixtures after running unit tests

* Revert change to GCC_PREPROCESSOR_DEFINITIONS order (https://github.com/yonaskolb/XcodeGen/pull/953\#discussion_r497486482)

* Run tests to update fixtures
2020-10-02 17:52:30 +10:00
5ac96741bc Improved Application Extension scheme generation (#932)
* Default extensions to launchAutomaticallySubstyle "2"

* Don't use debugger launcher with extensions

Xcode schemes don't use the LLDB launcher, even when debugging is enabled.

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-09-06 15:40:32 +10:00
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 KolbandGitHub 20a99e5018 Add FileTypes for cross project file options (#914)
* move BuildPhase

* add fileTypes

* update changelog
2020-08-04 09:14:32 +10:00
Muhammad MuizzsuddinandGitHub d68900e313 Fix app extension scheme generation (#899)
* Fix XCScheme generation for Extension

* Use schemeTarget
2020-07-26 22:17:32 +10:00
Jared SorgeandGitHub 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
Brentley JonesandGitHub fc58e084b9 Update XcodeProj to 7.13.0 (#908)
This has support for App Clips.
2020-07-15 00:53:18 +10:00
Khaos TianandGitHub 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 ColicchioandGitHub 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 TianandGitHub 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 YasuiandGitHub f25a8955ba Don't link transitive static carthage libraries (#853) 2020-05-02 12:18:12 -05:00
Ian LeitchandGitHub f010771a30 Generate correct PBXTargetDependency for external targets. (#843) 2020-04-23 12:25:25 -05:00
Sam KirchmeierandGitHub aeb65969d4 Automatically include bundles in the Copy Bundle Resources build phase (#838) 2020-04-22 07:59:43 -05:00
7ff577911d Prefix static library target filenames with 'lib' to match Xcode. (#831)
* Prefix static library target filenames with 'lib' to match Xcode.

Given a target named 'MyTarget', Xcode automatically prefixes the filename with 'lib', resulting in the filename 'libMyTarget.a'.

* Update CHANGELOG.md

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-04-13 21:49:17 +10:00
AsifandGitHub 400c19ee9a Bugfix: Consider folders with dot in it when generating projects (#826)
* Bug fix in SourceGenerator

Folders which would have a dot in it, would be added to Copy Bundle Resources even though it contained swift files. This commit, updates the if checks to check if the extension is not of type lproj or xcassets or bundle. This would let Xcodegen handle paths with dots in it

* Refactor SourceGenerator.swift getGroupSources function

* Add FolderWithDot2.0 to TestProject/App_iOS

* Update TestProject fixture with SwiftFileInDotPath and FolderWithDot2.0 changes

* Update test to assert bundles are included in resources

* Remove intentDefinition from whitelistedDirectoryExtensions because it's not a directory, it's always a file so the check is not required
2020-04-09 07:47:54 -05:00
Sebastian CelisandGitHub 0328fa03e7 Add improved support for simple iOS sticker packs (#824)
* Allow messages applications to skip the compile sources phase

By default, simple iOS sticker packs created in Xcode do not include
a compile sources phase. This change will allow messages applications
with an empty list of sources to skip that phase entirely.

* Add support for launchAutomaticallySubstyle in run schemes

This is especially important for simple iOS sticker packs that require
this run scheme setting to be set to 2 in order to run the scheme
properly.
2020-04-06 13:37:37 -05:00
Yonas Kolb 5106f5052e complete XcodeProj 7.10.0 upgrade 2020-04-03 10:32:22 +11:00
Dalton ClaybrookandGitHub 039f6c31e7 Use remote-runnable launch actions for Apple Watch schemes (#798)
* Add support for using remote runnables with an Apple Watch scheme
2020-03-26 08:14:46 -05:00
ionutivan 2f0c5ea7a4 change test fixtures 2020-03-17 18:36:51 +01:00
Ken TominagaandGitHub c0c998b429 Set xcodeproj path in project.xcworkspace/contents.xcworkspacedata (#793)
* Set xcodeproj path in project.xcworkspace/contents.xcworkspacedata

* Update CHANGELOG.md
2020-02-28 14:40:37 -06:00
Ken TominagaandGitHub f510b44186 Set TEST_TARGET_NAME only when a project has UITest bundle (#792)
* Set `TEST_TARGET_NAME` only for UITest

* Update CHANGELOG.md
2020-02-26 09:26:35 -06:00
Ken Tominaga 930d4cb27b Update Fixtures 2020-02-24 16:57:47 -08:00
Yonas KolbandGitHub f2def422c5 Reorder build phases (#768)
* update changelog

* moved `Copy Bundle Resources` to after `Link with Libraries` build phase
2020-02-02 10:39:35 +11:00
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
Bas van KuijckandBrentley Jones 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 663ab0c3f9 Update Fixtures 2019-11-20 19:31:48 -08:00
yonaskolb c7d81f1d4d add custom group to TestFixture 2019-11-20 22:18:05 +11:00
yonaskolb 63bf4f1584 regen fixtures 2019-11-10 12:40:47 +11:00
Yuta Saito db9c99da3a Update fixtures 2019-10-30 15:53:03 +09:00
Malcolm JarvisandBrentley Jones 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
yonaskolb b03f682418 add some more lastKnownFileType that Xcode generates 2019-09-28 14:48:36 +10:00
yonaskolb b7564b1c49 make LD_RUNPATH_SEARCH_PATHS an array like Xcode now does 2019-09-28 14:48:16 +10:00
Yuta Saito d33d55cc5b Update generated xcscheme 2019-09-13 10:09:43 +09:00
Yuta Saito 923a60fb63 Add dylib sdk for TestProject 2019-09-10 23:09:27 +09:00