Hello all,

I must say I'm hooked with Gradle and I was finally saved from the XML hell
from ANT + Maven... :) 15 lines of code to generate a Jar, push the library
to my internal nexus Maven repository... Impressed!!!! Thanks guys!!!!

Now I'm trying to migrate the following command-line shell command, which
processes a given source code using the Java 6 annotation processor facility
with the given processor, classpath, destination and input file... Also, I'm
having trouble defining "doFirst" for a task that was imported from an ANT
build.xml... It's just not working...

1. The processor problem...

javac -processor com.collabnet.tf.annotation.extension.CtfExtensionProcessor
-classpath
/home/mdesales/.m2/repository/com/collabnet/tf/ctf-annotations/6.1-SNAPSHOT/ctf-annotations-6.1-SNAPSHOT.jar:/home/mdesales/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/home/mdesales/.m2/repository/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar
-s /tmp /u1/SRC/ctf/src/main/java/com/collabnet/tf/UserPage.java

I'm struggling to to write a gradle script that does the same... I have
visited the maven and java plugin documentation pages, as well as different
blog posts, but I haven't found anything related... The route I decided to
take was to use the ant "javac" tag and try to run it from there... 

-----------------------------------------------------
ant.importBuild 'build.xml'

apply plugin: 'maven'

repositories {
    mavenCentral()
    mavenRepo urls:
"http://localhost:8081/nexus/content/repositories/snapshot";, userName:
"admin", password: "welcome"
}

task processAnnotations(description: "Generates new classes") << {

       dependencies {
             compileClasspath
'com.collabnet.teamforge:teamforge-annotations:6.1.1.jpa-SNAPSHOT'
             compileClasspath 'javax.persistence:persistence-api:1.0'
             compileClasspath 'org.hibernate:hibernate-annotations:3.3.1.GA'
        }

        ant.javac(destdir: "/tmp") {
           src(path: "${ant.properties.BUILD_SRC}/src/main/java")
           include(name: "**/domain/*")
           compilerarg(value: "-processor")
           compilerarg(value:
"com.collabnet.tf.annotation.extension.CtfExtensionProcessor")
        }
        
}

generate.doFirst {
       println "Will generate everything"
}
------------------------------------

Here's the error I keep getting... Is this script correct? Is there a way to
define such dependencies? Considering I'm importing an ANT build.xml, I just
don't want to change the "compile" task from that build.xml and use a local
dependency here to just solve my problem of processing Java annotations...

mdesales@xyz src]$ gradle gFC
:generateFildsClasses

FAILURE: Build failed with an exception.

* Where:
Build file '/u1/SRC/ctf/apps/collabnet-core/saturn/build.gradle' line: 13

* What went wrong:
Execution failed for task ':generateFildsClasses'.
Cause: No signature of method:
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compileClasspath()
is applicable for argument types: (java.lang.String) values:
[com.collabnet.teamforge:teamforge-annotations:6.1.1.jpa-SNAPSHOT]

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or
--debug option to get more log output.

2. The doFirst defined above does not run... the task "generate" is imported
from the build.xml imported... It just does not run... Any ideas????

Thanks all
Marcello

--
View this message in context: 
http://gradle.1045684.n5.nabble.com/Javac-Java-Annotation-Processor-Maven-classpath-dependencies-in-Gradle-tp4626751p4626751.html
Sent from the gradle-user mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to