如何在使用gradle时将jar / war依赖项添加到ant文件集?

时间:2013-01-25 22:23:24

标签: gradle enunciate

我有一个gradle配置,用于执行战争的编译和打包。

我有一个我想在战争结束后调用的蚂蚁脚本enunciate.codehaus.org。蚂蚁脚本需要访问捆绑在战争中的罐子。

Gradle配置:

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'

repositories {
    mavenCentral()
}

dependencies {
    compile "javax.ws.rs:jsr311-api:1.1.1"

    compile 'com.sun.jersey:jersey-server:1.16'
    compile 'com.sun.jersey:jersey-core:1.16'
    compile 'com.sun.jersey:jersey-client:1.16'
    compile 'com.sun.jersey:jersey-servlet:1.16'
    compile 'com.sun.jersey:jersey-json:1.16'

    testCompile "junit:junit-dep:4.10"
}

ant.importBuild 'ant-builds/enunciate/targets.xml'

enunciate ant文件的一部分:

<path id="enunciate.classpath">
    <!--this pulls in enunciate library files to be used to generate documentation -->
    <fileset dir="${enunciate.home}/lib">
        <include name="*.jar"/>
    </fileset>

    <!-- this pulls in some java framework libraries used to generate documentation -->
    <fileset dir="${java.home}">
        <include name="lib/tools.jar"/>
    </fileset>
</path>

如何将war的依赖项添加到此文件集中?当gradle编译战争时,将jar(那些依赖项然后打包到战争中)放到我可以引用的地方吗?

我认为它与使用依赖项或配置类有关,但似乎无法将它们整合在一起。

1 个答案:

答案 0 :(得分:1)

例如,从gradle构建中,您可以设置ant属性。可以在gralde build中设置以下目标中的ant类路径。

<enunciate basedir="${enunciate.baseSourceDirectory}" configFile="enunciate.xml">
<include name="**/*.java"/>
<classpath refid="enunciate.classpath"/>
<classpath>
    <pathelement path="${enunciate.dependencies}"/>
</classpath>
<export artifactId="docs" destination="${enunciate.destinationDirectory}/some-icd.tar"/>

在build.gradle中,“enunciate.dependencies”可以设置为 ant.properties [ 'enunciate.dependencies'] = configurations.runtime.asPath

我希望这会有所帮助。