1108 Commits
Author SHA1 Message Date
Yonas Kolb 82c6ab9bbd Update to 2.42.0 2024-07-11 21:20:06 +10:00
Franz HöpfnerandYonas Kolb 5af3bf3797 Add support for local Swift packages in Xcode 15 (#1465)
* Add support for local Swift packages in Xcode 15

Solves yonaskolb/XcodeGen#1396

* Updated CHANGELOG.md

* add test for local package creation

---------

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2024-07-11 21:19:37 +10:00
Ernesto Cambuston 45151c2882 Allow changing macro expansions on test actions. (#1468)
* Allow to override test macroExpansions

* update doc

* style

* Address feedback from PR

* fix build

* add toJSONValue encoding
2024-07-10 12:19:30 +10:00
Ernesto Cambuston f8842228c5 Test action macroExpansion allows unavailable buildable reference. (#1471)
* fix buildable ref

* fix test

* add test
2024-07-03 21:41:03 +10:00
Kohki Miki 7eb5e9bd06 Remove GraphViz feature (#1485)
* Remove GraphViz to pass build on Xcode 16

* Update documentations
2024-07-02 17:06:02 +10:00
Yonas Kolb 1b0720d139 Update to 2.41.0 2024-05-20 21:37:00 +10:00
Yonas Kolb 576739bcb5 Add cache command (#1476)
* add cache command

* docs: update git hook info
2024-05-20 21:32:24 +10:00
John Flanagan d99e448647 Include folder (SPM packages) in group sorting logic (#1466) 2024-05-17 23:14:20 +10:00
Tatsuki Otsuka 274ce7342c Disallow the "watchOS" supported destination for multiplatform apps (#1470)
* Reject multiplatform apps that support the watchOS destination

This commit also fixes existing test cases.

* Add test cases

* Update docs

* Update changelog
2024-05-17 23:00:09 +10:00
Yonas Kolb 9816466703 Update to 2.40.1 2024-04-10 20:49:49 +10:00
Yonas Kolb bc08f53505 Revert "add xcprivacy to no build phase default (#1464)"
This reverts commit ecb9b560ae.
2024-04-10 20:46:22 +10:00
Yonas Kolb 0301741002 Update to 2.40.0 2024-04-08 11:27:53 +10:00
Yonas Kolb ecb9b560ae add xcprivacy to no build phase default (#1464) 2024-04-08 11:14:32 +10:00
Hilton Campbell 632ca2d419 Enable adding local Swift packages to the project root (#1413)
* Enable adding local Swift packages to the project root

* Update CHANGELOG.md
2024-04-07 23:18:24 +10:00
Balazs Perlaki-Horvath 1645d419ce Add shell to ExecuteAction (#1430)
* Add shell to ExecuteAction

* Update to 2.38.1

* Add shell argument to jsons
2024-04-07 22:38:04 +10:00
Yonas Kolb 54fa9b2bfa Update to 2.39.1 2024-02-15 21:38:00 +11:00
freddi(Yuki Aki) 5bcbf3959d Fix crash bundle (#1448)
* create availableModule to avoid crash on Bundle loading

* remove unnecessary line
2024-02-15 21:31:42 +11:00
Erik Schwiebert fd48b7eb07 Add more C++ extensions to FileType.swift (#1446) 2024-02-15 10:27:48 +11:00
Yonas Kolb d1110b1a72 Update to 2.39.0 2024-02-14 21:48:13 +11:00
Jaap ManenschijnandJaap Manenschijn 54139090a3 Make sure to create parent group structure for local packages (#1417)
* Make sure to create parent group structure for local packages

* Remove redundant localPackageGroup variable

---------

Co-authored-by: Jaap Manenschijn <jaap.maneschijn@rabobank.nl>
2024-02-14 20:18:16 +11:00
nicolasbosi95 2881fcc8fb Support for Strings Catalogs (Xcode 15) (#1421)
* 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
2024-02-14 20:07:04 +11:00
freddi(Yuki Aki) 2c1500761d Support Artifact Bundle (#1388)
* support artifact bundle

* update CHANGELOG to exact PR

* build ArtifactBundle only on macOS

* update to copy SettingPresets into bundle

* fix CHANGELOG.md

* load Bundle.module

* update ArtifactBundleGen

* update ArtifactBundleGen to linux issue

* fix unnecessary code

* add lisence to bundle
2024-02-13 20:48:23 +11:00
Tatsuki Otsuka 6bbf2c6543 Add watchOS as a supported destination (#1438)
* Add a supported destination: watchOS

* Change priority

* Add test cases

* Refactor: reword test case descriptions
2024-02-13 19:12:50 +11:00
Wolfgang Lutz d935e41846 Update SpecValidationError.swift (#1439)
fix a typo
2024-02-13 19:08:01 +11:00
Yonas Kolb cf8ac6b61c Update to 2.38.0 2023-10-31 22:01:04 +11:00
Giovanni AmatiandGiovanni Amati 97d36fd1d2 Support for multiple deployment targets with xcode 14 (#1336)
* 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>
2023-10-31 20:55:38 +11:00
Simon Støvring 486df5da4d Supports specifying multiple package products (#1395)
* Supports specifying multiple package products

* Adds #1395 to CHANGELOG.md

* Updates documentation

* Adds fixture

* Adds changes to pbxproj after changing fixture

* Elaborates on linking options in "Package dependency" section
2023-09-11 11:49:38 +10:00
BarredEwe 73e25e4943 Added support for Build Tool Plug-ins in AggregateTarget (#1390)
* Added support for `BuildTool Plug-ins` in AggregateTarget

* Update CHANGELOG.md
2023-09-10 21:42:47 +10:00
Aaron Farnham 808aa25f51 Add support for .mlpackage bundles (#1398) 2023-09-03 00:00:56 +10:00
Shaun Harrison 3a7e75f1fb Fix issue with includes not working when no matches are found (#1337)
* Fix issue where an includes pattern without matches prevented includes from working

* Add new test to handle includes with no matches
2023-08-17 13:58:50 +10:00
Yonas Kolb b448a6718f Update to 2.37.0 2023-08-16 23:48:44 +10:00
BarredEweandfreddi d8d5457f48 Add support for adding build tool plugins to targets (#1374)
* Add support for adding build tool plugins to targets

* Added Plugin validation

* Added some tests

* Limited the minimum version to 5.7 Swift

* Update .gitignore

Co-authored-by: freddi(Yuki Aki) <freddi-kit@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: freddi(Yuki Aki) <freddi-kit@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: freddi(Yuki Aki) <freddi-kit@users.noreply.github.com>

* Update Docs/ProjectSpec.md

Co-authored-by: freddi(Yuki Aki) <freddi-kit@users.noreply.github.com>

* Added a fixture for testing plugins

* Update CHANGELOG.md

* Installed the release version of XcodeProj

---------

Co-authored-by: freddi(Yuki Aki) <freddi-kit@users.noreply.github.com>
2023-08-16 22:22:16 +10:00
Yonas Kolb 26e817b2de Update to 2.36.1 2023-08-14 10:56:24 +10:00
Yonas Kolb 145be30909 Update to 2.36.0 2023-08-13 00:23:48 +10:00
Yonas Kolb 7ea32005e2 add recommended settings for xcode 14 (#1385)
* add recommended settings for xcode 14

* changelog
2023-08-13 00:15:50 +10:00
Yonas Kolb 5f1efd90ef Update XcodeProj and add RuntimeIssue breakpoint (#1384)
* support RuntimeIssue breakpoint

* drop xcode 12 and 13 support

* changelog
2023-08-12 23:23:12 +10:00
Antoine Piellard a10bd4baa0 Add support to disable "Thread Performance Checker" (#1380)
* Add disableThreadPerformanceChecker scheme option

* Update changelog
2023-08-08 08:50:13 +10:00
Leonardo Oliveira c7ae369c14 Updates project object version to support BuildIndependentTargetsInParallel setting (#1368)
* feat: updates project object version

* updates CHANGELOG.md with PR changes
2023-08-08 08:49:33 +10:00
Satsuki HashibaandSatsuki Hashiba 3a215ce999 Add support for visionOS (#1379)
* Add support for visionOS

* Update ProjectSpec

* Add carthageName property for .visionOS

* Update CHANGELOG.md and ProjectSpec.md

* Add visionOS yml to SettingPresets/Platforms and SettingPresets/Product_Platform

---------

Co-authored-by: Satsuki Hashiba <hashiba.satsuki@linecorp.com>
2023-08-07 22:12:34 +10:00
Liam Nichols 98ce05105b Don't add PBXContainerItemProxy when reusing PBXReferenceProxy (#1377)
* 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
2023-07-26 22:52:43 +10:00
LouisLWangandwanglulu f33d600d50 adding support for enableGPUValidationMode (#1294)
* adding support for enableGPUValidationMode

* encode enableGPUValidationMode in Scheme.Run.toJSONValue()

* ci: commit fixtures changes

* docs: Add changelog for enableGPUValidationMode

update Doc ProjectSpec.md

* docs: update ProjectSpec.md for enableGPUValidationMode default value

---------

Co-authored-by: wanglulu <louiswang@lilith.com>
2023-07-13 20:58:32 +10:00
Roman GardukevichandYonas Kolb 372f20fe5a Reuse ReferenceProxy references when possible (#1354)
* Reuse ReferenceProxy references when possible

* Add changelog

* Update CHANGELOG.md

---------

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2023-05-17 11:58:32 +10:00
Bartosz Kosiorek 9766326dcd Display absolute path for invalidBuildScriptPath and invalidTargetConfigFile error print. (#1353)
* Display absolute path in invalidBuildScriptPath error print.

With previous implementation, the error message was not clear for end user:
  Spec validation error: Target "Project" has a script "SwiftLint" which has a path that doesn't exist "../../wrong-dir/scripts/run_swiftlint_in_xcode_wrapper.sh"

With new implementation with absolute path, it is easier to validate what is wrong with path:
  Spec validation error: Target "Project" has a script "SwiftLint" which has a path that doesn't exist "/Users/SomeUser/dev/fancy-project/wrong-dir/scripts/run_swiftlint_in_xcode_wrapper.sh"

* Display absolute path for invalidTargetConfigFile error print.

Without patch:
  2 Spec validations errors:
	- Target "MM" has invalid config file "../../xcodegen/MM/Build/xcconfig/conan_config.xcconfig" for config "Debug"
	- Target "MM" has invalid config file "../../xcodegen/MM/Build/xcconfig/conan_config.xcconfig" for config "Release"

After fix:
  2 Spec validations errors:
	- Target "MM" has invalid config file path "/Users/MyUser/dev/myproject/xcodegen/MM/Build/xcconfig/conan_config.xcconfig" for config "Release"
	- Target "MM" has invalid config file path "/Users/MyUser/dev/myproject/xcodegen/MM/Build/xcconfig/conan_config.xcconfig" for config "Debug"
2023-04-28 07:52:06 +10:00
Yonas Kolb ee60884b13 Update to 2.35.0 2023-04-27 17:04:40 +10:00
mat1thandYonas Kolb 8256008778 Add possiblity to add resources before the sources build phase (#1351)
* 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>
2023-04-25 11:57:44 +10:00
Dale Myers 988afa0f5b Sanitize the ends of folder source paths (#1341)
* Sanitize the ends of folder source paths

Setting the source: `/foo/bar` is _sometimes_ different from `/foo/bar/` even if `bar` is a folder in both cases. The result of this is that we often run into a race condition where we have two objects with the same hash but different properties. This fixes #1339 and #1131.

* Update CHANGELOG.md

* Update TargetSource.swift

* Update TargetSource.swift

* Update TargetSource.swift
2023-04-06 09:17:31 +10:00
d1dd93aac4 Rebase #177 - Shared breakpoints support (#693)
* 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>
2023-02-28 22:00:39 +11:00
Yonas Kolb 271ad593b8 Update to 2.34.0 2023-02-24 09:52:16 +11:00
Wendy LigaandTieme van Veen 43e40a9efc Added support for scheme management (#1142)
* wip

* Added scheme management metadata properties to TargetScheme

* wip

* Added Scheme.Management for metadata

* use sharedDefault

* move generateSchemeManagement to SchemeGenerator

* revert

* update changelog

* update docs

* update test case

* remove

* remove unused file

* revert

* changed on fixtures project

* Updated ProjectSpec docs index

* User Scheme.Management also for TargetSchemes, use XCUserData

* Changelog

* Switch XcodeProj back tuist/XcodeProj - 8.9.0

* Reindent TOC Docs/ProjectSpec.md

* Revert swift tools version

---------

Co-authored-by: Tieme van Veen <tiemevanveen@hotmail.com>
2023-02-24 09:49:57 +11:00
Hesham Salman 366981ba2e Support for swiftcrossimport folders (#1317)
* Naive support for swiftcrossimport

* Update SourceGenerator.swift

* Add changelog entry

* Update CHANGELOG.md

* Add test fixture

* Check-in generated diffs
2023-01-25 11:36:25 +11:00