SharedLibrariesArgumentProvider

abstract class SharedLibrariesArgumentProvider : CommandLineArgumentProvider

Emits test.library.N.{name,location,implicit} JVM system properties for every Jenkins shared library on a test task. entries is ordered: the consumer's own library at index 0, followed by peer libraries at indices 1, 2, … in declaration order. The auto-registrar generated by GenerateLocalLibraryFiles iterates contiguous indices at Jenkins startup, so this ordering is part of the contract.

Inputs are split:

  • entries carries the structured data (name, location path, implicit flag) and is treated as a regular @Input (serialized via Java for configuration-cache compatibility).

  • sourceDirectories carries the resolved source directories purely for Gradle's path-sensitive up-to-date checking; the location paths inside entries are what actually feed asArguments.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
@get:Input
abstract val entries: ListProperty<SharedLibraryEntry>
Link copied to clipboard
@get:InputFiles
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val sourceDirectories: ConfigurableFileCollection

Functions

Link copied to clipboard
open override fun asArguments(): List<String>