webMethods Deployer 10.3 | webMethods Deployer Documentation 10.3 | Building Composites for Repository-Based Deployment | Setting the Properties for the Build | Setting Build Properties
 
Setting Build Properties
The master properties file, build.properties, controls the build settings for the repository-based build process. It contains a set of switches that enable and disable the build tasks for the corresponding runtime types in the build.
* To set the build properties
1. Open the following file in a text editor:
Software AG_directory \common\AssetBuildEnvironment\master_build\build.properties
2. Set the following properties:
Property
Definition
sag.install.dir
Path of the directory where Software AG products are installed.
build.output.dir
Root directory where the build script will place the output (composites and descriptors) of the build. Use a forward slash "/" as path separator.
The build script creates a subdirectory with the current build number in this directory, as well as a subdirectory for the composites and descriptors for each runtime type included in the build as follows:
If your build contains assets from...
The build script creates the following subdirectory...
ActiveTransfer
MFT
AgileApps Cloud
AgileApps Cloud
API Gateway
APIGateway
Application Platform
ApplicationPlatform
BPM Process Development
BPM
Broker
Broker
Business Rules
Rules
Digital Event Services
DES
EDA
EDA
Integration Server
IS
My webMethods Server
MWS
Optimize
Optimize
Trading Networks
TN
Task Engine
TaskEngine
Universal Messaging
UniversalMessaging
build.source.dir
Separated list of the full paths of the source directories that contain assets to build. All directories in the list must contain project directories (IS packages, CAF projects, TN exports, and so on) as direct children. Use “;” as the delimiter for more than one folder. Use a forward slash “/” as path separator.
For example, if you want to include Integration Server and Trading Networks assets, you would enter the following:
/root_path/project_name/IS;/root_path/project_name/TN
Where root_path is the root directory of the source, project_name/IS is the directory holding Integration Server assets, and project_name/TN is the directory holding Trading Networks assets.
If your source directory contains assets from...
Input source directory naming convention or any restrictions...
Command Central
See Command Central Composite Assets for naming conventions and source directory structure.
ActiveTransfer
No naming conventions or restrictions.
AgileApps Cloud
AgileApps Cloud
API Gateway
APIGateway
Application Platform
No naming conventions or restrictions.
BPM Process Development
No naming conventions or restrictions.
Broker
/root_path/project_name/Broker
Business Rules
No naming conventions or restrictions.
Digital Event Services
No naming conventions or restrictions.
EDA
No naming conventions or restrictions.
Integration Server
My webMethods Server
No naming conventions or restrictions.
Optimize
No naming conventions or restrictions.
Trading Networks
No naming conventions or restrictions.
Task Engine
No naming conventions or restrictions.
Universal Messaging
/root_path/project_name/UniversalMessaging
build.source.project.dir
Separated list of project folders containing the assets that the build script will build. All folders in the list must contain project folders only. This property is different from the build.source.dir as it defines individual project directories
Use “;” as delimiter for more than one folder. Use a forward slash “/” as path separator.
Note: If you are building an Integration Server project and specify a value for this property, you must also specify a value for is.acdl.config.dir.
enable.archive
Specifies whether the build script archives the output directory. If you set this field to true, you must provide a value for build.archive.dir.
build.archive.dir
Required if enable.archive is set to true. Location of the archive directory for the output. The build script creates a new subdirectory with the name of the build number. It then moves the contents of the output directory (set in build.output.dir) to this newly created directory.
build.version
Version number of the current build. The build script appends an automatically-generated incremental build number to this property to get the final build number.
For example, if you set this property to 8.2, the generated build number for the first build is 8.2.1 and the build number for the next build is 8.2.2.
enable.checkout
Specifies whether the build script should check out the source files from a VCS.
*To enable the check out task, set to true. The build script invokes the default target you set in build-source-checkout.xml.
*To disable check out task, set to false.
Note: If this property is set to true, you must configure the properties in build-source-checkout.xml to synchronize with your VCS system. For more information, see Setting VCS Checkout Properties.
enable.build
Specifies the runtime types for which the build script should build composites. Each runtime type has a separate property. Set to:
*true to build composites for the specified runtime type.
*false to exclude the specified runtime type.
Set this property...
To build composites for assets of this type...
enable.build.CC
Command Central
enable.build.MFT
ActiveTransfer
enable.build.AgileApps
AgileApps
enable.build.APIGateway
APIGateway
enable.build.
ApplicationPlatform
Application Platform
enable.build.IS
Integration Server
enable.build.MWS
My webMethods Server
enable.build.BPM
BPM Process Development
enable.build.TN
Trading Networks
enable.build.TaskEngine
Task Engine
enable.build.Optimize
Optimize
enable.build.Broker
Broker
enable.build.DES
Digital Event Services
enable.build.EDA
EDA
enable.build.RULES
Business rules
enable.build.
UniversalMessaging
Universal Messaging
build.log.enable
Specifies whether to enable logging for the build. Set to:
*true to enable logging.
*false to disable logging.
build.log.fileName
Name of the log file. The default file name is build.log. The build script creates the log file in the following directory:
Software AG_directory \common\AssetBuildEnvironment\bin
build.logLevel
Logging level to include in the log. Possible values are:
Specify...
To record...
debug
Debug, informational, warning, error, and fatal messages.
error
Error and fatal messages.
info (default)
Informational, warning, error, and fatal messages.
verbose
No possible values defined for log level.
warn
Warning, error, and fatal messages.
Note: When building Task Engine assets, disable the build tasks for My webMethods Server composites, and vice versa.
3. If you are building API Gateway assets, set the following API Gateway-specific properties:
Note: Place the following properties at the master_build/build.properties file. Do not save the password properties to the file but pass them as a command line argument during the Run. The following parameters are required for the API Gateway build scripts.
Parameters
Optional/Mandatory
Default Value
Definition/Notes
enable.build.APIGateway
Mandatory.
False
API Gateway Assets will be built only if this parameter is set to true.
apigateway.buildLocalRepoOnly
Optional.
False
If this parameter is set to true, only a local repo will be built and not the repo as needed by WmDeployer.
This will be used in Devops scenarios to compare the Assets using a Version Control System.
build.output.dir
Mandatory.
NA
If apigateway.build
LocalRepoOnly is true, this will be the location of the VCS. If apigateway.build
LocalRepoOnly is false, then this is the root directory where the output (binary and ACDL) of the build will be placed. This path will also be indexed.
apigateway.repo.createFromLocalRepo
Optional ( True/False).
False
If this parameter is set to true, then the build script will use the location set as a part of apigateway.repo.
localRepo.path to build the Repo for WmDeployer usage. apigateway.buildLocal
RepoOnly will be false when this is true.
apigateway.repo.localRepo.path
Optional.
Mandated only when apigateway.
repo.create
FromLocalRepo is true.
NA
Local path of the repository when apigateway.repo.create
FromLocalRepo is true.
Mostly points to a VCS.
apigateway.assets.file
You can use Asset Build Environment to build any of the following API Gateway assets: ["ASSERTION", "APPLICATION", "API", "ALIAS", "POLICY", "POLICY_ACTION", "PLAN", "PACKAGE", "ADMINISTRATOR_SETTING", "PORTAL_GATEWAY", "SUBSCRIPTION"]
Use the apigateway.assets.file property to do this. This property will point to a JSON file that will contain a JSON payload as required.
See the JSON Payload Samples table for samples of the JSON payloads used in different scenarios.
Optional.
Mandated only when apigateway
.useLocal
Repo is false.
*
All assets from the Source API Gateway
The list of assets that needs to be exported to build the assets from the Source API Gateway and build the repository.
apigateway.is.url
Optional.
Mandated only when apigateway
.useLocalRepo is false.
The URL for webMethods Integration Server where the API Gateway is hosted.
apigateway.is.username
Optional.
Mandated only when apigateway
.useLocalRepo is false.
NA
The username to connect to the target. This user in API Gateway must be assigned with a Group that has the Import Asset and Export Asset access privileges.
apigateway.is.password
Optional.
Mandated only when apigateway
.useLocalRepo is false.
NA
The password to connect to the target.
apigateway.ssl.keystore.file
Optional.
NA
Keystore to use when communication between Source API Gateway and ABE is over SSL.
apigateway.ssl.keystore.type
Optional.
JKS
Type of the keystore when communication between Source API Gateway and ABE is over SSL.
apigateway.ssl.keystore.password
Optional.
NA
Password for the keystore mentioned using theapigateway.ssl
.keystore.file.
apigateway.ssl.keyalias
Optional.
NA
Key alias from the keystore.
apigateway.ssl.keyalias.password
Optional.
NA
Password of the key alias.
apigateway.logging.level
Optional.
OFF
Logging level for the ABE script.
JSON Payload Samples
Asset Type
Use Case
Sample Payload
Notes
ALL
Export all API Gateway assets.
{}
--
API
Export all APIs.
{ "types": ["api"] }
It will export all APIs along with the Application.
API
Export all APIs with the registered Application.
{
"types" : ["api"],
"includeOptions" :{
"includeApplications" :false
}
}
It will export all APIs with out its registered Application.
API
Export only APIs with name containing API Gateway.
{
"types" : ["api"],
"scope" : [
{"attributeName" : "apiName",
"keyword" : ".*API Gateway.*"
}], "includeOptions" :{
"includeApplications" :false
}
}
It will export all APIs with name containing API Gateway.
API
Export APIs with specific IDs only.
{
"types" : ["api"],
"scope" : [
{"attributeName" : "id",
"keyword" : "1c36033a-
ecb6-41ce-ad66-
bada5cebe85e
|8d505388-5524
-4df5-bd3c-62c4
bb5f41d0"
}],
"includeOptions" :{
"includeApplications" :true
}
}
It will export APIs with ID
1c36033a-
ecb6-41ce-
ad66-bada5cebe
85e or 8d505388-
5524-4df5
-bd3c-62c4bb5
f41d0.
API
Export APIs with name starting with API Gateway and description containing search.
{
"types" : ["api"],
"scope" : [
{"attributeName" : "apiName",
"keyword" : "API Gateway.*"
},
{
"attributeName" : "apiDescription",
"keyword" : ".*search.*"
}],
"condition" : "and",
"includeOptions" :{
"includeApplications" :false
}
}
It will export the API with name starting with API Gateway and description containing search.
POLICY
Export all Policies.
{
"types" : ["policy"]
}
It will export all policies including global policy and threat protection.
POLICY
Export Only Global Policies.
{
"types" : ["policy"],
"scope":[
{
"attributeName" : "policyScope",
"keyword" : "GLOBAL"
}]
}
It will export only global policies.
POLICY
Export Threat Protection Rules.
{
"types" : ["policy"],
"scope":[
{ "attributeName" : "policyEnforcements.stageKey",
"keyword" : "threatProtection"
}]
}
It will export only Threat Protection Policies (rules).
POLICY ACTION
Export all Policy Actions.
{
"types" : ["policy_action"]
}
It will export all policy actions along with global denial of service and denial of service by IP threat protection rules.
POLICY ACTION and POLICY
Export all Threat Protection Rules and Policies
{
"types" : ["policy_action", "policy"],
"scope":[
{
"attributeName" : "policyEnforcements.stageKey",
"keyword" : "threatProtection"
},
{
"attributeName" : "id",
"keyword" : "globalipdos|ipdos"
}],
"condition" : "or"
}
Export all Threat Protection policies.
ALIAS
Export all Aliases.
{
"types" : ["alias"]
}
Export all aliases.
APPLICATION
Export all Applications.
{
"types" : ["application"]
}
Export all Applications along with the associated APIs.
APPLICATION
Export all Applications without including the associated APIs.
{
"types" : ["application"],
"includeOptions" : {
"includeApis": false
}
}
--
ASSERTION
Export all Assertions.
{
"types" : ["assertion"]
}
--
PLAN
Export all Plans.
{
"types" : ["plan"]
}
--
PACKAGE
Export all Packages.
{
"types" : ["package"]
}
This will export all packages and its dependent plans and associated APIs. As the includeOptions is not specified, it will include all associated dependent assets.
It will export associated APIs for packages, then for each API, it will export the registered Application.
It will also include subscriptions for the packages.
PACKAGE
Export all Packages along with Subscriptions but without the registered Applications for the associated APIs.
{
"types" : ["package"],
"includeOptions":{
"includeApis" : false,
"includeApplications" : false,
"includeSubscriptions" : true
}
}
--
SUBSCRIPTIONS
Export all Subscriptions.
{
"types" : ["subscription"]
}
It will export all subscriptions along with its dependent packages, plans, and APIs.
ADMINISTRATOR SETTINGS
Export all Administrator Settings.
{
"types" : ["administrator_setting"]
}
--
PORTAL GATEWAY
Export the Portal Gateway Destination.
{
"types" : ["portal_gateway"]
}
--
4. If you are building BPM Process Development assets, set the following BPM-specific properties:
Note: See Preparing BPM Assets for Repository-Based Deployment for BPM project-level behaviors and instructions.
Property
Definition
bpm.acdl.model.ids
Optional. Semicolon-separated list of process IDs (that is, a concatenation of process project name and process model file name).
If the process does not exist in the source directory or one of its subdirectories, the value is ignored. If left empty, all process model IDs are included. This property can be used with or without the bpm.acdl.model.version property.
bpm.acdl.bam.model.ids
Optional. Semicolon-separated list of BAM process model IDs to add to the composite. BAM process models are tracking only and do not declare any dependencies. For example: testProcessProject/testProcessModel;testProcessProject2/testProcessModel2. If the process does not exist in the source directory or a child directory of it, the value is ignored. If left empty, no process model IDs are included. All process models are assumed to be BPM processes and will generate the standard process dependencies. This property can be used with or without the bpm.acdl.model.ids or bpm.acdl.model.version properties.
bpm.acdl.model.version
Optional. Version number of the process models to include in the build. Enter a single integer value (example, 1).
If this value is set, the build script includes only those process models in the source directory or one of its subdirectories that match the version number. If left empty, the build script includes process models of all versions. You can use this property with or without the bpm.acdl.model.ids property.
5. If you are building Optimize assets, set the following Optimize-specific property:
Property
Definition
optimize.acdl.validation
Specifies whether to switch the XSD validation of the generated composite and descriptor files. Set to:
*On to use XSD validation.
*Off to turn off XSD validation. This is the default.
6. If you are building business rules assets, set the following business rules-specific property:
Property
Definition
RULES.skip.on.validation.warning
Specifies whether the build script should create a rule project archive and composite when the rule project issues validation warnings. Set to:
*true to create a project archive and composite.
*false to turn off project archive and composite creation. This is the default.
7. If you are building Integration Server assets, set the following Integration Server- specific property:
Property
Definition
is.acdl.config.dir
Specifies the full path of the Integration Server config directory. For example:
Software AG_directory \IntegrationServer\config
Note: If you set this property, you must also specify a value for build.source.project.dir. If you do not specify a value for build.source.project.dir, the build script ignores this value.
8. Save and close the file.

Copyright © 2013-2018 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.