Recent Posts
- Oracle User Group Leaders' Summit
- JavaFX and Java EE with Johan Vos!
- Java SE 7 Update 11 Released
- Spotlight on JavaFX
- How Do I Get My Java Video on the YouTube/Java Channel?
- Java YouTube Channel Tops 1 Million Views
- Java Experts on the State of Java
- Top 10 Java Tech Articles Published by OTN in 2012
- Top 10 Java Stories of 2012
- The Java Source: 2012 in Review
Thursday Dec 20, 2012
Monday Oct 17, 2011
OpenJDK Development Best Practices
By Janice J. Heiss on Oct 17, 2011
At JavaOne 2011, Oracle Principal Member of Technical Staff, Kelly O’Hair, had a
session on “OpenJDK Development Best Practices”
that offered a lot of useful practical advice. He discussed current
OpenJDK development procedures such as building, testing, code review,
and creating a changeset, and integrating that changeset into a team
repository. In addition he covered "OpenJDK Developers' Guide"
topics and looked at the challenges of integrating a change.
So what are the best practices when working on the JDK?
● When in doubt, ask
● When something does not work, report it
● Always be careful, rushing in changes is dangerous
● Do no harm, have a backup or backout plan
● Stay calm, nervous people make mistakes
● Be prepared for anything, because it will happen
When editing sources:
● No TABS
● Never edit the legal notices
● Respect the existing formatting
● Small surgical changes are best, easiest to review
● Well written comments are critical
● Do not assume anything about the compilers
Testcases are critical and not optional:
● Create a new one or modify an existing testcase
● Must be solid and work on all supported systems
● Must not be a resource hog (open 20,000 files)
● Must work in a shared VM mode (like a JUnit test)
● Assume someone else might be running the same test at the same time, and that someone might be you
● Continuous Build & Test
● Test gates or baseline testing
●
But before you even get started making changes you must be able to
completely build it and test it on your own system, this is a
fundamental
● Linux builds are the easiest, so let's see what needs to happen
He suggested best practices short cuts for building:
● Always use local disk space
● Use /tmp if it has the space
● Try export HOTSPOT_BUILD_JOBS=4
● Try export ALT_PARALLEL_COMPILE_JOBS=4
● Use export NO_DOCS=true to avoid running javadoc
● Use ALT_JDK_IMPORT_PATH=${HOME}/jdk1.8.0
Kelly offered detailed principles related to testing, testing prep,
editing, code review, changeset creation, why a push fails, and the team
repository model.
His core ideas:
● Pick your environment, Linux is easiest
● Pick a stable state of repos, promoted build, oldest best
● Learn to build and test it, over and over, know what to expect, create a jdk to use as your import
● Editing working set files, read the Mercurial book
● Problemlist, changeset creation
About
Insider News from the Java Team at Oracle!
|

JavaOne Conference 2012 Content
JavaOne Latin America Dec. 4-6
