Skip to content

Conversation

@jcflack
Copy link
Contributor

@jcflack jcflack commented Mar 20, 2025

These changes (plus, importantly, PR #512) take care of building and using PL/Java on Java 24.

The JDK 24 release notes do not announce any new features that would need to be exposed in PL/Java's API for use by user code.

Naturally, no patch will begin using Java 24 features within PL/Java itself until a future major release adopts a newer minimum build version.

jcflack added 2 commits March 20, 2025 16:19
Unchecked warnings at VarHandle invocations appear to be new in javac 24.

Various deprecation warnings not seen with --release 9 may not be
brand new with javac 24 but simply left unaddressed earlier. Use the
recommended alternatives where possible for PL/Java 1.6 (available in
Java 9, and no behavior change), or add @SuppressWarnings and a comment
where the alternative can't be used until a major PL/Java rev (because
it could change behavior subtly, or break Java 9 source compatibility).
No issues observed in compiling manually (without the Maven
directive specifying an earlier --release) on Oracle JDK 24 GA.

cd pljava-api/src/main/java
/var/tmp/jdk-24/bin/javac -d ../../../target/classes/ \
 -Xlint:unchecked -Xlint:-removal --module-version 1.6-SNAPSHOT \
 $(find . -name '*.java')
cd ../../..
/var/tmp/jdk-24/bin/jar cf target/pljava-api-1.6-SNAPSHOT.jar \
 -C target/classes .

cd ../pljava/src/main/java
/var/tmp/jdk-24/bin/javac --module-version 1.6-SNAPSHOT \
 -d ../../../target/classes/ \
 -h ../../../target/javah-include \
 --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-24/bin/jar cf target/pljava-1.6-SNAPSHOT.jar \
 -C target/classes .

cd ../pljava-examples/src/main/java
/var/tmp/jdk-24/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
cp -r ../../src/main/resources/* .
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-pgxs,pljava-so,pljava-packaging
@jcflack jcflack merged commit 4670e02 into REL1_6_STABLE Mar 21, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants