Commit Graph

19 Commits

Author SHA1 Message Date
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
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 d9bfd7fdb2
Use argument to allow internal distribution (#1582)
* Use argument to allow internal distribution

* Style fixes

* Add acceptance tests

* Include freenow logo

Co-authored-by: Pedro Piñera <pedro@ppinera.es>
2020-07-23 21:20:00 +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
Marcin Iwanicki 8a4b65724f
Add RemoveHeadersOnCopy attribute for build files in copy files build phases (#886)
### Short description 📝

While working on https://github.com/bloomberg/xcdiff/pull/40, we discovered that some of the build files are missing `RemoveHeadersOnCopy` attribute. The attribute determines if the headers should be striped from the archive, and if not set, can lead to headers leakage. The attribute is not visible in the Xcode UI, but added automatically every time a certain bundle types are added to a copy files build phase (i.e. .framework, .appex).
Oddly the attribute is not added for `.xcframework`, but it's probably an Xcode issue (FB7533618).

### Solution 📦

Added "RemoveHeadersOnCopy" attribute for build files in embed precompiled frameworks, embed watch content, and embed app extensions build phases.

### Implementation 👩‍💻👨‍💻

- [x] Update TuistGenerator to add `RemoveHeadersOnCopy`
- [x] Update acceptance tests
- [x] Update CHANGELOG
2020-01-13 17:23:13 +00:00
Alexander Guschin 819034b56e Add support for sticker pack extension & app extension products (#489)
* Add support for sticker pack product

* Add support for extensions & rename sticker product

* Update documentation

* Add package type for app extensions

* Add tests for app extension integration

* Update product tests

* swiftformat

* Add fixture & acceptance tests

* update change log
2019-10-29 19:42:21 +01:00
Oliver Atkinson 5c20d859ef Create mac framework for fixture, Only link Package.Resolved if it contains a remote package, swiftformat . 2019-09-24 09:06:56 +01:00
Oliver Atkinson 89ff3f9bec Use correct version, add --verbose and update build to use iphoneos sdk 2019-09-23 21:27:23 +01:00
Oliver Atkinson e5210afd36 Log the command run for easier debugging locally 2019-09-23 17:02:48 +01:00
Pedro Piñera Buendía 58c6580f73
Pass Info.plist as dictionary (#380)
* Add a new case to Info.plist, dictionary

* Add .dictionary to the model in TuistGenerator

* Add DerivedFile model

* Add documentation

* Create a custom type for the InfoPlist dictionary

* Fix tests

* Update CHANGELOG

* Add logic to write Info.plist content

* Test DerivedFileGenerator

* Generate the file elements and the right configuration path

* Add tests

* Include Minitest::Assertions namespace

*  Fix acceptance tests

* Fix tests

* Add test that asserts that a codable & equatable object can be encoded and decoded, resulting in the same object

* Remove not used decoding logic from the InfoPlist.Value enum.
Moreover, update its tests to use the new XCTAssertCodable helper.

* Simplify the generation logic by setting the target.infoplist attribute pointing to the Info.plist generated in the Derived folder
2019-07-15 18:05:52 +02:00
Pedro Piñera Buendía 1c5fae68c5
Package and upload Tuist on every commit build (#403)
* Package and upload tuist on every commit build

* Add package line

* Change zip name

* Fix upload
2019-06-20 22:25:50 +02:00
Pedro Piñera bda99ad49e Fix tests 2019-03-08 18:46:58 +01:00
Oliver Atkinson 454a6e8b58 rubocop --auto-correct 2019-03-08 14:20:12 +00:00
Oliver Atkinson b1687f94e1 Update fixture test to check for inclusion of resources 2019-03-08 13:09:34 +00:00
dangthaison91 5cb7a67722 Support resources as array
Support source files as Array

Added FileList to maintain source compatibility

Fixed CI build failed

Fixed tests failed

Update document
2019-03-08 12:07:30 +00:00
Oliver Atkinson de5485715d Fix #253 - Include linked library and embed in any top level executable bundle (#259)
* Fix #253 - Include linked library and embed in any top level executable bundle

* Fix fixture test, removed explicit link inside of main app and compiled Framework2 as a fat binary

* swiftformat .

* Update CHANGELOG.md

* Add acceptance tests

* Delete copying the working directory

* Store DerivedData in the working directory
2019-03-08 00:31:43 +01:00
Pedro Piñera Buendía ddb9123c34
Add Rubocop (#216)
* Add Rubocop

* Add Danger check

* Update CHANGELOG
2019-02-06 20:04:17 +01:00
Pedro Piñera Buendía 9137e48f03
Schemes generation (#188)
* Return GeneratedProject from ProjectGenerator

* Add Launch, Profile, Analyze and Archive actions

* Add BuildAction generation

* Generate TestsAction

* Add some tests

* Add Cucumber test

* Remove byebug line

* Update CHANGELOG

* Fix test
2018-12-26 10:19:09 +01:00
Pedro Piñera Buendía 790d254306
Add acceptance tests (#166)
* Gitignore TODO

* Configure acceptance tests

* Add CHANGELOG entry
2018-12-03 10:37:36 +02:00