BuildCacheFeature

open class BuildCacheFeature : BuildFeature
fun BuildFeatures.buildCache(init: BuildCacheFeature.() -> Unit): BuildCacheFeature

Provides build cache functionality

Example. Publish local .m2 directory with downloaded dependencies to the cache with name "maven-cache"

buildType {
// Other Build Type settings ...
features {
// Other Build Features ...
        buildCache {
name = "maven-cache"
publish = true
rules = ".m2"
}
}
}

Example. Publish a set of files to the cache

buildType {
// Other Build Type settings ...
features {
// Other Build Features ...
        buildCache {
name = "my-cache"
publish = true
rules = """
target/artifact.jar
settings.txt
""".trimIndent()
}
}
}

Example. Use the given cache

buildType {
// Other Build Type settings ...
features {
// Other Build Features ...
        buildCache {
name = "my-cache"
publish = false
}
}
}

Example. Publish and use the given cache in the same build. Publish cache only it was changed during the build.

buildType {
// Other Build Type settings ...
features {
// Other Build Features ...
        buildCache {
name = "my-cache"
publish = true
rules = """
target/artifact.jar
settings.txt
""".trimIndent()
publishOnlyChanged = true
use = true
}
}
}

See also

Constructors

Link copied to clipboard
fun BuildCacheFeature(init: BuildCacheFeature.() -> Unit)
Link copied to clipboard
fun BuildCacheFeature()

Functions

Link copied to clipboard
fun booleanParameter(    customName: String? = null,     trueValue: String? = "true",     falseValue: String? = "false"): SingleDelegateProvider<Boolean>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): CompoundDelegateProvider<T>
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(): BuildFeature

Creates an instance of this build feature 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): SingleDelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): SingleDelegateProvider<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): SingleDelegateProvider<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
fun stringParameter(customName: String? = null): SingleDelegateProvider<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

Properties

Link copied to clipboard
var enabled: Boolean = true

Specifies whether the feature is enabled, true by default

Link copied to clipboard
var id: String? = null

Build feature id, if not specified will be generated

Link copied to clipboard
var name: String?

Name of the cache

Link copied to clipboard
val params: List<Parameter>
Link copied to clipboard
var publish: Boolean?

If true, publishes the files matched by rules to cache.

Link copied to clipboard
var publishOnlyChanged: Boolean?

If enabled, cache will be published only if it was used and its files were changed during the build.

Link copied to clipboard
var rules: String?

Newline-separated list of paths relative to the checkout directory of the files or directories that should be cached. Wildcards are not supported.

Link copied to clipboard
var type: String

Build feature type

Link copied to clipboard
var use: Boolean?

If true, downloads cached files to the agent before the build steps are executed.