Hi, As my first major Java project I've created a plugin for Jenkins (https://github.com/jenkinsci/memegen-plugin). Basically, it creates a meme from http://memegenerator.net and posts it on the project page when a build fails/returns to normal - just a bit of fun :) I'm the first to admit that I'm a Java newbie, and a lot of this project has been feeling my way around and following other plugins' examples.
I got it to the point where it was happy and stable, until I tried to follow the steps to host it (from https://wiki.jenkins-ci.org/display/JENKINS/Hosting+Plugins). There's a long line of commits where I kept modifying the pom.xml and updating the version number, tweaking things to try and get it to build during the "mvn release:prepare release:perform" step. I started off using core version 1.355, before updating in increments because of various different failures, and finally landing on version 1.428 - this version got me the closest to actually deploying the damn thing, but it then failed during the tests. So, I tried going back to basics with "mvn install", which failed with the following error: "Tests in error: initializationError(InjectedTest): com.sun.jna.Native.open(Ljava/ lang/String;)J" Here's the stack trace: ----------------------------------------------------------------------------------- ... [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire- plugin:2.8:test (default-test) on project memegen: There are test failures. [ERROR] [ERROR] Please refer to /home/jon/projects/memegen/target/surefire- reports for the individual test results. [ERROR] -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.8:test (default-test) on project memegen: There are test failures. Please refer to /home/jon/projects/memegen/target/surefire-reports for the individual test results. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java: 213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java: 153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java: 145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java: 84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java: 59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java: 183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java: 161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 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:616) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java: 290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java: 230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java: 409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 352) Caused by: org.apache.maven.plugin.MojoFailureException: There are test failures. Please refer to /home/jon/projects/memegen/target/surefire-reports for the individual test results. at org.apache.maven.plugin.surefire.SurefireHelper.reportExecution(SurefireHelper.java: 74) at org.apache.maven.plugin.surefire.SurefirePlugin.writeSummary(SurefirePlugin.java: 644) at org.apache.maven.plugin.surefire.SurefirePlugin.executeAfterPreconditionsChecked(SurefirePlugin.java: 640) at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java: 103) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java: 101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java: 209) ... 19 more ----------------------------------------------------------------------------------- I then tried running "mvn hpi:run", which I used the whole time during my development. This failed, and gave the following exception: ----------------------------------------------------------------------------------- ... 12-Mar-2012 14:08:18 org.jvnet.hudson.test.TestExtensionLoader findExtensions WARNING: Failed to load org.jvnet.hudson.test.HudsonTestCase $ComputerListenerImpl java.lang.InstantiationException: /home/jon/.m2/repository/org/jenkins- ci/main/jenkins-test-harness/1.428/jenkins-test-harness-1.428.jar might need to be rebuilt: java.lang.ClassNotFoundException: org.jvnet.hudson.test.HudsonTestCase$ComputerListenerImpl at net.java.sezpoz.IndexItem.element(IndexItem.java:144) at org.jvnet.hudson.test.TestExtensionLoader.findExtensions(TestExtensionLoader.java: 57) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java: 284) at hudson.ExtensionList.load(ExtensionList.java:258) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:229) at hudson.ExtensionList.iterator(ExtensionList.java:136) at hudson.model.AbstractProject.createTransientActions(AbstractProject.java: 611) at hudson.model.Project.createTransientActions(Project.java:203) at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java: 602) at hudson.model.AbstractProject.onLoad(AbstractProject.java:272) at hudson.model.Project.onLoad(Project.java:88) at hudson.model.Items.load(Items.java:115) at jenkins.model.Jenkins$14.run(Jenkins.java:2341) at org.jvnet.hudson.reactor.TaskGraphBuilder $TaskImpl.run(TaskGraphBuilder.java:146) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) at jenkins.model.Jenkins$5.runTask(Jenkins.java:795) 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: 1110) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Caused by: java.lang.ClassNotFoundException: org.jvnet.hudson.test.HudsonTestCase$ComputerListenerImpl at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java: 656) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at net.java.sezpoz.IndexItem.element(IndexItem.java:134) ... 20 more Exception in thread "pool-20-thread-6" java.lang.NullPointerException at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:191) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1110) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Exception in thread "pool-20-thread-4" java.lang.NullPointerException at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:191) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1110) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) ----------------------------------------------------------------------------------- I've also tried updating the core to 1.451, which is the version of Jenkins I currently use outside of development. This brought up another problem altogether, but I don't want to cause death by stack trace so I've left it out for the time being. Could some kind person point me in the right direction? Thanks, Jon