如何为 Ant 构建提供 Gradle 依赖项
How to provide Gradle dependencies for Ant build
我正在尝试从 ant 迁移到 gradle。第一阶段是将所有依赖项移动到 gradle.build 并仍然通过 ant.
构建 war
要导入 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
。在 gradle 中可能还有更简单的方法来实现此目的,但我不知道如何实现。
您可以在Gradle中定义一个copy
任务,如下:
task copyDependenciesForAnt(type: Copy) {
from configurations.compile
into ant."tmp.build.dir" + "/" + ant."project.libs.folder"
}
ant_war.dependsOn copyDependenciesForAnt
此外,我建议使用 dependsOn
而不是 mustRunAfter
进行任务依赖关系连接,以确保正确的执行顺序。
我正在尝试从 ant 迁移到 gradle。第一阶段是将所有依赖项移动到 gradle.build 并仍然通过 ant.
构建 war要导入 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
。在 gradle 中可能还有更简单的方法来实现此目的,但我不知道如何实现。
您可以在Gradle中定义一个copy
任务,如下:
task copyDependenciesForAnt(type: Copy) {
from configurations.compile
into ant."tmp.build.dir" + "/" + ant."project.libs.folder"
}
ant_war.dependsOn copyDependenciesForAnt
此外,我建议使用 dependsOn
而不是 mustRunAfter
进行任务依赖关系连接,以确保正确的执行顺序。