Commit Graph

153 Commits

Author SHA1 Message Date
Pedro Piñera Buendía ec30305bd8
Don't show logs when resolving packages (#1337)
* Don't show logs when resolving packages

* Upgrade Swiftformat

* Style fixes

* Add missing dependency
2020-05-14 11:12:03 +02:00
Pedro Piñera 538d4fa015 Version 1.7.1 2020-04-21 16:49:31 +02:00
Pedro Piñera Buendía b015607b51
Some cloud-related fixes (#1247)
* Use Swift 5.1 build tools

* Support passing the project id when configuring the cloud

* Update CHANGELOG
2020-04-21 12:24:45 +02:00
Marek Fořt 8337c02bc9
Move from SPM libs to TSC (#1230)
* Convert from SPM libs to TSC.

* Edit changelog.

* Fix flaky duplicate configuration name test.

* Fix lint project duplicate config names.
2020-04-17 08:24:24 +02:00
Marek Fořt 12c87d111e
Argument parser (#1154)
* Implement GenerateCommand and TuistCommand.

* Handle verbose.

* Add GenerateService tests.

* Remove service protocol.

* Revert parser changes.

* Fix swiftlint issues.

* Readd GenerateService.

* Run swiftformat.

* Adopt ArgumentParser library for Up command

* Fix formatting

* Rewrite ScaffoldCommand.

* Rewrite scaffold and list tests.

* Fix running list subcommand.

* Convert InitCommand.

* Add InitService tests.

* Fix double optional.

* Run swiftformat.

* Rewrite Focus command.

* Migrate edit command.

* Migrate dump command.

* Migrate graph command.

* Migrate lint command.

* Migrate Version command.

* Revert "Migrate Version command."

This reverts commit b4a69d89da.

* Migrate Version command.

* Migrate build command.

* Migrate cache command.

* Migrate CreateIssue command.

* Migrate cloud commands.

* Migrate signing command.

* Migrate local command.

* Rewrite env commands.

* Remove env CommandRegistry.

* Fix install tests.

* Fix editor tests.

* Fix processing tuist command.

* Change options to flag.

* Edit changelog.

Co-authored-by: Daniel Jankowski <daniell.jankowskii@gmail.com>
2020-04-13 10:11:12 +02:00
Pedro Piñera 652e623fa6 Add missing dependency 2020-04-03 15:37:00 +02:00
Pedro Piñera d41215361a Use XcodeProj 7.10.0 2020-04-02 18:38:29 +02:00
Pedro Piñera 465aa95585 Fix compilation 2020-04-01 19:03:03 +02:00
Pedro Piñera b0d9af5f40 Implement CredentialsStorer 2020-04-01 18:21:36 +02:00
Pedro Piñera 1d82cc889b Add HTTPRedirectListener utility 2020-04-01 18:21:36 +02:00
Pedro Piñera 5767907f95 Create TuistCloud package 2020-04-01 18:21:36 +02:00
Marek Fořt cb273f90f0 Merge remote-tracking branch 'origin/master' into ciphering 2020-03-24 22:29:54 +01:00
Pedro Piñera Buendía 2b478b867e
Merge pull request #1126 from tuist/scaffold_generate
Scaffold generate
2020-03-22 10:27:27 +01:00
Marek Fořt c6254b01c9 Add TuistCoreTesting as a dependency of TuistSigningTests. 2020-03-21 19:50:54 +01:00
Marek Fořt 07aac1b99d Merge remote-tracking branch 'origin/master' into signing 2020-03-21 16:46:15 +01:00
Marek Fořt a65ed17eaa Add TuistCoreTesting as a dependency of TuistScaffoldTests. 2020-03-21 16:01:52 +01:00
Pedro Piñera Buendía 912356af47
Merge pull request #1092 from tuist/scaffold_load
Scaffold load
2020-03-21 09:23:09 +01:00
Marek Fořt 1edfa4d39e Generate content with stencil. 2020-03-20 16:20:47 +01:00
Pedro Piñera 18857f346f Style fixes 2020-03-19 19:49:37 +01:00
Marek Fořt 8e6a129328 Fix tests. 2020-03-17 10:21:16 +01:00
Marek Fořt 74ab15d04d Merge remote-tracking branch 'origin/master' into signing 2020-03-16 21:22:11 +01:00
Marek Fořt a0acd9d289 Move TemplateLoader to TuistLoader. 2020-03-16 21:13:44 +01:00
Marek Fořt 944d9feb9d Rename TuistTemplate to TuistScaffold. 2020-03-16 19:11:52 +01:00
Marek Fořt ca2cf491c2 Lower macOS version. 2020-03-15 10:07:59 +01:00
Marek Fořt 7cf75f3583 Change swift-crypto to CryptoSwift. 2020-03-15 09:32:14 +01:00
Marek Fořt 19d5f1343e Merge remote-tracking branch 'origin/master' into scaffold_load 2020-03-14 21:15:59 +01:00
Marek Fořt d25d7c13ca Fix tests. 2020-03-14 20:39:49 +01:00
Marek Fořt 111807087d Strip changes to template loading. 2020-03-12 16:42:41 +01:00
Kas ef3071df1e
Generator update - leveraging intermediate descriptors (#1007)
### Short description

When using `TuistGenerator` as a library, the generator component performs several actions:

- Loading of the graph
- Linting the graph
- XcodeProj generation
- Writing generation artifacts to disk
- Post generation actions
 
While convenient it doesn't offer flexibility to perform any custom linting or post processing on the generated XcodeProj representations or to selectively leverage some of those actions without the others.

### Solution

Based on a few early prototyping rounds on [tuist-labs](https://github.com/tuist/tuist-labs/tree/prototype/pipelines) and discussions on modularising Tuist even further, we can split the responsibilities of the generator to provide more flexibility and simplicity.

- Update the generator to return descriptors (it doesn't directly perform any operations - it's side effect free)
- Create a dedicated component to write those descriptions to disk as well as perform any required side effects
- Move some of the interactors that performed side effects out of the xcodeproj generation to help group them (e.g. CocoaPods / Swift PM)
- Create a new top level component to orchestrate all those steps to achieve the previous behaviour

_**Note:** These changes should have no impact on end users of Tuist_

### Implementation

- [x] Prototype `Descriptors` by having existing components return descriptors instead of performing actions (initially as duplicate methods for testing/prototyping)
- [x] Integrate a prototype of a high level `ProjectGenerator` that performs all the previous tasks with the `tuist generate` command
- [x] Verify acceptance tests don't flag any regressions
- [x] Delete duplicate methods (the non-descriptor) variants and update their corresponding unit tests
- [x] Integrate the updated generator with the other tuist commands
- [x] Come up with better component names to clarify their purpose _(current names were temporary to avoid name collisions however could be confusing)_
- [x] Update change log

### Test Plan

- Verify all acceptance tests pass
- Test out running `tuist generate` on any of the fixtures
2020-03-11 15:45:52 +00:00
Pedro Piñera 986bf4ba09 Add TuistInsights framework 2020-03-11 13:18:25 +01:00
Marek Fořt 6a6d40ba68 Strip changes to ProjectDescription models. 2020-03-09 18:49:44 +01:00
Marek Fořt 064f55a0bf Add SigningCipher. 2020-03-05 21:55:30 +01:00
Oliver Atkinson 52fe8fd119 Merge remote-tracking branch 'origin/master' into verbose-logging 2020-03-05 18:01:17 +00:00
Marek Fořt d363af776c Add TuistAutomation to TuistCoreTests. 2020-03-03 20:59:42 +01:00
Marek Fořt de4908fbf7 Add TuistTemplateTesting to TuistTemplateTests. 2020-03-03 20:48:33 +01:00
Marek Fořt f8c4d4a7ba Run swiftformat. 2020-03-03 20:05:25 +01:00
Marek Fořt a47c43dca3 Merge remote-tracking branch 'origin/master' into scaffold 2020-03-03 18:07:18 +01:00
Marek Fořt 1f07c30b39 Merge TemplateDescription and ProjectDescription. 2020-03-03 16:17:24 +01:00
Pedro Piñera 6fd9db3561 Write test structure 2020-03-02 19:30:12 +01:00
Marek Fořt cd5988308c Add InitCommand and ScaffoldCommandTests. 2020-02-29 21:20:49 +01:00
Marek Fořt 8146c2956a Remove tests temporarily. 2020-02-29 17:28:23 +01:00
Pedro Piñera d85a6776b9 Some dependency fixes 2020-02-28 10:38:09 +01:00
Pedro Piñera 22a5e70d82 Implement cacher 2020-02-26 18:43:33 +01:00
Marek Fořt 7f8cbd1303 Build TemplateDescriptionHelpers. 2020-02-25 21:17:34 +01:00
Marek Fořt 1b922f8165 Generate directories with attribute. 2020-02-23 22:45:50 +01:00
Marek Fořt 28fedfbf22 Add TemplateDescription. 2020-02-22 18:05:09 +01:00
Pedro Piñera c99568685d Implement XcodeBuildController 2020-02-21 19:28:31 +01:00
Pedro Piñera cbed3afc2a Implement GoogleCloudStorageClient 2020-02-21 17:25:01 +01:00
Kassem Wridan 5ba744f292 Add missing Package dependencies
- Building Tuist when opening it Natively in Xcode (double clicking the Package.swift) yields a few buidl errors
- This is due to missing explicit dependencies between targets

Test Plan:

- Open the Package.swift to launch it in Xcode

_Note: even with this fix it doesn't seem the ProjectDescription framework/dylib is being built correctly in this mode, the current workaround is to continue to use `swift package generate-xcodeproj`_
2020-02-20 07:56:50 +00:00
Marek Fořt 536a1fe1a1 Extract Tuist template logic to its own target. 2020-02-18 21:44:06 +01:00