ARCHIVE: A More Generic JDK/PRT (JPRT) Build/Test System

Just some ideas on a generic PRT build system or a PRT that doesn't care what's in the source tree. I don't know how difficult it would be to change PRT to do this yet, for now I'll call this GPRT.

GPRT build job input is a set of source trees, perhaps partial source trees, and an indication as to which source tree is the main build target of GPRT. On input, temporary sibling source tree copies are created. When a job is ready to start, all temporary source trees get a 'bringover' (conflicts dealt with in the normal PRT way), and the build is started in the main target source tree on all requested platforms.

The platform definitions and machine setup are specific to the JDK.

All GPRT main build target source trees would need to follow certain conventions. There must be a GNU makefile located at set_of_sourcetrees/target_sourcetree/make/Makefile in the source tree, and it must:

On each machine, the GPRT system simply does a:


  cd set_of_sourcetrees/target_sourcetree/make
  gnumake GPRT_BUILD_LOG=/tmp/logfile.txt GPRT_BUILD_RESULTS=/tmp/NNN.zip prt_build
Very generic, and GPRT shouldn't care what it has done or what it is saving, it just inspects the process exit status for success, saving the build results as appropriate.

Similar to the build rules, a gprt_test rule could be created, but we will need some way of specifying what tests would be run and possible time limits.

The basic idea is to localize the definition and meaning of "build" and "test" to the source tree, giving it control and letting GPRT just do the job and resource management with generic builds and tests.