gradle xcodePlugin to build Mac and iOS projects
Current stable version is 0.9.11
0.9.11 supports both Xcode 5 and Xcode 6 (beta)
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
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
default value: empty
- platform - Platform, e.g. 'iOS' or 'OS X'
default value: empty
- name - Name of the destination device. Needed for iOS builds
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'
default value: empty
NOTE: when scheme and workspace is set and also the sdk value is 'iphonesimulator' that the arch is set per default to the value 'i386', otherwise a simulator build fails
-
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
-
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
-
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"