Java Development: Build Tasks
The DevKit contains gradle and some prepared gradle build scripts for you to build your library:

Some of the scripts are just helper scripts or present for compatibility reasons. The following scripts are relevant in the context of this topic:
Script | Description | |
---|---|---|
build | Triggers the complete build process. | Use this script if you want to build the complete library from the source code. It assembles and tests the project (unit tests), generates a ZIP file, and sends it to your PAS system to get the xlib file in return. The xlib file then is stored to build/distributions. |
buildXlib | Triggers the build process without performing the unit tests. | Use this script if you do not need to perform the unit tests. |
publishXlib | Triggers the complete build process, and publishes the library to the asset repository of your PAS system. | Use this script if you want to publish your library to your PAS system directly after building it. If the library has already been build separately, publishXlib will know that and only publish it. |
clean | Triggers a cleaning of the build cache. | Some stages are cached during the build process. A new xUML project ID will be used. Use this script if you are experiencing build errors you cannot find a reason for. |
Before triggering a build, configure the gradle settings as described below.
gradle Settings
You can configure gradle via the file gradle.properties. Apart from some general settings, this file mainly configures access to the Git repository (if applicable) and to the asset-repository-service of your PAS installation.
Generally, you should use local.properties to configure authentication related project settings, see Java Development: Setting-up the Development Project. The local properties override the gradle properties for this very project.
You should never add any credentials to the gradle.properties or_local.properties. These files are designated to be checked into Git.
Library Configuration and PAS Access
The build process needs access to your PAS installation, because it uses the asset-repository service to transform the project ZIP file to an xlib file. Also, you need to provide some settings to be compiled to the library:
Setting | Location | Description | Example | |
---|---|---|---|---|
Library Version | xibVersion | gradle.properties | Provide the version of the library. The version will be generated to the library. |
|
Company Name | companyName | gradle.properties | Provide your company name to be added to the MANIFEST.MF. |
|
PAS Base URL | pasBaseUrl | gradle.properties | Specify the base URL of your PAS system. |
|
PAS Credentials | oauthUsername |
local.properties | Provide valid credentials of your PAS system for the library build. If you do not want to save your credentials to a file, you can leave the credentials empty. The build process will then prompt you with a popup to enter your password. |
Asset Publication
If you want to publish your library to the asset repository of your PAS instance using the pubishXlib script, you need to provide some details regarding the asset:
Setting | Location | Mandatory | Description | Example | |
---|---|---|---|---|---|
Asset Namespace | xlibNamespace | gradle.properties | Specify the namespace you want the library to be published to. |
| |
Asset Maintainer | xlibMaintainer | gradle.properties | Specify the email address of the library maintainer. |
| |
Asset Summary | xlibSummary | gradle.properties | Specify the summary for the library. |
| |
Asset Tags | xlibTags | gradle.properties | Specify a comma separated list of tags for your library. |
|
All Configurations Overview
Setting | Description | Example |
---|---|---|
Project Settings | ||
xlibVersion | Provide the version of the library. The version will be generated to the library. The version of the service must follow Semantic Versioning 2.0.0: Major.Minor.Patch. A pre-release tag is optional. A version numbering that deviates from this will lead to errors. |
|
uploadTimeoutSeconds | Specify an upload timeout in seconds (default is 150). You can increase this value in case you run into timeouts frequently, e.g. for big projects or slow PAS systems. |
|
org.gradle.jvmargs | Specify JVM configurations for gradle. You can use this to increase your Java heap space if necessary. |
|
PAS System Settings | ||
companyName | Provide your company name to be added to the MANIFEST.MF. |
|
pasBaseUrl | Specify the base URL of your PAS system. This is needed during the build process to get the xlib file from the project ZIP via the asset repository service. Authentication is granted by username and password, see oauthUsername and oauthPassword below. |
|
xlibNamespace | Specify the namespace you want the library to be published to. Used with the publishXlib script. |
|
xlibMaintainer | Specify the email address of the library maintainer. Used with the publishXlib script. |
|
xlibSummary | Specify the summary for the library. Used with the publishXlib script. |
|
xlibTags | Specify a comma separated list of tags for your library. Used with the publishXlib script. |
|
oauthUsername | Provide a valid username of your PAS system. This user must be a designer developer as described on Defining a Profile Set for Standard Users in the Administration guide. |
|
oauthPassword |
Do not specify this value here but configure this in the local.properties (see Java Development: Setting-up the Development Project). |
|
projectResource | Provide the API path to the project within the asset-repository service. This path is relative to the PAS base URL (pasBaseUrl). Do not change this setting. This only needs to be changed if required by a PAS update. |
|