Handle the case where users have deleted a binary from
an xcframework to save binary size (e.g maccatalyst) but
left the reference in the Info.plist. Provide a warning
to let users know their xcframework is missing an
architecture.
This is typically a recoverable error as long as there is 1
valid architecture tuist can use.
* Omit `runPostActionsOnFailure` scheme attribute when not enabled
Resolves: https://github.com/tuist/tuist/issues/2991
- Xcode automatically removes the `runPostActionsOnFailure` when not enabled
- This causes projects to get modified by Xcode after generation even though semantically they are equivalent (causes issues for workflows where generated issues are checked in)
- To mitigate this, the `runPostActionsOnFailure` is omitted incase it's not enabled and only set when enabled
Test Plan:
- Generate a fixture that does't have the `runPostActionsOnFailure` option enabled
e.g.
```sh
swift build
swift run tuist generate --path projects/tuist/fixtures/ios_app_with_tests
```
- Verify the generated schemes do not contain the `runPostActionsOnFailure` attribute
- Generate a fixture that has the `runPostActionsOnFailure` option enabled
```sh
swift build
swift run tuist generate --path projects/tuist/fixtures/ios_app_with_custom_scheme
```
- Verify the App-debug scheme's build action has the `runPostActionsOnFailure` set
* update change log
* Update meta tuist manifest
Resolves https://github.com/tuist/tuist/issues/3081
- Wrap paths into quotation marks
Test Plan:
- Create a Project.swift file in a folder with spaces in the path
- `tuist local 1.44.0`
- `tuist bundle`
- `tuist edit`
- Attempt the build the Manifest project
- Verify it succeeds without errors
* Add --skip-ui-tests parameter to tuist test command
* Add changelog entry
* Fix formatting
* Add unit tests target in tests
* Rename PruneUITestsProjectMapperTests to SkipUITestsProjectMapperTests
* Rename skipUiTests to skipUITests
* Restore Package.resolved
* Update documentation
* Get rid of short for skip ui tests flag and update the docs
When localizing Interface Builder files (i.e. `.xib` and `.storyboard`) using Xcode, any localization files (`.strings`) or language specific versions of the IB file are nested into a _variant group_ , which also contains the main IB file itself. As a result only the IB file is included in the _copy resources_ build phase.
Prior to this PR, Tuist just grouped any localized files based on their file name (including extension) and the custom behavior for localized IB files was not applied.
Now _variant groups_ are formed based on the path and file name, without considering the extension. This allows IB files to share a group with respective `.strings` files. Furthermore such `.strings` files are no longer added to the _copy resources_ build phase.
* Support for tvOS app extensions
* Make tv extension being added to targets
* Update CHANGELOG
* Add tvOS Fixture
* Add `tvTopShelfExtension` and `tvIntentsExtension` according to https://github.com/tuist/XcodeProj/pull/609
* Only make `tvTopShelfExtension` available, for the moment
* Fix fixture
* Fix compiler errors
* Add (commented out) .tvIntentsExtension case
* Add suggestions from @kwridan
* Fix package type
* Run swiftformat
Co-authored-by: Roman Blum <roman.blum1@swisscom.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>
* [WIP] Adding option for scaffolding files
* Use of file manager for copying folder, removed recursive copy files
* adding documentation in `scaffold.md` and unit test modified for support `.directory` option
* Update CHANGELOG.md
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
* Adding acceptance testing
* changing `Template.File` for `Template.Item` and other comment in PR
* Fixing references for items/files in templates
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
- Added a `runForInstallBuildsOnly` property on `TargetAction` which enables the "For install builds only" check box on the generated script build phase
- `ios_app_with_actions` fixture has been updated to demo the new option
Resolves https://github.com/tuist/tuist/issues/2796
- Updated the logic for finding potential associated test targets for a given target when auto generating the default set of schemes such that it caters for more use cases
- The test targets are now included if they have they follow the pattern `<TargetName>*Tests` (i.e. prefixed with the target name and suffixed with `Tests`)
* Run all unit tests
* Fix unit tests
* Edit CHANGELOG
* corrected fourier lint failing
Co-authored-by: fortmarek <marekfort@me.com>
Co-authored-by: David Cortés <david.cortes@free-now.com>
* Fix false positive duplicate bundle id lint warning
- In the event a bundle ID is in the form of `prefix.${VARIABLE}` (e.g. `com.mydomain.${PRODUCT_NAME:rfc1034identifier}`) which can safely be shared between multiple target a lint warning is produced indicating there are duplicate bundle ids
- There was an existing check to exclude checking variables, however it only worked if the entire bundle ID was a variable (e.g. `${variable}`) and didn't take into account prefixes / suffixes
- To address this the variable check is being simplified to check for the existence of a `$` rather than use a regex
Test Plan:
- Verify unit tests pass
* Update changelog