* [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>
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.
Fixestuist/tuist#919
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
### 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
* 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
- 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`
### 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.
- 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`
* 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