Releases: liftoffcli/liftoff
Releases · liftoffcli/liftoff
1.8.3: Xcode 10
This release adds support for Xcode 10, preventing a crash that would happen during project generation (Thanks, @AliSoftware!)
1.8.1: Dependencies seem important
Changes
- Bumped dependencies to their most recent versions to reduce warnings/collisions - Gordon Fontenot
1.8: Oh right there were other open pull requests
New Features
- Bundler is now listed as a dependency manager like CocoaPods and Carthage. This means you can enable or disable it the same way you would other dependency managers. It's still enabled by default. - Edward Loveall
Changes
- Bumped dependency versions to reduce warnings/collisions - Sabatino Masala
1.7: Still a thing!
New Features
- Now compatible with CocoaPods 1.0 - Mason Phillips
1.6: Better late than never
New Features
- Add Carthage support. You can now set the
dependency_managers
to one or
more dependency management systems. Right now, this supportscocoapods
and
carthage
. This also adds a--dependency-managers
flag to the cli
options. The--[no-]cocoapods
option will be removed in a future version
of Liftoff, and so should not be used going forward. Theuse_cocoapods
liftoffrc
key has also been removed. You will now see a deprecation
warning if you try to set this key. - Jake Craige - Define custom build configurations. You can now set a
build_configurations
key in yourliftoffrc
to define custom build configurations that can be
used elsewhere in yourliftoffrc
. These configurations need to be copies
of either therelease
ordebug
schemes. See theliftoffrc
man page for
more info. - Marcelo Fabri (Thanks to Mark
Adams) - Define custom schemes in your
liftoffrc.
By default, this isn't set, but
if you setschemes
in yourliftoffrc
, Liftoff will generate a scheme
with the specified actions. See theliftoffrc
man page for more info. -
Marcelo Fabri
Changes
bundle_version
now usesgit rev-list --count
instead ofgit rev-list | wc -l | tr -d ' '
- Giovanni Lodi- The default
TODO
andFIXME
script now ignores Carthage source files in
addition to CocoaPods source files. - Josh Steiner - Improve test target detection. We were previously just matching against the
word "Tests" instead of checking against the user-defined test target
name. - Gordon Fontenot (Thanks to Oliver Halligon)
Bug Fixes
- Unset
INSTALL_PATH
for projects. We previously had this set to nothing,
which caused problems where archiving an app would try to create a generic
archive instead of an iOS app archive - Marcelo Fabri (Thanks
to Jake Craige) - Storyboards and XIBs are now properly treated as resources. Previously, they
were added to Compile Sources, which could lead to crashes in some versions
of Xcode. - Marcelo Fabri
1.5.0
New Features
- Let users add arbitrary configuration to test targets. You can now add a
extra_test_config
key to yourliftoffrc
and have Liftoff perform custom
configuration for the test target. - Gordon Fontenot (Thanks
to Olivier Halligon) - Allow custom ordering of script phases. This adds an optional index to
script phases that Liftoff will use to determine where it should insert the
phase. This index defaults to -1. Note that this changes the format of the
run script build phases key and so is a breaking change from 1.4. - Juan
Pablo Civile (Thanks to Lode Vanhove) - Add the ability to provide a custom path from the command line. Liftoff will
now use this path as the root project folder if provided, defaulting to the
project name if it isn't provided. - Juan Pablo Civile
(Thanks to Tony DiPasquale) - Add new run script build phase to automatically update version and bundle
number using Git - Reda Lemeden - Users can now customize the deployment target in their
liftoffrc
- Lode
Vanhove - Liftoff will now automatically generate a settings bundle by default. If you
are using CocoaPods, it will also automatically add the acknowledgements
from your included pods. This can be disabled in your liftoffrc with the
enable_settings
key, or on the command line with the--[no]-settings
flag - Lode Vanhove - Customize the test target name with the new
test_target_name
key in your
liftoffrc
. This can also be set on the command line with the
--test-target-name
flag - Matt Oakes (Thanks to Dal
Rupnik)
Changes
- The format of the
run_script_phases
key has changed. If you have
overridden this key, you'll need to update to the new format. - Juan Pablo
Civile - The default
AppDelegate
template for Swift now has a standard header
comment. This keeps Liftoff's behavior in line with Xcode's. - Gordon
Fontenot - The default TODO and FIXME script will now find these comments in Swift
files - Kevin Xu - The
Resources
folder for the defaultobjc
template is now properly
nested in the main target directory - Gordon Fontenot - You can now use Liftoff's templating features with Podfiles - Lode
Vanhove - The default Podfile has been updated for CocoaPods 0.34.x - Keith
Smiley - The default
gitattributes
file has been updated so that*.strings
files
are now treated as text instead of as binary data - Lode
Vanhove
Bug Fixes
- Force UTF-8 encoding when normalizing company name. This fixes a possible
crash when using other locales. - Gordon Fontenot (Thanks to
Dal Rupnik) - Liftoff no longer prints the path to CocoaPods when checking to see if it's
installed - Lode Vanhove
1.4.1
1.4
New Features
- Add the ability to define multiple project templates. This feature allows
you to created named project templates inside your liftoffrc and then use
them by defining them as the default inside your liftoffrc, or by passing
their name on the command line. Be sure to check outliftoff(1)
and
liftoffrc(5)
for more info. By default, Liftoff comes with templates for
Objective-C (objc
) and Swift (swift
) projects. - Gordon
Fontenot - Add arbitrary configuration settings to liftoffrc. This lets you define an
arbitrary dictionary structure inside your liftoffrc to create default
configuration settings for projects. - Gordon Fontenot
(Thanks to Marshall Huss, Juan Pablo Civile,
and Keith Smiley) - Add default storyboard file. Liftoff will now generate an empty storyboard
file for use in the project. - Gordon Fontenot - Add support for the new Launch Screen xib files. Liftoff will now generate
an emptyLaunchScreen.xib
file and use it as the default launch screen
option. - Gordon Fontenot (lol recruiters) - Let users customize Xcode open command. This lets you override the default
command used to launch Xcode inside your liftoffrc. This means you can
default to opening Vim, AppCode, beta versions of Xcode, or even disable the
feature completely. - Gordon Fontenot (Thanks to
@asmod3us)
Changes
- Update objc default project template - Gordon Fontenot
- Simplify the status output. Liftoff no longer prints every file/directory it
touches. Instead, it confirms that it's using the designated template. -
Gordon Fontenot - Rename Info.plist template. This is to keep Liftoff's defaults in line with
Xcode's. This template is now simply namedInfo.plist
- Gordon
Fontenot - Bump deployment target to 8.0. Welcome to the future. - Gordon
Fontenot
Bug Fixes
- OS 10.10 support. - Gordon Fontenot
1.3
New Features
- Install arbitrary template files in the project directory. You can use the
newtemplates
key in.liftoffrc
to define arbitrary templates that
should be installed in the project directory. Liftoff will install these
templates relative to the project's root. - Gordon Fontenot
(Thanks to James Frost) - Add Travis configuration by default. Liftoff will now generate the template
files required for Travis to work out of the box. This can be disabled by
overriding the templates we install by default - Gordon
Fontenot - Add
setup
,test
, andREADME
templates to the project. - Gordon
Fontenot
Changes
- Generated scheme is now shared. Previously, Xcode was creating a private
scheme after the project was opened for the first time. We are now creating
this scheme ourselves, and making it shared. - Gordon
Fontenot (Thanks to Mark Adams) - Add OHHTTPStubs as a default testing dependency - Gordon
Fontenot - Add documentation hint to default Podfile. This is intended to solve some
confusion about where to add new pods after initial installation - Gordon
Fontenot (Thanks to Mark Flowers)
Bug Fixes
- Don't skip installation for app targets. Previously, we were setting
SKIP_INSTALLATION
toYES
, which caused the Archive action to fail
silently. This change brings us back in line with Xcode's default behavior.
1.2
New Features
- Add command line flags. You can now pass a set of flags to the
liftoff
executable to override specific configurations at run time - JP
Simard - Add
strict_prompts
option. This configuration option and the corresponding
--[no-]strict-prompts
command line flag tellliftoff
to only prompt you
for options that don't have default values set. This allows you to set values
at run time and skip the prompt altogether. - JP Simard - Add configuration for setting up Run Script phases. This replaces the
install_todo_script
configuration key with a much more flexible
run_script_phases
key. By overriding this key, you can install any
arbitrary script phases as long as you're providing a template for them. - Reluctantly allow the use of tabs for indentation. Even though my conscience
protested, we've added ause_tabs
key to the configuration. Enabling this
will configure the project to use tabs instead of spaces. Note that this
doesn't change the spacing in the default templates, so if you override this
you will probably want to override those as well. - Gordon
Fontenot (Thanks to Magnus Ottosson)
Changes
- Enable some more warnings by default. - Gordon Fontenot
- Handle key deprecations a bit more gracefully. - Gordon
Fontenot - Stop treating all plists as though they are the Info.plist. Previously, any
plist that was added as a template was being treated as though it was the
Info.plist for that target. We're now being more explicit about matching that
file, and linking all other plists properly. - Gordon Fontenot
(Thanks to @mattyohe)
Bug Fixes
- Set the deployment target at the project level. This mimics the behavior
when creating a new project with Xcode. - Gordon Fontenot