如何为Ant构建提供Gradle依赖项

时间:2015-02-18 12:09:44

标签: ant groovy gradle

我正在尝试从蚂蚁迁移到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。也有可能更简单的方法来实现这一点,但我不知道如何。

1 个答案:

答案 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进行任务依赖性连接,以确保正确的执行顺序。