Introduction‎ > ‎

Configuration reference

This reference provides a detailed description for all properties located in flow.properties file.



You can find example projects for Android at our github page.
You can find example projects for iOS at our github page.

Common Configurations


Release Configuration


This configuration keeps values used while uploading prepared artifacts to apphance.com service.

Properties

release.configuration.enabled
Enables or disables release configuration.


release.url
Project URL where all built artifacts will be placed. It should be folder URL where the last element (after last '/') will be used as a subfolder of 'flow-ota' directory.


release.icon
Relative path to an icon file used in HTML release site.


release.language
Two-letter language code, must be lowercase.


release.country
Two-letter country code, must be uppercase. Together with 'release.language' is used to pick resource bundle in particular language. Currently polish and english are supported.


release.mail.from
Email address used for sending the release notification. It may be plain address e.g. 'sender@example.com' as well as with sender specified e.g. 'Sender <sender@example.com>'.


release.mail.to
Comma-separated list of email addresses of release notification recipients. Addresses may be in plain form as well as with recipient specified - exactly as in 'release.mail.from' property.


release.mail.flags
Comma-separated list of email flags. Specifying the flags results in attaching files to release notification email. Currently supported values are 'qrCode' (with encoded URL to main installation site) and 'imageMontage' with montage of all graphics used in project.


mail.port
Server port used for sending release notification email.


mail.server
Server address used for sending release notification email.


Apphance Configuration


This configuration holds values used while executing various release-related tasks. See the descriptions below for detailed information.

Properties

apphance.configuration.enabled
Enables or disabled apphance configuration.


apphance.user
Username used to upload generated application (with apphance added) to 'apphance.com'. This property may be passed from environment variable as well as from java system property ('-D' option).


apphance.pass
Password used to upload generated application (with apphance added) to 'apphance.com'. This property may be passed from environment variable as well as from java system property ('-D' option).


Android Configurations


Android Configuration


Properties

android.configuration.enabled
This configuration cannot be enabled or disabled by the user. It is turned automatically based on project detection.


android.project.name
Project name. This property is used with command: 'android update project --name' before every build.


android.target
Android target. This property is used with command: 'android update project --target' before every build.


Android Variants Configuration


Properties

android.variants.configuration.enabled
This configuration is always enabled when 'android.configuration' is enabled.


android.variants
Variant names. Debug variant must contains word 'debug' (case insensitive) in name. Otherwise it is Release variant


Android Variant VariantName


Properties

android.variant.VariantName.enabled
Enables or disables building the particular variant.


android.variant.VariantName.dir
Variant directory. Content of this directory overrides content of the main project directory.


android.variant.VariantName.replacePackage.oldPackage
Package name used in main sources before package replacement in variant.


android.variant.VariantName.replacePackage.newPackage
New package name that will be used in variant.


android.variant.VariantName.replacePackage.newLabel
Variant value of 'android:label' attribute in manifest 'application' tag.


android.variant.VariantName.replacePackage.newName
Variant value of 'name' attribute of build.xml.


android.variant.VariantName.mergeManifest
If true then manifest file in variant directory will be merged with main project manifest. When false variant manifest will override main manifest. Default value: false


android.variant.VariantName.apphance.mode
Apphance mode for 'VariantName'


android.variant.VariantName.apphance.appKey
Unique apphance application key. It is used when integrating apphance framework in source code and for reporting bugs to 'apphance.com'. Enabled only when apphance mode is other than 'DISABLED'.


android.variant.VariantName.apphance.libUrl
Apphance lib url for 'VariantName'


android.variant.VariantName.apphance.lib
Version of apphance framework that will be integrated into source code. Enabled only when apphance mode is other than 'DISABLED'.


android.variant.VariantName.apphance.withUTest
Apphance withUTest property for 'VariantName'


android.variant.VariantName.apphance.reportOnShake
Apphance reportOnShake property for 'VariantName'


android.variant.VariantName.apphance.defaultUser
Apphance defaultUser property for 'VariantName'


android.variant.VariantName.apphance.withScreenShotsFromGallery
Apphance withScreenShotsFromGallery property for 'VariantName'


android.variant.VariantName.apphance.reportOnDoubleSlide
Apphance reportOnDoubleSlide property for 'VariantName'


android.variant.VariantName.apphance.appVersionName
Apphance appVersionName property for 'VariantName'


android.variant.VariantName.apphance.appVersionCode
Apphance appVersionCode property for 'VariantName'


android.variant.VariantName.apphance.machException
Apphance machException property for 'VariantName'


android.variant.VariantName.apphance.serverURL
Apphance serverURL property for 'VariantName'


android.variant.VariantName.apphance.sendAllNSLogToApphance
Apphance sendAllNSLogToApphance property for 'VariantName'


android.variant.VariantName.display.name
When specified, the name will be used to describe the generated artifacts on the release web site, otherwise, variant name will be used.


Android Analysis Configuration


Properties

android.analysis.configuration.enabled
Enables or disables code analysis configuration.


android.analysis.pmd.rules
Path to custom pmd rules config file. If empty default file is used.


android.analysis.findbugs.exclude
Path to findbugs exclude file. If empty default file is used.


android.analysis.checkstyle.config
Path to checkstyle config file. If empty default file is used.


Android Test Configuration


Properties

android.test.configuration.enabled
Enables or disables test configuration.


android.dir.test
Directory where test sources are located. By convention this folder should have "robolectric" subfolder if project has robolectric tests


iOS Configurations


iOS Configuration


This configuration keeps the values that are passed as a parameters to 'xcodebuild' while building artifacts.

Properties

ios.configuration.enabled
This configuration cannot be enabled or disabled by the user. It is turned automatically based on project detection.


ios.sdk
iOS SDK used for building artifacts devoted to run on real devices. Default value is 'iphoneos', possible values might be viewed under 'iOS SDKs' section after running 'xcodebuild -showdks' shell command.


ios.sdk.simulator
iOS simulator SDK used for building artifacts devoted to run on simulator. Default value is 'iphonesimulator', possible values might be viewed under 'iOS Simulator SDKs' after running 'xcodebuild -showdks' shell command.


iOS Variants Configuration


Variants configuration holds the list of variants thar are configured for building.

Properties

ios.variants.configuration.enabled
This configuration cannot be enabled or disabled by the user. It is turned automatically based on project settings. Disabled when no shared schemes detected.


ios.variants
Comma-separated list of variants configured for being built. Basically single variant corresponds to a shared scheme. If workspaces are used in the project list of variants is created by concatenating workspace name and a shared scheme name. First variant on the list will be used as a main variant (highlighted in release notifications). Every variant on the list must have a 'ios.variant.*' corresponding section in flow.properties file.


iOS Variant VariantName


Variant configuration keeps all variant-related settings, used while building artifacts. Depending on the values set, various artifacts are created. See plugin reference for the details.

Properties

ios.variant.VariantName.enabled
Enables or disables building the particular variant.


ios.variant.VariantName.mode
Determines a set of artifacts that will be built. Possible values include 'DEVICE', 'SIMULATOR' and 'FRAMEWORK'. For 'DEVICE' value ipa, xcarchive, dsym and ahsym (symbolication) artifacts are generated. 'SIMULATOR' mode results in a application dmg image prepared for both iPhone and iPad simulators. When 'FRAMEWORK' mode is picked, a ready-to-integrate external framework will be prepared.


ios.variant.VariantName.mobileprovision
Relative path to mobile provisioning file used for signing the application. Field 'application-identifier' in this file must match bundle identifier in appropriate file. Otherwise exception will be thrown during build. This property is used only when 'DEVICE' mode selected.


ios.variant.VariantName.framework.name
Defines the names of the framework that will be created. Works only in 'FRAMEWORK' mode.


ios.variant.VariantName.framework.headers
Comma-separated list of relative paths to header files that will be copied to generated framework. Enabled only in 'FRAMEWORK' mode.


ios.variant.VariantName.framework.resources
Comma-separated list of relative paths to resources files that will be copied to generated framework. Enabled only in 'FRAMEWORK' mode.


ios.variant.VariantName.framework.libs
Comma-separated list of relative paths to external frameworks that will be merged into generated framework. Enabled only in 'FRAMEWORK' mode.


ios.variant.VariantName.apphance.mode
Defines how apphance framework will be integrated into project's source. Possible values are 'QA', 'SILENT', 'PROD' and 'DISABLED'. Enabled only in 'DEVICE' mode.


ios.variant.VariantName.apphance.appKey
Unique apphance application key. It is used when integrating apphance framework in source code and for reporting bugs to 'apphance.com'. Enabled only when apphance mode is other than 'DISABLED'.


ios.variant.VariantName.apphance.libUrl
Apphance lib url for 'VariantName'


ios.variant.VariantName.apphance.lib
Version of apphance framework that will be integrated into source code. Enabled only when apphance mode is other than 'DISABLED'.


ios.variant.VariantName.apphance.withUTest
Apphance withUTest property for 'VariantName'


ios.variant.VariantName.apphance.reportOnShake
Apphance reportOnShake property for 'VariantName'


ios.variant.VariantName.apphance.defaultUser
Apphance defaultUser property for 'VariantName'


ios.variant.VariantName.apphance.withScreenShotsFromGallery
Apphance withScreenShotsFromGallery property for 'VariantName'


ios.variant.VariantName.apphance.reportOnDoubleSlide
Apphance reportOnDoubleSlide property for 'VariantName'


ios.variant.VariantName.apphance.appVersionName
Apphance appVersionName property for 'VariantName'


ios.variant.VariantName.apphance.appVersionCode
Apphance appVersionCode property for 'VariantName'


ios.variant.VariantName.apphance.machException
Apphance machException property for 'VariantName'


ios.variant.VariantName.apphance.serverURL
Apphance serverURL property for 'VariantName'


ios.variant.VariantName.apphance.sendAllNSLogToApphance
Apphance sendAllNSLogToApphance property for 'VariantName'


ios.variant.VariantName.display.name
When specified, the name will be used to describe the generated artifacts on the release web site, otherwise, variant name will be used.


iOS Test Configuration


Test configuration keeps the list of variants configured to run tests against them.

Properties

ios.test.configuration.enabled
Enables or disables test configuration.


ios.test.variants
Comma-separated list of variants with test configured. All the tests will be run before each build. It must be a subset of 'ios.variants' list.


Comments