* Add .context to .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Validate empty source paths to prevent project root inclusion (#1595)
Empty/null source entries (e.g. bare `-` in YAML) resolve to the project
root, causing extreme memory usage. Add validation to reject them with a
clear error message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Expose address sanitizer flags in run and test BuildActions in Schemes
* Update testJSONEncodable to test the new fields
* Also test the asan setting values for run scheme
* Update changelog
---------
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Reject multiplatform apps that support the watchOS destination
This commit also fixes existing test cases.
* Add test cases
* Update docs
* Update changelog
* 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>
* feat: Add possiblity to add resources before the sources build phase;
* feat(ios): Add change to Docs + CHANGELOG;
* fix: rename resourcesBeforeSourcesBuildPhase to putResourcesBeforeSourcesBuildPhase to make it more clear;
* Update CHANGELOG.md
---------
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
**Reason**
- More strict validation of added dependencies
**Contents**
- Added changelog entry
- Added check for duplicates in validation stage
- Added test
* upgrade scheme and project versions
* parse test plans
* remove xctestplan from resources
* generate test plan references in schemes
* add test plan to fixture
* non-mutable way of creating [XCScheme.TestPlanReference]
* update fixture version
* Add documentation
* Add default test plan option
# Conflicts:
# Sources/ProjectSpec/Scheme.swift
# Tests/Fixtures/paths_test/included_paths_test.yml
# Tests/ProjectSpecTests/SpecLoadingTests.swift
* Add test plan validation
# Conflicts:
# Tests/ProjectSpecTests/ProjectSpecTests.swift
* Check for multiple default test plans
* set first plan as default default plan
* small tweaks
* fix test plan path properties
* add test plants to target scheme
* docs
* fix fixture test plan path
* update changelog
* added ability to disable test plan path validation
Co-authored-by: Ota Mares <ota@rebuy.com>
* Added support for dependency destination specification. (Resolves#1038)
* More generic way covering more different dependency types. (#1038)
* Added unit-test for each possible dependency combination. First test current embeding then the new one with custom copy spec. (#1038)
* Review fixes. (#1038)
* Minimized unit-test boiler-plate (#1038)
* Update CHANGELOG.md
Co-authored-by: Jakub Bednář <jakub.bednar@avast.com>
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* added () to config variant trimming character set
* added test cases
* added test cases and changelog entry
* Update CHANGELOG.md
removed
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* fixed incorrect test case
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* 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>
* 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.
* Stabilize sorting of groups with duplicate names/paths
For example, previously a group with (name: nil, path: "Sources") would be considered equal to (name: "Sources", path: "../Sources"), even though they are distinct groups.
* Remove Comparable conformance from PBXFileElement
...as it isn't compatible with its Equatable conformance.
Renamed localizedStandardCompare to reflect the fact that PBXFileElement no longer has an inherent order.
* Update changelog