On 2/25/2024, 2:49 PM Elliotte Rusty Harold wrote:


>> For #2, reproducible builds mean we have to be able to support what
>> customers are using and that can be anything from Java 8 - 21. It is
>> not sufficient to say Java 21 can compile to Java 8 since that does
>> not produce the same byte code as compiling with Java 8.


On 2/26/2024 8:22 PM, Benjamin Marwell wrote:


> That is the point.
> If you built the project with JDK 21 using the -release=8, you can get
> the same (reproducible) output with a similar OS and JDK 21.

I wrote about 6 or 7 paragraphs of word salad to essentially convey the
same message as Benjamin.

If the goal is verification of the artifact with respect to the code in
the software repo, the verifier needs the same JDK version as the
version used to produce the artifact being checked in order to compare
binaries. The Java version can be any Java version and only depends on
the producer of the artifact (the owner of the artifact). Obviously,
this Java version needs to be equal or higher than the "release"
version, but that is it.

Claiming that if the release version is 8, the Java version must also be
8 seems quite incorrect.


-- 
Ceki Gülcü

Sponsoring SLF4J/logback/reload4j at https://github.com/sponsors/qos-ch

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to