jenkinsci / templating-engine-plugin

create tool-agnostic, templated pipelines to be shared by multiple teams
https://jenkinsci.github.io/templating-engine-plugin/latest/
Apache License 2.0
171 stars 59 forks source link

[Bug]: Missing JDK 8 and MAVEN 3.8.6 #323

Closed mackeyaj closed 1 year ago

mackeyaj commented 1 year ago

Jenkins Version

jenkins:2.401.3-lts-jdk11

JTE Version

2.5.3

Bug Description

I have installed JTE 2.5.3 on a Jenkins JDK-11 image and am seeing errors during JTE initialization stating JAVA 8 and Maven 3.8.6 are missing. Does JTE only work with JDK-8 jenkins images? Any help getting this working would be appreciated.

Relevant log output

[JTE] 1: startup failed: 
[JTE] WorkflowScript: 6: Tool type "jdk" does not have an install of "JAVA_8" configured - did you mean "null"? @ line 6, column 9.
[JTE]        jdk 'JAVA_8'
[JTE]            ^
[JTE] 
[JTE] WorkflowScript: 7: Tool type "maven" does not have an install of "3.8.6" configured - did you mean "null"? @ line 7, column 11.
[JTE]        maven '3.8.6'
[JTE]              ^
[JTE] 
[JTE] 2 errors
[JTE]  
[JTE] org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309)
[JTE] org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1107)
[JTE] org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:624)
[JTE] org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:602)
[JTE] org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:579)
[JTE] groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:323)
[JTE] groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:293)
[JTE] org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox$Scope.parse(GroovySandbox.java:163)
[JTE] org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:190)
[JTE] org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:175)
[JTE] org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:563)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[JTE] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[JTE] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[JTE] org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:233)
[JTE] org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.StepWrapperFactory.prepareScript(StepWrapperFactory.groovy:143)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.StepWrapperFactory$prepareScript$0.callCurrent(Unknown Source)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.StepWrapperFactory.createFromFilePath(StepWrapperFactory.groovy:66)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.StepWrapperFactory$createFromFilePath.call(Unknown Source)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.LibraryStepInjector$_injectPrimitives_closure3$_closure11.doCall(LibraryStepInjector.groovy:110)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[JTE] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[JTE] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[JTE] org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
[JTE] groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
[JTE] org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
[JTE] groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
[JTE] groovy.lang.Closure.call(Closure.java:420)
[JTE] groovy.lang.Closure.call(Closure.java:436)
[JTE] org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2125)
[JTE] org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1980)
[JTE] org.codehaus.groovy.runtime.dgm$160.invoke(Unknown Source)
[JTE] org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
[JTE] org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.LibraryStepInjector$_injectPrimitives_closure3.doCall(LibraryStepInjector.groovy:109)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[JTE] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[JTE] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[JTE] org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
[JTE] groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
[JTE] org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
[JTE] groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
[JTE] groovy.lang.Closure.call(Closure.java:420)
[JTE] org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForMapEntry(DefaultGroovyMethods.java:5361)
[JTE] org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2202)
[JTE] org.codehaus.groovy.runtime.dgm$164.invoke(Unknown Source)
[JTE] org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:251)
[JTE] org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
[JTE] org.boozallen.plugins.jte.init.primitives.injectors.LibraryStepInjector.injectPrimitives(LibraryStepInjector.groovy:105)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[JTE] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[JTE] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[JTE] org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
[JTE] groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
[JTE] groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
[JTE] groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
[JTE] groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:822)
[JTE] org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector.invokeMethod(TemplatePrimitiveInjector.groovy)
[JTE] groovy.lang.GroovyObject$invokeMethod$0.call(Unknown Source)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
[JTE] groovy.lang.GroovyObject$invokeMethod$0.call(Unknown Source)
[JTE] org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector$_invoke_closure1.doCall(TemplatePrimitiveInjector.groovy:149)
[JTE] jdk.internal.reflect.GeneratedMethodAccessor883.invoke(Unknown Source)
[JTE] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[JTE] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[JTE] org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
[JTE] groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
[JTE] org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
[JTE] groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
[JTE] groovy.lang.Closure.call(Closure.java:420)
[JTE] groovy.lang.Closure.call(Closure.java:436)
[JTE] org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2125)
[JTE] org.codehaus.groovy.runtime.dgm$162.invoke(Unknown Source)
[JTE] org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
[JTE] org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
[JTE] org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector.invoke(TemplatePrimitiveInjector.groovy:144)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[JTE] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[JTE] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[JTE] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[JTE] org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
[JTE] groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
[JTE] org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
[JTE] org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
[JTE] org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
[JTE] org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
[JTE] org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector.orchestrate(TemplatePrimitiveInjector.groovy:92)
[JTE] org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector$orchestrate$0.call(Unknown Source)
[JTE] org.boozallen.plugins.jte.job.TemplateFlowDefinition.create(TemplateFlowDefinition.groovy:85)
[JTE] org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:312)
[JTE] hudson.model.ResourceController.execute(ResourceController.java:101)
[JTE] hudson.model.Executor.run(Executor.java:442)
org.boozallen.plugins.jte.util.AggregateException: JTE Pipeline Initialization failed during injectPrimitives
    at jdk.internal.reflect.GeneratedConstructorAccessor268.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:242)
    at org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector.invoke(TemplatePrimitiveInjector.groovy:143)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
    at org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector.orchestrate(TemplatePrimitiveInjector.groovy:92)
    at org.boozallen.plugins.jte.init.primitives.TemplatePrimitiveInjector$orchestrate$0.call(Unknown Source)
    at org.boozallen.plugins.jte.job.TemplateFlowDefinition.create(TemplateFlowDefinition.groovy:85)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:312)
    at hudson.model.ResourceController.execute(ResourceController.java:101)
    at hudson.model.Executor.run(Executor.java:442)
Finished: FAILURE

Steps to Reproduce

Not sure if this is reproducible. Attempt running JTE 2.5.3 on the jenkins lts jdk-11 docker image.

mackeyaj commented 1 year ago

This issue was caused by a rogue jenkinsfile in our application repo. Removing the Jenkinsfile from the repo solved our problem.