Well the pull request has now been officially merged into the code, and while for the life of me I can't see what's significantly different about the code I'm compiling (compairing a fresh checkout of the merged code with my patched version) or my procedure for building and uploading the plugin, it's now working.
And it seems to do what I need, which is great news. On Thursday, July 7, 2016 at 2:42:14 PM UTC+1, Jonathan Hodgson wrote: > > Ok, that's interesting, but perhaps you could clarify? As I said this is > my first foray into plugin development world. > > On Thursday, July 7, 2016 at 2:20:41 PM UTC+1, Robert Sandell wrote: >> >> I'm not sure this is the issue, but the descriptor for ACIPluginPublisher >> is not by standard conventions a nested class within the Publisher itself >> but in a separate class in the same package. Perhaps that is messing up >> the Publisher to Descriptor lookup. >> >> /B >> >> On Thu, Jul 7, 2016 at 12:37 PM, Jonathan Hodgson <[email protected]> >> wrote: >> >>> Hi, >>> >>> This is my first time trying anything regarding building plugins, so >>> perhaps I'm doing something wrong. >>> >>> I) I installed maven 3 onto a linux machine >>> >>> 2) created a settings.xml file for it with the contents shown in the >>> "Setting up Environment" section of this page >>> >>> https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial#Plugintutorial-SettingupaproductiveenvironmentwithyourIDE >>> >>> 3) Checked out the latest summary report plugin code from here >>> https://github.com/jenkinsci/summary_report-plugin >>> >>> 4) Downloaded pull request 7 as a patch and applied it >>> >>> https://patch-diff.githubusercontent.com/raw/jenkinsci/summary_report-plugin/pull/7.patch >>> >>> <https://patch-diff.githubusercontent.com/raw/jenkinsci/summary_report-plugin/pull/7.patch> >>> - At this point I did get a couple of warning about line endings. >>> >>> 5) mvn install >>> - Build Successful >>> >>> 6) Copied "target" folder to another machine (so I could get to it from >>> my browser) >>> >>> 7) In jenkins, went to Manage plugins, advanced, upload plugin... >>> selected "summary_report.hpi" and uploaded >>> >>> 8) restarted Jenkins >>> - I can now add a summary report to a normal job, so it would seem the >>> plugin is loaded, it also shows on the "installed" list in Manage Plugins >>> >>> 9) Added the sample script from this page to a pipeline job >>> https://github.com/jenkinsci/summary_report-plugin/pull/7 >>> >>> writeFile file: 'report.xml', text: '''\ >>> <section name="Session1"> >>> <field name="Field1" value="Field1 succeeded"/> >>> </section>''' >>> archive 'report.xml' >>> step([$class: 'ACIPluginPublisher', name: 'report.xml', >>> shownOnProjectPage: true]) >>> >>> >>> 10) started a build, which failed with the following error >>> >>> >>> java.lang.UnsupportedOperationException: no known implementation of >>> interface jenkins.tasks.SimpleBuildStep is named ACIPluginPublisher >>> at org.jenkinsci.plugins.structs.describable.DescribableModel. >>> resolveClass(DescribableModel.java:359) >>> at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce( >>> DescribableModel.java:313) >>> at org.jenkinsci.plugins.structs.describable.DescribableModel. >>> buildArguments(DescribableModel.java:257) >>> at org.jenkinsci.plugins.structs.describable.DescribableModel. >>> instantiate(DescribableModel.java:201) >>> at org.jenkinsci.plugins.workflow.steps.StepDescriptor.newInstance( >>> StepDescriptor.java:104) >>> at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:135) >>> at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript. >>> java:113) >>> at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl. >>> java:1280) >>> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1174) >>> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024) >>> at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call( >>> PogoMetaClassSite.java:42) >>> at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall( >>> CallSiteArray.java:48) >>> at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call( >>> AbstractCallSite.java:113) >>> at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall( >>> DefaultInvoker.java:15) >>> at WorkflowScript.checkoutGroovy(WorkflowScript:11) >>> at ___cps.transform___(Native Method) >>> at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall( >>> ContinuationGroup.java:55) >>> at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl. >>> dispatchOrArg(FunctionCallBlock.java:106) >>> at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl. >>> fixArg(FunctionCallBlock.java:79) >>> 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 com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl. >>> receive(ContinuationPtr.java:72) >>> at com.cloudbees.groovy.cps.impl. >>> CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock. >>> java:55) >>> at com.cloudbees.groovy.cps.impl. >>> CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java >>> :45) >>> 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 com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl. >>> receive(ContinuationPtr.java:72) >>> at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java: >>> 21) >>> at com.cloudbees.groovy.cps.Next.step(Next.java:58) >>> at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) >>> at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread. >>> java:164) >>> at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup >>> .java:297) >>> at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000( >>> CpsThreadGroup.java:78) >>> at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call( >>> CpsThreadGroup.java:206) >>> at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call( >>> CpsThreadGroup.java:204) >>> at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call( >>> CpsVmExecutorService.java:47) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:262) >>> at hudson.remoting.SingleLaneExecutorService$1.run( >>> SingleLaneExecutorService.java:112) >>> at jenkins.util.ContextResettingExecutorService$1.run( >>> ContextResettingExecutorService.java:28) >>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java: >>> 471) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:262) >>> 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) >>> >>> >>> >>> Now I've looked at the code, and ACIPluginPublisher appears to >>> implement SimpleBuildStep. >>> >>> Beyond that I have no idea where to look. >>> >>> Have I missed something in my workflow? >>> >>> regards >>> >>> Jon >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Jenkins Developers" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/jenkinsci-dev/909df02e-0400-42b5-9b77-d60510abc292%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/jenkinsci-dev/909df02e-0400-42b5-9b77-d60510abc292%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Robert Sandell >> *Software Engineer* >> *CloudBees Inc.* >> > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d3c541e3-9593-4788-8dfb-37e32d3b57ed%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
