XcodeGen/CHANGELOG.md
2018-01-19 23:17:20 +10:30

16 KiB

Change Log

Master

Added

  • Added options.disabledValidations including missingConfigs to disable project validation errors #220 @keith
  • Generate UI Test Target Attributes #221 @anreitersimon

Fixed

  • Filter out duplicate source files #217 @allu22

Changed

  • Change arrays to strings in setting presets #218 @allu22

1.5.0

Added

  • added support for gatherCoverageData flag in target schemes #170 @alexruperez
  • added support for commandLineOptions in target schemes #172 @rahul-malik
  • added Project spec as a SwiftPM library for reuse in other projects #164 @soffes
  • added implicit option for framework dependencies #166 @sbarow
  • added --quite option to CLI #167 @soffes
  • can now print version with -v in addition to --version #174 @kastiglione
  • added support for legacy targets #175 @bkase
  • added support for indentation options #190 @bkase
  • added source excludes #135 #161 #190 @peymankh @
  • added options.xcodeVersion #197 @yonaskolb @peymankh
  • add test targets to Scheme #195 @vhbit
  • add option to make a source file optional incase it will be generated later #200 @vhbit
  • finalize Scheme spec #201 @yonaskolb
  • added buildPhase setting to target source for overriding the guessed build phase of files #206 @yonaskolb
  • added deploymentTarget setting to project and target #205 @yonaskolb

Changed

  • huge performance improvements when writing the project file due to changes in xcproj
  • updated dependencies
  • minor logging changes
  • updated Project Spec documentation
  • scan for Info.plist lazely #194 @kastiglione
  • change setting presets so that icon settings only get applied to application targets #204 @yonaskolb
  • changed scheme build targets format #203 @yonaskolb
  • when specifying a --spec argument, the default for the --project path is now the directory containing the spec #211 @yonaskolb

Fixed

  • fixed shell scripts escaping quotes twice #186 @allu22
  • fixed createIntermediateGroups when using a relative spec path #184 @kastiglione
  • fixed command line arguments for test and profile from being overridden #199 @vhbit
  • fixed files deep within a hierarchy having the path for a name
  • fixed source files from being duplicated if referenced with different casing #212 @yonaskolb
  • fixed target product name not being written. Fixes integration with R.swift #213 @yonaskolb

Commits

1.4.0

Added

  • added --version flag #112 @mironal
  • added support for adding individual file sources #106 #133 #142 #139 @bkase
  • added source compiler flag support #121 @bkase
  • added ProjectSpec.options.createIntermediateGroups #108 @bkase
  • added better json loading support #127 @rahul-malik
  • added source name for customizing names of source directories and file #146 @yonaskolb
  • added folder reference source support via a new type property #151 @yonaskolb
  • added ProjectSpec.options.developmentLanguage #155 @yonaskolb

Changed

  • updated to xcproj 1.2.0 #113 @yonaskolb
  • build settings from presets will be removed if they are provided in xcconfig files #77 @toshi0383
  • all files and groups are sorted by type and then alphabetically #144 @yonaskolb
  • target sources can now have an expanded form #119 @yonaskolb
  • empty build phases are now not generated #149 @yonaskolb
  • make UUIDs more deterministic #154 @yonaskolb

Fixed

  • only add headers to frameworks and libraries #118 @ryohey
  • fixed localized files with the same name #126 @ryohey
  • fix intermediate sources #144 @yonaskolb
  • fix cyclical target dependencies not working #147 @yonaskolb
  • fix directory bundles not being added properly when referenced directly #148 @yonaskolb
  • made mm, c and S file be parsed as source files #120 #125 #138 @bkase @enmiller
  • fix the generation of localized variant groups if there is no Base.lproj #157 @ryohey
  • all localizations found are added to a projects known regions #157 @ryohey

Internal

  • refactoring
  • more tests
  • added release scripts

Commits

1.3.0

Added

  • generate output files for Carthage copy-frameworks script #84 @mironal
  • added options.settingPreset to choose which setting presets get applied #100 @yonaskolb
  • added link option for target dependencies #109 @keith

Changed

  • updated to xcproj 0.4.1 #85 @enmiller
  • don't copy base settings if config type has been left out #100 @yonaskolb
  • generate localised files under a single variant group #70 @ryohey
  • don't apply common project settings to configs with no type #100 @yonaskolb
  • config references in settings can now be partially matched and are case insensitive #111 @yonaskolb
  • other small internal changes @yonaskolb

Fixed

  • embed Carthage frameworks for macOS #82 @toshi0383
  • fixed copying of watchOS app resources #96 @keith
  • automatically ignore more file types for a target's sources (entitlements, gpx, apns) #94 @keith
  • change make build to a PHONY task #98 @keith
  • allow copying of resource files from dependant targets #95 @keith
  • fixed library linking #93 @keith
  • fixed duplicate carthage file references #107 @yonaskolb
  • an error is now shown if you try and generate a target scheme and don't have debug and release builds @yonaskolb

Commits

1.2.4

Fixed

  • 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

Changed

  • update to xcproj 0.3.0

Commits

1.2.3

Fixed

  • Fixed wrong carthage directory name reference for macOS #74 @toshi0383
  • Removed unnecessary carthage copy-frameworks for macOS app target #76 @toshi0383
  • Added some missing default settings for framework targets. SKIP_INSTALL: YES fixes archiving
  • Filter out nulls from setting presets if specifying an empty string

Commits

1.2.2

Added

  • automatically set TEST_TARGET_NAME on UI test targets if one of the dependencies is an application target

Fixed

  • set DYLIB_INSTALL_NAME_BASE to @rpath in framework target presets
  • fixed tvOS launch screen setting. ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME is now LaunchImage not tvOS LaunchImage

Commits

1.2.0

Added

  • include now supports a single string as well as a list
  • add support setting xcconfig files on a project with configFiles PR#64
  • add fileGroups to project spec for adding groups of files that aren't target source files PR#64
  • better output (more info, emoji, colors)
  • add options.bundleIdPrefix for autogenerating PRODUCT_BUNDLE_IDENTIFIER PR#67
  • add :REPLACE syntax when merging include PR#68
  • add mint installation support

Fixed

  • fixed homebrew installation
  • fixed target xcconfig files not working via configFiles PR#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
  • exit with error on failure

Commits

1.1.0

Changed

  • 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

1.0.1

Fixed

  • fixed incorrect default build script shell path
  • fixed install scripts

Commits

1.0.0

Added

  • Swift 4 support PR#52
  • Support for C and C++ files PR#48 by @antoniocasero
  • Xcode 9 default settings

Fixed

  • fixed empty string in YAML not being parsed properly PR#50 by @antoniocasero

Changed

  • updated to xcodeproj 0.1.2 PR#56
  • BREAKING: changed target definitions from list to map PR#54 See Project Spec

Commits

0.6.1

Added

  • Ability to set PBXProject attributes PR#45

Changed

  • 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

Commits

0.6.0

Added

  • Allow a project spec to include other project specs PR#44

Changed

  • Changed default spec path to project.yml
  • Changed default project directory to the current directory instead of the spec file's directory

Commits

0.5.1

Fixed

  • Fix embedded framework dependencies
  • Add CODE_SIGN_IDENTITY[sdk=iphoneos*] back to iOS targets
  • Fix build scripts with "" generating invalid projects PR#43

Commits

0.5.0

Added

  • Added multi platform targets PR#35
  • Automatically generate platform specific FRAMEWORK_SEARCH_PATHS for Carthage dependencies PR#38
  • Automatically find Info.plist and set INFOPLIST_FILE build setting if it doesn't exist on a target PR#40
  • Add options for controlling embedding of dependencies PR#37

Fixed

  • Fixed localized files not being added to a target's resources

Changed

  • Renamed Setting Presets to Setting Groups
  • Carthage group is now created under top level Frameworks group

Commits

0.4.0

Added
  • Homebrew support PR#16 by @pepibumur
  • Added runOnlyWhenInstalling to build scripts PR#32
  • Added carthageBuildPath option PR#34

Fixed

  • Fixed installations of XcodeGen not applying build setting presets for configs, products, and platforms, due to missing resources

Changed

Commits

0.3.0 - Extensions and Scheme Tests

Added

  • Support for app extension dependencies, using the same target: MyExtension syntax PR#19
  • Added test targets to generated target schemes via Target.scheme.testTargets PR#21

Changed

  • Updated xcodeproj to 0.0.9

Fixed

  • Fixed watch and messages apps not copying carthage dependencies

Breaking changes

  • Changed Target.generatedSchemes to Target.scheme.configVariants

Commits

0.2.0 - Build scripts

Added

  • Added Target build scripts with Target.prebuildScripts and Target.postbuildScripts PR#17
  • Support for absolute paths in target sources, run script files, and config files
  • Add validation for incorrect Target.configFiles

Fixed

  • Fixed some project objects sometimes having duplicate ids

Commits

0.1.0

First official release