0

如何从 Gradle 构建文件中调用 Ant 目标“jar”?我尝试了很多事情都无济于事。重命名 Ant 构建文件中的“jar”目标不是一种选择。我正在将基于 Ant 的构建系统转换为 Gradle,第一步是从 Gradle 调用所有 Ant 目标。

'jar' 任务是一个默认的 Gradle 任务,所以我正在覆盖/覆盖它,但我需要调用我类似命名的 Ant 目标。

Gradle build.gradle 文件:

// Prevents error "Cannot add task {taskname} as a task with that name already exists"
ant.project.addTarget('clean', new org.apache.tools.ant.Target())
ant.project.addTarget('jar', new org.apache.tools.ant.Target())
ant.project.addTarget('test', new org.apache.tools.ant.Target())
ant.project.addTarget('javadoc', new org.apache.tools.ant.Target())

ant.importBuild 'build.xml'

task jar(overwrite: true) {        
    println 'jar'
}

task clean(overwrite: true) {        
    println 'clean'
}

task test(overwrite: true) {
    println 'test'
}

和我的 Ant build.xml:

<target name='jar' description='jar'>
    <echo>Called jar task in ant build</echo>
</target>

运行 Gradle v1.2

------------------------------------------------------------
Gradle 1.2
------------------------------------------------------------

Gradle build time: Wednesday, September 12, 2012 10:46:02 AM UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy: 2.2.0
JVM: 1.6.0_25 (Sun Microsystems Inc. 20.0-b11)
OS: Linux 2.6.37.6 amd64
4

1 回答 1

0

Gradle 仅jar在您应用 Java 插件时添加一个任务,您不应该为您导入 Ant 构建的项目执行此操作。我认为您不应该ant.project.addTarget从 Gradle 构建脚本中调用。

于 2012-11-07T02:28:47.973 回答