ExtraBuildPhase is a plugin for Xcode that was created to run SwiftLint, but is customizable by shell script.
Requirements
- Xcode 7.1 or later
- SwiftLint for default shell script
Installation
Xcode Plug-ins Locations are the following:
- Local System:
/Library/Application Support/Developer/Shared/Xcode/Plug-ins - User Home:
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
Using Installers
- Homebrew-Cask (User Home):
brew cask install extrabuildphase - Alcatraz (User Home)
- Installer package (Local System): ExtraBuildPhase-0.3.5.pkg
Note: Homebrew-Casks's install location has changed from Local System to User Home. If you have installed 0.3 or earlier with Homebrew-Cask, please remove ExtraBuildPhase.xcplugin manually from Local System.
Manual Install
- Download ExtraBuildPhase.xcplugin-0.3.5.zip
- Unzip it
- Copy
ExtraBuildPhase.xcpluginto either Xcode Plug-ins locations.
Build By Yourself
- Building the project with Xcode will install the plugin. (to User Home)
Restart Xcode after installing
Configuration
# Change shell script defaults write io.github.norio-nomura.ExtraBuildPhase shellScript -string ' if which swiftlint >/dev/null; then if [ -f .swiftlint.yml ]; then CONFIG="--config .swiftlint.yml" elif [ -f $HOME/.swiftlint.yml ]; then CONFIG="--config $HOME/.swiftlint.yml" fi swiftlint lint --quiet --use-script-input-files $CONFIG fi exit 0 # ignore result of swiftlint ' # Changes will be applied after "Product > Clean⇧⌘K" # Show environment variables in build log defaults write io.github.norio-nomura.ExtraBuildPhase showEnvVarsInLog -bool true # Run shell script not only on Xcode, but also xcodebuild. defaults write io.github.norio-nomura.ExtraBuildPhase isNotLimitedToXcode -bool true
Author
Norio Nomura
License
ExtraBuildPhase is available under the MIT license. See the LICENSE file for more info.