Jump to: navigation, search

Choosing Hudson version to build against

Revision as of 19:06, 22 July 2013 by Scott.fisher.oracle.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Your plugin's POM controls which version of Hudson it is building/testing against.

To depend on a released version of Hudson

change project/parent/version to the version of Hudson you'd want to depend on.

To depend on the latest bleeding-edge trunk (or RC)

First, you'd need to build the trunk or RC of Hudson by yourself.

Then, go back to your plugin, and copy the following fragments into your POM's <dependencies> section, then replace the <version> tag to the version number of Hudson you just built. It should look something like "1.345-SNAPSHOT".

    <dependency>
      <groupId>org.jvnet.hudson.main</groupId>
      <artifactId>hudson-war</artifactId>
      <type>war</type>
      <version>1.342-SNAPSHOT</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson.main</groupId>
      <artifactId>hudson-core</artifactId>
      <version>1.345-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson.main</groupId>
      <artifactId>hudson-test-harness</artifactId>
      <version>1.345-SNAPSHOT</version>
      <scope>test</scope>
    </dependency>

When you do this, your parent POM version still control a few small aspects of the build, so it'd be good to keep that version as closed as possible.

You should commit this change to the repository, so that others working on the same plugin would notice that they'd need to build the trunk, too. Once the new release comes along, you can delete this fragment and go back to the "specify the Hudson version by the parent version" mode.

Note that while your plugin depends on a non-release version of Hudson, Maven will refuse to let you release a plugin.

RobertCollins-- I found that I also needed

 <dependency>
 <groupId>org.jvnet.hudson.main</groupId>
 <artifactId>maven-plugin</artifactId>
 <version>1.346-SNAPSHOT</version>
 </dependency>