build.gradle.kts中的自定义清除/删除任务

build.gradle.kts中的自定义清除/删除任务,gradle,gradle-kotlin-dsl,Gradle,Gradle Kotlin Dsl,我有一个非常基本的自定义构建(Minecraft资源包压缩和复制) 目录布局 Project - src (future Java/Kotlin sources for resource pack preprocessing) - build (future Java/Kotlin class output folder, kept seperate from produced assets) - rp (the 'src' folder for the resource pack assets

我有一个非常基本的自定义构建(Minecraft资源包压缩和复制)

目录布局

Project
- src (future Java/Kotlin sources for resource pack preprocessing)
- build (future Java/Kotlin class output folder, kept seperate from produced assets)
- rp (the 'src' folder for the resource pack assets, pre-processing.
  - assets
- rp-out (the 'build' folder for the resource pack assets, post-processing.
  - ResourcePack.zip
  - ResourcePack
    - variousAssetsToZip
以及下面的build.gradle.kts

plugins {
    id("base")
}

tasks.create<Copy>("copy") {
    description = "Basic copy"
    group = "custom"
    from("rp")
    into("rp-out/${project.name}")
}

tasks.create<Zip>("zip") {
    description = "Archives the resource pack output"
    group = "Archive"
    from("rp-out/${project.name}")
    destinationDir = file("rp-out")
}

tasks.create<Delete>("cleanRP") {
    group = "build"
    delete {
        file("rp-out")
        file("rp-zip")
    }
}
插件{
id(“基”)
}
任务。创建(“复制”){
description=“基本副本”
group=“自定义”
来自(“rp”)
进入(“rp out/${project.name}”)
}
任务。创建(“zip”){
description=“存档资源包输出”
group=“存档”
from(“rp out/${project.name}”)
destinationDir=文件(“rp out”)
}
任务。创建(“cleanRP”){
group=“build”
删除{
文件(“rp输出”)
文件(“rp-zip”)
}
}
我希望这将清理/删除文件夹rp out、rp zip本身或内容

但是我无法让cleanRP任务删除文件夹内容,它只是完成了任务,没有任何效果

我对gradle for Java项目有点熟悉,这是我第一次编写Kotlin脚本,但我一直在适度关注会议讨论

我怎样才能有效地调试它?鉴于gradle kotlin dsl的早期阶段,我应该如何自学


(这个问题的解决方案是什么?

delete是任务的一个属性,使用“setter notation”进行设置

它接受一个集合,所以使用kotlin集合语法,您可以定义一组Gradle支持的“类文件”类型

例如:

tasks.create<Delete>("cleanRP") {
    group = "rp"
    delete = setOf (
        "rp-out", "rp-zip"
    )
}
tasks.create(“cleanRP”){
group=“rp”
删除=一组(
“rp out”、“rp-zip”
)
}