**DRAFT**
This page lists out the current recommended steps to submit a patch as a New Contributor to OpenJDK. It assumes that you are making a fairly small change to core OpenJDK libraries, (i.e. Java code, as opposed to Hotspot C/C++/Assembly) for the latest version (9 at time of writing).
Note that a new project called Betterrev is being built to automate the manual steps below and provide a Build & Test farm for new patch contributions, we're looking for more volunteers!
If you need help at any time don't hesitate to contact us at adoption-discuss@openjdk.java.net or on the IRC channel (#adoptopenjdk on irc.freenode.org).
Steps
- Firstly read the Official Contribution Guide for OpenJDK.
- Email adoption-discuss@openjdk.java.net and state what you're going to work on. It can be disheartening if you work on something privately that OpenJDK isn't able to accept, so it's good to check early.
- Sign the OCA if you haven't already done so
- Get the latest OpenJDK Source and Build it - Instructions Here
- Make your changes.
- Update the appropriate test case or provide a new one using TestNG
- Run the JTreg Tests locally to make sure your patch is OK
- Each OpenJDK Project has their own coding standards, you should check for the area that you are working on. Make sure you check their pages for any relevant info and apply the standards as needed.
- Create a Webrev by running the webrev.sh tool located at TODO - it will create a mini static HTML website for you.
- Host the Webrev somewhere on a server that others can find/see.
At this stage you've probably done as much as you can locally, the next steps are:
- Email adoption-discuss@openjdk.java.net and tell them about your patch and ask if you've got the right project and whether they can provide an initial review.
- Once that passes, you'll need to find a Sponsor to officially review your patch. This is typically someone with Reviewer status for that project.
- You may need to ask that reviewer to submit a bug on your behalf to reference against in JBUG
- Assuming your patch passes review it will then be merged into OpenJDK. Please note that subsequent testing by Oracle's internal team in particular may find bugs in your patch and you'll be asked to fix those.
If you wish to backport changes you'll have to make sure your patch set can be applied against OpenJDK 8 and test it etc.