CleanupLegacyAppLogoArtifactsTask

@DisableCachingByDefault(because = "One-shot source migration with backups and provenance side effects.")
abstract class CleanupLegacyAppLogoArtifactsTask : DefaultTask

One-shot migration helper: removes app-logo files that would otherwise sit as orphans or actively break the resource merge after adopting the FG+BG pipeline.

Files migrated (only when present):

  • ${androidResDir}/drawable/ic_launcher.xml: pre-FG/BG generated artifact.

  • ${androidResDir}/values/ic_launcher_background.xml: pre-FG/BG artifact.

  • template launcher icons under each mipmap-<density> dir (typically ic_launcher.webp from the Android Studio wizard) that collide with the generated .png of the same stem and fail AAPT2's merge.

  • on first contact only, any existing file at a path the current installer will claim, including Android Studio's adaptive-icon XML wrappers and same-name PNGs. Once an ownership manifest exists, current managed outputs are preserved and only the sync task may validate or replace them.

This task never assumes a familiar filename implies plugin ownership. Every candidate is copied to a checksummed durable .kitessot/recovery backup and recorded in a provenance manifest before the original is removed. Honors dryRun (lists what it would migrate, writes/removes nothing).

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
@get:Internal
abstract val androidResDir: DirectoryProperty
Link copied to clipboard
@get:Internal
abstract val backupDir: DirectoryProperty
Link copied to clipboard
var description: @Nullable String
Link copied to clipboard
@get:Internal
abstract val dryRun: Property<Boolean>
Link copied to clipboard
@get:Internal
var enabled: Boolean
Link copied to clipboard
var group: @Nullable String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:Internal
abstract val projectRootDir: DirectoryProperty
Link copied to clipboard
val state: TaskStateInternal
Link copied to clipboard
val timeout: Property<Duration>

Functions

Link copied to clipboard
open override fun acceptServiceReferences(serviceReferences: MutableSet<ServiceReferenceSpec>)
Link copied to clipboard
open override fun appendParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
fun cleanup()
Link copied to clipboard
open operator override fun compareTo(other: Task): Int
Link copied to clipboard
open override fun configure(closure: Closure<Any>): Task
Link copied to clipboard
open override fun dependsOn(vararg paths: Any): Task
Link copied to clipboard
open override fun doFirst(action: Closure<Any>): Task
open override fun doFirst(action: Action<in Task>): Task
open override fun doFirst(actionName: String, action: Action<in Task>): Task
Link copied to clipboard
open override fun doLast(action: Closure<Any>): Task
open override fun doLast(action: Action<in Task>): Task
open override fun doLast(actionName: String, action: Action<in Task>): Task
Link copied to clipboard
open override fun doNotTrackState(reasonNotToTrackState: String)
Link copied to clipboard
open override fun doNotTrackStateIf(reason: String, spec: Spec<in TaskInternal>)
Link copied to clipboard
open override fun finalizedBy(vararg paths: Any): Task
Link copied to clipboard
open override fun getActions(): MutableList<Action<in Task>>
Link copied to clipboard
open override fun getAnt(): AntBuilder
Link copied to clipboard
@Internal
open override fun getAsDynamicObject(): DynamicObject
Link copied to clipboard
open override fun getDependsOn(): MutableSet<Any>
Link copied to clipboard
open override fun getDestroyables(): TaskDestroyables
Link copied to clipboard
open override fun getDidWork(): Boolean
Link copied to clipboard
open override fun getExtensions(): ExtensionContainer
Link copied to clipboard
open override fun getFinalizedBy(): TaskDependency
Link copied to clipboard
open override fun getIdentityPath(): Path
Link copied to clipboard
open override fun getInputs(): TaskInputsInternal
Link copied to clipboard
@Internal
open override fun getLifecycleDependencies(): TaskDependencyInternal
Link copied to clipboard
open override fun getLocalState(): TaskLocalState
Link copied to clipboard
open override fun getLogger(): Logger
Link copied to clipboard
open override fun getLogging(): LoggingManager
Link copied to clipboard
open override fun getMustRunAfter(): TaskDependency
Link copied to clipboard
open override fun getName(): String
Link copied to clipboard
open override fun getOnlyIf(): Spec<in TaskInternal>
Link copied to clipboard
open override fun getOutputs(): TaskOutputsInternal
Link copied to clipboard
open override fun getPath(): String
Link copied to clipboard
open override fun getProject(): Project
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getRequiredServices(): TaskRequiredServices
Link copied to clipboard
open override fun getSharedResources(): MutableList<ResourceLock>
Link copied to clipboard
open override fun getShouldRunAfter(): TaskDependency
Link copied to clipboard
open override fun getStandardOutputCapture(): StandardOutputCapture
Link copied to clipboard
open override fun getTaskActions(): MutableList<InputChangesAwareTaskAction>
Link copied to clipboard
open override fun getTaskDependencies(): TaskDependencyInternal
Link copied to clipboard
open override fun getTaskIdentity(): TaskIdentity<*>
Link copied to clipboard
open override fun getTemporaryDir(): File
Link copied to clipboard
open override fun getTemporaryDirFactory(): Factory<File>
Link copied to clipboard
open override fun hasProperty(propertyName: String): Boolean
Link copied to clipboard
open override fun hasTaskActions(): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun mustRunAfter(vararg paths: Any): Task
Link copied to clipboard
open override fun notCompatibleWithConfigurationCache(reason: String)
Link copied to clipboard
open override fun onlyIf(onlyIfClosure: Closure<Any>)
open override fun onlyIf(spec: Spec<in Task>)
open override fun onlyIf(onlyIfReason: String, spec: Spec<in Task>)
Link copied to clipboard
open override fun prependParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open override fun property(propertyName: String): Any
Link copied to clipboard
open override fun restoreOnlyIf(onlyIf: Spec<in TaskInternal>)
Link copied to clipboard
open override fun restoreTaskActions(taskActions: MutableList<InputChangesAwareTaskAction>)
Link copied to clipboard
open override fun setActions(replacements: MutableList<Action<in Task>>)
Link copied to clipboard
open override fun setDependsOn(dependsOn: MutableIterable<*>)
Link copied to clipboard
open override fun setDidWork(didWork: Boolean)
Link copied to clipboard
open override fun setFinalizedBy(finalizedByTasks: MutableIterable<*>)
Link copied to clipboard
open override fun setMustRunAfter(mustRunAfterTasks: MutableIterable<*>)
Link copied to clipboard
open override fun setOnlyIf(onlyIfClosure: Closure<Any>)
open override fun setOnlyIf(spec: Spec<in Task>)
open override fun setOnlyIf(onlyIfReason: String, spec: Spec<in Task>)
Link copied to clipboard
open override fun setProperty(name: String, value: Any)
Link copied to clipboard
open override fun setShouldRunAfter(shouldRunAfterTasks: MutableIterable<*>)
Link copied to clipboard
open override fun shouldRunAfter(vararg paths: Any): TaskDependency
Link copied to clipboard
open override fun usesService(service: Provider<out BuildService<*>>)