file - Gradle:无法复制文件
问题描述
我尝试使用 gradle 复制文件。创建文件没有问题,扫描目录但文件副本不起作用
task toDo3{
println("task toDo3 start in $projectDir" )
new File("$projectDir/version.txt").text =
"""
Version: $version
Revision: 1.0.2
Buildtime: ${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())}
Application-name: foobarbaz app
"""
println("task toDo3 end" )
}
task toDo4(type: Copy) {
println("task toDo4 start" )
from "src/main/version.txt"
into "build"
println("task toDo4 end" )
}
关于这个问题的任何想法?
感谢帮助
解决方案
您需要了解Gradle 的构建阶段
当您可能希望它们在执行阶段触发时,您的所有 println 语句都处于配置阶段。你的 toDo3 在配置阶段做所有事情,在执行阶段什么也不做。
您可能希望将您的 println 等放在 adoFirst {...}
或doLast{...}
闭包中
在src/main
. 更好的做法是在 $buildDir 下生成这些文件:
- 被“清理”任务删除
- 不会意外地致力于源代码控制
- 不要影响 Gradle 的最新检查/任务跳过