To use a single, shared reference tree to support partial source trees for developers, simply have the nightly build create jars for the project and include those jars in the CLASSPATH of the Java compiler. The developer can check out the parts of the source tree he needs and run the compile ( assuming the source file list is dynamically created by something like find ). When the Java compiler requires symbols from a missing source file, it will search the CLASSPATH and discover the .class file in the jar.
Selecting third-party jars from a reference tree is also simple. Just place the path to the jar in the CLASSPATH . The makefile can be a valuable tool for managing this process as previously noted. Of course, the get-file function can be used to automatically select beta or stable, local or remote jars by simply setting the JAR_PATH variable.