BuildFailureOnMetric

open class BuildFailureOnMetric : FailureCondition

A build failure condition failing build on metric change.

Example. Fail build if the size of its artifacts decreases by 10% comparing to the last successful build.

buildType {
    // Other Build Type settings ...
    failureConditions {
        // Other Failure Conditions ...
        failOnMetricChange {
          metric = BuildFailureOnMetric.MetricType.ARTIFACT_SIZE
          threshold = 10
          units = BuildFailureOnMetric.MetricUnit.PERCENTS
          comparison = BuildFailureOnMetric.MetricComparison.LESS
          compareTo = build {
            buildRule = lastSuccessful()
          }
        }
} }

Example. Fail build if number of ignored tests exceeds 100.

buildType {
    // Other Build Type settings ...
    failureConditions {
        // Other Failure Conditions ...
        failOnMetricChange {
          metric = BuildFailureOnMetric.MetricType.TEST_IGNORED_COUNT
          threshold = 100
          units = BuildFailureOnMetric.MetricUnit.DEFAULT_UNIT
          comparison = BuildFailureOnMetric.MetricComparison.MORE
          compareTo = value()
        }
} }

See also

Constructors

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

Types

Link copied to clipboard
sealed class CompareTo : CompoundParam<BuildFailureOnMetric.CompareTo>
Link copied to clipboard
enum MetricComparison : Enum<BuildFailureOnMetric.MetricComparison>

A type of metric change

Link copied to clipboard
enum MetricType : Enum<BuildFailureOnMetric.MetricType>

A type of the metric

Link copied to clipboard
enum MetricUnit : Enum<BuildFailureOnMetric.MetricUnit>

Specifies how to treat the threshold specified in the failure condition

Functions

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

The metric value in the build should be compared to the metric value from a build matched by the rule

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

Link copied to clipboard
fun value(): BuildFailureOnMetric.CompareTo.Value

The metric value in the build should be compared to the threshold

Properties

Link copied to clipboard
var compareTo: BuildFailureOnMetric.CompareTo?

Specifies which value should be compared to the metric value in the build

Link copied to clipboard
var comparison: BuildFailureOnMetric.MetricComparison?

On which type of metric change a build should fail

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 metric: BuildFailureOnMetric.MetricType?

Type of the metric

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

Immediately stop the build if it fails due to this failure condition

Link copied to clipboard
var threshold: Int?

Threshold for build failure. A build will fail when a metric is changed more significantly than the specified threshold. Threshold change is treated according to the selected units. If not specified, the default value 1 is used.

Link copied to clipboard
var type: String

Build feature type

Link copied to clipboard
var units: BuildFailureOnMetric.MetricUnit?

Specifies the unit of the given threshold (default metric units or percents)