Slave 2 (MAC) Properties Files

Previously, there were three properties files, namely ct_ant.properties, ct_credential.properties and ct_mobilebuild.properties. As the properties were scattered in these three files, it was decided to combine a few properties in one file and remove a few other properties. Therefore, the ct_ant.properties file has been removed and its properties have been moved to ct.mobilebuild.properties file. A few new properties have been added to this file.

The ct_credential.properties file has been renamed to ct_mobilebuild_credential.properties file.


  1. ct_mobilebuild_credential.properties

    This file will be available in the CTMobileHybrid folder (template folder from SVN checkout).

    The CM team sets the values for the properties in these files. The properties of this file contain sensitive information and must not be modified or used anywhere else. Once set, these properties will be available in all the projects that are registered from the template.

    You must manually set values for the following mandatory properties in this file.

    Property

    Description

    Format

    Example

    keychain.user.mac

    This property indicates the Admin username on slave 2. The Admin user must have the root privileges on slave 2 machine.

    This is a mandatory property for triggering the remote build.

    String

    -

    keychain.pass.mac

    This property indicates the Admin password on slave 2. The Admin user must have the root privileges on slave 2 machine.

    This is a mandatory property for triggering the remote build.

    String

    -

  2. ct_mobilebuild.properties

    The ct.mobilebuild.properties file is used for the CT centralized mobile build. A few properties in this file get updated at the time of project registration and the rest can be modified based on the implementation team's requirement.

    The ct_ant.properties file has been removed and its properties have been moved to the ct.mobilebuild.properties file. The ct.mobilebuild.properties file now contains the following properties:

    All properties are mandatory in this file. You must change the properties after understanding their purpose.

    Property

    Description

    Format

    Example

    Version

    This property indicates the version of the mobile build.

    String

    16.3.0.0-br_16.3.0.0_R3307

    ct.proj.name

    This property indicates the name of the project.

    String

    BOA

    ct.target.framework

    This property indicates the framework used in the mobile app.

    The available options are JQM (jQuery Mobile) and JQTBS (Bootstrap). Currently, the Centralized Mobile Build only uses the JQM (jQuery Mobile) framework for the mobile app.

    String

    JQM

    ct.proj.build.display.name

    This property indicates the app name that is displayed. The name that you provide for the ct.proj.name property is stored in this property. You can change the display name anytime.

    String

    BOA

    ct.proj.identifier

    This property indicates the app's reverse-domain identifier.

    String

    com.intellect.BOA

    ct.proj.platforms

    This property indicates the platforms that are to be included in the project.

    For now, only the following platforms are supported:

    • android
    • iOS

    For multiple options, enter values separated by commas. The values are case-sensitive.

    String

    android
    android,iOS

    war.name

    This property indicates the name of the WAR file.

    String

    BOA.war

    build.type

    This property indicates the type of build, whether it is a development build or release build.

    RELEASE build: The build is taken to release the app to the end users. Therefore, debugging is not possible.

    DEVELOPMENT build: The build is taken to test the app. Therefore, debugging is possible. For a development build you need to ensure that proper provisioning profiles and keystore are included.

    String

    RELEASE

    ct.project.plugins

    This property indicates the native plugins that are included.

    These native plugins are included by default.

    String

    cordova-plugin-network-information,
    cordova-plugin-device,
    cordova-plugin-dialogs,
    cordova-plugin-geolocation,
    cordova-plugin-inappbrowser,
    cordova-plugin-whitelist,
    cordova-sqlite-storage,
    cordova-plugin-uniquedeviceid,
    cordova-plugin-app-version,
    cordova-plugin-file,
    cordova-plugin-printer,
    cordova-plugin-email,
    Canvas-Cordova-Plugins/cordova-plugin-app-preferences,
    Canvas-Cordova-Plugins/cordova-plugin-canvas,
    Canvas-Cordova-Plugins/cordova-cookie-master-master

    server.url

    This property indicates the URL of the server from which the metadata, loginservlet, and so on are fetched.

    String (URL)

    http://10.10.16.205\:8873/BOA/

    ct.ipa_apk.builds.path

    This property indicates the location where builds get generated.

    String (URL)

    ${root}/Builds

    css.dir.name

    This property indicates the path of the CSS directory.

    String(URL)

    BOA/css

    css.style.used

    This property indicates the CSS style in use. The default style is ALL. This property is overwritten from the slave 1 Ant script.

    When the property is set to the default option 'ALL', the build will include all the CSS present in the WAR. This will allow the user to dynamically change themes according to preference. You can also set a specific style for this property (for example, blue) in which case the user cannot change themes dynamically.

    String

    ALL
    blue

    dir.array

    This property indicates the support folders that are to be included from WAR. The slave 1 Ant script overrides this.

    String

    Help_files, images, templates

    mobile.core.files.dir

    This property indicates the mobile core folder location. The CTRIAFramework for the mobile build is present in this folder location.

    String (URL)

    ${root}/www/BOA

    war.core.files.dir

    This property indicates the WAR core folder location. The CTRIAFramework exists in this folder.

    String (URL)

    ${war.unarchive.location}/${war.name}

    war.javascript.files.dir

    This property indicates the JavaScript folder location in WAR. This is where the JavaScript files exist in WAR.

    This is the folder where the implementation teams will be placing their listener files.

    String(URL)

    ${war.unarchive.location}/${war.name}/javascript

    mobile.javascript.files.dir

    This property indicates the JavaScript folder location in the mobile package. This is where the JavaScript files exist in the mobile package.

    This is the folder where the implementation teams will be placing their listener files.

    String(URL)

    ${mobile.core.files.dir}/javascript

    mobile.support.files.dir

    This property indicates the mobile support folder location. The images, help_files and so on exist in this folder.

    String(URL)

    ${root}/www

    war.support.files.dir

    This property indicates the WAR support folder location. The images, help_files etc. exists in the WAR support folder.

    String (URL)

    ${war.unarchive.location}/${war.name}

    app.html.file.location

    This property indicates the HTML files location in the mobile.

    String (URL)

    ${source.folder.location}

    app.home.file

    This property indicates the home page of the app.

    This property is used to change the references to CTRIAFramework files either combine or compress based on the build.type property.

    String (URL)

    boa.html

    app.start.file

    This property indicates the landing page of the app.

    This file is used to change the server URL to which the app connects to. This is usually (need not necessarily be) the login page of the app.

    String (URL)

    index.html

    app.login.file

    This property indicates the login page of the app.

    This property is used to change the references to CITRIAFramework files either combine or compress based on the build.type property.

    String (URL)

    html/login.html

    ct.register.proj.root.dir

    All projects repository directory. All projects are setup in this location.

    String (URL)

    /Users/admin/Documents/Canvas Technology/BOA

    The following properties contain information about the certificates and profiles required for the iOS and Android builds.

    ct.ios.distributor.Name

    This property indicates the name of the distributor (the company which is distributing the build in app stores) and is referenced as the code signing identity for iOS. This certificate must be present in the slave 2 keychain.

    String

    iPhone Distribution\: Intellect Design Arena Limited

    ct.provisioning.profile

    This property indicates the file path of the provisioning profile for iOS. It is a set of iPhone development certificates, unique device identifiers, an App ID, etc. This file has to be created from Apple developer site and copied in the project folder.

    File path including the file extension

    /Users/admin/Documents/CanvasTechnology/BOA/BOA_release.mobileprovision

    ct.keystore.file.location

    This property indicates the file path of the certificate used to sign the Android application.

    Fie path including the file extension

    /Users/admin/Documents/CanvasTechnology/BOA/BOA_Android.keystore

    ct.keystore.prop.file.location

    This property indicates the file path of the JSON file containing details about the Android keystore.

    File path including the file extension

    /Users/admin/Documents/CanvasTechnology/BOA/BOA_keystoreprop.json

    The following common properties are not to be changed unless absolutely necessary:

    build.dev

    This property indicates the development build (for testing).

    String

    DEVELOPMENT

    build.rel

    This property indicates the release build.

    String

    RELEASE

    ct.ant_home

    This property indicates the location of the Ant_home that is used to refer to external Ant tasks.

    String (URL)

    /user/local

    root

    This property indicates the root directory of the current project.

    String (URL)

    /Users/admin/Documents/CanvasTechnology/BOA

    war.location

    This property indicates the location of the WAR file. This WAR file is copied by slave 1 Ant script to slave 2.

    String (URL)

    ${basedir}

    war.unarchive.location

    This property indicates the location to unarchive the WAR file that is copied from the slave 1 machine.

    String (URL)

    ${basedir}/unarchive

    ct.new.project.model.folder

    This property indicates the project from which reference has to be made while registering.

    Ant files are copied from this folder to ct.register.proj.root.dir/*new project*

    String (URL)

    ${basedir}

    ct.new.project.build.files

    This property indicates the build files to be copied to the new project folder. Multiple files are specified by separating the values with a comma.

    String

    build.xml,

    buildandroid.xml,

    buildios.xml,

    buildwww.xml,

    buildregister.xml,

    Readme.txt

    ct.new.project.properties.files

    This property indicates the property files to be copied to the new project folder. Multiple files are specified by separating the values with a comma.

    String

    ct_mobilebuild.properties,

    ct_mobilebuild_credential.properties

    source.folder.location

    This property indicates the main source folder (www folder) location for a hybrid app. Files are copied from this folder corresponding to the platform www folder.

    String (URL)

    ${root}/www

    destination.folder.location.ios

    This property indicates the platform folder path for iOS.

    String (URL)

    ${root}/${ct.proj.name}/platforms/ios

    destination.folder.location.android

    This property indicates the platform folder path for Android.

    String (URL)

    ${root}/${ct.proj.name}/platforms/android/assets

    ct.platform.folder

    This property indicates the platform folder path for the hybrid apps.

    String (URL)

    ${root}/${ct.proj.name}/platforms

    android.platform.folder

    This property indicates the platform folder path for the Android app.

    String (URL)

    ${ct.platform.folder}/android

    destination.folder.android.cordova

    This property indicates the Cordova folder path for the Android app.

    String (URL)

    ${android.platform.folder}/cordova

    ios.source.icons

    This property indicates the source folder path for iOS icons.

    String (URL)

    ${root}/ios-icons

    ios.destination.icons

    This property indicates the destination folder path for iOS icons.

    String (URL)

    ${ct.platform.folder}/ios/${ct.proj.build.display.name}/Resources/

    android.source.icons

    This property indicates the source folder path for Android icons.

    String (URL)

    ${root}/android-icons

    android.destination.icons

    This property indicates the destination folder path for Android icons.

    String (URL)

    ${ct.platform.folder}/android/res/

    ant.build.core.location

    This property indicates the path where the build files are located.

    String (URL)

    ${root}