• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • gradle-jpi-plugin
    • None
    • jenkins-core 1.509, gradle-jpi-plugin 0.5.2, Gradle 1.8

      The job-dsl-plugin currently uses the gradle-jpi-plugin with jenkins-core 1.480 and everything is fine. But when trying to update to jenkins-core 1.509, all tests using JenkinsRule fail because the class org.jenkinsci.main.modules.instance_identity.InstanceIdentity is missing.

      INFO: Loaded all jobs
      Jun 27, 2014 4:59:18 PM hudson.ExtensionFinder$GuiceFinder <init>
      SEVERE: Failed to create Guice container from all the plugins
      com.google.common.collect.ComputationException: java.lang.NoClassDefFoundError: Lorg/jenkinsci/main/modules/instance_identity/InstanceIdentity;
          at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:887)
          at com.google.inject.internal.FailableCache.get(FailableCache.java:49)
          at com.google.inject.internal.MembersInjectorStore.get(MembersInjectorStore.java:66)
          at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:73)
          at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
          at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:36)
          at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
          at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:38)
          at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:356)
          at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:182)
          at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:151)
          at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:67)
          at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:883)
          at com.google.inject.internal.FailableCache.get(FailableCache.java:49)
          at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:49)
          at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:127)
          at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:506)
          at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:171)
          at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44)
          at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123)
          at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
          at com.google.inject.Guice.createInjector(Guice.java:94)
          at com.google.inject.Guice.createInjector(Guice.java:71)
          at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:282)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
          at java.lang.Class.newInstance(Class.java:374)
          at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
          at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:625)
          at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:600)
          at hudson.ExtensionFinder._find(ExtensionFinder.java:151)
          at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:318)
          at hudson.ExtensionList.load(ExtensionList.java:295)
          at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
          at hudson.ExtensionList.iterator(ExtensionList.java:138)
          at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:311)
          at hudson.ExtensionList.load(ExtensionList.java:295)
          at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
          at hudson.ExtensionList.get(ExtensionList.java:153)
          at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1066)
          at hudson.maven.PluginImpl.init(PluginImpl.java:54)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
          at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
          at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
          at jenkins.model.Jenkins$7.runTask(Jenkins.java:887)
          at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
          at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NoClassDefFoundError: Lorg/jenkinsci/main/modules/instance_identity/InstanceIdentity;
          at java.lang.Class.getDeclaredFields0(Native Method)
          at java.lang.Class.privateGetDeclaredFields(Class.java:2397)
          at java.lang.Class.getDeclaredFields(Class.java:1806)
          at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:651)
          at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:358)
          at com.google.inject.internal.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:91)
          at com.google.inject.internal.MembersInjectorStore.access$000(MembersInjectorStore.java:35)
          at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:43)
          at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:40)
          at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:38)
          at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:356)
          at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:182)
          at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:151)
          at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:67)
          at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:883)
          ... 55 more
      Caused by: java.lang.ClassNotFoundException: org.jenkinsci.main.modules.instance_identity.InstanceIdentity
          at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
          ... 70 more
      

          [JENKINS-23603] instance-identity dependency is missing

          I think the problem is that the instance-identity module is excluded in JpiPlugin for the jenkinsTest configuration.

          https://github.com/jenkinsci/gradle-jpi-plugin/blob/000f571032d83e8da098459a94cf54098d0afc68/src/main/groovy/org/jenkinsci/gradle/plugins/jpi/JpiPlugin.groovy#L259

          Daniel Spilker added a comment - I think the problem is that the instance-identity module is excluded in JpiPlugin for the jenkinsTest configuration. https://github.com/jenkinsci/gradle-jpi-plugin/blob/000f571032d83e8da098459a94cf54098d0afc68/src/main/groovy/org/jenkinsci/gradle/plugins/jpi/JpiPlugin.groovy#L259

          See https://github.com/jenkinsci/gradle-jpi-plugin/pull/9 for a fix.

          I tested the fix with the job-dsl-plugin. The plugin still builds with core 1.480 and also with 1.509: https://github.com/jenkinsci/job-dsl-plugin/tree/build-with-higher-core

          Daniel Spilker added a comment - See https://github.com/jenkinsci/gradle-jpi-plugin/pull/9 for a fix. I tested the fix with the job-dsl-plugin. The plugin still builds with core 1.480 and also with 1.509: https://github.com/jenkinsci/job-dsl-plugin/tree/build-with-higher-core

          Code changed in jenkins
          User: Daniel Spilker
          Path:
          CHANGELOG.md
          src/main/groovy/org/jenkinsci/gradle/plugins/jpi/JpiPlugin.groovy
          http://jenkins-ci.org/commit/gradle-jpi-plugin/b305f1e1a0182c151aa44c0ab2327d9cb686d91f
          Log:
          fixed JENKINS-23603, do not exclude instance-identity

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Spilker Path: CHANGELOG.md src/main/groovy/org/jenkinsci/gradle/plugins/jpi/JpiPlugin.groovy http://jenkins-ci.org/commit/gradle-jpi-plugin/b305f1e1a0182c151aa44c0ab2327d9cb686d91f Log: fixed JENKINS-23603 , do not exclude instance-identity

          Code changed in jenkins
          User: Daniel Spilker
          Path:
          CHANGELOG.md
          src/main/groovy/org/jenkinsci/gradle/plugins/jpi/JpiPlugin.groovy
          http://jenkins-ci.org/commit/gradle-jpi-plugin/4e0673361e7ea8789759be81fd942f92b6a81fb6
          Log:
          Merge pull request #9 from daspilker/JENKINS-23603

          JENKINS-23603 do not exclude instance-identity

          Compare: https://github.com/jenkinsci/gradle-jpi-plugin/compare/f1e4592f8576...4e0673361e7e

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Spilker Path: CHANGELOG.md src/main/groovy/org/jenkinsci/gradle/plugins/jpi/JpiPlugin.groovy http://jenkins-ci.org/commit/gradle-jpi-plugin/4e0673361e7ea8789759be81fd942f92b6a81fb6 Log: Merge pull request #9 from daspilker/ JENKINS-23603 JENKINS-23603 do not exclude instance-identity Compare: https://github.com/jenkinsci/gradle-jpi-plugin/compare/f1e4592f8576...4e0673361e7e

          Fixed in 0.6.0.

          Daniel Spilker added a comment - Fixed in 0.6.0.

            daspilker Daniel Spilker
            daspilker Daniel Spilker
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: