gradle xcodePlugin to build Mac and iOS projects
Current stable version is 0.9.14
0.9.14 supports Xcode 5, Xcode 6 and Xcode 6.1
Introduction: http://openbakery.org/gradle.php
Example: build.gradle
-
scheme - the xcode build scheme that should be used. If the scheme is set the configuration and target is ignored
default value: empty
-
workspace - the workspace file that should be used for the build.
default value: empty
-
configuration - the build configuration name that should be used (e.g. 'Debug', 'Release')
default value: 'Debug'
-
sdk - the SDK that should be used (e.g. 'iphonesimulator', 'iphoneos')
default value: 'iphonesimulator'
-
target - the xcode build target that should be used
default value: empty
-
signing - signing configuration that should be used when building for the device
-
identity - the signing identity e.g. 'iPhone Developer: Rene Piringer (AASDF1234)'
default value: empty
-
mobileProvisionURI - URI where the mobile provision profile is located that should be used when signing the app
default value: empty
-
certificateURI - Uri to the certificate that should be used to sign the app
default value: empty
-
certificatePassword - Password for the certificate file
default value: empty
-
keychainPassword - Password for the chain that is created
default value: "This_is_the_default_keychain_password"
-
keychain - Parameter to specify an existing keychain. If this parameters is set no keychain is created and also the certificate is not imported.
default value: empty
Note: Make sure that /usr/bin/codesign is allowed to access the certificate in the keychain that is needed to sign.
-
-
-
destination * - destination configuration, that is used for the unit test execution
default value: empty (When empty alls available simulators are used for the unit tests)
Note when building using the iPhoneSimulator: The destinations are verified if they already exists. If not then the destination is ignored for the unit test. If no valid destination is specified, then all available simulator destinations are used for the unit tests. Therefor you can specify destinations to limit on which simulator destinations the unit tests are performed. You also can specify a regular expression for the value and all available simulator devices are included that match these value: e.g. name = 'iPhone.*'
- platform - Platform, e.g. 'iOS' or 'OS X'
default value: empty
- name - Name of the destination device.
default value: empty
- arch - Architecture of the destination target
The arch can a single value e.g. 'i386' or a list of values e.g. [ 'armv7', 'armv7s' ]
default value: empty
-
additionalParameters - additional parameters for the xcodebuild. Here you can for example pass preprocessor definitions:
additionalParameters = "GCC_PREPROCESSOR_DEFINITIONS='TIME=" + System.currentTimeMillis() + "'"
.Also an array of parameters is excepted e.g. ["-xcconfig", "/path/to/the/xconfig" ]
default value: empty
-
bundleNameSuffix - String that should be appended to the generated app bundle. e.g. the default app bundle name is 'Demo.App'. When you set
bundleNameSuffix=-1.0.0
than the generated bundle is 'Demo-1.0.0.app'default value: empty
-
arch - Use the architecture specified by architecture when building each target. e.g. 'i386', 'armv6', 'armv7'
Also an array of parameters is possible e.g. ['armv7', 'arm64']
default value: empty
-
buildRoot - build root directory for the build output
default value: build
-
dstRoot - the distribution root directory
default value: 'build/dst'
-
objRoot - the object root directory
default value: 'build/obj'
-
symRoot - the sym directory. Here is where the app and ipa is generated
default value: 'build/sym'
-
sharedPrecompsDir
default value: 'build/shared'
-
infoPlist - override the Info.plist file that is configured in the xcode project file
default value: empty
-
version - set the xcode version that should be used if multiple versions of Xcode are installed. Here the build number must be specifed e.g. '5B1008' for Xcode 5.1.1. If this value is empty then the default version is used that is selected using 'xcode-select'
defaul value: empty
-
bundleIdentifier - If set it override the bundle identifier in the Info.plist (CFBundleIdentifier)
default value: empty
-
bundleIdentifierSuffix - If set it adds a suffix to the bundle identifier in the Info.plist (CFBundleIdentifier)
default value: empty
-
bundleDisplayName - If set it override the bundle display name in the Info.plist (CFBundleDisplayName)
default value: empty
-
bundleDisplayNameSuffix - If set it adds a suffix to the bundle display name in the Info.plist (CFBundleDisplayName)
default value: empty
-
version - sets the CFBundleVersion to the given version Note: version=2.3.4 and versionSuffix=-Suffix and versionPrefix=Prefix- results in 'Prefix-2.3.4-Suffix'
default value: empty
-
versionSuffix - adds the value to the CFBundleVersion e.g. 'CFBundleVersion=1.0.0' and 'versionSuffix=-Test' results in '1.0.0-Test'
default value: empty
-
versionPrefix - adds the value in front of the CFBundleVersion e.g. 'CFBundleVersion=1.0.0' and 'versionPrefix=Test-' results in 'Test-1.0.0'
default value: empty
-
shortVersionString - sets the CFBundleShortVersionString to the given shortVersionString
default value: empty
-
shortVersionStringSuffix - adds the value to the CFBundleVersion e.g. 'CFBundleShortVersionString=1.0.0' and 'versionSuffix=-Test' results in '1.0.0-Test'
default value: empty
-
shortVersionStringPrefix - adds the value in front of the CFBundleVersion e.g. 'CFBundleShortVersionString=1.0.0' and 'versionPrefix=Test-' results in 'Test-1.0.0'
default value: empty
-
commands - adds commands to modify the info plist that are excuted with the plistbuddy tool (see also 'man PlistBuddy' )
default value: empty
Example: This commands modify the URL scheme.
commands = [
'Delete CFBundleURLTypes:0:CFBundleURLSchemes',
'Add CFBundleURLTypes:0:CFBundleURLSchemes array',
'Add CFBundleURLTypes:0:CFBundleURLSchemes:0 string newscheme'
]
-
displayName - Title that should be used that is shown on the hockeykit site for the app. If the value is not set then the bundle identifier is used
default value: the CFBundleDisplayName from the Info.plist file is used
-
versionDirectoryName - subdirectory that should be used for the app.
default value: "0"
-
outputDirectory - directory where to store the files that are generated for the hockeykit distribution
default value "build/hockeykit";
-
notes - Release notes as HTML or Markdown for the build that is stored in a releasenotes.html.
default value: empty
-
apiToken - The TestFlight API Token (https://testflightapp.com/account/#api-token)
default value: empty
-
teamToken - The TestFlight Team Token (https://testflightapp.com/dashboard/team/edit/?next=/api/doc/)
default value: empty
-
notes - Release notes for the build
default value: "This build was uploaded using the gradle xcodePlugin"
-
outputDirectory - Output directory where the ipa an dSYM.zip is created
default value: "build/testflight"
-
distributionLists - Comma separated distribution list names which will receive access to the build
default value: empty
-
notifyDistributionList - notify permitted teammates to install the build
default value: false
-
replaceBuild - replace binary for an existing build if one is found with the same name/bundle version
default value: false
Note: see also https://testflightapp.com/api/doc/
-
apiToken - The HockeyApp API Token (see https://rink.hockeyapp.net/manage/auth_tokens )
default value: empty
-
appID - The HockeyApp App ID (see https://rink.hockeyapp.net/manage/dashboard and select the app)
default value: empty
-
outputDirectory - Optional, output directory where the ipa an dSYM.zip is created
default value: "build/hockeyapp"
-
notes - Release notes for the build
default value: "This build was uploaded using the gradle xcodePlugin"
-
status - Optional, download status (can only be set with full-access tokens):
default value: 2
-
notify - Optional, notify testers
default value: 1
-
notesType - Optional, type of release notes
default value: 1
-
apiToken - The DeployGate API Token (https://deploygate.com/settings)
default value: empty
-
userName - The DeployGate User Name (https://deploygate.com/settings)
default value: empty
-
message - Release notes for the build
default value: "This build was uploaded using the gradle xcodePlugin"
-
outputDirectory - Output directory where the ipa
default value: "build/deploygate"
Note: see also https://deploygate.com/docs/api
-
appName - You should specify this parameter when your appname does not match your target name. Default appname in XCode is $(TARGET_NAME). Do not specify .app here because it will be added automatically. If a different file ending than .app will be needed in future we will add a new parameter.
default value: empty
-
outputDirectory - The directory to output a ZIP file and release notes of the app.
default value: empty
Note: For coverage the the "Generate Test Coverage Files" in the project for the executed target must be set to Yes
-
exclude - Exclude data files that match this regular expression. e.g. '.*h$|.*UnitTests.*m$' excludes all headers and all *.m files from the UnitTests directory
default value: empty
-
outputFormat - Format of the generated output. Possible values are, xml or html. If not specified text file is generated
default value: empty
-
outputDirectory - Output directory for the results
default value: "build/coverage"