For the record and for anybody facing similar problems:
I solved it by implementing velocity's LogChute interface so that velocity does
not implicitly assume that log4j has to be used.
Best regards
Alexander
On Jul 25, 2011, at 11:31 AM, Alexander von Zitzewitz wrote:
> Hi,
>
> I just wrote my first gradle plugin to integrate a specific parser generator
> into our builds. The parser generator uses velocity 1.6.2 and velocity has a
> dependency to log4j 1.2.12.
>
> Now as soon as the parser generator initializes velocity I am getting the
> following exception:
>
> Caused by: org.codehaus.groovy.runtime.InvokerInvocationException:
> java.lang.NoSuchMethodError: org.apache.log4j.Logger.setAdditivity(Z)V
> at
> org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:443)
> at
> org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:431)
> at
> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:63)
> ... 29 more
> Caused by: java.lang.NoSuchMethodError:
> org.apache.log4j.Logger.setAdditivity(Z)V
> at
> org.apache.velocity.runtime.log.Log4JLogChute.initAppender(Log4JLogChute.java:126)
> at
> org.apache.velocity.runtime.log.Log4JLogChute.init(Log4JLogChute.java:85)
> at
> org.apache.velocity.runtime.log.LogManager.createLogChute(LogManager.java:157)
> at
> org.apache.velocity.runtime.log.LogManager.updateLog(LogManager.java:255)
> at
> org.apache.velocity.runtime.RuntimeInstance.initializeLog(RuntimeInstance.java:795)
> at
> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:250)
> at
> org.apache.velocity.runtime.RuntimeSingleton.init(RuntimeSingleton.java:114)
> at org.apache.velocity.app.Velocity.init(Velocity.java:79)
> at
> com.hello2morrow.javapg.grammar.lalr.NodeClassGenerator.generateNodeClasses(NodeClassGenerator.java:27)
>
>
> In my build.gradle I even added log4j as compile time dependency:
>
> apply plugin: "groovy"
>
> repositories
> {
> mavenCentral()
>
> mavenRepo urls: "http://maven.hello2morrow.com/repository"
> mavenRepo urls: "http://repo.gradle.org/gradle/libs"
> }
>
> dependencies
> {
> compile group: 'log4j', name: 'log4j', version: '1.2.12'
> compile group: 'com.hello2morrow', name: 'javapg', version: '3.0'
> compile gradleApi()
> groovy localGroovy()
> }
>
>
> But that does not help. Googling the exception brings an association with
> slf4j log4j bridge jar. Is that jar used by gradle? Is there any way to make
> velocity run within the context of a gradle plugin?
>
> Thanks for any help in advance. And kudos for the gradle team for creating
> this marvelous gem.
> Best regards
>
> Alexander von Zitzewitz
>
> hello2morrow Inc.
> 1 (877) 294-6327
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
Best regards
Alexander von Zitzewitz
hello2morrow Inc.
1 (877) 294-6327
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email