* Reproduce issue in FixtureTests
* Don't add PBXContainerItemProxy if existing PBXReferenceProxy was reused
* Move extenral target fixture to an iOS target so that it actually compiles
* Update CHANGELOG.md
* 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>
* Resolves#173 - Shared breakpoints support
* Added breakpoints full documentation
* Invalid breakpoint just throw JSONUtilities decoding error.
* Use enumeration types instead of String for extensionIDs
* Remove a necessary line
* Remove unnecessary custom Equatable implementation
* Update CHANGELOG.md
* Ignore empty breakpoints
* Update Docs/ProjectSpec.md
Fix a typo
Co-Authored-By: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Change some properties that should be Int to Int
* Create 2 typealiases
* Use BreakpointType where it is missing
* Remove unused Location
* Change some names
* Add Breakpoint.Scope
* Add Breakpoint.StopOnStyle
* Change the type of the raw value to String
* Remove some properties that may cause confusing
* Require filePah and line when the type is .file
* Add tests about decoding breakpoints
* Add Breakpoint.Action.ConveyanceType
* Add default value for waitUntilDone
* Add Breakpoint.Action.SoundName
* Add tests about decoding breakpoint actions
* Fix some issues in ProjectSpec.md
* Improve ProjectSpec.md
* Add missing condition
* Add breakpoints to project.yml
* Use unwarp
* Remove the Breakpoint suffix
* Refactor BreakpointType
* Refactor Breakpoint.Action
* Remove unnecessary properties
* Adjust the line wrapping style for BreakpointGenerator
* Support column breakpoints
---------
Co-authored-by: Alex Rupérez <alejandro.ruperez@intelygenz.com>
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Fix profile action to not run frameworks
* Add PR number to changelog
* Update CHANGELOG.md
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Embed ExtensionKit Extensions
* Fix explicitFileType for extensionKit
* Update ChangeLog
* Fix if statement structure
* Add a new example extension to Tests/Fixtures/TestProject/
* Update Tests/Fixtures/TestProject/Project.xcodeproj
* Comment out example for extension kit extension in Tests/Fixtures/TestProject/
* Update Tests/Fixtures/TestProject/Project.xcodeproj
* Fix XcodeGen building after XcodeProj update to 8.8.0
**Reason**
- XcodeProj has been updated and has API breaking changes
**Content**
- Added new enum case handling in `Linkage`
- Renamed the enum case name for `XCWorkspaceDataFileRef.init`
* add new product type to docs
* update changelog
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Speed up SettingsBuilder
It's unnecessary to build up a whole grouped dictionary only to check
if all platforms are identical and then immediately discard the
dictionary.
Instead we can check if all targets match the first platform, which
avoids creating a new dictionary but also allows bailing early as soon
as a non-matching platform is found.
Generating a large project (36MB json spec) on an M1 Max machine leads
to a ~6% total speedup: 28.48s vs 30.07s.
* Add changelog entry
* 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>
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.
* support local Swift Package test case into test scheme
* update test
* add test
* update CHABGELOG.md
* Update CHANGELOG.md
* revert resolved package test
* Update Sources/XcodeGenKit/SchemeGenerator.swift
Co-authored-by: Kohki Miki <giginet.net@gmail.com>
* make TargetReference convert from new JSON format
* add .package for location of target reference
* receive target reference format at target of scheme
* update test
* update XcodeProj
* add test and fix small bugs
* update docs
* support multiple style of coverageTargets
* add edge case of parsing test targets
* fix docs
* Update Docs/ProjectSpec.md
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* create TestableTargetReference for not making API complex
* fix code format
* fix parameter name to Testable Target Reference
* support directly writing key of Testable Target Reference
* fix compile error in build
Co-authored-by: Kohki Miki <giginet.net@gmail.com>
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.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>
* Support for specifying UI testing snapshot behavior in scheme test action
* Add tests for new screenshot scheme options
* Update changelog
* Add new fields to Scheme.Test json encoding
* Only save values to JSON if they aren't the defaults
* Using new defaults constants
* Add initial support for conditional platform dependencies
* Add tests for conditional platforms
* Update docs and changelog
* Respond to PR feedback
* Change name of field from 'conditionalPlatforms' to 'platforms'
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
* Squashed commit of the following:
commit 0bcdce0d1f0f1d13fb5a284404e4eaea4e805a89
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date: Fri Jun 18 00:58:50 2021 +0200
[#1092] Dependency version update.
commit 0040c46fd4ce9f42102faeb744104027b6c2c757
Author: Bruce Evans <bruce.evans.dev@gmail.com>
Date: Wed Jun 16 09:12:01 2021 +0900
Add Support for DocC in Xcode 13 (#1091)
* Add support for DocC
DocC "files" are actually folders `.docc` appended to the name, but Xcode 13 treats them differently. Therefore, we need to exclude them from the normal BuildPhase.
Resolves#1089
* Add tests for DocC
Expanded an existing test to include .docc support.
Also added a .docc catalog to the Test Project.
* Update changelog.md
* Update changelog.md to get the correct PR Link
commit 5bb7ef4e1c632f80f63c49ee280d64b8dab1603f
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date: Wed Jun 16 01:03:42 2021 +0200
Added support for missed product types.
commit 3f8bfdf749d0d15da8490550b95a31cf961d8649
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date: Wed Jun 16 00:01:47 2021 +0200
Added support for missed product types.
commit 235ebe4fe906716a6a37421346318fc6515836ce
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date: Tue Jun 15 23:53:52 2021 +0200
Added support for missed product types.
* [#1094] Fixes failing tests.
* [#1094] Added test project targets.
* [#1094] Making iig-file type of source code.
* [#1094] Attempt to fix CI failure.
* Revert "Change FRAMEWORK_SEARCH_PATH for xcframeworks (#1015)"
This reverts commit 7b8f5a117f.
* Don't actually revert the changelog entry
* ProjectSpec.md: document how to link an xcframework
* Update CHANGELOG.md
* 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>