如何使用includeantruntime =" true"来包装调用javac的Ant任务?在我的Gradle构建中?

时间:2015-07-01 03:38:56

标签: java ant gradle build.gradle

我正在尝试使用Gradle包装第三方Ant构建。

到目前为止一切正常,除了在其中一个Ant目标中,javac与includeantruntime =" true"并且当通过Gradle运行时,它无法编译,因为它在类路径中没有Ant运行时。

请注意,javac调用includeantruntime =" false"工作得很好。

是否有人知道我需要添加到Gradle构建文件中以将Ant运行时作为依赖项包含在内?

这是我当前的build.gradle:

repositories {
    mavenCentral()
}
configurations {
    junitAnt
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.apache.ant:ant:1.9.5'
    }
}

dependencies {
    junitAnt 'junit:junit:4.8.2'
    junitAnt('org.apache.ant:ant-junit:1.9.5') {
        transitive = false
    }
    junitAnt('org.apache.ant:ant-junit4:1.9.5') {
        transitive = false
    }
}

ant.taskdef(name: 'junit', classname: 'org.apache.tools.ant.taskdefs.optional.junit.JUnitTask',
             classpath: configurations.junitAnt.asPath)

ant.importBuild ('build.xml')


task props << {
    ant.echoproperties(destfile:'dump-properties.txt', format:'text')
}

这是违规的javac用法(请注意,JUnitLogFixFormatter确实需要在类路径中编译Ant运行时):

<javac srcdir="${lib.dir}" destdir="${build-test.dir}" debug="true"
  includeantruntime="true" encoding="utf-8" target="1.6" source="1.6">
  <compilerarg value="-Xlint:unchecked"/>
  <classpath location="${junit.jar}"/>
  <include name="JUnitLogFixFormatter.java"/>
</javac>

0 个答案:

没有答案