Skip to content

Latest commit

 

History

History
417 lines (218 loc) · 12.4 KB

Parameters.md

File metadata and controls

417 lines (218 loc) · 12.4 KB

Parameter Description

xcodebuild Parameters

  • 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: '*.xcworkspace' that was found in the project directory or empty if not found

  • 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

  • ipaFileName - a custom name for the generated ipa file

    default value: the applicaiton name is used if no ipaFileName is given

Sign Settings

  • signing - signing configuration that should be used when building for the device

  • identity - the signing identity e.g. 'iPhone Developer: Rene Piringer (AASDF1234)'. This parameter is optional and only needed if you have more then one identity in the keychain. This is only the case if the keychain parameter is set, and the keychain is not created during the build process.

    default value: empty

  • mobileProvisionURI - URI where the mobile provision profile is located that should be used when signing the app. You can also specify multiple provisining profiles as array when you have an app exenstion e.g. [ 'file:///first.mobileprovision', 'file:///second.mobileprovision']

    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.

  • timeout - A custom timeout in seconds before the keychain automatically locks. If your build take longer than 5 minutes then set this value so that the keychain remains accessible for signing.

    default value: empty (= 300 seconds)

Unit Test Settings

  • 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

Other Settings

  • 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

  • derivedDataPath - the derived data path that should be used

    default value: 'build/derivedData'

  • 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 you can set the version with '6.1' that selects 6.1 or 6.1.x if present. Or you can use the build number 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

  • environment - pass environment variable to xcodebuild

Info plist Parameters:

  • 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

  • bundleName - If set it override the bundle name in the Info.plist (CFBundleName)

    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'
	]

Appstore Parameters:

  • username - Your Apple ID

    default value: empty

  • passoword - The password for your Apple ID

    default value: empty

HockeyKit Parameters:

  • 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

HockeyApp Parameters

DeployGate Parameters

  • 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

Crashlytics Parameters

  • apiKey - The Crashlytics API Key (https://www.crashlytics.com/settings/organizations)

    default value: empty

  • buildSecret - The Crashlytics Build Secret (https://www.crashlytics.com/settings/organizations)

    default value: empty

  • submitPath - Path to the crashlytics submit command (relative to the project dir)

    default value: "Crashlytics.framework/submit"

  • emails - List of email addresses of users that get added as testers to the new build

    default value: empty

  • groupAliases - List of group aliases from the web dashboard

    default value: empty

  • notesPath - Path to a .txt file containing notes for the beta (relative to the project dir)

    default value: empty

  • notifications - Boolean value that enables/disables email notification to testers

    default value: true

Coverage

GCovr is used for coverage. Make your you have enabled the code coverage support in xcode (See https://developer.apple.com/library/ios/qa/qa1514/_index.html)

  • outputFormat - The coverage output format: can be text, xml or html

    default value: empty - Creates text summary

  • exclude - Files to exclude for the coverage report as regular expresssion: e.g. '.*h$|.*UnitTests.*m$'

OCLint Parameters

oclint {
	rules = [
		"LINT_LONG_LINE=300",
		"LINT_LONG_VARIABLE_NAME=64"]
}
oclint {
	disableRules = [
		"UnusedMethodParameter",
		"UselessParentheses",
	"IvarAssignmentOutsideAccessorsOrInit"
	]
}
  • excludes - array of elements that should be excluded. e.g.
oclint {
	excludes = [ "Pods" ]
}