Add changelog and docs.

This commit is contained in:
Brian Clymer 2019-10-06 15:48:10 -05:00
parent 7152d6aa9f
commit ba34891aae
2 changed files with 39 additions and 1 deletions

View File

@ -2,6 +2,10 @@
## Next Version
#### Added
- Scheme Templates [#672](https://github.com/yonaskolb/XcodeGen/pull/672) @bclymer
#### Fixed
- Fixed macOS unit test setting preset [#665](https://github.com/yonaskolb/XcodeGen/pull/665) @yonaskolb
- Add `rcproject` files to sources build phase instead of resources [#669](https://github.com/yonaskolb/XcodeGen/pull/669) @Qusic

View File

@ -23,6 +23,7 @@
- [Aggregate Target](#aggregate-target)
- [Target Template](#target-template)
- [Scheme](#scheme)
- [Scheme Template](#scheme-template)
- [Swift Package](#swift-package)
## General
@ -781,6 +782,39 @@ schemes:
revealArchiveInOrganizer: false
```
### Scheme Template
This is a template that can be referenced from a normal scheme using the `templates` property. The properties of this template are the same as a [Scheme](#scheme). This functions identically in practice to [Target Template](#target-template).
Any instances of `${scheme_name}` within each template will be replaced by the final scheme name which references the template.
Any attributes defined within a targets `templateAttributes` will be used to replace any attribute references in the template using the syntax `${attribute_name}`.
```yaml
schemes:
MyModule:
templates:
- FeatureModuleScheme
templateAttributes:
testTargetName: MyModuleTests
schemeTemplates:
FeatureModuleScheme:
templates:
- TestScheme
build:
targets:
${scheme_name}: build
TestScheme:
test:
gatherCoverageData: true
targets:
- name: ${testTargetName}
parallelizable: true
randomExecutionOrder: true
```
The result will be a scheme that builds `MyModule` when you request a build, and will test against `MyModuleTests` when you request to run tests. This is particularly useful when you work in a very modular application and each module has a similar structure.
## Swift Package
Swift packages are defined at a project level, and then linked to individual targets via a [Dependency](#dependency).
@ -804,4 +838,4 @@ targets:
App:
dependencies:
- package: Yams
```
```