Commit Graph

57 Commits

Author SHA1 Message Date
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
TheInkedEngineer c0d1a5be83
Add support for disabling `Mac (designed for iOS)` destination for iOS deployment target (#5095)
* Add logic to remove iPad plist information when not needed

* Update tests

* Apply suggestions from code review

* Fix parameter name

* Update hash values in tests

* Add documentation
2023-03-14 08:39:56 +01:00
Daniele Formichelli 93b2838373
Bump Tuist dependencies and macOS version (#5094)
* copy of dh/update-xcode-14, but without Xcode bump

* restore stencil version

* fix Dependencies.swift
2023-03-13 11:28:14 +01:00
oozoofrog 09f486c367
Replace `customLLDBInitFile` from `String` to tuist types for file path. (#5071)
* improving type of customLLDBInitFile

improving the types of the customLLDBInitFile property in two ways. first, changing the type from 'String' to 'Path' for the customLLDBInitFile property in ProjectDescription.RunAction. second, we're changing the type from 'String' to 'AbsolutePath' for the customLLDBInitFile property in TuistGraph.RunAction

* using resolve function for mapping customLLDBInitFile path

customLLDBInitFile can using both relative paths such as "$(SRCROOT)/path/to/lldbinit" and absolute paths such as "/path/to/lldbinit".
makes sense to use the resolve function for different path options.

* apply relative path for customLLDBInitFile

* apply relative path to customLLDBInitFile using target path

* fix for some lint violation

* Update Sources/TuistGenerator/Generator/SchemeDescriptorsGenerator.swift

Co-authored-by: Kas <kwridan@users.noreply.github.com>

* add customLLDBInitFile contents to fixtures/ios_app_with_custom_scheme

* fix test case for SchemeDescriptorsGeneratorTests.test_schemeLaunchAction()

---------

Co-authored-by: jay.choi <jay.choi@kakaocorp.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>
2023-03-01 11:37:38 +01:00
oozoofrog ec0abb6dfd
Add support for `customLLDBInitFile` settings in `Scheme.RunAction` (#5060)
* add customLLDBInitFile settings for Scheme.RunAction

* fix test data and case for customLLDBInitFile

* update test some cases for customLLDBInitFile

---------

Co-authored-by: jay.choi <jay.choi@kakaocorp.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2023-02-27 07:54:08 +01:00
Jakub Olejník ae4be7be2e
Add support for language and region to autogenerated schemes (#4983)
* Add language and region to ProjectDescription.WorkspaceGenerationOptions

* Add testLanguage and testRegion to ProjectOptions

* Rename new workspace options properties

* Add runLanguage and runRegion to RunActionOptions

* Add fixtures for test and run locales

* Remove unnecessary WorkspaceGenerationOptions parameters

* Update projects/tuist/fixtures/project_with_test_and_run_locales/Project.swift

Co-authored-by: Kas <kwridan@users.noreply.github.com>

* Add region parameter to RunActionOptions manifest

Co-authored-by: Kas <kwridan@users.noreply.github.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
Co-authored-by: Marek Fořt <marekfort@me.com>
2023-01-27 13:50:14 +01:00
Stéphane G d2ec4efebe
Add custom default known regions in project options (#4867) 2022-11-17 10:12:16 +01:00
Daniele Formichelli 446df225b1
Add support for performanceAntipatternChecker SchemeDiagnosticsOptions (#4740) 2022-09-15 07:14:19 +02:00
Alexander Weiß 238083485f
Add multiplatform support for external SPM dependencies (#4570)
* chore: Add todos for future work

* feat: Change pre-process info to return multiple platforms per target

* feat: Add multi platform support to external dependencies on generation

* chore: PR suggestion: Use flatmap

* feat: Introduce platform dictionary to TuistCore.DependenciesGraph

Fix suffix resolution when no platform is used

* feat: Introduce platform dictionary to TuistGraph.DependenciesGraph

* chore: PR suggestion: Remove dictionary from target to platform

We need to generate each target for each platform anyway. So no need to have a target to platform mapping

* fix: When resolving dependencies, only check .project dependencies

All other dependencies should remain like in the old code

* fix: Remove unnecessary suffix check

Remove unnecessary type aliases

* chore: Fix lint warnings

* chore: Change naming

* feat(tests): Start to update tests

* fix(tests): Fix unit tests

* feat(tests): Update fixture project

* fix: Project generation platform handling for dependencies of dependencies

* chore: Update naming, remove unnecessary code

* fix: Fix sanitization of product name

* chore: Simplify merge of TuistCore.DependenciesGraph

* fix: Simplify the ProjectDescription.Targe.from method

* fix: Directly return when mapping targets

* chore: Remove comments

* fix: Remove accidental import of another library

* fix: Fix dependencies feature_one framework acceptance test

* fix: Fix resource synthesizers

* fix: Fix PR suggestions

* fix: Fix unit tests for resources project mapper

* fix: Fix linting

* fix: fix missing directory in acceptance tests

* fix: Lint complaint

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2022-07-14 09:06:02 +02:00
Shahzad Majeed 37af41b69a
Support for custom Project.Options for swift packages in Dependencies.swift (#4487)
* Allow users to configure automatic resource accessors for swift packages

* Address feedback and fix tests

* Revert unnecessary fields from TuistGraph.Project.ProjectOptions

* Simplify pull request and remove resourceSynthesizers

* Apply suggestions from code review

method comments, direct code changes

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Address code review feedback

* Remove unnecessary import

* Update fixture with spm dependencies to generate resource accessors, consistency with existing logic

* Fix PackageInforMapperTests

* Fixing failing tests in SwiftPackageManagerGraphGeneratorTests

* Remove additional layer from Project.Options for swift package dependencies, add code example in comments

* Rename generationOptions to projectOptions

* Apply suggestions from code review

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* docs: fix typo

Co-authored-by: Kas <kwridan@users.noreply.github.com>

Co-authored-by: Shahzad Majeed <smajeed@draftkings.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>
2022-05-29 12:40:28 +02:00
Jesus (iOS) b17f705648
feature/add_xcodesample_plist (#4373)
* Added the option to include xcodesample.plist in workspace to render markdown readmes
2022-04-19 11:28:10 +02:00
Kamil Harasimowicz 39395e9476
Add `isExternal` property to `ProjectAutomation.Project` and `TuistGraph.Project`. (#4155)
* [isExternal] Add `isExternal` property to `ProjectAutomation.Target` and `TuistGraph.Target`.

* [isExternal] Run `./fourier lint tuist --fix`.

* [isExternal] Update changelog.

* [isExternal] Add `isExternal` property to `ProjectAutomation.Project` and `TuistGraph.Project`.

* [isExternal] Fix changelog.

* [isExternal] Improve finding internal targets.

* [isExternal] Clean up.

* [isExternal] Improve finding internal targets.

* [isExternal] Fix unit tests.

* [isExternal] Update docs.

* [isExternal] Restore sidebar.

* [isExternal] Fix typo.

* [isExternal] Fix docs.
2022-02-17 15:42:25 +01:00
Daniele Formichelli ef07576961
chore: uniform wrap formatting (#4147) 2022-02-12 23:38:27 +01:00
Daniele Formichelli 3959b6cd39
Refactor/move options (#4131)
* feat: rename `-Project` scheme to `-Workspace`

* docs: update changelog

* feat: rename BuildGraphInspecting.projectSchemes

* feat: add support for configuring code coverage and testing options at the project level

* refactor: move workspace scheme generation options to workspace manifest

* fix: fix fixture

* chore: formatting

* chore: formatting

* docs: documentation

* chore: remove empty Config

* feat: change automatic schemes generation to byName

* fix: remove schemes from Tuist project description helpers

* fix: fix test

* fix: fix test

* fix: test

* fix: fix cache-frameworks acceptance test

* fix: acceptance

* fix: fix acceptance test

* refactor: use struct for Project.Options

* docs: add changelog entry

* refactor: use static func instead of init for Project.Options

* fix: disable automatic Xcode schemes for project editor

* refactor: move Workspace.GenerationOptions to separate file

* chore: formatting

* fix: fix meta tuist

* fix: fix tuist meta

* fix: fix project manifest dump test

* fix: fix project manifest dump test

* fix: generate missing workspace intermediate folder if needed

* fix: fix lockfiles

* fix: fix fixtures

* chore: format

* fix: fix test compilation error

* refactor: make enableXcodeSchemes a Bool?

* fix: fix ios_app_with_custom_workspace fixture

* docs: update docs

* refactor: more Workspace.GenerationOptions to separate file

* fix: fix tests

* chore: formattings

* refactor: change Config.generationOptions to be a struct

* fix: fix fixtures

* fix: fix compilation error

* fix: compilation error

* docs: changelog

* docs: fix docs

* fix: test compilation error

* fix: fix generate-3 fixture

* fix: fix test

* fix: fix tuist dump config test

* fix: fix test

* docs: fix doc

Co-authored-by: Marek Fořt <marekfort@me.com>

* chore: fix warnings

* refactor: move xcodeProjectName from Config.options to Project.options

* Revert "refactor: move xcodeProjectName from Config.options to Project.options"

This reverts commit 067bb7a48e.

* refactor: move disableShowEnvironmentVarsInScriptPhases from Config.options to Project.options

* feat: move lastXcodeUpgradeCheck to Workspace.options

* refactor: remove xcodeProjectName, organizationName, and developmentRegion from Config.generationOptions

* docs: changelog

* refactor: remove Config where not needed

* chore: invalidate GitHub action .build cache

* Revert "chore: invalidate GitHub action .build cache"

This reverts commit 91d3b78c2b.

* Revert "chore: fix warnings"

This reverts commit 3021a7ba2f.

* fix: compilation error

* fix: fix fixtures

* fix: fix broken tests

* chore: remove unused templateMacros

* feat: add back `developmentRegion` and `xcodeProjectName`

* chore: format

* chore: format

* Use forcedCacheDirectory even without Config.swift

* fix: fix tests

* fix: fix fixture

Co-authored-by: Marek Fořt <marekfort@me.com>
2022-02-12 19:09:57 +01:00
Daniele Formichelli 111d41ed52
refactor: use struct for Config.GenerationOptions (#4109)
* feat: rename `-Project` scheme to `-Workspace`

* docs: update changelog

* feat: rename BuildGraphInspecting.projectSchemes

* feat: add support for configuring code coverage and testing options at the project level

* refactor: move workspace scheme generation options to workspace manifest

* fix: fix fixture

* chore: formatting

* chore: formatting

* docs: documentation

* chore: remove empty Config

* feat: change automatic schemes generation to byName

* fix: remove schemes from Tuist project description helpers

* fix: fix test

* fix: fix test

* fix: test

* fix: fix cache-frameworks acceptance test

* fix: acceptance

* fix: fix acceptance test

* refactor: use struct for Project.Options

* docs: add changelog entry

* refactor: use static func instead of init for Project.Options

* fix: disable automatic Xcode schemes for project editor

* refactor: move Workspace.GenerationOptions to separate file

* chore: formatting

* fix: fix meta tuist

* fix: fix tuist meta

* fix: fix project manifest dump test

* fix: fix project manifest dump test

* fix: generate missing workspace intermediate folder if needed

* fix: fix lockfiles

* fix: fix fixtures

* chore: format

* fix: fix test compilation error

* refactor: make enableXcodeSchemes a Bool?

* fix: fix ios_app_with_custom_workspace fixture

* docs: update docs

* refactor: more Workspace.GenerationOptions to separate file

* fix: fix tests

* chore: formattings

* refactor: change Config.generationOptions to be a struct

* fix: fix fixtures

* fix: fix compilation error

* fix: compilation error

* docs: changelog

* docs: fix docs

* fix: test compilation error

* fix: fix generate-3 fixture

* fix: fix test

* fix: fix tuist dump config test

* fix: fix test

* docs: fix doc

Co-authored-by: Marek Fořt <marekfort@me.com>

* chore: remove unused templateMacros

* chore: format

* Use forcedCacheDirectory even without Config.swift

Co-authored-by: Marek Fořt <marekfort@me.com>
2022-02-12 14:40:38 +01:00
Daniele Formichelli fd9924dee3
refactor: use struct for Project.Options (#4104)
* feat: rename `-Project` scheme to `-Workspace`

* docs: update changelog

* feat: rename BuildGraphInspecting.projectSchemes

* feat: add support for configuring code coverage and testing options at the project level

* refactor: move workspace scheme generation options to workspace manifest

* fix: fix fixture

* chore: formatting

* chore: formatting

* docs: documentation

* chore: remove empty Config

* feat: change automatic schemes generation to byName

* fix: remove schemes from Tuist project description helpers

* fix: fix test

* fix: fix test

* fix: test

* fix: fix cache-frameworks acceptance test

* fix: acceptance

* fix: fix acceptance test

* refactor: use struct for Project.Options

* docs: add changelog entry

* refactor: use static func instead of init for Project.Options

* fix: disable automatic Xcode schemes for project editor

* refactor: move Workspace.GenerationOptions to separate file

* chore: formatting

* fix: fix meta tuist

* fix: fix tuist meta

* fix: fix project manifest dump test

* fix: fix project manifest dump test

* fix: generate missing workspace intermediate folder if needed

* fix: fix lockfiles

* fix: fix fixtures

* chore: format

* fix: fix test compilation error

* refactor: make enableXcodeSchemes a Bool?

* fix: fix ios_app_with_custom_workspace fixture

* docs: update docs

* refactor: more Workspace.GenerationOptions to separate file

* fix: fix tests

* chore: formattings

* fix: compilation error

* fix: test compilation error

* fix: fix generate-3 fixture

* fix: fix test
2022-02-04 12:02:31 +01:00
Daniele Formichelli 58341bd825
refactor: move workspace scheme generation options to workspace manifest (#4092) 2022-02-02 07:46:32 +01:00
Daniele Formichelli 3105d60dbb
[Release] 3.0 (#3983)
* 3️⃣ Remove deprecated deprecated initializers for `FileLists`, `Headers`, and `HTTPURLResponse` (#3936)

* chore: remove deprecated initializers for `FileLists`, `Headers`, and `HTTPURLResponse`

* fix: fix fixtures

* Plugins 2.0 (#3492)

* Edit CHANGELOG

* Tuist executable (#3494)

* Search for executable in path with tuist prefix if not tuist command

* Add acceptance test for new task

* Update documentation

* Check if executable exists

* Update projects/docs/docs/commands/task.md

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Update Sources/TuistKit/Commands/TuistCommand.swift

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Fix finding command

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Plugins archive (#3531)

Fix build issues

Build and zip executable products

Add tests for buildFatReleaseBinary

Write tests for PluginsArchiveService

Use plugin instead of plugins

Add success print

Format swift code

Update Sources/TuistKit/Services/PluginArchiveService.swift

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Tuist plugins 2.0 fetch (#3577)

* Tuist executable (#3494)

* Search for executable in path with tuist prefix if not tuist command

* Add acceptance test for new task

* Update documentation

* Check if executable exists

* Update projects/docs/docs/commands/task.md

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Update Sources/TuistKit/Commands/TuistCommand.swift

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Fix finding command

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* WIP: Fetch release

* Install tasks to release dir

* Execute plugin task

* Add TuistServiceTests

* Add FetchServiceTests

* Remove DependenciesFetchCommand

* Add fetch plugins test

* Fix PluginServiceTests

* Add test for new logic in PluginServiceTests

* Minor changes

* Revert changes to Package.resolved

* Add missing throws

* Rename gitID to gitReference

* Move to Swift-based APIs

* Fix fetch command

* Uncomment analytics code

* Fix acceptance tests for tuist edit

* Restore Package.resolved

* Fix plugins.feature acceptance test

* Add fetch to tasks.feature

* Add fetch to tasks.feature

* Add fetch to scaffold.feature

* Fix scaffold.feature

* Fix tasks.feature

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Plugin commands (#3663)

* Add plugin build command

* Add unit tests

* Add plugin acceptance tests

* Update tuist_plugin submodule

* Plugins 2.0: dependencies commands (#3656)

* Fix fetch call when generating via fourier

* Remove clean command exclusive to dependencies

* WIP: tuist update

* Add update flag to tuist fetch

* Reuse code for fetch and update of dependencies

* Fix dependencies update call in acceptance tests

* Format swift code

* Add fetch to tuist focus in fourier

* Add TuistGraph as a dependency of TuistSupportTesting

* Fix fourier tests

* Restructure CleanCategory to mitigate code duplication

* Format swift code

* Lint code

* Update fourier commands

* Add missing ProjectDescription dependency

* Fix CleanServiceTests

* Fix PluginArchiveServiceTests

* Tuist plugins 2.0 ProjectAutomation (#3816)

* WIP: ProjectAutomation for new tasks

* Add swiftToolsSupportDependency to ProjectAutomation

* Make graph method public

* Update tuist_plugin submodule

* Use ENV variable instead of commandline argument for passing tusit binary path

* Read file instead of stdout

* Fix tests

* Remove old tasks and ProjectAutomation

* Fix acceptance tests

* Update error documentation

* Check path in TuistServiceTests

* Format swift code

* Tuist plugin

* Fix ManifestTests

* Fix test_edit_when_there_are_helpers_and_setup_and_config_and_dependencies test

* Add path argument to graph

* Remove plugin zip path if it exists

* Format swift code

* Fix tasks.feature

* Remove log

* Format swift code

* Fix lint issues

* Add docs for tuist task plugins (#3898)

* Add docs for tuist task plugins

* Update docs for fetching dependencies

* Address code review comments

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* [3.0] Merge pull request #3949 from tuist/laxmorek/bump-swift-argument-parser

Update `swift-argument-parser`: `.upToNextMajor(from: "0.4.3")` -> `.upToNextMajor(from: "1.0.0")`.

* [3.0] Fixed changelog.

* feat: add `type` parameter to `TargetDependency.sdk` (#3961)

* feat: replace SourceFileGlob init with static method (#3960)

* feat: replace SourceFileGlob init with static method

https://github.com/tuist/tuist/issues/393

* fix: glob static method should be added to ProjectDescription

* chore: lint

* fix: compilation error

* fix: fixtures

* fix: fix test compilation error

* fix: test compilation error

* chore: try to fix .build folder caching

* feat: move `disableSynthesizedResourceAccessors` from `Config.swift` to `Project.ProjectOption` (#3963)

* feat: move `disableSynthesizedResourceAccessors` from `Config.swift` to `Project.ProjectOption`

* chore: linting

* fix: fix fixture

* feat: move disableBundleAccessors to ProjectOption

* fix: compilation errors

* chore: fix Project.swift

* chore: formatting

* 3️⃣ Added `sources` property to `ProjectAutomation.Target` model. (#3988)

* [extend-graph-with-sources] Added `sources` property to `ProjectAutomation.Target` model.

* [extend-graph-with-sources] `./fourier lint tuist --fix`

* [extend-graph-with-sources] Updated docs.

* 3️⃣ Drop `tuist lint` command (#4001)

* 3️⃣  Merge `tuist focus` and `tuist generate` command (#3912)

* Remove unused import

* Fix plugins loading for Dependencies.swift

* Fix lint

* Fix unit test

* Update step definition for `tuist fetch`

* fix: fix app_with_spm_dependencies fixturre

Co-authored-by: Marek Fořt <marekfort@me.com>
Co-authored-by: Luis Padron <luis.padron@compass.com>
Co-authored-by: Kamil Harasimowicz <kamil.harasimowicz@gmail.com>
Co-authored-by: Alfredo Delli Bovi <alfredo.dellibovi@gmail.com>
2022-01-28 07:34:23 +01:00
Alfredo Delli Bovi 13cb81bfb0
Drop support for Xcode 12.5 and macOS 10.15 (#4030) 2022-01-26 16:00:17 +01:00
Erk Ekin 38d544c386
.swiftversion is created (#3862)
* swift version file added to prevent some skipped rules

* swiftformat ran without --lint applied

* revert lint argument

* Xcode 13.0 -> 13.2

* revert version argument

* bump to 5.5.2

* swift version updated to 5.1.2

* some files formatted

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2021-12-24 08:42:39 +01:00
Jake Adams 7b098417bf
Add `Workspace.GenerationOptions` to support `WorkspaceSettings.xcsettings`. (#3832)
* Add `Workspace.GenerationOptions` to support `WorkspaceSettings.xcsettings`.

* Remove commented code.

* Update `Constants.cacheVersion`

* Update CHANGELOG

* Update docs.

* Update formatting.

* Rename `Schema` to `Scheme`

* Rename to `automaticXcodeSchemes` and `AutomaticSchemeMode`.

* Update spelling in docs.

* Move `WorkspaceSettings` into `WorkspaceSettingsDescriptor`

* Update type names in `ProjectDescription`

Also extend the ios app fixture to showcase new options.

* Update XcodeProj to solve the issue of `xcsettings` getting saved as a binary.

* Convert `Workspace.GenerationOptions` to a `struct`.

* Update docs to reflect enum -> struct change.

* Delete workspace settings file, if needed.

* fix lint issue

* Update XcodeProj dependency to the release.

* Update lockfiles/Package.resolved.

* revert cache version change.

* move `public` to function.

* Use `FileHandler` when deleting xcsettings file.

* fix formatting

* Update docs
2021-12-20 22:37:37 +01:00
Sven Münnich 976ffca9e4
Allow to not attach a debugger to the process running or testing an app (#3813) 2021-12-13 08:32:06 +01:00
Isaac Halvorson 7e56e70a97
Add `preActions` and `postActions` to `RunAction` and `ProfileAction` (#3787)
* Add pre and post actions to AnalyzeAction, ProfileAction, and RunAction

Fix tests

Undo some unnecessary refactoring

Revert changes to AnalyzeAction

Refactor for code style

* Add tests for scheme generation with pre and post actions

* Update documentation

* Update changelog
2021-12-09 18:29:06 +01:00
Marek Fořt 67406d6e7d
Swiftformat update (#3782)
* Update swiftformat binary

* Add swiftformat rules

* Run format swift

* Format files which used to be excluded

* fixup! extensionacl

* fixup! Format

* Fix lint issues

* Make linting errors in app_with_framework_where_framework_failing_swiftlint
2021-12-05 20:05:15 +01:00
Daniele Formichelli ffe78a2423
Add support for additional files at the target level (#3580)
* feat: add support for additional files at the target level

* chore: fix tests

* chore: fix test
2021-10-22 18:46:55 +02:00
Daniel Jankowski c298bee09c
Add device and os options to caching profiles (#3546)
* Add device and os options to caching profiles

* Add changelog entry

* Update the documentation

* Update caching.md

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Update acceptance test to include device and os parameters

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2021-10-19 18:19:44 +02:00
Daniel Jankowski dd37317ee5
Xcode LastUpgradeCheck (#3561)
* Xcode LastUpgradeCheck

* Rename lastUpgradeCheck to lastXcodeUpgradeCheck

* Update lastXcodeUpgradeCheck parameter documentation

* Introduce xcodeStringValue utility property on Version

* Update the documentation

* Add changelog entry

* Add lastXcodeUpgradeCheck to ios_app_large fixture

* fix: fix PR number

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2021-10-18 14:58:36 +02:00
Pedro Piñera Buendía 247d98db4b
Release 2.0 (#3374)
* [2.0] Remove cocoapods dependency (#3369)

* Remove the .cocoapods target dependency

* Remove fixture

* Update the documentation

* Remove more CocoaPods references

* Document why we dropped CocoaPods' API

* [2.0] Remove support for deprecated names of manifests (#3373)

* [remove-deprecatedFileName] remove - `Manifest.deprecatedFileName`

* [remove-deprecatedFileName] fix - adjusting codebase after removing `Manifest.deprecatedFileName`

* [remove-deprecatedFileName] remove - `app_with_old_config_name` fixture

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] change - update changelog

* [remove-deprecatedFileName] change - update changelog

* [remove-deprecatedFileName] fix - unit tests

* [remove-deprecatedFileName] change - update docs

* [remove-deprecatedFileName] change - update changelog

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] change - update changelog

* chore: remove deprecated methods (#3381)

* chore: remove deprecated methods

* fix: fixture compilation error

* fix: remove deprecated xcFramework usage

* fix: fix default template

* fix: fix SwiftUI template

* [2.0] Simplify TestAction's API (#3375)

* Simplify the TestActions public interface to initialize a test action

* Test PresetBuildConfiguration's codable

* Update the CHANGELOG.md

* Make constructors private and add a missing .targets method

* Some interface improvements

* Update CHANGELOG.md

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Some style fixes

* Fix the initialization logic

* Update CHANGELOG.md

Co-authored-by: Marek Fořt <marekfort@me.com>

* Update Sources/ProjectDescription/TestAction.swift

Co-authored-by: Kas <kwridan@users.noreply.github.com>

* Update Sources/ProjectDescription/TestAction.swift

Co-authored-by: Kas <kwridan@users.noreply.github.com>

* Fix acceptance tests

* Fix acceptance test

Co-authored-by: Pedro Piñera <pepibumur@gmail.com>
Co-authored-by: Luis Padron <luis.padron@compass.com>
Co-authored-by: Marek Fořt <marekfort@me.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>

* [2.0] Remove "tuist doc" (#3401)

* Update cocoapods to version 1.11.0 (#3397)

* Update autoprefixer to version 10.3.4 (#3403)

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

* Update gatsby-plugin-robots-txt to version 1.6.10 (#3404)

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

* Improve tests of LinkGeneratorTests (#3409)

* Refactor LinkGeneratorTests to mock graphTraverser

* Fix format

* docs: add MarvinNazari as a contributor for code (#3422)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

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

* 📦[Dependencies][SPM] Wire exclude to resources (#3305)

* Update tailwindcss to version 2.2.14 (#3428)

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

* Update tailwindcss to version 2.2.15 (#3434)

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

* Added Xcode 12.5.1 to tests and also made this version the default one. (#3427)

* changed and added Xcode 12.5.1

* text Xcode 13

* changed to runs-on: macOS-11

* some fixes

* removed duplicate

* Rebuild static framework

* Rebuild static framework in ios_app_with_static_frameworks

* Rebuild static framework in ios_app_with_static_frameworks

* Rebuild static framework in ios_app_with_transitive_framework

* Rebuild static framework in ios_app_with_transitive_framework macOS

* Execute `tuist` without `swift run` when executing acceptance tests

* Fix `generate yields` step

Co-authored-by: Stefan Fessler <Stefan.Fessler@external.erstegroup.com>
Co-authored-by: apps4everyone <stefan@apps4everyone.at>
Co-authored-by: Alfredo Delli Bovi <alfredo.dellibovi@gmail.com>

* Update prettier to version 2.4.0 (#3429)

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

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.` (#3426)

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.`

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.`

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.`

* feat: add support for .tuistignore in tuist edit command (#3415)

* Improve manifest detection and `tuist edit` performance by inspecting manifest signature (#3416)

* Improve execution time for Acceptance Tests on CI (#3435)

* Fix compilation issue

* [2.0] Remove PresetBuildConfiguration in favour of ConfigurationName  (#3400)

* [2.0] Remove "tuist doc" (#3401)

* Update autoprefixer to version 10.3.4 (#3403)

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

* Update gatsby-plugin-robots-txt to version 1.6.10 (#3404)

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

* Add ConfigurationName and remove PresetBuildConfiguration

We are removing PresetBuildConfiguration in favor of ConfigurationName.
As part of this effort, I've also changed the public interfaces of the `XXAction.swift`
files to make the `init` internals and get some flexibility to improve the APIs in the future
without introducing breaking changes.

* Fix acceptance tests

* Update CHANGELOG

* Fix acceptance tests

* Fix acceptance test

* Fix RunAction

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

* [2.0] Remove up (#3443)

* Remove up command

* Remove up from the sidebar

* Update the CHANGELOG

* Fix tests

* [2.0] Move test action options from `TestAction` to `TestActionOptions` (#3458)

* Move options from TestAction to TestActionOptions

* Fix broken integrations

* Update changelog with migration steps

Co-authored-by: Kassem Wridan <kwridan@bloomberg.net>

* Start writing the blog post about 2.0 release

* Add more content to the blog post

* Finish up the blog post for the 2.0 release

* Remove yarn.lock

* Add excerpt

* feat: remove automatic bundles and tests focus (#3501)

* feat: remove automatic bundles and tests focus

* chore: remove unused testTargetsDependingOn

* chore: update focus feature tests

* refactor: remove deprecated environment variables (#3493)

* refactor: remove deprecated environment variables

* fix: compilation errors

* 2.0 Flat configuration and custom configuration  (#3457)

* Fix missing test property (#3520)

- During some of the 2.0 changes to schemes we accidentally stopped propagating the `coverage` flag
- This didn't impact any production functionality as it was within an unused test utility

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Address comment

* Version the documentation

* Remove secrets

* Remove CocoaPods from the documentation

* Rename targetAction to targetScript

* Update rubocop to version 1.22.0 (#3525)

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

* feat: improve performance loading Package.swift in parallel (#3529)

* Update the CHANGELOG

* Revert Package.resolved changes

* Fix building the website

* Some renames to scripts

* Fix tests

* Update the style of the header

Co-authored-by: Kamil Harasimowicz <kamil.harasimowicz@gmail.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
Co-authored-by: Luis Padron <luis.padron@compass.com>
Co-authored-by: Marek Fořt <marekfort@me.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Alfredo Delli Bovi <alfredo.dellibovi@gmail.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: apps4everyone <stefan@apps4everyone.at>
Co-authored-by: Stefan Fessler <Stefan.Fessler@external.erstegroup.com>
Co-authored-by: Kassem Wridan <kwridan@bloomberg.net>
2021-10-02 12:23:08 +02:00
Daniele Formichelli 90d542d8aa
feat: add mapping of SPM languages versions (#3274)
* feat: add mapping of SPM languages versions

Format swift code

refactor: refactor swift version mapping

refactor: move language version settings to project

refactor: use TSCUtility.Version

* chore: formatting
2021-08-10 20:45:32 +02:00
Daniele Formichelli 28f86c579a
📦 [Dependencies.swift][SPM] Container (#3072) 2021-08-06 14:24:12 +02:00
Dmytro Mishchenko 87f1ac3731
Add `TextSettings` configuration (#3253)
* Add `TextSettings` configuration

Added `Options` to a `Project`, `TextSettings` option, linting for duplicated options.
Updated docs.

* Fix review comments

* Fix docs

* Fix review comments

* Update changelog

* Fix project file

* Fix review comments.

* Fix review comment

* Fix format
2021-08-04 09:49:53 +02:00
Pedro Piñera a3a52ed682 Rename lab to cloud 2021-08-01 15:10:21 +02:00
Kamil Harasimowicz aca372af90
📦 Fixed: The `tuist dependencies fetch` command fails. (#3108)
* [fix-carthage-dependencies] remove - unused properties from `CarthageVersionFile`

* [fix-carthage-dependencies] change - update unit tests

* [fix-carthage-dependencies] fix - cleaning

* [fix-carthage-dependencies] fix - run `./fourier format swift --fix`

* [fix-carthage-dependencies] change - update changelog

* Update CHANGELOG.md

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
2021-06-26 10:49:34 +02:00
Marek Fořt 77ec006674
Rename ValueGraph to Graph (#3083) 2021-06-21 08:30:12 +02:00
Kamil Harasimowicz bc798f7063
[Dependencies.swift] Generate `DependenciesGraph` for `Carthage` dependencies. (#3043)
* [carthage-graph] fix - typo

* [carthage-graph] add - `Constants.DependenciesDirectory.graphName`

* [carthage-graph] fix - logging

* [carthage-graph] change - improve `app_with_framework_and_tests_and_dependencies` fixture

* [carthage-graph] add - init `DependenciesGraph`

* [carthage-graph] add - unit tests

* [carthage-graph] change - merge `X_Interactor.fetch` and `X_Interactor.update` into `X_Interactor.install`

* [carthage-graph] change - mark `WIP` places

* [carthage-graph] add - `XCTestCase.XCTAssertDecodableEqualToJson`

* [carthage-graph] add - `CarthageVersionFile` model

* [carthage-graph] fix - adjustments after rebasing onto `main`

* [carthage-graph] add - `DependenciesGraphNode`

* [carthage-graph] add - `CarthageGraphGenerator`

* [carthage-graph] add - `TuistCore.DependenciesGraphController`

* [carthage-graph] fix - generating `graph.json`

* [carthage-graph] change - encode `DependenciesGraph` with `prettyPrinted` option

* [carthage-graph] add - supported architectures to `DependenciesGraphNode.xcframework`

* [carthage-graph] add - set `frameworkPath` in `DependenciesGraphNode.xcframework`

* [carthage-graph] change - update documentation

* [carthage-graph] change - update documentation

* [carthage-graph] change - update acceptance tests

* [carthage-graph] fix - run `./fourier format swift --fix`

* [carthage-graph] change - move `DependenciesGraphController` from `TuistCore` to `TuistDependencies`

* [carthage-graph] fix - typos

* [carthage-graph] change - update `CocoaPodsInteracting` api

* [carthage-graph] change - [Carthage] drop support for production of regular frameworks

* [carthage-graph] fix - typos

* [carthage-graph] change - `DependenciesGraph` adjustments

* [carthage-graph] add - `DependenciesGraphControlling.clean`

* [carthage-graph] add - unit tests for `CarthageGraphGenerator`

* [carthage-graph] add - unit tests for `DependenciesGraphController`

* [carthage-graph] add - more unit tests for `DependenciesController`

* [carthage-graph] add - more unit tests to `CarthageInteractor`

* [carthage-graph] change - update documentation

* [carthage-graph] change - update changelog

* [carthage-graph] fix - run `./fourier format swift --fix`

* [carthage-graph] fix - typo

* [carthage-graph] change - `CarthageDependencies` and `SwiftPackageManagerDependencies`  confirm `ExpressibleByArrayLiteral`

* [carthage-graph] change - `compactMapValues` instead of `reduce`

* [carthage-graph] change - save empty graph when no results

* [carthage-graph] fix - acceptance tests

* [carthage-graph] change - update documentation

* [carthage-graph] fix - run `./fourier format swift --fix`

* [carthage-graph] fix - unit tests

* [carthage-graph] fix - acceptance tests

* [carthage-graph] fix - code review remarks

* [carthage-graph] fix - code review remarks

* [carthage-graph] fix - acceptance tests
2021-06-11 14:01:22 +02:00
Marek Fořt e69f70b03f
Tasks plugin (#3013)
* Create Tasks model

* Run custom task

* Create tasks fixture test

* Add task options

* Rename load arguments for Tasks

* Foprmat code

* WIP: Change tasks to work with multiple files

* Run task without options

* Parse options with regex

* Remove optional and required options

* Move Task model to ProjectAutomation

* WIP: Editing tasks

* Editing tasks

* Add task documentation

* WIP tests

* Add tests

* Format code

* Rename task command to exec

* Create PluginTasks

* Add tasks plugin fixture

* Add tests

* Add documentation

* Format code

* Edit CHANGELOG

* Fix typo

* Update projects/docs/docs/plugins/creating-plugins.md

Co-authored-by: Luis Padron <luis.padron@compass.com>

Co-authored-by: Luis Padron <luis.padron@compass.com>
Co-authored-by: Pedro Piñera Buendía <pedro@ppinera.es>
2021-06-01 13:09:38 +02:00
Kamil Harasimowicz 99f095e113
Allow to specify `swift-tools-version` in the `Dependencies.swift` manifest file. (#2998)
* [swift-tools-version] add - `SwiftPackageManagerControlling.setToolsVersion`

* [swift-tools-version] remove - hardcoded `// swift-tools-version:5.3`

* [swift-tools-version] add - `Config.swiftToolsVersion`

* [swift-tools-version] change - move `Config.GenerationOption.swiftToolsVersion` to `Config.swiftToolsVersion`

* [swift-tools-version] change - move `Config.swiftToolsVerstion` to `SwiftPackageManagerDependencies.Options.swiftToolsVersion`

* [swift-tools-version] add - `SwiftPackageManagerDependencies.swiftToolsVersion`

* [swift-tools-version] change - update `swift-tools-version`

* [swift-tools-version] change - update `app_with_framework_and_tests_and_dependencies"

* [swift-tools-version] change - update documentation

* [swift-tools-version] fix - remove unused comments

* [swift-tools-version] fix - run `./fourier format swift --fix`

* [swift-tools-version] change - update changelog

* [swift-tools-version] fix - fixes after updating with `main`

* [swift-tools-version] fix - acceptance tests

* [swift-tools-version] change - move `SwiftPackageManagerDependencies.Options.swiftToolsVersion` to `Config.swiftVersion`

* [swift-tools-version] fix - acceptance tests

* [swift-tools-version] change - update changelog

* [swift-tools-version] change - update documentation

* [swift-tools-version] fix - run `./fourier format swift --fix`
2021-05-27 09:22:57 +02:00
Santiago A. Delgado 74fbf0179b
Adding option .directory for scaffolding templates (#2985)
* [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>
2021-05-25 12:32:03 +02:00
Pedro Piñera Buendía 6e58ef29d6
Cloud to lab (#2993) 2021-05-22 09:58:02 +02:00
Marek Fořt 1f776e728f
Tasks (#2816)
* Create Tasks model

* Run custom task

* Create tasks fixture test

* Add task options

* Rename load arguments for Tasks

* Foprmat code

* WIP: Change tasks to work with multiple files

* Run task without options

* Parse options with regex

* Remove optional and required options

* Skip building project description helpers for tasks

* Move Task model to ProjectAutomation

* WIP: Editing tasks

* Editing tasks

* Add task documentation

* WIP tests

* Add tests

* Format code

* Limit file named in step definitions

* Fix ruby code format

* Rename task command to exec

* Trigger CI workflows

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2021-05-20 12:28:11 +02:00
Alfredo Delli Bovi 3117deeb0d
Add support for specifying cache directory (#2566) 2021-04-18 17:43:34 +02:00
Marek Fořt 0b47cc400d
Resource synthesizer plugin (#2746)
* Fix unit tests

* Run default resource synthesizer

* Add synthesizer plugin

* Integrate resource synthesizer plugin

* Allow custom initializer

* WIP: Resource synthesizer path

* Load plugin template during mapping

* Add missing parsers

* Add tests

* Add documentation

* Run swiftformat

* Include stencil plugin files in tuist edit

* Address review comments

* Fix tests

* Fix usage of assets

* Move ResourceSynthesizers documentation to new location

* Add Project documentation

* Refactor to use convention for local template files

* Rename ResourceTemplates dir to ResourceSynthesizers

* Fix resources link

* Rename ResourceSynthesizerPlugin to PluginResourceSynthesizer

* Edit CHANGELOG

* Fix build issues

* Format code

* Fix broken link
2021-04-13 19:46:24 +02:00
David Cortés c0aa6e0880
Support expand variables configuration in test scheme Environment Variables (#2697)
* added expandVariableFromTarget to TestAction

* added macro expansion to test target

* added unit tests

* updated changelog.md

* added linter to prevent wrong target names in expandVariableFromTarget

* added documentation

* corrected format

Co-authored-by: David Cortés <david.cortes@free-now.com>
2021-03-25 17:52:49 +01:00
Luis fff61db922 Plugins: Add support for templates 2021-03-25 08:49:32 -04:00
Luis Padron d46543d3cc
Plugins: Finalize support for tuist edit (#2642) 2021-03-15 10:53:55 +01:00
Jakub Olejník ff10fa1aa2
Add support for file header template (#2568)
When working in teams, various file header templates might apply. This is done by [using `IDETemplateMacros.plist`](https://help.apple.com/xcode/mac/current/#/dev91a7a31fc) inside xcodeproj. This plist might be shared so located under `xcshareddata` and also user-specific. This PR currently addresses shared case.

- A new `fileHeaderTemplate` property is exposed on both `Project` and `Workspace`
    - Users can optionally choose if they'd like to define at the workspace level for larger multi-project setups, or on an individual project for small single project setups
- The header template supports two options, reading from a file on disk via `.file(Path)` or inline in the manifest via `.string(String)`
2021-03-09 06:51:49 +00:00
Kamil Harasimowicz acb030a40f
Renaming `TuistGraph.Dependency` -> `TuistGraph.TargetDependency` (#2614)
* [dependency-models-naming] change - rename `TuistGraph.Dependency` -> `TuistGraph.TargetDependency`

* [dependency-models-naming] change - update changelog
2021-03-08 07:51:04 +01:00
Marek Fořt 09344774cf
Add wrap arguments swiftformat option (#2606)
* Add wrap arguments before-first format option.

* Run style correct.

* Edit CHANGELOG.
2021-03-04 11:54:03 +01:00
Pedro Piñera Buendía 701d0814fd
Change the graph tree-shaker mapper to work with the value graph too (#2545)
* Change the tree shaker to use a value graph

* Update the CHANGELOG

* Remove git conflict data
2021-02-26 15:48:49 +01:00
Jierong Li e5e95c23b3
Enable Main Thread Checker by default (#2549)
- When we create a new project by Xcode, the Main Thread Checker is enabled by default
- Updating the defaults in Tuist to match this behaviour
- Users can still opt out by explicitly defining schemes with no options
2021-02-23 06:50:24 +00:00