我正在尝试从蚂蚁迁移到gradle。第一阶段是将所有家属迁移到gradle.build并仍然通过ant建立战争。
要导入ant构建,我正在使用此代码:
ant.importBuild('build.xml') { antTargetName ->
'ant_' + antTargetName
}
要将所有依赖项从gradle复制到ant,我正在尝试使用它:
task copyDependenciesForAnt() {
def antLibsPath = ant."tmp.build.dir" + "/" + ant."project.libs.folder"
configurations.compile.each { Files.copy(Paths.get(it), Paths.get(antLibsPath)) }
}
ant_war.mustRunAfter copyDependenciesForAnt
使用此代码我遇到问题,因为我不知道如何在这里使用Files.copy
。也有可能更简单的方法来实现这一点,但我不知道如何。
答案 0 :(得分:3)
您可以在Gradle中定义copy
任务,如下所示:
task copyDependenciesForAnt(type: Copy) {
from configurations.compile
into ant."tmp.build.dir" + "/" + ant."project.libs.folder"
}
ant_war.dependsOn copyDependenciesForAnt
另外,我建议使用dependsOn
而不是mustRunAfter
进行任务依赖性连接,以确保正确的执行顺序。