Commit Graph

112 Commits

Author SHA1 Message Date
Pedro Piñera Buendía d0bc36118d
Add support for printing from manifest files (#2215)
* Add support for logging from the manifest files

* Add acceptance tests

* Add fourier task to run acceptance tests

* Add tests

* Update CHANGELOG

* Update documentation

* Fix acceptance test runs

* Fix tests
2020-12-29 17:50:11 +01:00
Kamil Harasimowicz 56a72d653b
Chimera - `carthage` support. (#2060)
* [carthage] Init `DependencyManaging`

* [carthage] add `InstallMethod`

* [carthage] rename `InstallDependencies` -> `InstallDependenciesMethod`

* [carthage] Renaming `*Manger`s -> `*Interactor`s

* [carthage] stub `Dependencies`

* [carthage] add `CarthageCommandBuilder`

* [carthage] add `CartfileContentBuilder`

* [carthage] start using raw strings in `CartfileContentBuilder`

* [carthage] run `carthage` using `tuist dependencies`

* [carthage] copy frameworks and `Cartfile.resolved` to `Tuist/Dependencies/*`

* [carthage] add `DependenciesDirectoryController`

* [carthage] add new TODO warning

* [carthage] add `app_with_framework_and_tests_and_dependencies`

* [carthage] WIP: reading dependencies from `Dependencies.swift`

* [carthage] WIP: removing `ProjectDescription` from `TuistDependencies`

* [carthage] add `DependenciesModelLoader`

* [carthage] add `TuistCore.Dependencies` model

* [carthage] determine platforms from `carthage` run

* [carthage] add `CartfileContentBuilderError`

* [carthage] add `CarfileContentBuilderTests`

* [carthage] add `CarthageCommandBuilderTests`

* [carthage] add `CocoapodsInteractorTests`, `SPMInteractorTests`

* [carthage] remove fixed `warning`

* [carthage] add `CartfileResolvedInteractor`, `CartfileResolvedInteractorTests`

* [carthage] add `CarthageFrameworksInteractor`, `CarthageFrameworksInteractorTests`

* [carthage] add `CarthageInteractorTests`

* [carthage] mark `DependenciesCommand` as `EXPERIMENTAL`

* [carthage] add `MockCarthageInteractor`, `MockCocoapodsInteractor`,  `MockSPMInteractor`

* [carthage] add `DependenciesControllerTests`

* [carthage] fix fixture

* [carthage] fix saving frameworks, fix unit tests

* [carthage] add acceptance tests - `dependencies.feature`

* [carthage] `bundle exec rake style_correct`

* [carthage] fix `SwiftFormat` warning

* [carthage] enable `dependencies` acceptance test

* [carthage] change - grouping the files inside `TuistDependencies`

* [carthage] change - description of `CartfileContentBuilderError.rangeRequirementNotSupported`

* [carthage] remove - `carthage` via `bundler`

* [carthage] update - refactor `CarfileContentBuilderTests`

* [carthage] change - refactor `CarthageCommandBuilder` into `CarthageCommandGenerator`

* [carthage] change - refactor `CartfileContentBuilder` into `CartfileContentGenerator`

* [carthage] fix - typos

* [carthage] remove - `Info.plist` from `fixture/app_with_framework_and_tests_and_dependencies`

* [carthage] fix - typo

* [carthage] remove - warning comment

* [carthage] remove - unnecessary code

* [carthage] add - logging to `DependenciesController`

* [carthage] fix - typo

* [carthage] change - move `CarthageDependency.toString()` to `CarthageDependency.cartfileValue()`

* [carthage] add - `CarthageDependencyTests`

* [carthage] add - `CartfileContentGenerator.validate`

* [carthage] change - pass tuist directory path into `CarthageInteractor`

* [carthage] remove - `CartfileResolvedInteractor`

* [carthage] change - WIP: refactor `CarthageFrameworksInteractor`

* [carthage] change - WIP: refactor `CarthageFrameworksInteractor`

* [carthage] changed - refactor `CarthageFrameworksInteractor`

* [carthage] `bundle exec rake style_correct`

* [carthage] add - `CarthageFrameworksInteractorTests.test_save_only_one_platform`

* [carthage] `bundle exec rake style_correct`

* [carthage] add - `--use-netrc` flag

* [carthage] fix - `CarthageInteractorError.carthageNotFound` description.

* [carthage] add - `Platform.carthageDirectory`

* [carthage] change - remove unused code

* [carthage] remove - `TuistDependencies.Graph`

* [carthage] add - `CarthageVersionFilesInteractor`

* [carthage] add - `CarthageVersionFilesInteracting.loadVersionFiles`

* [carthage] add - cache `Carthage/Build` directory

* [carthage] change - new structure of `Tuist/Dependencies` directory

* [carthage] change - refactor `CarthageInteractor`

* [carthage] fix - deleting unnecessary frameworks

* [carthage] fix - acceptance tests

* [carthage] change - refactor `Dependencies.swift`

* [carthage] change - update changelog

* [carthage] fix - run `bundle exec rake style_correct`

* [carthage] fix - swiftlint violation

* [carthage] delete - `CarthageFrameworksInteractor`

* [carthage] fix - acceptance tests

* [carthage] fix - typos

* [carthage] remove - copy `Cartfile.resolved` from previous run if exist

* [carthage] change - refactor `Dependencies` model

* [carthage] `bundle exec rake style_correct`

* [carthage] add - `Dependency.CarthageOrigin`

* [carthage] remove - `InstallDependenciesMethod`

* [carthage] change - `CarthageInteractor.PathProvider` -> `CarthagePathsProvider`

* [carthage] change - update `Gitignore.stencil` with `Tuist/Dependencies`

* [carthage] add - documentation

* [carthage] fix - changelog after rebase

* [carthage] run `bundle exec rake style_correct`

* [carthage] fix - `app_with_framework_and_tests_and_dependencies` fixture
2020-12-29 13:00:40 +01:00
Pedro Piñera Buendía 80189efcda
Add Fourier CLI (#2196)
* Define backbone CLI

* Move it under backbone/lib

* Add pipeline

* Rename CLI to fourier

* Fix Ruby veresion

* Update CHANGELOG

* Add documentation

* Prettify test run output

* Test the tuist test command

* Adjust the pipeline to use fourier for running unit tests

* Update dependencies
2020-12-26 19:03:25 +01:00
Pedro Piñera 0ef3740a3d Disable automated releases 2020-12-23 13:02:32 +01:00
Pedro Piñera d91de299f1 Remove RFC template and move it to the discussions 2020-12-22 13:36:08 +01:00
Pedro Piñera 8bba149e55 Update pr template 2020-12-22 13:29:38 +01:00
Pedro Piñera e85b4d7447 Include Next in dependabot.yml 2020-12-21 12:33:18 +01:00
Pedro Piñera Buendía 33fdcc68d7
Bootstrap new website project (#2161)
* Delete Netlify toml

* Add Typescript

* Add new website using NextJS

* Rename website directory

* Install all the dependencies

* Fix tests
2020-12-21 12:18:32 +01:00
Pedro Piñera Buendía 7c7047335e
Update workflows to target 12.3 (#2155)
* Run tests with Xcode 12.3

* Change testing command

* Re-build precompiled frameworks
2020-12-17 13:22:08 +01:00
Marek Fořt dd9025c307 Change GITHUB_ACTOR. 2020-12-07 08:49:48 +01:00
Pedro Piñera f37390980e Use a supported name 2020-12-06 20:09:38 +01:00
Pedro Piñera 0ef241a093 Use a token with access to push to the main branch 2020-12-06 20:07:17 +01:00
Pedro Piñera 29e140f14c Improve caching 2020-11-22 11:40:21 +01:00
Pedro Piñera 02fd979c9a Don't install Bundler dependencies at vendor 2020-11-16 13:17:15 +01:00
Jakub Olejnik d9d4d7374a Merge branch 'main' into cli_tool 2020-11-11 12:12:13 +01:00
Jakub Olejnik c8e3a0d096 Merge branch 'main' into cli_tool
# Conflicts:
#	.github/workflows/tuist.yml
2020-11-09 21:42:04 +01:00
Pedro Piñera 8d1ec77b5a Add stale GitHub action 2020-11-09 18:50:40 +01:00
Pedro Piñera b5a2cc1a11 Fix typo 2020-11-09 16:57:21 +01:00
Pedro Piñera fed2994e61 Run all the acceptance tests with the latest Xcode version 2020-11-09 16:47:50 +01:00
Pedro Piñera 5916557778 Change name 2020-11-09 12:28:01 +01:00
Pedro Piñera c8f16297ee Another fix :) 2020-11-09 11:03:23 +01:00
Pedro Piñera 04179d5f1e Run pushes only on master 2020-11-09 11:01:55 +01:00
Pedro Piñera bc716354da Fix names 2020-11-09 10:58:48 +01:00
Pedro Piñera bd6255db83 Some adjustments 2020-11-09 10:53:53 +01:00
Pedro Piñera 89521bba7b Remove precompiled 2020-11-09 10:41:19 +01:00
Pedro Piñera 9514ba5652 Fix tests 2020-11-08 19:03:00 +01:00
Pedro Piñera 5cd445b107 Add missing acceptance tests back 2020-11-07 21:27:15 +01:00
Jakub Olejnik 98a5658647 Merge branch 'main' into cli_tool 2020-11-06 20:53:37 +01:00
Pedro Piñera 0d3699b77e Remove stats website 2020-11-06 19:48:06 +01:00
Jakub Olejnik 9916aa3d40 Merge branch 'main' into cli_tool 2020-11-05 05:29:27 +01:00
Marek Fořt aaf3458d8b Add SECRET_KEY to release env. 2020-10-31 21:36:01 +01:00
Jakub Olejnik 030eb367e5 Add generate-7 feature to acceptance tests 2020-10-31 18:23:01 +01:00
Marek Fořt 051145a0fc Uncomment release yml. 2020-10-30 18:44:20 +01:00
Pedro Piñera 922cd91fd2 Rename master to main 2020-10-28 08:45:49 +01:00
ldindu 4a8bfd826e
Appclip support (#1854)
* Introduce product type appClips

* Add embed AppClips build phase

* Add appclips to be executable

* Apply swift formatting

* Add linter rules for appClips target bundle ID

* Add default settings for AppClips

* Apply swift formatting

* Add fixture for appclips

* Add acceptance test for appclips

* Add appClips product type to be supported for iOS platform

* Add appClips product type tests

* Add lint for required parent application identifiers entitlement in app clip target

* Add missing appclips product in unit test and ui tests lintable target

* Update documentation with appClips addition

* Update changelog

* Rename appClips product type to appClip

* Add appClip lint tests for required entitlements

* Update docs with appClip product type renaming

* Update appClip acceptance test with appClip renaming

* Add target of appClip product type can host tests

* Skip adding embed app clip build phase for targets of non-app product type

* Add unit test and ui test targets in app clip test fixture

* Include missing appClip to be returned as apps

* Avoid traversing graph to extract app and appClip pair

* Add steps to build app clip unit and ui tests

* Apply formatting

* Add a lint rule to detect an app dependency on more one app clip

* Improve missing parent application identifiers entitlement linting message

* Fix ambiguous rake task name

* Run generate-6 acceptance tests containing appclip test with Xcode 12

* Restore changelog

* Replace references of info.plist app clip fixture with default one

* Remove redundant references to assets in app clip fixture

* Add tests for appClip product type

* Update doc to include app clip reference

* Add test to confirm app clip bundle package type

* Add a step to appClip acceptance test to verify valid architecture

* Add a test for appClip build phase attributes

* Add App Clips example docs

* Infer AppClip framework dependency for target of AppClip product type

* Rename appclip target to avoid name collision with system AppClip import
2020-10-27 20:07:45 +01:00
Marek Fořt c3de526717
Test (#1935)
* Add test command and service

* Fix warnings.

* Run test with device and ios specified.

* Prefer booted device.

* Recognize host application.

* Add AppCore framework for tests fixture.

* Add Derived folder to .gitignore.

* Error when no available device was found.

* Change input arguments.

* Add TestServiceTests.

* Add XcodeBuildController + SimulatorController tests.

* Run only tests scheme with single test target.

* Add test command documentation.

* Add test acceptance tests.

* Run swiftformat.

* Rename --os-version argument to --os.

* Add fixture for test command.

* Fix compilation issues.

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2020-10-26 19:23:42 +01:00
Pedro Piñera Buendía 951be59b03
Use the build phase to locate the directory in derived data where artifacts are generated (#1939)
* Use the build phase to locate the built product artifacts

* Add acceptance test

* Fix integration tests

* Fix acceptance tests

* Fix acceptance test

* Fix cache acceptance tests

* Fix watchOS acceptance tests

* Fix acceptance test

* Run pipelines on Xcode 12.1

* Remove Carthage test

* Run acceptance tests with Xcode 11.5 too

* Fix acceptance test with widget
2020-10-25 15:28:55 +01:00
Pedro Piñera Buendía 1cbacae2b1
Version 1.21.0 and disable release pipeline (#1884)
* Version 1.21.0

* Disable release pipeline
2020-10-12 12:56:22 +02:00
Pedro Piñera 1eb5059bc1 Cache SPM dependencies to speed up CI builds 2020-10-10 10:21:05 +02:00
Pedro Piñera cf3497a18f Fix release pipeline 2020-10-10 10:01:44 +02:00
Pedro Piñera ade374c2e0 Rename deploy to release 2020-10-02 14:53:03 +02:00
Lucia V 59ce5d0aff
Cache targets as frameworks (#1851)
* Remove Workspace in ios_workspace_with_microfeature_architecture fixture

* Add a xcframework flag on the cache warm command

* Add CacheControllerFactory

* Add ArtifactType

* Update CacheMapper

* Update CacheController

* Add --xcframeworks flag in the print hashes command

* Add --xcframeworks flag in the focus command

* Move the Dependency enum up from XCFrameworkNode up to PrecompiledNode, as it is also needed for FrameworkNode

* Refactor the cached binary building code to treat binaries as framework first

* Update graph and mapping logic to treat binaries as framework first

* Linter

* Improved wording

* Update TargetContentHasher

* Swiftformat

* Fix linting

* Extend the cache implementation to support storing multiple artifacts

* Some fixes and fix tests

* Fix the derived data path

* Fix all the tests

* Fix acceptance tests

* Fix acceptance tests

* Fix failing tests

Co-authored-by: Pedro Piñera <pepibumur@gmail.com>
2020-10-01 17:55:22 +02:00
Marek Fořt a84dece194
Feature/release automation (#1778)
* Add Tapestry config.

* Update release doc.
2020-09-27 19:54:57 +02:00
Kamil Harasimowicz 020fec1df2
[1736-maintenance-swiftlint-version-] add new `rake` task: `swift_lin… (#1797)
* [1736-maintenance-swiftlint-version-] add new `rake` task: `swift_lint_update`

* [1736-maintenance-swiftlint-version-] add `.swift-lint.version`

* [1736-maintenance-swiftlint-version-] update bundler in github's workflows to `2.1.4`

* [1736-maintenance-swiftlint-version-] adjust `Rakefile`
2020-09-25 11:54:33 +02:00
Pedro Piñera Buendía 317a8d520f
Tuist lint command (#1682)
* Implement command and service for code linting

* [code-lint] remove mismatched comment

* [code-lint] start using proper `FatalError` type in `LintCodeService`

* [code-lint] Refactor `LintCodeService`. Increase readability.

* [code-lint] remove `SwiftLintFramework` form TuistKit's  dependencies

* [code-lint] add `swiftlint` binary

* [code-lint] add `BinaryLocator`

* [code-lint] calling swift lint shell command

* [code-lint] lint list of paths

* [code-lint] add documentation

* [code-lint] fix `LintProjectServiceTests`, tests pass now

* [code-lint] add unit tests

* [code-lint] fix docs

* [code-lint] fix tests

* [code-lint] run `bundle exec rake style_correct`

* [code-lint] acceptance tests - WIP

* [code-lint] fix acceptance_tests

* [code-lint] add acceptance tests

* [code-lint] more unit tests

* [code-lint] changelog

* [code-lint] fix code format

* [code-lint] update changelog

* [code-lint] prints the messages forwared through the standard error using `printStandardError`

* [code-lint] styling

* [code-lint] fix identation

* [code-lint] update docs

* [code-lint] fix docs

* [code-lint] fix acceptance tests

* [code-lint] fix Changelog

* [code-lint] add docs

* [code-lint] add `CodeLinterTests`

* [code-lint] fix typos

* [code-lint] fix acceptance tests

* [code-lint] extend acceptance tests

* [code-lint] style_correct

Co-authored-by: Kamil Harasimowicz <kamil.harasimowicz@gmail.com>
2020-09-09 08:51:41 +02:00
Pedro Piñera 957f459556 Enable auto-merging 2020-08-31 14:12:48 +02:00
Marek Fořt b3d3f66679
Drop App suffix in AppProject.stencil. (#1709)
* Drop App suffix in AppProject.stencil.

* Add templates to paths for checks.

* Move templates paths from checks to tuist.yml.

* Fix cache acceptance test.

* Remove no longer valid template from init.
2020-08-28 08:53:00 +02:00
Pedro Piñera Buendía f1871fa9af
Add --include-sources flag to the generate and focus commands (#1631)
* Add support for the --sources argument

* Add acceptance tests

* Rename --sources to --include-sources

* Address some comments

* Update documentation

* Run acceptance tests with Xcode 12

* Comment out the acceptance test for static libraries

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2020-08-15 19:08:08 +02:00
Marek Fořt 86995636a3
Feature/completions (#1604)
* Update dependencies.

* Add missing completions.

* Add autocompletions documentation.

* Update changelog.

* Fix flag warnings.

* Remove support for Xcode 11.3.1 & Xcode 11.4

* Mark change as breaking

* Fix workflow

* Empty commit

Co-authored-by: Pedro Piñera <pepibumur@gmail.com>
2020-08-14 09:53:16 +02:00
Pedro Piñera Buendía c10aa60b33
Add Stats website (#1651)
* Add stats website

* Build Stats only with NodeJS 12.x

* Cache website's yarn dependencies from the GitHub workflow

* Add a note to the README about the monorepo structure
2020-08-11 14:57:42 +02:00