-
Bug
-
Resolution: Fixed
-
Major
-
Jenkins ver. 2.8
jigomerge 0.8
Running a simple jigomerge causes this error:
FATAL: groovy.lang.GroovyClassLoader.parseClass(Ljava/io/InputStream;)Ljava/lang/Class; java.lang.NoSuchMethodError: groovy.lang.GroovyClassLoader.parseClass(Ljava/io/InputStream;)Ljava/lang/Class; at hudson.plugins.jigomerge.JigomergeBuilder.perform(JigomergeBuilder.java:93) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.Build$BuildExecution.build(Build.java:205) at hudson.model.Build$BuildExecution.doRun(Build.java:162) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) at hudson.model.Run.execute(Run.java:1741) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410)
This is is due to a modification in groovy where the method parseClass(InputStream in) has been removed: the easiest alternative would be to use
parseClass(String text)
or a deprecated function
parseClass(InputStream in, String fileName)
This modification has to be done in JigomergeBuilder.java#L93.
EDIT: We maybe could rather change JigomergeBuilder.java#L90:
InputStream scriptResource = this.getClass().getResourceAsStream( "/scripts/jigomerge-" + JIGOMERGE_VERSION + ".groovy");
to
File scriptResource = new File ("/scripts/jigomerge-" + JIGOMERGE_VERSION + ".groovy");
.