All shared code of the fastlane tools is stored in this repository.
Get in contact with the developer on Twitter: @FastlaneTools
This gem contains all shared classes and code:
- Checking for updates for a specific gem and showing an update message
- All output of all tools with different logging levels
- Finding of the current Xcode and iTunes Transporter path
- More helper methods and classes
You can hide the inline changelog by setting the FASTLANE_HIDE_CHANGELOG
environment variable
- To hide timestamps in each row, set the
FASTLANE_HIDE_TIMESTAMP
environment variable to true. - To disable output formatting, set the
FASTLANE_DISABLE_OUTPUT_FORMAT
environment variable to true. - To prevent fastlane from printing the plugins table on every lane run, set the
FASTLANE_HIDE_PLUGINS_TABLE
environment variable to true.
Instead of using puts
, raise
and gets
, please use the helper class UI
across all fastlane tools:
UI.message("Neutral message (usually white)")
UI.success("Successfully finished processing (usually green)")
UI.error("Wahaha, what's going on here! (usually red)")
UI.important("Make sure to use Windows (usually yellow)")
UI.header("Inputs") # a big box
name = UI.input("What's your name? ")
if UI.confirm("Are you '#{name}'?")
UI.success("Oh yeah")
else
UI.error("Wups, invalid")
end
UI.password("Your password please: ") # password inputs are hidden
###### A "Dropdown" for the user
project = UI.select("Select your project: ", ["Test Project", "Test Workspace"])
UI.success("Okay #{name}, you selected '#{project}'")
###### To run a command use
FastlaneCore::CommandExecutor.execute(command: "ls",
print_all: true,
error: proc do |error_output|
# handle error here
end)
###### or if you just want to receive a simple value use this only if the command doesn't take long
diff = Helper.backticks("git diff")
###### fastlane "crash" because of a user error everything that is caused by the user and is not unexpected
UI.user_error!("You don't have a project in the current directory")
###### an actual crash when something unexpected happened
UI.crash!("Network timeout")
###### a deprecation message
UI.deprecated("The '--key' parameter is deprecated")
Help us keep fastlane open and inclusive. Please read and follow our Code of Conduct.
This project is licensed under the terms of the MIT license. See the LICENSE file.
This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.