在Gradle Groovy根build.gradle
我定义了一些方法。例如:
File[] getFiles(String path) {
// do some filtering here and return result array
return result
}
在模块build.gradle
中,我定义了一些调用上述方法的任务。例如:
tasks.register("copyFiles") {
doLast {
for (String path : pathList) {
File[] files = getFiles(path)
// do something with returned files
}
}
}
在Groovy没关系。现在我只将根build.gradle
转换为 Kotlin DSLbuild.gradle.kts
。
我尝试了一些将lambda设置为额外属性的尝试,但没有成功。它们通常会失败,但有异常:
Could not find method getFiles() for arguments ...
感谢您的建议。
val copyFile by creating(Copy::class)
{
into(project.directory)
into("path") {
from(bootJar.get().archiveFile.get())
}
}
这会将您的文件复制到 into() 提到的多个位置