[ https://issues.apache.org/jira/browse/GROOVY-8860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16666624#comment-16666624 ]
Venkatesh-Prasad Ranganath commented on GROOVY-8860: ---------------------------------------------------- Adding "transitive=false" to @Grab works :) Thanks! I suppose Spock team should consider this in how they manage the dependencies. I'll mention it on the corresponding Spock issue. > Use of @Grab to get spock-core library v1.2 for groovy v2.5 causes an > exception > ------------------------------------------------------------------------------- > > Key: GROOVY-8860 > URL: https://issues.apache.org/jira/browse/GROOVY-8860 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime > Affects Versions: 2.5.3 > Environment: openjdk version "1.8.0_181" > OpenJDK Runtime Environment (Zulu 8.31.0.1-macosx) (build 1.8.0_181-b02) > OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-macosx) (build 25.181-b02, mixed mode) > Groovy Version: 2.5.3 JVM: 1.8.0_181 Vendor: Azul Systems, Inc. OS: Mac OS X > Mac 10.13.6 (Darwin Kernel Version 17.7.0) > Reporter: Venkatesh-Prasad Ranganath > Priority: Major > > The use of @Grapes/@Grab to get spock-core libraries v1.2 for Groovy v2.5 > causes an exception due to version mismatch of groovy-nio module. > > Execute the following script with groovy: > {code} > @Grab('org.spockframework:spock-core:1.2-groovy-2.5') > class TestX extends spock.lang.Specification { > def 'test method'() { > } > } > {code} > 2. Observe the following output: > {{org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed:}} > \{{ General error during conversion: Conflicting module versions. Module > [groovy-nio is loaded in version 2.5.3 and you are trying to load version > 2.5.2}}{{groovy.lang.GroovyRuntimeException: Conflicting module versions. > Module [groovy-nio is loaded in version 2.5.3 and you are trying to load > version 2.5.2}} > \{{ at > org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$DefaultModuleListener.onModule(MetaClassRegistryImpl.java:523)}} > \{{ at > org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:87)}} > \{{ at > org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.java:169)}} > \{{ at > groovy.grape.GrapeIvy.processCategoryMethods(GrapeIvy.groovy:342)}} > \{{ at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:285)}} > \{{ at groovy.grape.Grape.grab(Grape.java:165)}} > \{{ at > groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransformation.java:376)}} > \{{ at > org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:320)}} > \{{ at > org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:976)}} > \{{ at > org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:651)}} > \{{ at > org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:627)}} > \{{ at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:604)}} > \{{ at > groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:354)}} > \{{ at > groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:87)}} > \{{ at > groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:323)}} > \{{ at > groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:320)}} > \{{ at > org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)}} > \{{ at > groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:318)}} > \{{ at groovy.lang.GroovyShell.parseClass(GroovyShell.java:543)}} > \{{ at groovy.lang.GroovyShell.run(GroovyShell.java:372)}} > \{{ at groovy.lang.GroovyShell.run(GroovyShell.java:362)}} > \{{ at groovy.ui.GroovyMain.processOnce(GroovyMain.java:588)}} > \{{ at groovy.ui.GroovyMain.run(GroovyMain.java:332)}} > \{{ at groovy.ui.GroovyMain.access$1400(GroovyMain.java:69)}} > \{{ at groovy.ui.GroovyMain$GroovyCommand.process(GroovyMain.java:291)}} > \{{ at groovy.ui.GroovyMain.processArgs(GroovyMain.java:134)}} > \{{ at groovy.ui.GroovyMain.main(GroovyMain.java:116)}} > \{{ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)}} > \{{ at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)}} > \{{ at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}} > \{{ at java.lang.reflect.Method.invoke(Method.java:498)}} > \{{ at > org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:110)}} > \{{ at > org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)}} > {{1 error}} > > Since I am not sure if this is a Groovy or Spock issue, I have reported the > same issue to Spock ([https://github.com/spockframework/spock/issues/943]) -- This message was sent by Atlassian JIRA (v7.6.3#76005)