xcode:change-versions-in-plist

Full name:

com.sap.prd.mobile.ios.mios:xcode-maven-plugin:1.14.5:change-versions-in-plist

Description:

Updates the properties CFBundleVersion and CFBundleShortVersionString inside the plist file(s) that is/are denoted for the given configurations and sdks. The version is updated with a version derived from the maven project version. For CFBundleVersion all version parts containing only numbers are retained. The leading numbers of the first version part containing characters are also retained. Any subsequent version part is ommited. For CFBundleShortVersion the same strategy as described for CFBundleVersion applies. Additionally the version is truncated so that it consists of three numbers separated by two dots.

Attributes:

  • Requires a Maven project to be executed.
  • Since version: 1.7.0.

Optional Parameters

Name Type Since Description
buildActions List 1.7.0 The Xcode build action to to execute (e.g. clean, build, install). By default clean and build are executed.
checkoutDirectory File 1.7.0 The original Xcode sources located in the src/xcode directory stay untouched during the whole Maven build. However, as we might have to modify the info.plist or the project itself we copy the whole Xcode source directory during the build into another "checkout" directory that by default named checkout and located below the Maven build ( target) directory.
codeSignIdentity String 1.2.0 The code sign identity is used to select the provisioning profile (e.g. iPhone Distribution, iPhone Developer).
codeSigningRequired boolean 1.14.1 The code signing required is used to disable code signing when no developer provisioning certificate is available (e.g. NO, YES).
Default value is: true.
configurations Set 1.7.0 The Xcode configurations that shall be built (e.g. Debug and Release). If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppConfigurations or defaultLibConfigurations parameters
defaultAppConfigurations String 1.2.0 Comma separated list of the default Xcode build configurations that should be built for apps (in contrast to libraries). These values only apply if no "configurations" are explicitly provided in the POM.
Default value is: Release,Debug.
defaultAppSdks String 1.2.0 Comma separated list of the default Xcode SDKs that should be used for apps (in contrast to libs). These values only apply if no "sdks" are explicitly provided in the POM.
Default value is: iphoneos,iphonesimulator.
defaultLibConfigurations String 1.2.0 Comma separated list of the default Xcode build configurations that should be built for libraries (in contrast to apps). These values only apply if no "configurations" are explicitly provided in the POM.
Default value is: Release,Debug.
defaultLibSdks String 1.2.0 Comma separated list of the default Xcode SDKs that should be used for libraries (in contrast to apps). These values only apply if no "sdks" are explicitly provided in the POM.
Default value is: iphoneos,iphonesimulator.
defaultxcconfig String 1.14.5 For simple application central team manages the xcconfig. This will be managed in settings.xml
options Map 1.6.2 Options to pass to XCode - if any are explicitly defined here, this plugin will not provide default options to XCode.
productName String 1.7.0 (no description)
provisioningProfile String 1.2.1 Can be used to override the provisioning profile defined in the Xcode project target. You can set it to an empty String if you want to use the default provisioning profile.
sdks Set 1.7.0 Explicit lists of sdks (iphoneos,iphonesimulator) the Xcode project shall be built for. If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppSdks or defaultLibSdks parameters
settings Map 1.6.2 Settings to pass to XCode - if any are explicitly defined here, this plugin will not provide default settings to XCode.
skipVersionUpdate boolean 1.7.0 If this parameter is set to true no version will be transferred into the Xcode project.
Default value is: false.
symRootDir String 1.14.4 Allowed developers to override the SYMROOT settings
Default value is: build.
target String 1.4.1 The Xcode target to be built. If not specified, the default target (the first target) will be built.
watchapp String 1.14.3 (no description)
xcconfigDir String 1.14.5 Allowed developers to override the xcconfig settings through pom.xml Signing methodology has been changed with xcode8 onwards, to enable this we are expecting dev to give singing related parameters This is only for the Apps with Entitlements like Push notification, Wallet etc...
xcodeCompileDirectory File 1.7.0 The xcode directory of the copied sources below the checkout directory.

Parameter Details

buildActions:

The Xcode build action to to execute (e.g. clean, build, install). By default clean and build are executed.
  • Type: java.util.List
  • Since: 1.7.0
  • Required: No

checkoutDirectory:

The original Xcode sources located in the src/xcode directory stay untouched during the whole Maven build. However, as we might have to modify the info.plist or the project itself we copy the whole Xcode source directory during the build into another "checkout" directory that by default named checkout and located below the Maven build ( target) directory.
  • Type: java.io.File
  • Since: 1.7.0
  • Required: No
  • Expression: ${xcode.checkoutDirectory}

codeSignIdentity:

The code sign identity is used to select the provisioning profile (e.g. iPhone Distribution, iPhone Developer).
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.codeSignIdentity}

codeSigningRequired:

The code signing required is used to disable code signing when no developer provisioning certificate is available (e.g. NO, YES).
  • Type: boolean
  • Since: 1.14.1
  • Required: No
  • Expression: ${xcode.codeSigningRequired}
  • Default: true

configurations:

The Xcode configurations that shall be built (e.g. Debug and Release). If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppConfigurations or defaultLibConfigurations parameters
  • Type: java.util.Set
  • Since: 1.7.0
  • Required: No

defaultAppConfigurations:

Comma separated list of the default Xcode build configurations that should be built for apps (in contrast to libraries). These values only apply if no "configurations" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.app.defaultConfigurations}
  • Default: Release,Debug

defaultAppSdks:

Comma separated list of the default Xcode SDKs that should be used for apps (in contrast to libs). These values only apply if no "sdks" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.app.defaultSdks}
  • Default: iphoneos,iphonesimulator

defaultLibConfigurations:

Comma separated list of the default Xcode build configurations that should be built for libraries (in contrast to apps). These values only apply if no "configurations" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.lib.defaultConfigurations}
  • Default: Release,Debug

defaultLibSdks:

Comma separated list of the default Xcode SDKs that should be used for libraries (in contrast to apps). These values only apply if no "sdks" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.lib.defaultSdks}
  • Default: iphoneos,iphonesimulator

defaultxcconfig:

For simple application central team manages the xcconfig. This will be managed in settings.xml
  • Type: java.lang.String
  • Since: 1.14.5
  • Required: No
  • Expression: ${xcode.xcconfig.default}

options:

Options to pass to XCode - if any are explicitly defined here, this plugin will not provide default options to XCode.
  • Type: java.util.Map
  • Since: 1.6.2
  • Required: No

productName:

(no description)
  • Type: java.lang.String
  • Since: 1.7.0
  • Required: No
  • Expression: ${product.name}

provisioningProfile:

Can be used to override the provisioning profile defined in the Xcode project target. You can set it to an empty String if you want to use the default provisioning profile.
  • Type: java.lang.String
  • Since: 1.2.1
  • Required: No
  • Expression: ${xcode.provisioningProfile}

sdks:

Explicit lists of sdks (iphoneos,iphonesimulator) the Xcode project shall be built for. If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppSdks or defaultLibSdks parameters
  • Type: java.util.Set
  • Since: 1.7.0
  • Required: No

settings:

Settings to pass to XCode - if any are explicitly defined here, this plugin will not provide default settings to XCode.
  • Type: java.util.Map
  • Since: 1.6.2
  • Required: No

skipVersionUpdate:

If this parameter is set to true no version will be transferred into the Xcode project.
  • Type: boolean
  • Since: 1.7.0
  • Required: No
  • Expression: ${xcode.skipVersionUpdate}
  • Default: false

symRootDir:

Allowed developers to override the SYMROOT settings
  • Type: java.lang.String
  • Since: 1.14.4
  • Required: No
  • Expression: ${xcode.symroot}
  • Default: build

target:

The Xcode target to be built. If not specified, the default target (the first target) will be built.
  • Type: java.lang.String
  • Since: 1.4.1
  • Required: No
  • Expression: ${xcode.target}

watchapp:

(no description)
  • Type: java.lang.String
  • Since: 1.14.3
  • Required: No
  • Expression: ${xcode.watchapp}

xcconfigDir:

Allowed developers to override the xcconfig settings through pom.xml Signing methodology has been changed with xcode8 onwards, to enable this we are expecting dev to give singing related parameters This is only for the Apps with Entitlements like Push notification, Wallet etc...
  • Type: java.lang.String
  • Since: 1.14.5
  • Required: No
  • Expression: ${xcode.xcconfig}

xcodeCompileDirectory:

The xcode directory of the copied sources below the checkout directory.
  • Type: java.io.File
  • Since: 1.7.0
  • Required: No
  • Expression: ${xcode.compileDirectory}