From 95b5962d906b0904fed6e0fe036ed54f9325fa16 Mon Sep 17 00:00:00 2001 From: Chapman Flack Date: Thu, 3 Oct 2024 20:04:19 -0400 Subject: [PATCH 1/2] Bump DDRProcessor latest_tested to 23 No issues observed in compiling manually (without the Maven directive specifying an earlier --release) on Oracle JDK 23 GA. cd pljava-api/src/main/java /var/tmp/jdk-23/bin/javac -d ../../../target/classes/ \ -Xlint:unchecked -Xlint:-removal --module-version 1.6-SNAPSHOT \ $(find . -name '*.java') cd ../../.. /var/tmp/jdk-23/bin/jar cf target/pljava-api-1.6-SNAPSHOT.jar \ -C target/classes . cd ../pljava/src/main/java /var/tmp/jdk-23/bin/javac --module-version 1.6-SNAPSHOT \ -d ../../../target/classes/ \ --module-path ../../../../pljava-api/target/pljava-api-1.6-SNAPSHOT.jar \ --processor-module-path \ ../../../../pljava-api/target/pljava-api-1.6-SNAPSHOT.jar \ -Xlint:unchecked -Xlint:-removal $(find . -name '*.java') cd ../../../ /var/tmp/jdk-23/bin/jar cf target/pljava-1.6-SNAPSHOT.jar \ -C target/classes . cd ../pljava-examples/src/main/java /var/tmp/jdk-23/bin/javac -d ../../../target/classes/ \ --module-path ../../../../pljava-api/target/pljava-api-1.6-SNAPSHOT.jar \ --processor-module-path \ ../../../../pljava-api/target/pljava-api-1.6-SNAPSHOT.jar \ --class-path \ ~/.m2/repository/net/sf/saxon/Saxon-HE/10.9/Saxon-HE-10.9.jar: \ -Xlint:unchecked -Xlint:-removal \ --add-modules org.postgresql.pljava $(find . -name '*.java') cd ../../../target/classes zip -r ../pljava-examples-1.6-SNAPSHOT.jar * # zip because jar m doesn't preserve order of manifest entries cd ../../../ # with dir of intended pg_config version on PATH: mvn clean install --projects pljava-packaging --- .../postgresql/pljava/annotation/processing/DDRProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pljava-api/src/main/java/org/postgresql/pljava/annotation/processing/DDRProcessor.java b/pljava-api/src/main/java/org/postgresql/pljava/annotation/processing/DDRProcessor.java index 465f5ddf4..262ec227d 100644 --- a/pljava-api/src/main/java/org/postgresql/pljava/annotation/processing/DDRProcessor.java +++ b/pljava-api/src/main/java/org/postgresql/pljava/annotation/processing/DDRProcessor.java @@ -173,7 +173,7 @@ public SourceVersion getSupportedSourceVersion() * Update latest_tested to be the latest Java release on which this * annotation processor has been tested without problems. */ - int latest_tested = 22; + int latest_tested = 23; int ordinal_9 = SourceVersion.RELEASE_9.ordinal(); int ordinal_latest = latest_tested - 9 + ordinal_9; From 7ed491891f7dcb789a0ea3289059434f83ec6229 Mon Sep 17 00:00:00 2001 From: Chapman Flack Date: Thu, 3 Oct 2024 20:11:30 -0400 Subject: [PATCH 2/2] Bring the JEP 411 warnings up to date As of Java 23, the necessary mechanisms have not yet been disabled. (There is probably, though, with increasing versions, an increasing risk of Java internals that lack doPrivileged and will end up needing to leak into policy.) --- pljava-so/src/main/c/Backend.c | 2 +- src/site/markdown/use/policy.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pljava-so/src/main/c/Backend.c b/pljava-so/src/main/c/Backend.c index 30569c2e0..e4324babb 100644 --- a/pljava-so/src/main/c/Backend.c +++ b/pljava-so/src/main/c/Backend.c @@ -1942,7 +1942,7 @@ void Backend_warnJEP411(bool isCommit) "Those changes will come in releases after Java 17."), errhint( "For migration planning, this version of PL/Java can still " - "enforce policy in Java versions up to and including 22, " + "enforce policy in Java versions up to and including 23, " "and Java 17 and 21 are positioned as long-term support releases. " "For details on how PL/Java will adapt, please bookmark " "https://github.com/tada/pljava/wiki/JEP-411") diff --git a/src/site/markdown/use/policy.md b/src/site/markdown/use/policy.md index 9d0e3f800..df423a293 100644 --- a/src/site/markdown/use/policy.md +++ b/src/site/markdown/use/policy.md @@ -373,7 +373,7 @@ release, so relying on it is not recommended. The developers of Java have elected to phase out important language features used by PL/Java to enforce policy. The changes will come in releases after Java 17. For migration planning, this version of PL/Java can still enable -policy enforcement in Java versions up to and including 22, and Java 17 and 21 +policy enforcement in Java versions up to and including 23, and Java 17 and 21 are positioned as long-term support releases. (There is a likelihood, increasing with later Java versions, even before policy stops being enforceable, that some internal privileged operations by Java itself, or other libraries,