Bump Java build baseline from JDK 9 to 17

As discussed in the ESC call on 2023-08-10 [1],
bump the Java build baseline to 17.
This should not affect the Java runtime requirement,
since the target version is explicitly specified
already.

[1] https://lists.freedesktop.org/archives/libreoffice/2023-August/090759.html

Change-Id: I18251151392ca5edec8ca3d5cffd192d5f9f38b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155827
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
Michael Weghorn
2023-08-18 09:58:09 +02:00
parent ce81efb31c
commit d6d4cae126
2 changed files with 6 additions and 8 deletions

View File

@@ -57,9 +57,7 @@ Java is required for building many parts of LibreOffice. In TDF Wiki article
[Development/Java](https://wiki.documentfoundation.org/Development/Java), the
exact modules that depend on Java are listed.
The baseline for Java is Java Development Kit (JDK) Version 17 or later. It is
possible to build LibreOffice with JDK version 9, but it is no longer supported
by the JDK vendors, thus it should be avoided.
The baseline for Java is Java Development Kit (JDK) Version 17 or later.
If you want to use Clang with the LibreOffice compiler plugins, the minimal
version of Clang is 12.0.1. Since Xcode doesn't provide the compiler plugin

View File

@@ -2548,7 +2548,7 @@ AC_ARG_WITH(linker-hash-style,
AC_ARG_WITH(jdk-home,
AS_HELP_STRING([--with-jdk-home=<absolute path to JDK home>],
[If you have installed JDK 9 or later on your system please supply the
[If you have installed JDK 17 or later on your system please supply the
path here. Note that this is not the location of the java command but the
location of the entire distribution. In case of cross-compiling, this
is the JDK of the host os. Use --with-build-platform-configure-options
@@ -8580,7 +8580,7 @@ if test "$ENABLE_JAVA" != ""; then
fi
if ! test -f "$with_jdk_home/lib/jvm.lib" -a -f "$with_jdk_home/bin/java.exe"; then
AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 9])
AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 17])
fi
fi
@@ -8665,8 +8665,8 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
_jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED '/^$/d' | $SED s/[[-A-Za-z]]*//`
_jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
if test "$_jdk_ver" -lt 90000; then
AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 90000)])
if test "$_jdk_ver" -lt 170000; then
AC_MSG_ERROR([JDK is too old, you need at least 17 ($_jdk_ver < 170000)])
fi
dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be
dnl completely removed in some Java version > 18 (see
@@ -8687,7 +8687,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
JAVACFLAGS=-J-Xmx128M
fi
else
AC_MSG_ERROR([Java not found. You need at least JDK 9])
AC_MSG_ERROR([Java not found. You need at least JDK 17])
fi
else
if test -z "$ENABLE_JAVA"; then