Check out source
Main development is tracked on Github at https://github.com/hudson/hudson in terms of source code as well as pull requests for modifications. Follow the usual github workflow for contributions.
Check out the main repo with:
git clone firstname.lastname@example.org:hudson/hudson.git
You can also use the java.net mirror to check out if you prefer. It will ask for username/password, you can either use your java.net ID, or simply specify "guest" as the user name and empty. password.
git clone git://java.net/hudson~git
mvn clean install
The github repository mentioned above is where the core of Hudson is located, i.e. not the plugins. In the root of the repository is a file called changelog.html, which you should update if/when you become a committer.
The first build may take a while, because it has to download all required dependencies and plugins and the transitive dependencies from the Maven repository.
If it succeeds with BUILD SUCCESSFUL at the end, you are good to go. You can find the web archive in hudson-war/target/ and start it your freshly build Hudson with
java -jar hudson.war
Maven Jetty plugin offers a convenient debugging environment, but for a few reasons we maintain a modified version of the plugin under a different name, so the plugin name is different but the configuration parameters are the same. Do the following to run Hudson under the debugger, and open http://localhost:8080/ in your browser:
# To change the port run mvnDebug hudson-dev:run -Dport=9090
$ cd main/war
$ mvnDebug hudson-dev:run
This will launch maven with the debugger port for 8000. You can connect to this port from your IDE by using the remote debug feature. Once this starts running, keep it running. Jetty will pick up all the changes automatically.
- When you make changes to view files in core/src/main/resources, just hit F5 in your browser to see the changes.
- When you make changes to static resources in war/resources, just hit F5 in your browser to see the changes.
- When you change Java source files. Compile them in your IDE and Jetty should pick that up. You don't need to run mvn at all for this.
- NetBeans users can just hit Debug with main/war open.
- If you have trouble that isn't addressed here, please send email to the Hudson dev list. The developers all read that list frequently. You might not get an answer for a long time if you post your questions as comments to this page.
- Setting up a local Maven repository manager can considerably speed up your Hudson builds, and make life with Maven more pleasant in general. Click here for instructions on how to set up the Nexus Maven Repository Manager for building hudson.
The sponsor statement from YourKit Java Profiler, which gave us a free license for the Hudson project.
|Open-source license for YourKit Java Profiler|
YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit ASP.NET Profiler
|Open-source license for StackProbe Profiler|
StackProbe is kindly supporting open source projects with its profiler, StackProbe Profiler