Anyone is welcome to provide input into the Hudson project, the strict IP procedures of the Eclipse foundation do mean, however, that the repositories are not open to all for random commits. If you are not yet an Eclipse committer then any code or patch that you want to contribute will need to be attached to an Eclipse BugZilla record so that it's provinance can be tracked. If in doubt about what to do, just send a mail to the [mailto:hudson-dev@eclipse.org Hudson Developer List].<br>

+

Anyone is welcome to provide input into the Hudson project, the strict IP procedures of the Eclipse foundation do mean, however, that the repositories are not open to all for random commits. If you are not yet an Eclipse committer then any code or patch that you want to contribute will need to be attached to an Eclipse BugZilla record so that it's provenance can be tracked. If in doubt about what to do, just send a mail to the [mailto:hudson-dev@eclipse.org Hudson Developer List].<br>

==== Building the Patch ====

==== Building the Patch ====

Line 125:

Line 125:

git format-patch origin

git format-patch origin

</pre>

</pre>

−

This will report back a patch file name e.g. Amended-broken-URL.patch which will be present in the directory that you generated the patch for. Attach this file to the relevant BugZilla record.

+

This will report back a patch file name e.g. Amended-broken-URL.patch which will be present in the directory that you generated the patch for. Attach this file to the relevant BugZilla record.

Core Development

Development for Hudson as a whole is split into two overarching projects. The Hudson core and primary plug-ins are maintained here at Eclipse. Although anyone can pull the source code for this project contributions are slightly more controlled (see Submitting a Patch for Non-Committers). The other half of the project is the Hudson-Plugins project at Java.net. This project is open to anyone who wants to create and maintain a plugin. Generally the plugins are all licensed with the MIT license rather than the EPL. This article relates to the code associated with the Eclipse maintained codebase.

Pre-Eclipse Code and Plug-ins

If you want to build a version of Hudson that preceeds the Eclipse releases then further information about the source code can be found here.

Source control

The Hudson Project maintains it's source code in a series of GIT repositories which partition the project into modules. The list below shows the set of repositories.

Working with the Source

To work with a particular module click on the link above for the repository that you want to work with. On the summary tab of that page you will see a section towards the bottom of the page (labelled Clone) which provides the list of clone targets.

Submitting a Patch for Non-Committers

Anyone is welcome to provide input into the Hudson project, the strict IP procedures of the Eclipse foundation do mean, however, that the repositories are not open to all for random commits. If you are not yet an Eclipse committer then any code or patch that you want to contribute will need to be attached to an Eclipse BugZilla record so that it's provenance can be tracked. If in doubt about what to do, just send a mail to the Hudson Developer List.

Building the Patch

Let's suppose that you notice an incorrect URL in one of the help topics in the Hudson configuration page

Releasing a New Release in Eclipse

Becoming a Committer

Committers for the project are nominated on the basis of a meritocracy. You can read more about this in Eclipsepedia (Becoming a Committer). However, the key is to show your interest and value through contribution. Remember that it's not just hard-core code hacking in the guts of Hudson that needs to be done, opportunities to shine exist in all of the other areas of the project as well such as documentation and QA. Just pitch in and get involved.