GradleBuildStep

A build step running gradle script

Example. Adds a simple Gradle step with custom tasks and a build file determined by Gradle. The Gradle Wrapper located in the checkout directory is used.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        gradle {
name = "Build myproject"
tasks = ":myproject:clean :myproject:build"
}
}
}

Example. Add a Gradle build step with a custom Gradle task and a build file in a custom working directory. Gradle incremental building feature is enabled. Additional Gradle command line parameters are specified with a reference to a configuration parameter. Gralde build step is set up not to use Gradle Wrapper, so Gradle will be taken from the agent's GRADLE_HOME environment variable. Additional run parameter for printing stacktrace is enabled. This step will be run inside a Docker container. IDEA-based code coverage is enabled.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        gradle {
name = "Test my project in Docker"

tasks = "clean test"
buildFile = "build-test.gradle"
incremental = true
workingDir = "tests/"
gradleParams = "%myproject.version%"

useGradleWrapper = false

enableStacktrace = true

coverageEngine = idea {
includeClasses = """
org.group.example.*
org.group.common
""".trimIndent()
excludeClasses = "org.group.common.test.*"
}

dockerImage = "gradle:jdk11"
dockerImagePlatform = GradleBuildStep.ImagePlatform.Linux
}
}
}

Example. Adds a Gradle build step with 'default' Gradle task and custom Gradle build file. Gradle Wrapper using is disabled, so Gradle will be taken with reference to an environment variable. JDK is set to the environment variable value with custom command line parameters. This build step will run even if some previous build steps failed.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        gradle {
name = "Default run on JDK 11"
executionMode = BuildStep.ExecutionMode.RUN_ON_FAILURE

buildFile = "build-dev.gradle"
gradleHome = "%env.GRADLE_DEV_HOME%"
useGradleWrapper = false

jdkHome = "%env.JDK_11_0%"
jvmArgs = "-Xmx2048m"
}
}
}

See also

Constructors

Link copied to clipboard
constructor(init: GradleBuildStep.() -> Unit)
constructor()

Types

Link copied to clipboard

Docker image platforms

Properties

Link copied to clipboard

The path to a custom Gradle build file. Leave this field empty if your build file is build.gradle located in the root directory. This property is deprecated for Gradle versions 9.0 and higher, use the additional -p <path-relative-to-checkout-directory> command line parameter instead.

Link copied to clipboard

Optional collection of build step execution conditions

Link copied to clipboard

Specifies coverage engine to use

Link copied to clipboard

Specifies which Docker image to use for running this build step. I.e. the build step will be run inside specified docker image, using 'docker run' wrapper.

Link copied to clipboard

Specifies which Docker image platform will be used to run this build step.

Link copied to clipboard

If enabled, "docker pull image" will be run before docker run.

Link copied to clipboard

Additional docker run command arguments

Link copied to clipboard

Specifies whether the step is enabled, true by default

Link copied to clipboard

Runs Gradle with the 'debug' (-d) log level. See also: Logging Sensitive Information.

Link copied to clipboard

Allows Gradle to print truncated stacktraces.

Link copied to clipboard
Link copied to clipboard

The path to a custom Gradle version. This version will be used instead of the default Gradle version referenced by the GRADLE_HOME environment variable.

Link copied to clipboard

Optional space-separated command-line parameters

Link copied to clipboard

The path (relative to the working directory) to a Gradle Wrapper script

Link copied to clipboard
var id: String?

Optional id of the step. Usually the id is not required, however if a build configuration inherits from a template and wants to override a build step defined there, then both steps should have the same id.

Link copied to clipboard

Enable this option to allow TeamCity to detect Gradle modules affected by a modified build, and run the :buildDependents only for these affected modules.

Link copied to clipboard

Custom JDK to use. The default is JAVA_HOME environment variable or the agent's own Java.

Link copied to clipboard

Space-separated list of additional arguments for JVM

Link copied to clipboard

Build step name

Link copied to clipboard
Link copied to clipboard

Space-separated task names. TeamCity runs the 'default' task if this field is empty.

Link copied to clipboard

Build step type

Link copied to clipboard

Enable this setting if TeamCity should look for a Gradle Wrapper script in the project directory.

Link copied to clipboard

Custom working directory for the Gradle script

Functions

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): DelegateProvider<Boolean?>
Link copied to clipboard
fun clear()
Link copied to clipboard

Deletes all configured build step conditions

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<T>
Link copied to clipboard
Link copied to clipboard
fun <T : Parametrized> copyParamsTo(target: T): T

Copies parameters of this object to the specified target

Link copied to clipboard
open fun create(): BuildStep

Creates an instance of this build step via reflection using a no argument constructor, used during copying. Throws an error if this class doesn't have a default constructor. Subclasses can override it to create an instance without using a default constructor.

Link copied to clipboard
fun doubleParameter(customName: String? = null): DelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): DelegateProvider<E>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun intParameter(customName: String? = null): DelegateProvider<Int>
Link copied to clipboard
fun param(name: String, value: String)

Adds parameter with specified name and value

Link copied to clipboard
fun removeRawParam(paramName: String)
Link copied to clipboard
open fun stringParameter(customName: String? = null): DelegateProvider<String>
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun validate(consumer: ErrorConsumer)

Validates this object and reports found errors to the provided consumer