Commit Graph

89 Commits

Author SHA1 Message Date
Romain Boulay 8d4c46f707
[Cache] Add the cache storing logic (#1470)
* [cache-store] Add FileDownloader

* [cache-store] Add Zip as dependency

* [cache-store] Add server side error parsing

* [cache-store] Add CacheRemoteStorage in the default storage array

* [cache-store] Add md5 logic

* [cache-store] Refactor HTTPResource to be able to handle the HEAD cases more easily

* [cache-store] Add the Cache store functionality

* [cache-store] Linting

* [cache-store] Move zip logic into its own class to ease testing

* [cache-store] Added FileUploading to ease testing

* [cache-store] Fix unit tests and more cases to CacheRemoteStorageTests

* [cache-store] Linting

* [cache-store] Addressed PR comments about errors

* [cache-store] Remove unfinished FileDownloader.swift

* [cache-store] More precise FileUploaderError descriptions

* [cache-store] Move file size utility function to FileHandler

* [cache-store] Move md5 utility functions to FileHandler

* [cache-store] Remove hash parameter in Zip class

* [cache-store] Better error messages

* [cache-store] Add better error case and documentation in FileHandlerError

* [cache-store] Add mechanism to remove archive when the FileArchiver instance is deallocated

* [cache-store] Add FatalError conformity to HTTPRequestDispatcherError

* Some fixes

* [cache-store] Fix bug where the file archiver gets deallocated before it could delete its temporary files

* [cache-store] Move zip dependency to TuistSupport

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2020-06-26 16:55:08 +02:00
Marek Fořt 5cb6543063
Fix argument parser error with missing CodingKey. (#1425)
* Fix argument parser error with missing CodingKey.

* Fix coding keys error for ScaffoldCommand.

* Edit changelog.

* Run swiftformat.

* Fix running tuistenv.
2020-06-07 11:26:48 +02:00
Pedro Piñera Buendía 11fc74ff38
Build command (#1412)
* Implement the build command

* Fix swiftformat issue

* Require minitest/assertions

* Fix typo

* Pin swift-argument-parser to 0.0.4

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2020-06-05 13:30:13 +02:00
Pedro Piñera Buendía a2a6ec59e7
Update XcodeProj to 7.11.0 (#1398)
* Update XcodeProj to 7.11.0

* Update CHANGELOG

* Trigger workflow when the Package files change

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2020-06-03 11:34:30 +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 d41215361a Use XcodeProj 7.10.0 2020-04-02 18:38:29 +02:00
Pedro Piñera 374ef91d6b Implement CloudHTTPRequestAuthenticator 2020-04-01 18:21:37 +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
Marek Fořt 58f8107cc2 Merge remote-tracking branch 'origin/master' into ciphering 2020-03-31 21:30:53 +02:00
Pedro Piñera Buendía 2bd39046b6
Print errors that arise when parsing the manifest (#1125)
* Print errors that arise when parsing the manifest

* Some style fixes

* Update the CHANGELOG

* Revert fixture change

* Add acceptance test
2020-03-31 09:08:06 +02:00
paul.s 79395e0430
Remove symbols from test input/output file lists (#1118)
When a project has a scheme that runs multiple test targets that rely on
the `Embed Precompiled Frameworks` script then the new build system
fails because there are multiple commands that produce the same target
file.

This commit prevents adding symbol files to the input/output file lists
for test targets to prevent this error from occuring.

Fixes tuist/tuist#919
2020-03-30 08:47:01 +01:00
Pedro Piñera d45c836e0a Fix some Xcode 11.4 warnings 2020-03-26 05:59:30 +01:00
Marek Fořt cb273f90f0 Merge remote-tracking branch 'origin/master' into ciphering 2020-03-24 22:29:54 +01:00
Marek Fořt 1edfa4d39e Generate content with stencil. 2020-03-20 16:20:47 +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 7cf75f3583 Change swift-crypto to CryptoSwift. 2020-03-15 09:32:14 +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
Pedro Piñera c99568685d Implement XcodeBuildController 2020-02-21 19:28:31 +01:00
Pedro Piñera a6b6dcac82 Update XcodeProj 2020-02-14 10:04:42 +01:00
Marek Fořt cbcc4a219e
Merge pull request #814 from tuist/enable_preview
Filter out ENABLE_PREVIEWS based on Xcode version.
2020-02-14 09:57:54 +01:00
Oliver Atkinson 2cd5d8a06f WIP: Verbose Logging using swift-log 2020-02-09 19:17:28 +00:00
Pedro Piñera 9f6bc745b3 Remove OpenCombine 2020-02-03 08:20:55 +09:00
Marek Fořt f773bea5af Bump XcodeProj version to 7.6.0. 2020-01-30 20:43:43 +01:00
Pedro Piñera 0e0c62467b Extend URLSessionScheduler to have a Combine API 2020-01-21 21:28:25 +01:00
Andrea Cipriani 085b2f3bf6 Add Checksum dependency via SPM 2019-12-07 18:18:03 +01:00
Pedro Piñera 6832d32e08 Add RxSwift 2019-12-07 13:51:34 +01:00
Pedro Piñera 22fa2b87c5 Implement edit command 2019-11-26 13:16:39 +01:00
Kas d88e11951d
Fix test target build settings (#661)
Resolves: https://github.com/tuist/tuist/issues/660

- Ensure the `LD_RUNPATH_SEARCH_PATHS` build setting is set for test targets

Test Plan:

- Generate `fixtures/ios_app_with_tests`
- Verify the generated project's test target contains a valid `LD_RUNPATH_SEARCH_PATHS` build setting
2019-11-13 14:06:30 +00:00
Marek Fořt 8b0c13f011 Switch dependencies from branch to version. (#631)
* Switch dependencies from branch to version.

* Update CHANGELOG.
2019-11-11 11:33:17 +01:00
Kas 7bb8ad7ac7
Add support for watchOS apps (#623)
### Short description 

Adds support for watchOS apps.

### Solution 

Add support for watchOS / watchOS Extension products as well as the appropriate dependency rules.

### Implementation

- [x] Add product types
- [x] Add fixture & acceptance test
- [x] Update graph / link rules
- [x] Add embed watch build phase
- [x] Add watch build settings
- [x] Add linter rules for bundle IDs
- [x] Add linter rules for valid product types
- [x] Update changelog
- [x] Update documentation

### Test Plan

- Run `tuist generate` within `fixtures/ios_app_with_watchapp2`
- Verify the generated project contains a Watch App & Watch App Extension
- Compare against a manually created project with a Watch App
2019-11-06 13:36:43 +00:00
Pedro Piñera Buendía 8ea0956e1d
Embed frameworks using a bash script (#610)
* Delete embed logic

* Add methods to read the dsym path & bcsymbolmap paths from a framework

* Place the tests in the right test case

* Implement EmbedScriptGenerator

* Test EmbedScriptGenerator

* Extract methods that interact with the system into metadata provider utilities and fix tests

* Include output paths

* Test FrameworkMetadataProvider

* Test PrecompiledMetadataProvider

* Add more tests

* Create fixture project

* Add acceptance test

* Address comments

* Use Xcode 11.1

* Update Package.resolved

* Update XcodeProj

* Make the tuistenv install test more resilient
2019-10-29 13:34:02 +01:00
Marek Fořt 2fd2e311d0 Merge remote-tracking branch 'origin/master' into package-dependency 2019-09-21 15:46:40 +02:00
Marcin Iwanicki ff23c4057c
Update XcodeProj to 7.0.1 (#495)
- Update XcodeProj to 7.0.1
- Update unit tests 
- Fix one step in the acceptance tests
2019-09-13 11:01:34 +01:00
Marek Fořt 48233fc485 Update xcodeproj. 2019-09-11 21:30:09 +02:00
Marek Fořt 38fc1d7162 Add followSymlink arg to exists in FileHandling. 2019-09-03 20:37:41 +02:00
Marek Fort 957dfa3beb Add path when creating local package. 2019-08-30 14:40:45 +02:00
Marek Fort 5f479a259c Add .local case for Package. 2019-08-28 22:04:46 +02:00
Pedro Piñera Buendía 68530c8edb
Upgrade XcodeProj to 7.0.0 (#421)
* Upgrade XcodeProj to 7.0.0

* Update CHANGELOG
2019-06-26 11:41:28 +02:00
Kas 1932448f59
Updating `XcodeProj` dependency version (#412)
- Adding Xcode10 constants to maintain backwards compatibiltiy (Xcode 11 is still in beta!)

Test Plan:

- Verify unit tests pass via `swift test`
- Verify acceptance tests pass via `bundle exec rake features`
2019-06-17 14:02:25 +01:00
Marcin Iwanicki bfd4f97fe0
Update XcodeProj (6029dac06eb48cc29c762965efebddb5d6c2a496 - 2019-05-21) (#364)
### Short description

Update XcodeProj version to point to current master 6029dac06eb48cc29c762965efebddb5d6c2a496 (2019-05-21). 

Includes "Add SWIFT_COMPILATION_MODE and CODE_SIGN_IDENTITY build settings" https://github.com/tuist/xcodeproj/pull/417.
2019-05-22 08:06:29 +01:00
Kas 1dd8ace215
Resolve Swift 5 Warnings (#325)
- Updating SwiftPM dependency
  - `asString` has been renamed to `pathString`
  - `Utility` module has been renamed to `SPMUtility`

Test Plan:

- Verify unit tests pass `swift test`
- Verify acceptance tests pass `bundle exec rake features`
2019-04-14 19:02:56 +01:00
Pedro Piñera Buendía a03a4e932b
Swift 5 support (#317)
* Support Swift 5

* Fix test

* Don't check if the versions match when both local and remote versions are greater or equal than 5

* Updating fixtures for Swift 5 support

- Included a build script to allow re-creating the pre-built `Framework2` framework
- Updated build script for pre-built static library to require less manual steps

* Updates for Swift 5

- `swift package tools-version --set-current`

* Relaxed error output checks in acceptance tests

* Adding trace for acceptance test (to aid troubleshooting)

* skipping build during error message acceptance test

- Adding a step to build tuist separately ahead of calling run
- When running tuist via `swift run` we now skip the build

* Disable Swiftformat
2019-04-10 08:18:52 +02:00
Pedro Piñera Buendía d9cd70e4a2
Bump xcodeproj version to 6.6.0 (#248)
* Bump xcodeproj version to 6.6.0

* update changelog
2019-03-01 21:48:52 -05:00
Pedro Piñera 8e0e6d42a9 Update Package.resolved 2019-02-21 08:52:00 -05:00
Pedro Piñera Buendía 9c84bb0c82
Fix swiftlint issues and make sure it runs on CI (#213)
* Add rake task to run swiftlint and correct some issues

* Fix all linting issues

* Add changelog entry

* Run swiftlint with the --strict argument
2019-02-06 18:40:40 +01:00
Oliver Atkinson 710c464d86 Manage Transistive Static Library Dependencies (#168) 2019-01-20 23:18:01 +07:00
Pedro Piñera 385076c0f9 Bump Package.resolved 2018-12-20 22:58:58 +01:00