Current adhoc version build strings are not ideal. Some of the problems:
 * A build number of "0" is inserted, which make the version string look like 
it's an official build, at least when not reading carefully
 * The version string gives little indication on what source code the build was 
based

Also, an error was discovered in how the build system generates version strings 
without a build number (since this basically never happened before). A version 
without a build number,  and without a PRE value, but with an OPT value, should 
have a "+-" separator, according to JEP 223. While this was correctly handled, 
the "+-" separator was also applied to versions without a build, but with both 
PRE and OPT. In this case, the "+" should be omitted, according to JEP 223. 
This bug is fixed by this commit.

Ideally, the adhoc version string should include something along the lines of 
the output of `git describe`. However, since the version string is set at 
configure time, not build time, this will almost immediately become misleading. 
:-( A substitute is proposed in this patch, where the branch name is included 
in the OPT string (if it's not `master`).

Finally, this patch fixes hotspot so it can properly build without a build 
number. This was the last blocker for why the build system always required the 
"0" as build number before. To facilitate interoperability with external tools 
(like jib) that still sets build number to "0" to really signal "no build 
number", a build number exactly matching "0" will be interpreted as having no 
build number.

-------------

Commit messages:
 - 8274980: Improve adhoc build version strings

Changes: https://git.openjdk.java.net/jdk/pull/6152/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6152&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8274980
  Stats: 27 lines in 2 files changed: 17 ins; 3 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6152.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6152/head:pull/6152

PR: https://git.openjdk.java.net/jdk/pull/6152

Reply via email to