views:

356

answers:

1

I have a project using Gradle as the build tool and I have to make use of the Java ant task. One of the sub elements in this task is a reference to a classpath and I would like to use refid. The build script uses Gradle's WAR plugin. Since the compile task works without any problem I know that the classpath is set up correctly:

dependencies {
  compile 'commons-beanutils:commons-beanutils:1.8.0'
  compile group: 'commons-lang', name: 'commons-lang', version: '2.4'
  ...
}

No I would like to reference this classpath in my Gradle build script.

I've tried the following:

Using classpathId (built in?) Searched the Gradle mailinglists and found a suggestion:

project.dependencies.antpath('compile')

This results in an error. Also tried some variants of this, but no luck so far. Any suggestions are appreciated.

+2  A: 

The following will access the configured depedencies:

configurations.compile.asPath

If you have defined your own configuration you can utilize this also:

configurations {
    gwtCompile
}
....
ant.java(classname:'com.google.gwt.dev.Compiler', fork:'true', failOnError: 'true') {
    jvmarg(value: '-Xmx184M')
    arg(line: '-war ' + gwtBuildDir)
    arg(value: 'com.yoobits.ocs.WebApp')
    classpath {
        pathElement(location: srcRootName + '/' + srcDirNames[0])
        pathElement(path: configurations.compile.asPath)
        pathElement(path: configurations.gwtCompile.asPath)
    }
}

In the example above I've accessed the compile path and my own configuration which is only interesting during a special phase during the build - compiling with the GWT compiler.

tronda