|
We encourage plugin developers to host the plugins on java.net. This makes it easier for the community to help you more easily, as well as to have the community benefit from the plugin. In this way, even when you move on to something else, the community can find someone else to pick up the work. You can take a quick look at how we work for more information. Request hostingSimply send e-mail to dev@hudson.dev.java.net and tell us your java.net ID, so that we can give you a commit access. Importing source codeOnce you get the commit access, you can import your source code. First you pick your plugin name, then you'd do: $ svn mkdir https://svn.dev.java.net/svn/hudson/trunk/hudson/plugins/XYZ/ $ svn co https://svn.dev.java.net/svn/hudson/trunk/hudson/plugins/XYZ/ (this will create ./XYZ) $ mv path/to/your/plugin/* ./XYZ $ cd XYZ Update pom.xml as needed.. see other plugins for examples. For example, usually the <groupId> is removed (groupId for the plugin, not the one in the <parent> section), to use the default which is org.jvnet.hudson.plugins <repositories> and <pluginRepositories> can be removed as well. $ svn add $ svn commit -m "imported XYZ plugin" Be sure not to include the work directory when you check in. If you need help, contact the dev list. Adding a Wiki pageA plugin should have its own Wiki page on this wiki, and the URL to the Wiki page should be listed in your POM like this: <project> ... <url>http://wiki.hudson-ci.org/display/HUDSON/My+Plugin</url> </project> This ensures that the update center will list your plugin correctly. Give your wiki page a label like "plugin-scm" or "plugin-misc" (click Labels at the bottom of the wiki Edit page and start typing "plugin-" to see all the possible labels). This will ensure the page shows up as a link in the appropriate section of Plugins. Also be sure to include {hudson-plugin-info:pluginId=your-artifact} at the top of your wiki entry, to have the standard plugin infobox show up on your wiki entry. You should also include a description of your plugin inside {excerpt} tags, so that it appears in the update center.
Adding Maintainer InformationIn your POM, make sure to include developer information, such as: <project>
...
<developers>
<developer>
<id>devguy</id>
<name>Developer Guy</name>
<email>devguy@developerguy.blah</email>
</developer>
</developers>
</project>
This ensures that the update center and related tools are able to properly display the maintainer for your plugin. The email address is optional (it will be used in the plugin infobox on the wiki if provided in the POM). Continuous integration builds on the official Hudson-on-Hudson instanceTo have your plugin built at the official Hudson-on-Hudson instance, http://ci.hudson-labs.org, send an email to the dev list and ask to have a CI build set up for your plugin. If you want to have different Maven goals than the default (i.e., "clean install"), please mention that. All plugin CI builds will be set to send build result emails when the build fails or is unstable, with the emails going to whoever has commits in the build or since the last successful build. Releasing to hudson-ci.orgIf you have the commit access to the java.net hudson project (and we are giving it away for any plugin developer — you just need to ask) and the java.net maven2-repository project (set automatically when we make you a Hudson committer), then the easiest way to publish a plugin is to run the maven release plugin: $ mvn release:prepare release:perform This will perform all the usual release activity, and it will also post the plugin to the download section, as well as adding an announcement to the Hudson RSS feed. If you run with the -B option, Maven will automatically use all the default values without prompting. Note that releases can be done for plugins hosted at Github.com as well as from java.net (details) (you still need svn commit access as mentioned above even though the plugin code is in github). Also consider these tips before making a plugin release. The released plugin will show up in the update center in half a day or so.
Help! My plugin is not showing up in the update center.
|