* update xcodeproj to 8.27.7
* add syncedFolder source type
* drop xcode 15 support
* Rely on fileReference instead of adding new synchronizedRootGroup (#1557)
* fix: don't include untracked children in cache
---------
Co-authored-by: Kirill Yakimovich <kirill.yakimovich@gmail.com>
* Make sure to create parent group structure for local packages
* Remove redundant localPackageGroup variable
---------
Co-authored-by: Jaap Manenschijn <jaap.maneschijn@rabobank.nl>
* Support for xcode 15 string catalogs
* Add sample string catalog to Test Fixture and basic test to check that asset catalogs are added in the resources build phase
* Restore unintended changes
* Update Pull Request number for 'Support for Strings Catalogs' in changelog
* Update fixture yml generator
* Detect knownRegions based on locales in string catalogs
* 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>
As this transform closure does not access anything outside of its
closure and does not mutate any singletons, then it seems to be safe
to run this mapping in parallel.
* 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
* 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>
* 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
* 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
* 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>
When targeting a file, a folder should not be created for its directory,
only the file should appear in the specified custom group.
Moreover, if the custom groups contains actual filesystem folders, they
should map to these.