Closed msgilligan closed 2 weeks ago
Does this mean secp256k1-jdk will require Java 23 to run? Or can the target compatibility for class files be set to 22?
Does this mean secp256k1-jdk will require Java 23 to run?
No.
Or can the target compatibility for class files be set to 22?
That target compatibility for the class files is set to 22 (for secp-ffm
) and earlier for some of the the other JARs. This is set in the root build.gradle
.
I plan to continue to migrate the build to the latest supported JDK without changing the target compatibility. Although when Sparrow moves to a newer JDK, we can consider bumping the class file version of secp-ffm
if there is a useful JVM feature -- though I'm imaging a 1.0 release would not advance beyond JDK 25 ("LTS")
The Gradle build by default still tries to use JDK 22 (via the toolchains mechanism.) The GItHub Actions build overrides this setting on the command-line to use JDK 23 (as we know it is available there.) This PR just updates the Nix build (which is currently not the official build.)
I'm not sure if/how this overlaps with #99, but I'm sure you'll merge it in the right order if necessary.
I'm not sure if/how this overlaps with #99, but I'm sure you'll merge it in the right order if necessary.
After Nixpkgs bumped to JDK23 and prior to #99, I was actually manually adding the -PjavaToolchainVersion=23
when building in the Nix environment.
I'll merge this one last.
NixPkgs has removed JDK 22 as "unsupported" and now provides jdk23. The jextract package has not been upgraded and is marked as
broken
.Given that
jextract
is not needed to buildsecp256k1-jdk
from source, it is commented out for now. (jextract is included in thenix develop
environment for updating the generated wrapper manually)The flake.lock file is also updated to the latest hashes.