UpdateBackwardsCompatibilityExemptsTask

@UntrackedTask(because = "Rewrites the Kotlin sources it analyzes, so it must always run")
abstract class UpdateBackwardsCompatibilityExemptsTask : DefaultTask(source)

Rewrites the module's Kotlin sources so that every recorded watchdog diagnostic is acknowledged with the matching @Intentionally* exemption annotation carrying reason = ExemptionReason.FOR_BACKWARDS_COMPATIBILITY.

The task is meant for adopting the watchdog on an existing library: the already-shipped API can't change shape without breaking users, so its diagnostics are acknowledged wholesale and the checks keep guarding only the API added afterwards. New code should get a deliberate decision instead: fix the shape, or pick the honest reason by hand.

When this task is selected, every main Kotlin compilation writes a report through the regular KGP compile task. This task depends on those compilations, hands all reports to one standalone PSI fixer process, and never invokes a Kotlin compiler itself. Exact duplicates from common sources compiled for several targets are removed by the fixer.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open var actions: List<Action<in Task?>?>?
Link copied to clipboard
open val ant: AntBuilder?
Link copied to clipboard
@get:Internal
open val asDynamicObject: DynamicObject
Link copied to clipboard
@get:Input
abstract val compilationNames: ListProperty<String>

The main Kotlin compile task names KGP exposed to the compiler support plugin.

Link copied to clipboard
open val dependsOn: Set<Any?>?
Link copied to clipboard
open var description: @Nullable String?
Link copied to clipboard
open val destroyables: TaskDestroyables?
Link copied to clipboard
@get:Internal
abstract val diagnosticReports: ConfigurableFileCollection

Reports written by the regular Kotlin compilation tasks. Missing reports are empty.

Link copied to clipboard
open var didWork: Boolean
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard
@get:Inject
protected abstract val execOperations: ExecOperations
Link copied to clipboard
open val extensions: ExtensionContainer?
Link copied to clipboard
open val finalizedBy: TaskDependency?
Link copied to clipboard
@get:Classpath
abstract val fixerClasspath: ConfigurableFileCollection

The standalone fixer tool and kotlin-compiler-embeddable used for PSI parsing.

Link copied to clipboard
open var group: @Nullable String?
Link copied to clipboard
open val identityPath: Path?
Link copied to clipboard
Link copied to clipboard
open val inputs: TaskInputsInternal?
Link copied to clipboard
@get:Internal
open var isEnabled: Boolean
Link copied to clipboard
Link copied to clipboard
@get:Internal
open val lifecycleDependencies: TaskDependencyInternal?
Link copied to clipboard
open val localState: TaskLocalState?
Link copied to clipboard
open val logger: Logger?
Link copied to clipboard
open val logging: LoggingManager?
Link copied to clipboard
open val mustRunAfter: TaskDependency?
Link copied to clipboard
open val name: String?
Link copied to clipboard
open val onlyIf: Spec<in TaskInternal?>?
Link copied to clipboard
open val outputs: TaskOutputsInternal?
Link copied to clipboard
open val path: String?
Link copied to clipboard
open val project: Project?
Link copied to clipboard
@get:Internal
abstract val projectDirectory: DirectoryProperty

The directory console output relativizes source paths against.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val requiredServices: TaskRequiredServices?
Link copied to clipboard
@get:Internal
protected open val services: ServiceRegistry?
Link copied to clipboard
open val sharedResources: List<ResourceLock?>?
Link copied to clipboard
open val shouldRunAfter: TaskDependency?
Link copied to clipboard
open val standardOutputCapture: StandardOutputCapture?
Link copied to clipboard
open val state: TaskStateInternal?
Link copied to clipboard
open val taskActions: List<InputChangesAwareTaskAction?>?
Link copied to clipboard
open val taskDependencies: TaskDependencyInternal?
Link copied to clipboard
open val taskIdentity: TaskIdentity<*>?
Link copied to clipboard
open val temporaryDir: File?
Link copied to clipboard
open val temporaryDirFactory: Factory<File?>?
Link copied to clipboard
open val timeout: Property<Duration?>?

Functions

Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec?>?)
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task?>?)
Link copied to clipboard
open operator fun compareTo(otherTask: Task?): Int
Link copied to clipboard
open fun configure(closure: Closure<*>?): Task?
Link copied to clipboard
open fun dependsOn(vararg paths: Any?): Task?
Link copied to clipboard
open fun doFirst(action: Closure<*>?): Task?
open fun doFirst(action: Action<in Task?>?): Task?
open fun doFirst(actionName: String?, action: Action<in Task?>?): Task?
Link copied to clipboard
open fun doLast(action: Closure<*>?): Task?
open fun doLast(action: Action<in Task?>?): Task?
open fun doLast(actionName: String?, action: Action<in Task?>?): Task?
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String?)
Link copied to clipboard
open fun doNotTrackStateIf(reason: String?, spec: Spec<in TaskInternal?>?)
Link copied to clipboard
open fun finalizedBy(vararg paths: Any?): Task?
Link copied to clipboard
open fun hasProperty(propertyName: String?): Boolean
Link copied to clipboard
Link copied to clipboard
open fun mustRunAfter(vararg paths: Any?): Task?
Link copied to clipboard
open fun onlyIf(onlyIfClosure: Closure<*>?)
open fun onlyIf(spec: Spec<in Task?>?)
open fun onlyIf(onlyIfReason: String?, spec: Spec<in Task?>?)
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task?>?)
Link copied to clipboard
open fun property(propertyName: String?): Any?
Link copied to clipboard
open fun restoreOnlyIf(onlyIf: Spec<in TaskInternal?>?)
Link copied to clipboard
open fun restoreTaskActions(taskActions: List<InputChangesAwareTaskAction?>?)
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<*>?)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<*>?)
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<*>?)
Link copied to clipboard
open fun setOnlyIf(onlyIfClosure: Closure<*>?)
open fun setOnlyIf(spec: Spec<in Task?>?)
open fun setOnlyIf(onlyIfReason: String?, spec: Spec<in Task?>?)
Link copied to clipboard
open fun setProperty(name: String?, value: Any?)
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<*>?)
Link copied to clipboard
open fun shouldRunAfter(vararg paths: Any?): TaskDependency?
Link copied to clipboard
Link copied to clipboard
open fun usesService(service: Provider<out BuildService<*>?>?)