aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpazus <pazus@yandex-team.com>2023-10-19 14:28:51 +0300
committerpazus <pazus@yandex-team.com>2023-10-19 15:00:08 +0300
commit06137dfedfcaa35dcd14688f3e4460c4c83dbfba (patch)
tree738e84121b6c703a211580f5dc346ac5e2ec64e9
parentc9b7da28978d2ef37df7504cd8cb0ae9c7f9a355 (diff)
downloadydb-06137dfedfcaa35dcd14688f3e4460c4c83dbfba.tar.gz
Import Temurin JDK21
-rw-r--r--build/conf/java.conf30
-rw-r--r--build/platform/java/jdk/jdk21/jdk.json20
-rw-r--r--build/platform/java/jdk/jdk21/ya.make10
-rw-r--r--build/platform/java/jdk/ya.make5
-rw-r--r--build/plugins/java.py4
5 files changed, 67 insertions, 2 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf
index e4ce174487..21af7e57d9 100644
--- a/build/conf/java.conf
+++ b/build/conf/java.conf
@@ -923,6 +923,11 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
JAVAC_OPTS+=$ERROR_PRONE_JDK16_ADD_OPENS
}
+ when($ERROR_PRONE_VALUE && $JDK_REAL_VERSION == "21") {
+ JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16_ADD_OPENS
+ JAVAC_OPTS+=$ERROR_PRONE_JDK16_ADD_OPENS
+ }
+
when($ERROR_PRONE_VALUE && $ERROR_PRONE_VERSION == "2.7.1") {
JAVAC_FLAGS_VALUE+=$ERROR_PRONE_2_7_1_FORCED_OPTS
JAVAC_OPTS+=$ERROR_PRONE_2_7_1_FORCED_OPTS
@@ -1056,7 +1061,10 @@ JAVA_SWIG_DELIM=JAVA_SWIG_DELIM
JDK_REAL_VERSION=
JDK_VERSION=
-when ($JDK_VERSION == "20") {
+when ($JDK_VERSION == "21") {
+ JDK_REAL_VERSION=21
+}
+elsewhen ($JDK_VERSION == "20") {
JDK_REAL_VERSION=20
}
elsewhen ($JDK_VERSION == "19") {
@@ -1090,6 +1098,9 @@ when ($USE_SYSTEM_JDK) {
JDK_RESOURCE_PEERDIR=
}
otherwise {
+ when ($JDK_REAL_VERSION == "21") {
+ JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk21 build/platform/java/jdk/jdk17
+ }
when ($JDK_REAL_VERSION == "20") {
JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk20 build/platform/java/jdk/jdk17
}
@@ -1115,6 +1126,9 @@ otherwise {
}
# tag:java-specific
+when ($JDK_REAL_VERSION == "21") {
+ UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar21
+}
when ($JDK_REAL_VERSION == "20") {
UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar20
}
@@ -1143,6 +1157,9 @@ when ($USE_SYSTEM_JDK) {
JDK_RESOURCE=$USE_SYSTEM_JDK
}
otherwise {
+ when ($JDK_REAL_VERSION == "21") {
+ JDK_RESOURCE=$JDK21_RESOURCE_GLOBAL
+ }
when ($JDK_REAL_VERSION == "20") {
JDK_RESOURCE=$JDK20_RESOURCE_GLOBAL
}
@@ -1199,6 +1216,11 @@ when (!$USE_SYSTEM_ERROR_PRONE) {
ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.18.0
ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_18_0_RESOURCE_GLOBAL
}
+ elsewhen ($JDK_REAL_VERSION == "21") {
+ ERROR_PRONE_VERSION=2.18.0
+ ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.18.0
+ ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_18_0_RESOURCE_GLOBAL
+ }
otherwise {
ERROR_PRONE_VERSION=2.7.1
ERROR_PRONE_PEERDIR=build/platform/java/error_prone
@@ -1216,6 +1238,9 @@ when ($USE_SYSTEM_UBERJAR) {
UBERJAR_RESOURCE=$USE_SYSTEM_UBERJAR
}
otherwise {
+ when ($JDK_REAL_VERSION == "21") {
+ UBERJAR_RESOURCE=$UBERJAR21_RESOURCE_GLOBAL
+ }
when ($JDK_REAL_VERSION == "20") {
UBERJAR_RESOURCE=$UBERJAR20_RESOURCE_GLOBAL
}
@@ -1240,6 +1265,9 @@ otherwise {
}
# tag:java-specific
+when ($JDK_REAL_VERSION == "21") {
+ WITH_JDK_RESOURCE=$WITH_JDK21_RESOURCE_GLOBAL
+}
when ($JDK_REAL_VERSION == "20") {
WITH_JDK_RESOURCE=$WITH_JDK20_RESOURCE_GLOBAL
}
diff --git a/build/platform/java/jdk/jdk21/jdk.json b/build/platform/java/jdk/jdk21/jdk.json
new file mode 100644
index 0000000000..1b4361b55d
--- /dev/null
+++ b/build/platform/java/jdk/jdk21/jdk.json
@@ -0,0 +1,20 @@
+{
+ "by_platform": {
+ "darwin-arm64": {
+ "uri": "sbr:5251005068"
+ },
+ "darwin-x86_64": {
+ "uri": "sbr:5251004826"
+ },
+ "linux-x86_64": {
+ "uri": "sbr:5251003964"
+ },
+ "linux-aarch64": {
+ "uri": "sbr:5251004291"
+ },
+ "win32-x86_64": {
+ "uri": "sbr:5251004470"
+ }
+ }
+}
+
diff --git a/build/platform/java/jdk/jdk21/ya.make b/build/platform/java/jdk/jdk21/ya.make
new file mode 100644
index 0000000000..51f60e58cc
--- /dev/null
+++ b/build/platform/java/jdk/jdk21/ya.make
@@ -0,0 +1,10 @@
+RESOURCES_LIBRARY()
+
+DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK21 jdk.json)
+SET_RESOURCE_URI_FROM_JSON(WITH_JDK21_URI jdk.json)
+
+IF (WITH_JDK21_URI)
+ DECLARE_EXTERNAL_RESOURCE(WITH_JDK21 ${WITH_JDK21_URI})
+ENDIF()
+
+END()
diff --git a/build/platform/java/jdk/ya.make b/build/platform/java/jdk/ya.make
index dd2914f19d..3c3a23a63f 100644
--- a/build/platform/java/jdk/ya.make
+++ b/build/platform/java/jdk/ya.make
@@ -1,7 +1,11 @@
RESOURCES_LIBRARY()
+# Add new JDK to build/plugins/java.py (2 times)
IF(USE_SYSTEM_JDK)
MESSAGE(WARNING DEFAULT_JDK are disabled)
+ELSEIF(JDK_REAL_VERSION == "21")
+ DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK_DEFAULT jdk21/jdk.json)
+ SET_RESOURCE_URI_FROM_JSON(WITH_JDK_URI jdk21/jdk.json)
ELSEIF(JDK_REAL_VERSION == "20")
DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK_DEFAULT jdk20/jdk.json)
SET_RESOURCE_URI_FROM_JSON(WITH_JDK_URI jdk20/jdk.json)
@@ -41,5 +45,6 @@ RECURSE(
jdk18
jdk19
jdk20
+ jdk21
testing
)
diff --git a/build/plugins/java.py b/build/plugins/java.py
index 471c9e48ee..d917b6e9e6 100644
--- a/build/plugins/java.py
+++ b/build/plugins/java.py
@@ -137,7 +137,8 @@ def onjava_module(unit, *args):
'17',
'18',
'19',
- '20'
+ '20',
+ '21'
):
data['ENABLE_PREVIEW'] = extract_macro_calls(unit, 'ENABLE_PREVIEW_VALUE', args_delim)
@@ -413,6 +414,7 @@ def on_jdk_version_macro_check(unit, *args):
'18',
'19',
'20',
+ '21',
)
if jdk_version not in available_versions:
ymake.report_configure_error(