Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6.0-alpha-1
-
None
-
None
Description
The 2.6.0-alpha-1 jars have some incorrect service metadata.
To reproduce, create a gradle project containing the following files:
Calc.java
public class Calc { public static int sum(int a, int b) { return a + b; } }
CalcTest.groovy
class CalcTest extends GroovyTestCase { void testSum() { assert 3 == Calc.sum(1, 2) } }
build.gradle
group 'calc' version '1.0-SNAPSHOT' apply plugin: 'groovy' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile 'org.codehaus.groovy:groovy-all:2.6.0-alpha-1' testCompile 'junit:junit:4.12' }
When invoking the test task via gradle, the following error is observed:
:compileJava error: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider org.antlr.v4.runtime.misc.RuleDependencyProcessor not found :compileJava FAILED
I believe we need to reference:
groovyjarjarantlr4.v4.runtime.misc.RuleDependencyProcessor
instead of:
org.antlr.v4.runtime.misc.RuleDependencyProcessor
in our jarjar'd jar files within this file:
META-INF/services/javax.annotation.processing.Processor
We might need to roll this by hand since I suspect we won't be able to configure the antlr gradle plugin to do such a change.