XcodeGen/CHANGELOG.md

314 lines
17 KiB
Markdown
Raw Normal View History

2017-08-02 22:26:42 +03:00
# Change Log
2017-09-25 11:53:04 +03:00
## Master
2018-02-25 00:06:41 +03:00
#### Added
2018-02-26 05:03:01 +03:00
- Added `options.carthageExecutablePath` option [244](https://github.com/yonaskolb/XcodeGen/pull/244) @akkyie
- Added `parallelizeBuild` and `buildImplicitDependencies` to Schemes [241](https://github.com/yonaskolb/XcodeGen/pull/241) @rahul-malik
#### Fixed
- Fixed Mint installation from reading setting presets [248](https://github.com/yonaskolb/XcodeGen/pull/248) @yonaskolb
2018-02-25 00:06:41 +03:00
2018-01-30 09:47:21 +03:00
## 1.6.0
#### Added
2018-01-30 05:14:31 +03:00
- Added scheme pre-actions and post-actions [231](https://github.com/yonaskolb/XcodeGen/pull/231) @kastiglione
- Added `options.disabledValidations` including `missingConfigs` to disable project validation errors [220](https://github.com/yonaskolb/XcodeGen/pull/220) @keith
- Generate UI Test Target Attributes [221](https://github.com/yonaskolb/XcodeGen/pull/221) @anreitersimon
2018-01-19 15:47:20 +03:00
#### Fixed
2018-01-30 05:14:31 +03:00
- Filter out duplicate source files [217](https://github.com/yonaskolb/XcodeGen/pull/217) @allu22
2018-01-30 05:19:33 +03:00
- Fixed how `lastKnownFileType` and `explicitFileType` were generated across platforms [115](https://github.com/yonaskolb/XcodeGen/pull/115) @toshi0383
- Removed a few cases of project diffs when opening the project in Xcode @yonaskolb
- Fixed Swift not being embedded by default in watch apps @yonaskolb
2018-01-19 15:47:20 +03:00
#### Changed
2018-01-30 05:14:31 +03:00
- Change arrays to strings in setting presets [218](https://github.com/yonaskolb/XcodeGen/pull/218) @allu22
2018-01-30 05:19:33 +03:00
- Updated to xcproj 4.0 [227](https://github.com/yonaskolb/XcodeGen/pull/227)
2018-01-30 09:47:21 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.5.0...1.6.0)
2017-12-27 12:54:14 +03:00
## 1.5.0
#### Added
2018-01-30 05:14:31 +03:00
- added support for `gatherCoverageData` flag in target schemes [170](https://github.com/yonaskolb/XcodeGen/pull/170) @alexruperez
- added support for `commandLineOptions` in target schemes [172](https://github.com/yonaskolb/XcodeGen/pull/172) @rahul-malik
- added Project spec as a SwiftPM library for reuse in other projects [164](https://github.com/yonaskolb/XcodeGen/pull/164) @soffes
- added `implicit` option for framework dependencies [166](https://github.com/yonaskolb/XcodeGen/pull/166) @sbarow
- added `--quite` option to CLI [167](https://github.com/yonaskolb/XcodeGen/pull/167) @soffes
- can now print version with `-v` in addition to `--version` [174](https://github.com/yonaskolb/XcodeGen/pull/174) @kastiglione
- added support for legacy targets [175](https://github.com/yonaskolb/XcodeGen/pull/175) @bkase
- added support for indentation options [190](https://github.com/yonaskolb/XcodeGen/pull/190) @bkase
- added source excludes [135](https://github.com/yonaskolb/XcodeGen/pull/135) [161](https://github.com/yonaskolb/XcodeGen/pull/161) [190](https://github.com/yonaskolb/XcodeGen/pull/190) @peymankh @
- added `options.xcodeVersion` [197](https://github.com/yonaskolb/XcodeGen/pull/197) @yonaskolb @peymankh
- add test targets to Scheme [195](https://github.com/yonaskolb/XcodeGen/pull/195) @vhbit
- add option to make a source file optional incase it will be generated later [200](https://github.com/yonaskolb/XcodeGen/pull/200) @vhbit
- finalize Scheme spec [201](https://github.com/yonaskolb/XcodeGen/pull/201) @yonaskolb
- added `buildPhase` setting to target source for overriding the guessed build phase of files [206](https://github.com/yonaskolb/XcodeGen/pull/206) @yonaskolb
- added `deploymentTarget` setting to project and target [205](https://github.com/yonaskolb/XcodeGen/pull/205) @yonaskolb
2017-12-19 11:07:37 +03:00
#### Changed
- huge performance improvements when writing the project file due to changes in xcproj
- updated dependencies
- minor logging changes
2017-12-26 20:00:06 +03:00
- updated Project Spec documentation
2018-01-30 05:14:31 +03:00
- scan for `Info.plist` lazely [194](https://github.com/yonaskolb/XcodeGen/pull/194) @kastiglione
- change setting presets so that icon settings only get applied to application targets [204](https://github.com/yonaskolb/XcodeGen/pull/204) @yonaskolb
- changed scheme build targets format [203](https://github.com/yonaskolb/XcodeGen/pull/203) @yonaskolb
- when specifying a `--spec` argument, the default for the `--project` path is now the directory containing the spec [211](https://github.com/yonaskolb/XcodeGen/pull/211) @yonaskolb
2017-12-19 11:07:37 +03:00
#### Fixed
2018-01-30 05:14:31 +03:00
- fixed shell scripts escaping quotes twice [186](https://github.com/yonaskolb/XcodeGen/pull/186) @allu22
- fixed `createIntermediateGroups` when using a relative spec path [184](https://github.com/yonaskolb/XcodeGen/pull/184) @kastiglione
- fixed command line arguments for test and profile from being overridden [199](https://github.com/yonaskolb/XcodeGen/pull/199) @vhbit
2017-12-26 20:00:06 +03:00
- fixed files deep within a hierarchy having the path for a name
2018-01-30 05:14:31 +03:00
- fixed source files from being duplicated if referenced with different casing [212](https://github.com/yonaskolb/XcodeGen/pull/212) @yonaskolb
- fixed target product name not being written. Fixes integration with R.swift [213](https://github.com/yonaskolb/XcodeGen/pull/213) @yonaskolb
2017-12-27 12:54:14 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.4.0...1.5.0)
2017-11-15 15:56:55 +03:00
## 1.4.0
2017-11-12 23:57:27 +03:00
#### Added
2018-01-30 05:14:31 +03:00
- added `--version` flag [112](https://github.com/yonaskolb/XcodeGen/pull/112) @mironal
- added support for adding individual file sources [106](https://github.com/yonaskolb/XcodeGen/pull/106) [133](https://github.com/yonaskolb/XcodeGen/pull/133) [142](https://github.com/yonaskolb/XcodeGen/pull/142) [139](https://github.com/yonaskolb/XcodeGen/pull/139) @bkase
- added source compiler flag support [121](https://github.com/yonaskolb/XcodeGen/pull/121) @bkase
- added `ProjectSpec.options.createIntermediateGroups` [108](https://github.com/yonaskolb/XcodeGen/pull/108) @bkase
- added better json loading support [127](https://github.com/yonaskolb/XcodeGen/pull/127) @rahul-malik
- added source `name` for customizing names of source directories and file [146](https://github.com/yonaskolb/XcodeGen/pull/146) @yonaskolb
- added folder reference source support via a new `type` property [151](https://github.com/yonaskolb/XcodeGen/pull/151) @yonaskolb
- added `ProjectSpec.options.developmentLanguage` [155](https://github.com/yonaskolb/XcodeGen/pull/155) @yonaskolb
2017-11-12 23:57:27 +03:00
#### Changed
2018-01-30 05:14:31 +03:00
- updated to xcproj 1.2.0 [113](https://github.com/yonaskolb/XcodeGen/pull/113) @yonaskolb
- build settings from presets will be removed if they are provided in `xcconfig` files [77](https://github.com/yonaskolb/XcodeGen/pull/77) @toshi0383
- all files and groups are sorted by type and then alphabetically [144](https://github.com/yonaskolb/XcodeGen/pull/144) @yonaskolb
- target sources can now have an expanded form [119](https://github.com/yonaskolb/XcodeGen/pull/119) @yonaskolb
- empty build phases are now not generated [149](https://github.com/yonaskolb/XcodeGen/pull/149) @yonaskolb
- make UUIDs more deterministic [154](https://github.com/yonaskolb/XcodeGen/pull/154) @yonaskolb
2017-11-12 23:57:27 +03:00
2017-11-15 15:56:55 +03:00
#### Fixed
2018-01-30 05:14:31 +03:00
- only add headers to frameworks and libraries [118](https://github.com/yonaskolb/XcodeGen/pull/118) @ryohey
- fixed localized files with the same name [126](https://github.com/yonaskolb/XcodeGen/pull/126) @ryohey
- fix intermediate sources [144](https://github.com/yonaskolb/XcodeGen/pull/144) @yonaskolb
- fix cyclical target dependencies not working [147](https://github.com/yonaskolb/XcodeGen/pull/147) @yonaskolb
- fix directory bundles not being added properly when referenced directly [148](https://github.com/yonaskolb/XcodeGen/pull/1478) @yonaskolb
- made `mm`, `c` and `S` file be parsed as source files [120](https://github.com/yonaskolb/XcodeGen/pull/120) [125](https://github.com/yonaskolb/XcodeGen/pull/125) [138](https://github.com/yonaskolb/XcodeGen/pull/138) @bkase @enmiller
- fix the generation of localized variant groups if there is no `Base.lproj` [157](https://github.com/yonaskolb/XcodeGen/pull/157) @ryohey
- all localizations found are added to a projects known regions [157](https://github.com/yonaskolb/XcodeGen/pull/157) @ryohey
2017-11-12 23:57:27 +03:00
#### Internal
- refactoring
- more tests
- added release scripts
2017-11-15 15:56:55 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.3.0...1.4.0)
2017-10-27 01:31:14 +03:00
## 1.3.0
2017-10-30 16:18:26 +03:00
#### Added
2018-01-30 05:14:31 +03:00
- generate output files for Carthage copy-frameworks script [84](https://github.com/yonaskolb/XcodeGen/pull/84) @mironal
- added options.settingPreset to choose which setting presets get applied [100](https://github.com/yonaskolb/XcodeGen/pull/101) @yonaskolb
- added `link` option for target dependencies [109](https://github.com/yonaskolb/XcodeGen/pull/109) @keith
2017-10-20 15:09:31 +03:00
2017-10-30 16:18:26 +03:00
#### Changed
2018-01-30 05:14:31 +03:00
- updated to xcproj 0.4.1 [85](https://github.com/yonaskolb/XcodeGen/pull/85) @enmiller
- don't copy base settings if config type has been left out [100](https://github.com/yonaskolb/XcodeGen/pull/100) @yonaskolb
- generate localised files under a single variant group [70](https://github.com/yonaskolb/XcodeGen/pull/70) @ryohey
- don't apply common project settings to configs with no type [100](https://github.com/yonaskolb/XcodeGen/pull/100) @yonaskolb
- config references in settings can now be partially matched and are case insensitive [111](https://github.com/yonaskolb/XcodeGen/pull/111) @yonaskolb
2017-10-27 01:31:14 +03:00
- other small internal changes @yonaskolb
2017-10-20 15:09:31 +03:00
2017-10-30 16:18:26 +03:00
#### Fixed
2018-01-30 05:14:31 +03:00
- embed Carthage frameworks for macOS [82](https://github.com/yonaskolb/XcodeGen/pull/82) @toshi0383
- fixed copying of watchOS app resources [96](https://github.com/yonaskolb/XcodeGen/pull/96) @keith
- automatically ignore more file types for a target's sources (entitlements, gpx, apns) [94](https://github.com/yonaskolb/XcodeGen/pull/94) @keith
- change make build to a PHONY task [98](https://github.com/yonaskolb/XcodeGen/pull/98) @keith
- allow copying of resource files from dependant targets [95](https://github.com/yonaskolb/XcodeGen/pull/95) @keith
- fixed library linking [93](https://github.com/yonaskolb/XcodeGen/pull/93) @keith
- fixed duplicate carthage file references [107](https://github.com/yonaskolb/XcodeGen/pull/107) @yonaskolb
2017-10-27 01:35:29 +03:00
- an error is now shown if you try and generate a target scheme and don't have debug and release builds @yonaskolb
2017-10-20 15:09:31 +03:00
2017-10-27 01:31:14 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.2.4...1.3.0)
2017-10-20 15:09:31 +03:00
2017-10-02 02:45:50 +03:00
## 1.2.4
2017-10-30 16:18:26 +03:00
#### Fixed
2017-10-02 02:45:50 +03:00
- setting presets only apply `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: YES` to applications
- don't add carthage dependency to `copy-frameworks` script if `embed: false`
- sort group children on APFS
2017-10-30 16:18:26 +03:00
#### Changed
2017-10-02 02:45:50 +03:00
- update to xcproj 0.3.0
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.2.3...1.2.4)
2017-09-29 18:54:31 +03:00
## 1.2.3
2017-10-30 16:18:26 +03:00
#### Fixed
2018-01-30 05:14:31 +03:00
- Fixed wrong carthage directory name reference for macOS [74](https://github.com/yonaskolb/XcodeGen/pull/74) @toshi0383
- Removed unnecessary `carthage copy-frameworks` for macOS app target [76](https://github.com/yonaskolb/XcodeGen/pull/76) @toshi0383
2017-09-29 18:54:31 +03:00
- Added some missing default settings for framework targets. `SKIP_INSTALL: YES` fixes archiving
- Filter out nulls from setting presets if specifying an empty string
2017-09-29 18:54:31 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.2.2...1.2.3)
2017-09-28 22:42:28 +03:00
## 1.2.2
2017-09-28 22:30:47 +03:00
2017-10-30 16:18:26 +03:00
#### Added
2017-09-28 22:30:47 +03:00
- automatically set `TEST_TARGET_NAME` on UI test targets if one of the dependencies is an application target
2017-10-30 16:18:26 +03:00
#### Fixed
2017-09-28 22:30:47 +03:00
- set `DYLIB_INSTALL_NAME_BASE` to `@rpath` in framework target presets
2017-09-28 22:42:28 +03:00
- fixed tvOS launch screen setting. `ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME` is now `LaunchImage` not `tvOS LaunchImage`
2017-09-28 22:30:47 +03:00
2017-09-28 22:42:28 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.2.0...1.2.2)
2017-09-28 22:30:47 +03:00
2017-09-26 22:56:47 +03:00
## 1.2.0
2017-10-30 16:18:26 +03:00
#### Added
2017-09-25 11:53:04 +03:00
- `include` now supports a single string as well as a list
- add support setting xcconfig files on a project with `configFiles` [PR#64](https://github.com/yonaskolb/XcodeGen/pull/64)
- add `fileGroups` to project spec for adding groups of files that aren't target source files [PR#64](https://github.com/yonaskolb/XcodeGen/pull/64)
2017-09-26 22:56:47 +03:00
- better output (more info, emoji, colors)
- add `options.bundleIdPrefix` for autogenerating `PRODUCT_BUNDLE_IDENTIFIER` [PR#67](https://github.com/yonaskolb/XcodeGen/pull/67)
- add `:REPLACE` syntax when merging `include` [PR#68](https://github.com/yonaskolb/XcodeGen/pull/68)
- add `mint` installation support
2017-09-25 11:53:04 +03:00
2017-10-30 16:18:26 +03:00
#### Fixed
2017-09-26 22:56:47 +03:00
- fixed homebrew installation
2017-09-25 11:53:04 +03:00
- fixed target xcconfig files not working via `configFiles` [PR#64](https://github.com/yonaskolb/XcodeGen/pull/64)
- look for `INFOPLIST_FILE` setting in project and xcconfig files before adding it automatically. It was just looking in target settings before [PR#64](https://github.com/yonaskolb/XcodeGen/pull/64)
2017-09-26 22:56:47 +03:00
- exit with error on failure
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.1.0...1.2.0)
2017-09-25 11:53:04 +03:00
2017-09-20 17:14:15 +03:00
## 1.1.0
2017-10-30 16:18:26 +03:00
#### Changed
2017-09-20 17:14:15 +03:00
- set project version to Xcode 9 - `LastUpgradeVersion` attribute to `0900`
- set default Swift version to 4.0 - `SWIFT_VERSION` build setting to `4.0`
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.0.1...1.1.0)
2017-10-30 16:18:26 +03:00
### 1.0.1
2017-09-19 13:36:03 +03:00
### Fixed
- fixed incorrect default build script shell path
2017-09-26 22:56:47 +03:00
- fixed install scripts
2017-09-19 13:36:03 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/1.0.0...1.0.1)
2017-09-18 22:59:15 +03:00
## 1.0.0
2017-10-30 16:18:26 +03:00
#### Added
2017-09-18 22:59:15 +03:00
- Swift 4 support [PR#52](https://github.com/yonaskolb/XcodeGen/pull/52)
- Support for C and C++ files [PR#48](https://github.com/yonaskolb/XcodeGen/pull/48) by @antoniocasero
- Xcode 9 default settings
2017-10-30 16:18:26 +03:00
#### Fixed
2017-09-18 22:59:15 +03:00
- fixed empty string in YAML not being parsed properly [PR#50](https://github.com/yonaskolb/XcodeGen/pull/50) by @antoniocasero
2017-10-30 16:18:26 +03:00
#### Changed
2017-09-18 22:59:15 +03:00
- updated to xcodeproj 0.1.2 [PR#56](https://github.com/yonaskolb/XcodeGen/pull/56)
2017-09-26 22:56:47 +03:00
- **BREAKING**: changed target definitions from list to map [PR#54](https://github.com/yonaskolb/XcodeGen/pull/54) See [Project Spec](docs/ProjectSpec.md)
2017-09-18 22:59:15 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.6.1...1.0.0)
2017-08-30 18:39:38 +03:00
## 0.6.1
2017-10-30 16:18:26 +03:00
#### Added
2017-08-30 18:39:38 +03:00
- Ability to set PBXProject attributes [PR#45](https://github.com/yonaskolb/XcodeGen/pull/45)
2017-10-30 16:18:26 +03:00
#### Changed
2017-08-30 18:39:38 +03:00
- Don't bother linking target frameworks for target dependencies.
- Move code signing default settings from all iOS targets to iOS application targets, via Product + Platform setting preset files [PR#46](https://github.com/yonaskolb/XcodeGen/pull/46)
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.6.0...0.6.1)
2017-08-30 16:06:12 +03:00
## 0.6.0
2017-10-30 16:18:26 +03:00
#### Added
2017-08-30 16:06:12 +03:00
- Allow a project spec to include other project specs [PR#44](https://github.com/yonaskolb/XcodeGen/pull/44)
2017-10-30 16:18:26 +03:00
#### Changed
2017-08-30 16:06:12 +03:00
- Changed default spec path to `project.yml`
- Changed default project directory to the current directory instead of the spec file's directory
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.5.1...0.6.0)
2017-08-28 20:09:13 +03:00
## 0.5.1
2017-10-30 16:18:26 +03:00
#### Fixed
2017-08-28 20:09:13 +03:00
- Fix embedded framework dependencies
- Add `CODE_SIGN_IDENTITY[sdk=iphoneos*]` back to iOS targets
- Fix build scripts with "" generating invalid projects [PR#43](https://github.com/yonaskolb/XcodeGen/pull/43)
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.5.0...0.5.1)
2017-08-27 13:42:01 +03:00
## 0.5.0
2017-10-30 16:18:26 +03:00
#### Added
2017-08-27 17:44:50 +03:00
- Added multi platform targets [PR#35](https://github.com/yonaskolb/XcodeGen/pull/35)
- Automatically generate platform specific `FRAMEWORK_SEARCH_PATHS` for Carthage dependencies [PR#38](https://github.com/yonaskolb/XcodeGen/pull/38)
- Automatically find Info.plist and set `INFOPLIST_FILE` build setting if it doesn't exist on a target [PR#40](https://github.com/yonaskolb/XcodeGen/pull/40)
- Add options for controlling embedding of dependencies [PR#37](https://github.com/yonaskolb/XcodeGen/pull/37)
2017-08-27 13:42:01 +03:00
2017-10-30 16:18:26 +03:00
#### Fixed
2017-08-27 13:42:01 +03:00
- Fixed localized files not being added to a target's resources
2017-10-30 16:18:26 +03:00
#### Changed
2017-08-27 13:42:01 +03:00
- Renamed Setting Presets to Setting Groups
- Carthage group is now created under top level Frameworks group
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.4.0...0.5.0)
2017-08-25 17:44:45 +03:00
## 0.4.0
2017-10-30 16:18:26 +03:00
##### Added
2017-08-27 17:44:50 +03:00
- Homebrew support [PR#16](https://github.com/yonaskolb/XcodeGen/pull/16) by @pepibumur
- Added `runOnlyWhenInstalling` to build scripts [PR#32](https://github.com/yonaskolb/XcodeGen/pull/32)
- Added `carthageBuildPath` option [PR#34](https://github.com/yonaskolb/XcodeGen/pull/34)
2017-08-25 17:44:45 +03:00
2017-10-30 16:18:26 +03:00
#### Fixed
2017-08-25 17:44:45 +03:00
- Fixed installations of XcodeGen not applying build setting presets for configs, products, and platforms, due to missing resources
2017-10-30 16:18:26 +03:00
#### Changed
2017-08-27 17:44:50 +03:00
- Upgraded to https://github.com/swift-xcode/xcodeproj 0.1.1 [PR#33](https://github.com/yonaskolb/XcodeGen/pull/33)
2017-08-25 17:44:45 +03:00
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.3.0...0.4.0)
2017-08-04 11:17:08 +03:00
## 0.3.0 - Extensions and Scheme Tests
2017-10-30 16:18:26 +03:00
#### Added
2017-08-27 17:44:50 +03:00
- Support for app extension dependencies, using the same `target: MyExtension` syntax [PR#19](https://github.com/yonaskolb/XcodeGen/pull/19)
- Added test targets to generated target schemes via `Target.scheme.testTargets` [PR#21](https://github.com/yonaskolb/XcodeGen/pull/21)
2017-08-04 11:17:08 +03:00
2017-10-30 16:18:26 +03:00
#### Changed
2017-08-04 11:17:08 +03:00
- Updated xcodeproj to 0.0.9
2017-10-30 16:18:26 +03:00
#### Fixed
2017-08-04 11:17:08 +03:00
- Fixed watch and messages apps not copying carthage dependencies
2017-10-30 16:18:26 +03:00
#### Breaking changes
2017-08-04 11:17:08 +03:00
- Changed `Target.generatedSchemes` to `Target.scheme.configVariants`
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.2...0.3.0)
## 0.2.0 - Build scripts
2017-08-02 22:26:42 +03:00
2017-10-30 16:18:26 +03:00
#### Added
2017-08-27 17:44:50 +03:00
- Added Target build scripts with `Target.prebuildScripts` and `Target.postbuildScripts` [PR#17](https://github.com/yonaskolb/XcodeGen/pull/17)
2017-08-02 22:26:42 +03:00
- Support for absolute paths in target sources, run script files, and config files
- Add validation for incorrect `Target.configFiles`
2017-10-30 16:18:26 +03:00
#### Fixed
2017-08-04 11:17:08 +03:00
- Fixed some project objects sometimes having duplicate ids
[Commits](https://github.com/yonaskolb/XcodeGen/compare/0.1...0.2)
2017-08-02 22:26:42 +03:00
## 0.1.0
First official release