* 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
* Adding graphviz support in dump
Added tests
* Updating graph viz to use UML formatting
Updating README
Adding Changelog entry
* Adding dependency type to graphviz display
When a scheme only contains a test target, and you want it to build when "Building for Run", you don't want the test target to be set as the launch action. This fixes that.
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>