FileContentReplacer

A build feature which processes text files by performing regular expressions

Example. Finds all the 'Properties/AssemblyInfo.cs' files on the agent under the build checkout directory and performs replacement there according to the provided regular explression. All the strings matched by the regexp will be replaced with the current build number.

/*
buildType {
// Other Build Type settings ...
features {
// Other Build Features ...
        replaceContent {
fileRules = "**/Properties/AssemblyInfo.cs"
pattern = """(^\s*\[\s*assembly\s*:\s*((System\s*\.)?\s*Reflection\s*\.)?\s*""" +
"""AssemblyFileVersion(Attribute)?\s*\(\s*@?\")(([0-9\*])+\.?)+(\"\s*\)\s*\])"""
replacement = "%system.build.number%"
}
}
}

See also

Constructors

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

Types

Link copied to clipboard
Link copied to clipboard

Controls the way the search pattern and the replacement text are interpreted.

Properties

Link copied to clipboard

Whether the search should be case-sensitive. Enabled by default. A value of ``false`` sets CASE_INSENSITIVE and UNICODE_CASE flags. Set to ``false`` for case-insensitive languages (e.g. Visual Basic).

Link copied to clipboard

A name of the custom encoding to use, works when encoding is set to FileEncoding.CUSTOM

Link copied to clipboard

Specifies whether the feature is enabled, true by default

Link copied to clipboard

A file encoding to use

Link copied to clipboard

Enables/disables build failure in case there are no files matching the specified file pattern. Enabled by default.

Link copied to clipboard

Comma- or newline-separated set of rules in the form of ``+|-:[path relative to the checkout directory]``, wildcards are supported

Link copied to clipboard
var id: String?

Build feature id, if not specified will be generated

Link copied to clipboard
Link copied to clipboard

Pattern to search for, either in the regular expression (default) or in the fixed strings format, depending on the regexMode.

Link copied to clipboard

Controls the way the search pattern and the replacement text are interpreted. The default is RegexMode.REGEX. Set to RegexMode.FIXED_STRINGS to perform a fixed strings search.

Link copied to clipboard

Replacement text. In REGEX mode, ``$N`` sequence references ``N``-th capturing group. All backslashes (``\``) and dollar signs (``$``) without a special meaning should be quoted (as ``\\`` and ``\$``, respectively). In REGEX_MIXED and FIXED_STRINGS modes, backslashes (``\``) and dollar signs (``$``) have no special meaning.

Link copied to clipboard

Build feature type

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