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

Reply via email to