TeamCity 9.0 Help

Gradle

The Gradle Build Runner runs Gradle projects.

Gradle Parameters

Option

Description

Gradle tasks

Specify Gradle task names separated by space. For example: :myproject:clean :myproject:build or clean build. If this field is left blank, the 'default' is used. Note, that TeamCity currently supports building Java projects with Gradle. Groovy/Scala/etc. projects building has not been tested.

Incremental building

TeamCity can make use of Gradle :buildDependents feature. If the Incremental building checkbox is enabled, TeamCity will detect Gradle modules affected by changes in the build, and start the :buildDependents command for them only. This will cause Gradle to fully build and test only the modules affected by changes.

Gradle home path

Specify here the path to the Gradle home directory (the parent of the bin directory). If not specified, TeamCity will use the Gradle from an agent's GRADLE_HOME environment variable. If you don't have Gradle installed on agents, you can use Gradle wrapper instead.

Additional Gradle command line parameters

Optionally, specify the space-separated list of command line parameters to be passed to Gradle.

Gradle Wrapper

If this checkbox is selected, TeamCity will look for Gradle Wrapper scripts in the checkout directory, and launch the appropriate script with Gradle tasks and additional command line parameters specified in the fields above. In this case, the Gradle specified in Gradle home path and the one installed on agent, are ignored.

Run Parameters

Option

Description

Debug

Selecting the Log debug messages check box is equivalent to adding the -d Gradle command line parameter.

Stacktrace

Selecting the Print stacktrace check box is equivalent to adding the -s Gradle command line parameter.

Java Parameters

Option

Description

JDK

select a JDK. The default is JAVA_HOME environment variable or the agent's own Java.

JDK home path

The option is available when <Custom> is selected above. Use this field to specify the path to your custom JDK used to run the build. If the field is left blank, the path to JDK Home is read either from the JAVA_HOME environment variable on agent the computer, or from env.JAVA_HOME property specified in the build agent configuration file (buildAgent.properties). If these both values are not specified, TeamCity uses Java home of the build agent process itself.

JVM command line parameters

You can specify such JVM command line parameters as, e.g., maximum heap size or parameters enabling remote debugging. These values are passed by the JVM used to run your build. Example:

-Xmx512m -Xms256m

Build properties

Since TeamCity 9.1.5 the TeamCity system parameters can be accessed in Gradle build scripts in the same way as Gradle properties. The new recommended way to reference properties is as follows:

task printProperty << { println "${project.ext['teamcity.build.id']}" }

or if the system property's name is a legal Groovy name identifier (e.g. system.myPropertyName = myPropertyValue):

task printProperty << { println "$myPropertyName" }

An alternative way is using the teamcity property (deprecated since 9.1.5). The property contains the map with all defined system properties (see Defining and Using Build Parameters for details). The example below contains a task that will print all available build properties to the build log (it must be executed by the buildserver):

task printProperties << { teamcity.each { key, val -> println "##tc-property name='${key}' value='${val}'" } }

Code Coverage

Code coverage with IDEA code coverage engine and JaCoCo is supported.

Last modified: 20 April 2023