我有一个简单的任务,应该在类任务之前复制我的资源。
task copyJsMocks(type:Copy) {
println "Is java script mocks needed: " + project.hasProperty('mockServices');
def mockSrc = projectDir.toPath().toString() + "/src/test/resources/site/services";
def mockDst = buildDir.toPath().toString() + "/resources/main/site/services";
if (project.hasProperty('mockServices')) {
from mockSrc;
into mockDst;
}
classes {
dependsOn copyJsMocks;
}
......但根据日志,这项任务在开始时执行。
.....
Is java script mocks needed: true
:phantomJsStop
:clean
:cleanEnonicDeploy
:compileJava
:compileGroovy UP-TO-DATE
:processResources
:classes
我该如何解决?
答案 0 :(得分:1)
阅读发行版附带的Gradle用户指南PDF。
您将了解到任务分两个阶段执行,即"配置"阶段和"执行"相。该println语句在配置阶段执行,并且您无法控制在配置阶段执行任务的顺序。