On Thu, 3 Feb 2022 12:56:12 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:

>> 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.
>
> Magnus Ihse Bursie has updated the pull request with a new target base due to 
> a merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains six additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into improve-adhoc-version-string
>  - IS_EMPTY define did not work on msvc
>  - Break long lines
>  - Skip setting git branch in adhoc version opt
>  - Fix for abtract_vm_version so it really handles empty VERSION_BUILD
>  - 8274980: Improve adhoc build version strings

Is the version string for the following `build 17+35-LTS-2724`?

java 17 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17+35-LTS-2724)
Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)

(I can't remember what they were like since I built the jdk a while ago) 

If that's the case, I'm wondering if instead of changing 
`18-internal+0-adhoc.shade.jdk (18-internal)` to something like 
`18-internal-jdk-18+17-80-gcdf89304eaf.shade (18-internal)`, `build 18<+build 
number, not required>-internal-<branch name + commit id>` would be more 
understandable and slightly easier on one's eyes, while conveying the same 
information the usual (verbose) version string otherwise tries to display

I can help with resolving the test failures, if needed?

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

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

Reply via email to