GradleBuildStep

open class GradleBuildStep : BuildStep
fun BuildSteps.gradle(init: GradleBuildStep.() -> Unit): GradleBuildStep

A build step running gradle script

Example. Adds a simple Gradle step with custom tasks and build file determined by Gradle. Gralde 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 Gradles build step with custom Gradle task and build file localted in also custom working directory. Gradle incremental building feature is enabled. Additional Gradle command line parameters is 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 a 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 are 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
fun GradleBuildStep(init: GradleBuildStep.() -> Unit)
Link copied to clipboard
fun GradleBuildStep()

Types

Link copied to clipboard
sealed class CoverageEngine : CompoundParam<GradleBuildStep.CoverageEngine>
Link copied to clipboard
enum ImagePlatform : Enum<GradleBuildStep.ImagePlatform>

Docker image platforms

Functions

Link copied to clipboard
fun booleanParameter(    customName: String? = null,     trueValue: String? = "true",     falseValue: String? = "false"): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun clearConditions()

Deletes all configured build step conditions

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun conditions(init: BuildStepConditions.() -> Unit = {})
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): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun idea(init: GradleBuildStep.CoverageEngine.Idea.() -> Unit = {}): GradleBuildStep.CoverageEngine.Idea
Link copied to clipboard
fun intParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
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): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
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

Properties

Link copied to clipboard
var buildFile: <ERROR CLASS>

Path to build file

Link copied to clipboard
var conditions: BuildStepConditions

Optional collection of build step execution conditions

Link copied to clipboard
var coverageEngine: <ERROR CLASS>

Specifies coverage engine to use

Link copied to clipboard
var dockerImage: <ERROR CLASS>

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
var dockerImagePlatform: <ERROR CLASS>

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

Link copied to clipboard
var dockerPull: <ERROR CLASS>

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

Link copied to clipboard
var dockerRunParameters: <ERROR CLASS>

Additional docker run command arguments

Link copied to clipboard
var enabled: Boolean = true

Specifies whether the step is enabled, true by default

Link copied to clipboard
var enableDebug: <ERROR CLASS>

Whether Gradle should be executed with the -d option

Link copied to clipboard
var enableStacktrace: <ERROR CLASS>

Whether Gradle should be executed with the -s option

Link copied to clipboard
var executionMode: BuildStep.ExecutionMode

Build step execution mode

Link copied to clipboard
var gradleHome: <ERROR CLASS>

Path to the Gradle home directory (parent of 'bin' directory). Overrides agent GRADLE_HOME environment variable

Link copied to clipboard
var gradleParams: <ERROR CLASS>

Additional parameters will be added to the 'Gradle' command line

Link copied to clipboard
var gradleWrapperPath: <ERROR CLASS>

Optional path to the Gradle wrapper script, relative to the working directory

Link copied to clipboard
var id: String? = null

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
var incremental: <ERROR CLASS>

When set to true the :buildDependents task will be run on projects affected by changes

Link copied to clipboard
var jdkHome: <ERROR CLASS>

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

Link copied to clipboard
var jvmArgs: <ERROR CLASS>

Space-separated list of additional arguments for JVM

Link copied to clipboard
var name: String

Build step name

Link copied to clipboard
val params: List<Parameter>
Link copied to clipboard
var tasks: <ERROR CLASS>

Space separated task names, when not set the 'default' task is used

Link copied to clipboard
var type: String

Build step type

Link copied to clipboard
var useGradleWrapper: <ERROR CLASS>

Whether TeamCity should look for Gradle Wrapper scripts in the checkout directory and run script using it

Link copied to clipboard
var workingDir: <ERROR CLASS>

Custom working directory for gradle script