HotSpot VM now has own release train: Hotspot Express.
Therefore it should have own version separated from JDK version:
<major version>.<minor version>-b<nn>[-<identifier>][-<debug_target>]
where <identifier> is PRT/JPRT job ID or 'internal' or
the value of HOTSPOT_BUILD_VERSION specified on command line,
<debug_target> is 'debug', 'jvmg' or 'fastdebug'.
The <minor version> will be used for already released VM which
needs a point fix (special update) for our big customers.
The version and build numbers are specified in make/hotspot_version
file. Each time the sources are promoted to master workspace the value
of HS_BUILD_NUMBER should be incremented. Each time workspace is forked
into update/performance workspace values in current workspace should
be updated: increment HS_MAJOR_VER and reset HS_BUILD_NUMBER to 01.
The first version will be "10.00-b16" which is currently
"1.6.0_03-ea-b03" since we forked current VM after b14.
Current VM will be "11.00-b05" for b19.
The -Xinternalversion output will include JRE version for which
VM was built. It is defined by FULL_VERSION variable.
By default FULL_VERSION is set to JDK_MAJOR_VER.JDK_MINOR_VER.JDK_MINOR_VER
defined in make/hotspot_version file:
Java HotSpot(TM) Server VM (10.00-b16-fastdebug) for solaris-sparc JRE (1.6.0_03-ea-fastdebug-b03), built on Aug XX 2007 21:26:57 by "java_re" with Workshop 5.8
Java HotSpot(TM) Server VM (11.0-b05-20070816201531.kvn.6590301-jvmg) for solaris-sparc JRE (1.7.0), built on Aug 16 2007 21:26:57 by "PRT" with Workshop 5.8
VM version and build numbers are always present
at the beginning of VM version string:
Serviceability Agent checks only VM major version. The supported
VM version is defined by SA_VERSION variable. By default
it set to HS_MAJOR_VER.
The same jvm_version_info structure layout is used to pass version info
to libraries with micro, update, special_update values are always 0.
I also moved VM copyright values into make/hotspot_version.