Commit Graph

6261 Commits

Author SHA1 Message Date
danyf90 376648d826 [Release] Tuist 3.20.0 2023-05-31 16:48:46 +00:00
Marek Fořt 4352cd3da7
Added cloud clean command (#5211)
* Add cloud clean command

* Create Config.swift with cloud config if it doesn't exist

* Format code

* Add docs

* refactor: format

---------

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-05-31 09:24:21 +02:00
mustiikhalil 3f64027f14
Throws an error when a Dependencies.swift file exists but generate is called directly without fetch (#5193) 2023-05-30 23:30:44 +02:00
Mike Simons 8f45914756
Add support for `docc` documentation in ProjectDescriptionHelpers (#5198) 2023-05-30 21:20:38 +02:00
Petrukha Ivan a78fa23a97
Add system extension product type support (#5203)
* Add system extension product type support

* Fix static products linter

---------

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-05-30 17:11:24 +02:00
depfu[bot] 089eac1f90
Update all npm dependencies (2023-05-30) (#5209)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-05-30 17:10:51 +02:00
depfu[bot] b263897202
Update all npm dependencies (2023-05-15) (#5188)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-05-30 14:21:28 +02:00
depfu[bot] 7323ae7d30
Update all npm dependencies (2023-05-15) (#5187)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-05-30 14:21:12 +02:00
Junho Lee a2c306f4c9
Update FontTemplate.swift (#5169) 2023-05-30 14:20:33 +02:00
David Harris d4bf011339
Bump minimum required Xcode version to 14.1 for client use and 14.3 for development (#5201)
* chore: update to build with Xcode 14.3

* Update Carthage dependencies for fixture

* add mustiikhalil as a contributor for code (#5200)

* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* add serejahh as a contributor for code (#5202)

* add petrukha-ivan as a contributor for code (#5204)

* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* Update all npm dependencies (2023-05-29) (#5206)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Re-build fixture on intel

* chore: keep 14.1 in '.xcode-version-libraries'

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Kassem Wridan <kas@mxpr.net>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-05-30 13:35:41 +02:00
depfu[bot] c6e9f722de
Update all npm dependencies (2023-05-29) (#5206)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-05-29 11:49:23 +02:00
allcontributors[bot] 2031342013
add petrukha-ivan as a contributor for code (#5204)
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-05-26 14:46:49 +02:00
allcontributors[bot] 35506dcbb9
add serejahh as a contributor for code (#5202) 2023-05-26 14:29:20 +02:00
allcontributors[bot] cca76bcd69
add mustiikhalil as a contributor for code (#5200)
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-05-24 10:53:02 +02:00
Gary Riches ee0fe50717
Removed `BundleExecutableKey` from Info.plist for watchOS bundles. (#5194)
Based off of PR: #1361

Currently generating the plist file for a watchOS resource bundle target includes the key CFBundleExecutable, having it included causes a validation error when uploading application to the App Store 

```
Error 1: ITMS-90535 - Unexpected CFBundleExecutable Key
```

Solution:

Omit that key incase the target is a watchOS bundle.
2023-05-23 16:42:23 +01:00
Kas f0943224e1
Fix flaky xcframeworks acceptance tests (#5183) 2023-05-14 16:41:41 +01:00
Serhii Butenko 58413d07e3
Allow using a period in a CLI product name (#5178)
* Allow using a period in cli product name

* PR fixes

---------

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-05-08 13:56:18 +02:00
depfu[bot] 3769449844
Update all npm dependencies (2023-05-08) (#5179)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-05-08 11:28:42 +02:00
depfu[bot] 904d96c040
Update all npm dependencies (2023-05-08) (#5180)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-05-08 11:28:33 +02:00
allcontributors[bot] 0e8b50190f
add griches as a contributor for code (#5175)
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-05-02 19:10:03 +02:00
depfu[bot] 36c014efef
Update all npm dependencies (2023-05-01) (#5172) 2023-05-01 11:21:07 +02:00
depfu[bot] 0aca4a049d
Update all npm dependencies (2023-05-01) (#5173) 2023-05-01 11:20:42 +02:00
danyf90 b86ef54b9a [Release] Tuist 3.19.0 2023-04-29 10:12:42 +00:00
SooHwanCho a80500c605
Support for custom shell path in `ExecuteAction` (#5154)
* bump up Xcodeproj to 8.9.0

* add shellPath property at ExecuteAction

* update changelog

* run lint

* update pull request link

* match changelog with PR title

* remove changes in changelog (it will be auto-generated)

* update shellPath comment

* update fixture to use shellPath in ExecutionAction

* bump up XcodeProj to 8.10.0
2023-04-28 23:32:06 +02:00
Junho Lee aa56341720
Update FontsTemplate.swift (#5168) 2023-04-27 20:38:51 +02:00
Kas 994cb0d2f1
Fix errors when archiving projects with static XCFrameworks (#5157)
Resolves: https://github.com/tuist/tuist/issues/5152

- Archiving projects with static XCFramework dependencies can yield the following error

```
Multiple commands products: ....
```

- This issue was accidentally introduced while attempting to add better static XCFramework support in https://github.com/tuist/tuist/pull/5107
- It is caused due to the technique employed to get Xcode to process the XCFramework (and thereby have its symbols visible to the target) without explicitly linking it to avoid duplicate symbol issues that can arise when having static targets depend on static products.
  - The XCFramework as added to a custom Copy Files build phase that would copy it to the products directory
  - The same technique is currently employed by regular static targets, where Xcode simply ignores the copy if the product already exists
  - This didn't seem to work with XCFrameworks
  - The custom copy phase is marked with "Copy only when installing" which is why the issue surfaced when archiving only
- There are a few options to resolve this (see https://github.com/tuist/tuist/issues/5152)
- A solution that is closer to the current implementation involves specifying unique destinations per target in the custom copy phase for XCFrameworks to avoid the conflict
  - This is somewhat redundant / wasteful as those copies won't be used and only serve as way for Xcode to process the XCFramework without explicitly linking it nor produce the build error due to multiple targets having the same build identical build action
- A new copy files build phase is added for this
- The fixture has now been extended to include more targets and the acceptance test to perform an archive to verify the new soltuon

Test Plan:

- Build this version of tuist

```
swift build
```

- Generate the fixture `ios_app_with_xcframeworks`

```
swift run tuist generate --path projects/tuist/fixtures/ios_app_with_xcframeworks
```

- Inspect the generated project
- Verify the new copy files build phases (named "Static XCFramework Dependencies") are added to `StaticFrameworkA` and `StaticFrameworkB`
- Veirfy the following targets build successfully in isolation (perform a clean + select the appropriate scheme)
  - `App
  - `StaticFrameworkA`
  - `StaticFrameworkB`
- Verify archivig `App` succeeds (note: may need to temporarily select a development team to get this working)
2023-04-25 16:01:19 +01:00
Austin Evans 64a533ac44
Exclude Swift Package build directory from manifest search (#5143)
* Exclude Swift Package build directory from manifest search

* Fix unit test
2023-04-25 09:14:06 +02:00
depfu[bot] 715443c880
Update all npm dependencies (2023-04-24) (#5165)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-24 12:08:33 +02:00
depfu[bot] 026d9a27ce
Update all npm dependencies (2023-04-24) (#5164)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-24 12:08:20 +02:00
Gary Riches 223d3ce925
Add support for watchOS extension to have WidgetKit extension dependencies (#5153)
Short description:

- WatchOS extension targets can now include WidgetKit extension targets (as of Xcode 14)
- WidgetKit extension targets are regular app extension targets
- Tuist already supports embedding app extensions, the only change needed to support it for watchOS extension was to update the linter logic to allow this dependency combination
- A new fixture was added to demo a watchOS WidgetKit extension

Notes:

- WidgetKit extension targets require the following info plist keys

```
<dict>
	<key>NSExtension</key>
	<dict>
		<key>NSExtensionPointIdentifier</key>
		<string>com.apple.widgetkit-extension</string>
	</dict>
</dict>
```

How to test the changes locally:

- Generate the watch application fixture

```
swift build
swift run tuist generate --path projects/tuist/fixtures/ios_app_with_watchapp2_xcode14
```

- Verify the project generates successfully without any lint errors
- Inspect the generated project and verify the WidgetKit extension for the watch extension is created correctly
2023-04-22 19:21:16 +01:00
danibachar 8b31c5e124
Update getting started guide (#5162) 2023-04-20 20:33:00 +02:00
allcontributors[bot] 099e3b7934
add JCSooHwanCho as a contributor for code (#5160)
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-04-18 12:19:40 +02:00
allcontributors[bot] 54128db863
add batuhansk as a contributor for code (#5159)
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-18 12:16:54 +02:00
Batuhan Saka cc0949eade
Add ability to pass specified environment keys when calling Tuist.graph(at:) (#5126)
* add ability to pass environment keys to copy when call Tuist.graph(at:)

* Fix ProjectAutomation lint issues
2023-04-18 11:39:50 +02:00
depfu[bot] fd74b16374
Update all npm dependencies (2023-04-17) (#5158)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-17 12:13:19 +02:00
danyf90 f3687a4a0f [Release] Tuist 3.18.0 2023-04-14 07:49:10 +00:00
depfu[bot] b6696d8820
Update all npm dependencies (2023-04-10) (#5142)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-12 09:14:50 +02:00
depfu[bot] dbe587e9ea
Update nokogiri to version 1.14.3 (#5146)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-12 09:13:59 +02:00
Kas 46d95745cb
Ensure static precompiled dependencies are only linked in targets that support linking (#5107)
- Static precompiled targets were currently being "linked" directly by the target that declared a dependency on them
  - note: linking only really took place if the target was one that supports linking (e.g. app, unit tests, etc..), for any static targets the symbols of the precomplied binary symbols would be included
- This worked in simple cases where only one target would depend on the precompiled static target
- In scenarios where multiple static targets needed to depend on the same precompiled static target, build failures would occur due to duplicate symbols
- To solve this, the precompiled static product is now only linked in targets that support linking and instead they are marked as dependencies of the static targets to ensure they can compile
  - For `XCFramework`s those are added to the "Dependencies" copy products build phase
  - For precompiled `Framework`s they are added to the framework search paths _(no change from before the changes)_
  - For precompiled libraries (`.a`) 
     - They are added to the library and swift include search paths of the static targets that depend on them _(no change from before the changes)_
     - Additionally, they are also added to the library search paths of the final linking target

Fixture Update:

- Moved frameworks to "xcframeworks" directory to avoid confusion with any native targets
- Added a modules directory to host native target projects to help replicate additional xcframework integration examples
- Updated code samples of precompiled xcframeworks to ensure they are imported and their code is exercised to validate the integration works

XCFramework Test Plan:

- Build this version of tuist

```sh
swift build
```

- Generate the fixture `ios_app_with_xcframeworks`

```sh
swift run tuist generate --path projects/tuist/fixtures/ios_app_with_xcframeworks
```

- Build the project and verify it succeeds
- Verify the precompiled `MyStaticLibrary.xcframework` is only linked in the `App` target
- Verify the precompiled `MyStaticLibrary.xcframework` is declared a dependency (but not in the link phase) of target `StaticFrameworkA`
- Verify `StaticFrameworkA` build successfully in isolation 
- Verify `App` builds and runs successfully without any duplicate symbol errors 

Framework Test Plan:

- Generate the fixture `ios_app_with_static_frameworks`

```sh
swift run tuist generate --path projects/tuist/fixtures/ios_app_with_static_frameworks
```

- Build the project and verify it succeeds
- Verify the precompiled static framework is only linked in the `App` target
- Verify the precompiled static framework is not in the link phase of target `A`
- Verify building the target `A` in isolation still works

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-04-05 08:23:31 +04:00
depfu[bot] 6a5c00c981
Update all Bundler dependencies (2023-04-03) (#5128)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-03 13:42:23 +02:00
Anastasia Kazantseva 7ae3d9555b
Fix work with resource bundles in tvOS targets (#5127)
* Fix work with resource bundles in tvos project

* Run ./fourier lint tuist --fix
2023-04-03 11:42:46 +02:00
depfu[bot] c625424ac4
Update all npm dependencies (2023-04-03) (#5131)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-03 11:41:51 +02:00
depfu[bot] d510b24f46
Update all npm dependencies (2023-04-03) (#5130)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-03 11:41:34 +02:00
depfu[bot] d296971e6e
Update all npm dependencies (2023-04-03) (#5129)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-04-03 11:41:24 +02:00
YoHan Cho 4fdcf9d2b7
Fix issue with MacCatalyst archiving not being included in build cache when caching `XCFramework` (#5108)
* Wip

* Applied code review feedback

* Linted the code

* Refactor using Graph instances in CacheController

* Refactor MacCatalyst branch through bundleArtifactBuilder's build function

* Fixed deploymentTarget branch

---------

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-03-27 22:55:13 +02:00
depfu[bot] 1be1aba5d3
Update all Bundler dependencies (2023-03-27) (#5122) 2023-03-27 13:40:37 +02:00
depfu[bot] 2bc58c23fa
Update all npm dependencies (2023-03-27) (#5123)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-03-27 11:59:12 +02:00
sh-a-n acba5a0f2a
Fix Link Binary With Libraries phase for tvOS TopSelf extension with static frameworks dependecies (#5119)
Co-authored-by: Aleksey Shabrov <shabrov-a@yandex-team.ru>
2023-03-23 22:13:11 +01:00
allcontributors[bot] 674e890450
add sh-a-n as a contributor for code (#5120)
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-03-23 22:11:17 +01:00
depfu[bot] 2a8659fb01
Update rack to version 2.2.6.4 (#5101)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-03-21 08:09:09 +01:00