* Failing test for #975
* fixes#975
* chore: refactor to properly select a config from a collection with specific variant and config type
chore: updated changelog
* fix: lowercase compare on config variant names
* fix CI
* fix missing scheme for CI
* fix schemes for CI
* Update CHANGELOG.md
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Update Sources/ProjectSpec/Config.swift
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* - fix compilation issue
- duplicated test for config variant name (uppercase/lowercase)
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* added support for selectedTests in test shemes
* added PR description to changelog
* CHANGELOG fix
* use presence of selectedTests for useTestSelectionWhitelist
Co-authored-by: Artem Semavin <Artem Semavin>
Co-authored-by: yonaskolb <yonaskolb@gmail.com>
* Allowing the property LastUpgradeCheck and LastUpgradeVersion to be overrided
* Updating changelod and project spec
* Updating changelog
Co-authored-by: André Lucas Ota <andrel.ota@PPM-SPO-6835.local>
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* 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
* Set error message for missing build targets in scheme
The current behavior means it just crashes due to trying to force unwrap
a nil optional.
Note: A build target shouldn't really be needed, but this is just a
quick fix to get things moving again.
* Update changelog
* 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>
* Fixed adding Info.plists with custom names to Copy Bundle Resources build phase
- Extended check for Info.plist, because they usually named not just "Info.plist", but "<TargetName>-Info.plist"
* Update CHANGELOG.md
* Update CHANGELOG.md
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* 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
* Add 'useBaseInternationalization' setting to SpecOptions (default value of true)
* Update PBXProjGenerator to only include Base into knownRegions if it was either detected on the filesystem or if the project spec options opt into it
* Update ProjectSpec.md to include useBaseInternationalization
* Update AnotherProject to demonstrate Base Internationalization opt out
* Update CHANGELOG.md
* Update PBXProjGenerator to include 'Base' developmentRegion and file system derived knownRegions in the output knownRegions
* Update CHANGELOG.md
* Run tests to update fixtures
* Select the first runnable target, if there is one
Instead of just selecting the first target as the scheme target, instead search for and select the first runnable target. If there are no runnables found, then select the first target.
* update docs
* 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>
* 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>
It's pretty tricky to find out how to fix it otherwise. Hitting this
often when using XcodeGen with XCHammer for Bazel Xcode projects.
XCHammer simply pulls in transitive targets, but users can filter out a
subset of targets based on paths. Both XCHammer and XcodeGen Yaml give
users flexibility for specify what targets are in their Xcode project,
so it's useful to give them a better validation error if they create
one.
* 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