gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 02:56:37 27 4
gpt4 key购买 nike

我有一个非常基本的自定义构建(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")
}
}

我希望这会清理/删除 要么 文件夹 rp-out、rp-zip 本身或内容。

但是我无法获得删除文件夹内容的cleanRP任务,它只是完成了任务,没有任何表面效果。

我是 熟悉 Java 项目的 gradle,这是我做的第一个 Kotlin 脚本,但我一直在适度关注 session 演讲。

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

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

最佳答案

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

它接受一个 Set,因此使用 kotlin setOf 语法,您可以定义一组 Gradle 支持的“类文件”类型。

例子:

tasks.create<Delete>("cleanRP") {
group = "rp"
delete = setOf (
"rp-out", "rp-zip"
)
}

关于gradle - build.gradle.kts 中的自定义清理/删除任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51966632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com