mirror of
https://github.com/jlengrand/jreleaser.git
synced 2026-03-10 08:31:24 +00:00
[jdks] Add tasks to delete JDKs from cache. Resolves #364
This commit is contained in:
@@ -30,6 +30,7 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.file.Directory
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.api.tasks.Delete
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jreleaser.jdks.gradle.plugin.internal.JdkImpl
|
||||
import org.jreleaser.jdks.gradle.plugin.tasks.ListJdksTask
|
||||
@@ -260,6 +261,35 @@ class JdksPlugin implements Plugin<Project> {
|
||||
}
|
||||
})
|
||||
|
||||
List<TaskProvider<Delete>> deleteFromCacheTasks = []
|
||||
if (jdksToBeCopied) {
|
||||
jdksToBeCopied.each { candidateJdk ->
|
||||
String normalizedName = candidateJdk.normalizedName
|
||||
Provider<Directory> jdkDirectory = jdksDir.map({ d -> d.dir(normalizedName) })
|
||||
|
||||
deleteFromCacheTasks << project.tasks.register('deleteJdkFromCache' + normalizedName.capitalize(),
|
||||
Delete, new Action<Delete>() {
|
||||
@Override
|
||||
void execute(Delete t) {
|
||||
t.group = JDKS_GROUP
|
||||
t.description = "Delete JDK ${candidateJdk.name} from cache".toString()
|
||||
t.delete(candidateJdk.archive)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
project.tasks.register('deleteJdksFromCache',
|
||||
DefaultTask, new Action<DefaultTask>() {
|
||||
@Override
|
||||
@CompileDynamic
|
||||
void execute(DefaultTask t) {
|
||||
t.group = JDKS_GROUP
|
||||
t.description = 'Delete JDKs from Gradle cache'
|
||||
t.dependsOn(deleteFromCacheTasks)
|
||||
}
|
||||
})
|
||||
|
||||
TaskProvider<DefaultTask> setupJdks = project.tasks.register('setupJdks',
|
||||
DefaultTask, new Action<DefaultTask>() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user