Build script template properties

Properties are used extensively throughout the scripts to improve their readability and to make them easier to reconfigure or to reuse across different build definitions. Several of the properties are meant to be set in the “Properties” tab of the build definition in Rational Team Concert™. Other properties are set and used for convenience entirely within the scripts. A few properties are set automatically by Apache Ant or the Build System Toolkit.

Properties set automatically

The following properties that are used within the build scripts are set automatically by Apache Ant or the Build System Toolkit.
Table 1. Build script properties that are automatically set.
Property Purpose

basedir

The path to the folder that contains the build script.

repositoryAddress

The address of the Rational Team Concert Jazz™ Team Server repository from which the build originated. The Build System Toolkit tasks within the scripts require this property to publish information to the Rational Team Concert build result.

buildResultUUID

The unique identifier of the Rational Team Concert build result on the Rational Team Concert Jazz Team Server repository for which the build is running. The Build System Toolkit tasks within the scripts require this property to publish information to the Rational Team Concert build result.

Properties to set in the build definition

With Rational Team Concert, you can simplify the job of customizing Ant build scripts and reusing them across different build definitions. Build scripts can be made reusable by using property variables inside the Ant scripts and then setting their values in a build definition outside of the scripts. The template build scripts specify several important properties that are meant to be defined in the build definition.

Table 2. Properties that must be set in the build definition.

Property

Default

Script

Purpose

buildUserID

 

both

The user ID on the Jazz Team Server of the “build user”, meaning a user is assigned the Build System client access license.

buildUserPass

 

both

The password of the user ID specified by buildUserId

wlRoot

 

both

The URL of the Worklight Server host, of the form http://hostname:port.

wlContext

 

both

The context root of the Worklight Server, not the server console, relative to wlRoot. The default value when you install Worklight Server is “worklight”. Do not include the "console" segment in this value.

appCenterRoot

 

both

The URL of the Worklight Application Center host, of the form http://hostname:port.

appCenterContext

 

both

The context root of the Worklight Application Center, relative to appCenterRoot. When you install Worklight Server, the default value is “applicationcenter”.

appCenterAdminID

 

both

The user ID of the Worklight Application Center administrator or anyone with authority to upload applications. When you install Worklight Server, the default value is “appcenteradmin”.

appCenterAdminPass

 

both

The password for the user ID specified by appCenterAdminID

wlProject

 

both

The Worklight project that contains the applications or adapters to build.

wlApp1

 

both

The application to build expressed as the name of the application folder under the Worklight project “apps” folder.

wlAdapter1

 

both

The adapter to build expressed as the name of the adapter folder under the Worklight project “adapters” folder.

wlTestRoot

 

both

The URL of the Worklight Server host to be used for testing the application. This URL is substituted into the value of the <worklightServerRootURL> element in the application-descriptor.xml files.

dojoBuildFile

build-dojo.xml

both

The name of the Dojo build XML file that is produced in Worklight Studio under the application folder when you create an application. This file is passed to the <app-builder> task by the “skinBuildExtensions” attribute to ensure that the it is used during the hybrid application build process.

androidTarget

 

android.build.xml

The target id to set for the project. Use "android list targets" to list available targets. For more information, see http://developer.android.com/tools/help/android.html.

androidSDKPath

 

android.build.xml

The path to the root of the Android SDK installed on the build computer. Ensure you install the Android SDK in the same location on all build computers that process the build definition.

mobilePlatform

android

android.build.xml

Value is always “android”.

mobilePlatform

iphone

ios.build.xml

Either “iphone” or “ipad” depending on the primary class of iOS mobile device for which the application is building.

configuration

debug

android.build.xml

The name of the target in the generated Android build.xml, either "release" or "debug", that is initiated to build the Android project. For more information, see IBM® Worklight Getting Started Module 30 – Team Development using Rational Team Concert.

configuration

Release

ios.build.xml

The name of the build configuration for use by the xcodebuild command, such as "Release" or "Debug". For more information, see:

xcodeSDK

iphoneos

ios.build.xml

The canonical name without the version number of the Xcode SDK for use by the xcodebuild and xcrun commands. For more information, see:

xcodeSDKVersion

6.0

ios.build.xml

The version number suffix of the canonical name of the Xcode SDK for use by the xcodebuild command.

version

1.0

ios.build.xml

The version number to include in the name of the generated .ipa file

provisioning.profile

 

ios.build.xml

The provisioning profile to be embedded within the .ipa application.

certificate

 

ios.build.xml

The certificate to use to sign the .ipa application.

Note:
  • Properties without a default value must be set in the build definition unless otherwise specified.

  • Properties with a default value are simply properties that are assigned that value with a <property> element in the template scripts. Following the design of Apache Ant, if you assign one of these properties a value in the build definition, that value will take precedence over the value in the <property> element in the script.

  • See Managing Change and Releases, Building with Jazz Team Build, Best Practices [http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.team.build.doc/topics/cbestpractices.html] for advice on how to use an encrypted password file as an alternative to setting and using the build user's password in the build definition and in Ant scripts.

Properties set and used within the scripts

The following properties are set and used within the build scripts for convenience, added flexibility and good design:

Table 3. Properties that are already set in the template build scripts.
Property Purpose

loadDir

The path to the directory to which the Build System Toolkit loaded the workspace. In the template scripts, the path is set to ${basedir}/../.. because the build scripts are stored two folders below the root of the workspace, that is, in a workspace relative path of the form <project>/<folder>. In other words, the template build scripts loadDir relative to their own location within the loaded workspace. If you store your build scripts directly in a project folder, or more deeply under a project, you must remove or add “..” segments according to the property value.

project.path

The path to the project whose content is to be built, relative to the loaded workspace. In the template build scripts, this is set to ${loadDir}/${wlProject}.

output.path

The path to the output folder relative to the loaded workspace under which .wlapp files, .adapter files and various log information is written. In the template build scripts, the path is set to ${loadDir}/output.

destdir

The path to a folder relative to the loaded workspace to which .ipa files and xcodebuild and xcrun log information is written. In the template build script for iOS, the path is set to ${loadDir}/build.

wlAppDir1

The path to the root folder of the application. Relative to the loaded workspace the path is of the form <project>/apps/<application>

wlNativeApp1

The workspace relative path name of the Android .apk or iOS .ipa file that is produced by the build.

androidCMD

The path on the build computer to the “android” command-line tool. In the template build scripts, the path is computed based upon ${androidSDKPath}.

androidCMDlog

The path name to which log information from the “android” command is written.

xcodebuildCMD

The name of the xcodebuild command-line tool.

iosPackageCMD

The name of the xcrun command-line tool.

xcodebuildCMDlog

The path name to which log information from the xcodebuild command is written.

iosPackageCMDlog

The path name to which log information from the xcrun command is written.

local.ipaPath

The path to which .ipa files are written. In the template build scripts, the path is set to ${destdir}/distro, and is in turn used to set the wlNativeApp1 property (in ios.build.xml).


Feedback