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
constructor(init: BuildCacheFeature.() -> Unit)
constructor()

Properties

Link copied to clipboard

Specifies whether the feature is enabled, true by default

Link copied to clipboard
var id: String?

Build feature id, if not specified will be generated

Link copied to clipboard
var name: String?

Name of the cache

Link copied to clipboard
Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Build feature type

Link copied to clipboard
var use: Boolean?

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

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
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<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): 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