On Fri, 21 Feb 2025 14:24:22 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:

>> Noticed this when reviewing 
>> [JDK-8349399](https://bugs.openjdk.org/browse/JDK-8349399), which had to 
>> kludgy workaround the hunk introduced by `static-libs-bundles` addition 
>> ([JDK-8337265](https://bugs.openjdk.org/browse/JDK-8337265)). I am somewhat 
>> surprised we even have `static-libs-bundles` as additional target in what I 
>> would consider a generic build-linux job! It looks cleaner to yank 
>> `static-libs-bundles` into a separate build job.
>> 
>> This effectively reverts parts of the original change, and does a few 
>> modifications:
>>  - I see no reason to store the bundles, and continuing to do so would 
>> effectively overwrite `linux-x64-bundles` when we split the static build 
>> into another job, breaking tests. Not sure why we had to publish those 
>> bundles, @dougxc? They are not used in current JDK tests, I think?
>>  - The matrix definition in `build-linux.xml` unconditionally includes 
>> `debug` configuration to override flags and suffix, I had to redo this with 
>> inline variables
>> 
>> Named the new job `linux-x64-static`, since I expect @jianglizhou to slide 
>> https://github.com/openjdk/jdk/pull/23471 just there by adding another 
>> `make-target` into that job definition.
>> 
>> I did a partial GHA run already, and I expect full run to complete without 
>> errors.
>> 
>> Testing:
>>  - [x] GHA
>
> Aleksey Shipilev has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Rename -static job to -static-libs

The point about difference between `static-libs` and `static` JDK is valid. I 
renamed the job to `-static-libs`, and would expect #23471 to add another job 
like `build-linux-x64-static` that would build static JDK.

Conceptually, I have major reservations about sneaking in `static-libs-bundle` 
make target in the generic `build-linux` job script. It might have been OK when 
it was originally done, but it is IMO a hacky solution, which prompts even more 
hacks to workaround the first hack! See #23471. We are also "lucky" that no 
other jobs call into `build-linux` script with `release`, so we are not 
building `static-libs-bundle` in all cross-compilation, no-pch, Zero and other 
jobs that only ask for `hotspot`, for example. 

If we want to build `static-libs-bundle` only for Linux x64 release, the clean 
way to do this is to explicitly define it as separate job.

At some point in the future -- once build system catches up -- we _may_ 
consider adding `static-libs-bundles` into default make target list in 
`build-linux` / `build-windows` / etc. scripts. This would also be clean. But 
before that happens, the non-standard build targets have IMO no business being 
spliced into the generic scripts.

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

PR Comment: https://git.openjdk.org/jdk/pull/23715#issuecomment-2674707774

Reply via email to