Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-53365

any plugin depending on junit plugin is forced to depend on scm-api

    Details

    • Similar Issues:
    • Released As:
      junit-1.25

      Description

      https://github.com/jenkinsci/junit-plugin/pull/88/files#r214318972

      junit-1.22.1 made workflow-api a non optioanl dependency and yet excluces SCM-api from the dependencies.

      This means any plugin depending on junit is forced to declare a dependency on scm-api for no reason other than to get the damn thing to pass tests (InjectedTest and allow mvn hpi:run to work) as Jenkins will start and as scm-api is excluded the workflow-api is started and fails as scm-api is not included.

      [INFO] Running InjectedTest
      [ERROR] Tests run: 10, Failures: 0, Errors: 5, Skipped: 0, Time elapsed: 16.146 s <<< FAILURE! - in InjectedTest
      [ERROR] testPluginActive(org.jvnet.hudson.test.PluginAutomaticTestBuilder$OtherTests)  Time elapsed: 0.006 s  <<< ERROR!
      java.lang.Error: Plugin workflow-api failed to start
              at org.jvnet.hudson.test.PluginAutomaticTestBuilder$OtherTests.testPluginActive(PluginAutomaticTestBuilder.java:99)
              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 junit.framework.TestCase.runTest(TestCase.java:176)
              at junit.framework.TestCase.runBare(TestCase.java:141)
              at junit.framework.TestResult$1.protect(TestResult.java:122)
              at junit.framework.TestResult.runProtected(TestResult.java:142)
              at junit.framework.TestResult.run(TestResult.java:125)
              at junit.framework.TestCase.run(TestCase.java:129)
              at junit.framework.TestSuite.runTest(TestSuite.java:252)
              at junit.framework.TestSuite.run(TestSuite.java:247)
              at org.jvnet.hudson.test.junit.GroupedTest.runGroupedTests(GroupedTest.java:67)
              at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite.doTests(JellyTestSuiteBuilder.java:152)
              at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite.access$100(JellyTestSuiteBuilder.java:138)
              at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite$2.call(JellyTestSuiteBuilder.java:160)
              at org.jvnet.hudson.test.HudsonTestCase$WebClient$5.run(HudsonTestCase.java:1504)
              at org.jvnet.hudson.test.ClosureExecuterAction.doIndex(ClosureExecuterAction.java:53)
              at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
              at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
              at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
              at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
              at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:26)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
              at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
              at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
              at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
              at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
              at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
              at org.eclipse.jetty.server.Server.handle(Server.java:564)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
              at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
              at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)
              at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:126)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: java.io.IOException: Pipeline: API v2.28 failed to load.
       - scm-api v2.0.8 is missing. To fix, install v2.0.8 or later.
              at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:652)
              at hudson.PluginManager$2$1$1.run(PluginManager.java:517)
              at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
              at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
              at jenkins.model.Jenkins$5.runTask(Jenkins.java:1066)
              at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
              at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
              ... 3 more
      

        Attachments

          Issue Links

            Activity

            There are no comments yet on this issue.

              People

              • Assignee:
                teilo James Nord
                Reporter:
                teilo James Nord
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: