Gradle 更改复制任务目标
我想根据选择的版本更改文件副本的目标目录。 这不起作用,因为任务图是在执行阶段执行的,而copyTask是在配置阶段设置的 我怎样才能做到这一点Gradle 更改复制任务目标,gradle,Gradle,我想根据选择的版本更改文件副本的目标目录。 这不起作用,因为任务图是在执行阶段执行的,而copyTask是在配置阶段设置的 我怎样才能做到这一点 gradle.taskGraph.whenReady { taskGraph -> println('taskGraph') if (taskGraph.hasTask(buildRelease)){ File toDir=file('test/r') println('Copy to: ' + t
gradle.taskGraph.whenReady { taskGraph ->
println('taskGraph')
if (taskGraph.hasTask(buildRelease)){
File toDir=file('test/r')
println('Copy to: ' + toDir.getName())
}else if (taskGraph.hasTask(buildDevel)) {
File toDir=file('test/d')
println('Copy to: ' + toDir.getName())
}
}
task buildDevel (dependsOn: ['copyTask']){}
task buildRelease (dependsOn: ['copyTask']){}
task copyTask(type: Copy) {
from "test"
into toDir
include 'a.txt'
}
这可能有助于您(您需要在与build.gradle
相同的级别上创建a.txt
文件。gradle位于:
gradle.taskGraph.whenReady { taskGraph ->
def cp = project.copyTask
if (taskGraph.hasTask(buildRelease)){
cp.into 'lol1'
} else if (taskGraph.hasTask(buildDevel)) {
cp.into 'lol2'
}
}
task buildDevel (dependsOn: ['copyTask']){}
task buildRelease (dependsOn: ['copyTask']){}
task copyTask(type: Copy) {
from file('.')
include 'a.txt'
}
这也将有助于:
task buildDevel
task buildRelease
buildDevel.doFirst {
cp('lol1')
}
buildRelease.doFirst {
cp('lol2')
}
def cp(to) {
copy {
from file('.')
into to
include 'a.txt'
}
}