AbiValidationExtension

An experimental plugin DSL extension to configure Application Binary Interface (ABI) validation.

ABI validation is a part of the Kotlin toolset designed to control which declarations are available to other modules. You can use this tool to control the binary compatibility of your library or shared module.

This extension is available inside the kotlin {} block in your build script:

kotlin {
abiValidation {
// Your ABI validation configuration
}
}

Note that this DSL is experimental, and it will likely change in future versions until it is stable.

Since

2.2.0

Properties

Link copied to clipboard
abstract val binariesSource: Property<BinariesSource>

Specifies the source of the binaries to extract ABI declarations from.

Link copied to clipboard
abstract val checkTaskProvider: TaskProvider<Task>

A provider for the task that compares actual dumps from the current with dumps from referenceDumpDir.

Link copied to clipboard
open val enabled: Property<Boolean>
Link copied to clipboard
abstract val filters: AbiFiltersSpec

A set of filtering rules that restrict Application Binary Interface (ABI) declarations from being included in a dump.

Link copied to clipboard
abstract val keepLocallyUnsupportedTargets: Property<Boolean>

Whether to include the declarations for targets which are not supported by the host in the generated dump. Targets which are not supported by the host in two cases:

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Provides configuration for dumps stored in the old format that are used separately in the Binary Compatibility validator plugin.

Link copied to clipboard
Link copied to clipboard
open val legacyUpdateTaskProvider: TaskProvider<Task>
Link copied to clipboard
abstract val referenceDumpDir: DirectoryProperty

The directory containing reference dumps that the dump generated from the current code is compared with by the checkTaskProvider task.

Link copied to clipboard
abstract val updateTaskProvider: TaskProvider<Task>

Overwrite dumps in the referenceDumpDir directory with the actual dumps for the current code.

Link copied to clipboard
open val variants: NamedDomainObjectContainer<AbiValidationVariantSpec>

Functions

Link copied to clipboard
open fun filters(action: Action<AbiFiltersSpec>)

Configures the filters with the provided configuration.

Link copied to clipboard
open fun klib(action: Action<AbiValidationKlibKindExtension>)
Link copied to clipboard

Configures the legacyDump with the provided configuration.