aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpazus <pazus@yandex-team.com>2025-03-25 11:01:46 +0300
committerpazus <pazus@yandex-team.com>2025-03-25 11:26:04 +0300
commitd9a5453f3cf2ca5b9f19f543f49f67e47314203e (patch)
treef38230319012716ab1a50a8cec04bc505386fee5
parent5fa31ed90925ed2948f5b3ce6b327db403bdca1c (diff)
downloadydb-d9a5453f3cf2ca5b9f19f543f49f67e47314203e.tar.gz
Add jdk24 support
commit_hash:3c08964ccb92c46217f9f1ef91ab9b9702ca623f
-rw-r--r--build/conf/java.conf37
-rw-r--r--build/mapping.conf.json10
-rw-r--r--build/platform/java/jdk/jdk24/jdk.json19
-rw-r--r--build/platform/java/jdk/jdk24/ya.make17
-rw-r--r--build/platform/java/jdk/ya.make4
-rw-r--r--build/plugins/java.py2
6 files changed, 87 insertions, 2 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf
index 275fb02ec4..8756dc52ff 100644
--- a/build/conf/java.conf
+++ b/build/conf/java.conf
@@ -466,7 +466,7 @@ when($JDK_VERSION == "8") {
}
# tag:java-specific
-JDK_LATEST_VERSION=23
+JDK_LATEST_VERSION=24
JDK_LATEST_PEERDIR=build/platform/java/jdk/jdk${JDK_LATEST_VERSION}
# tag:java-specific
@@ -1159,6 +1159,11 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
}
+ when($ERROR_PRONE_VALUE && $JDK_REAL_VERSION == "24") {
+ JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
+ JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_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
@@ -1320,7 +1325,10 @@ module _JAR_TEST: _COMPILABLE_JAR_BASE {
JDK_REAL_VERSION=
JDK_VERSION=
-when ($JDK_VERSION == "23") {
+when ($JDK_VERSION == "24") {
+ JDK_REAL_VERSION=24
+}
+elsewhen ($JDK_VERSION == "23") {
JDK_REAL_VERSION=23
}
elsewhen ($JDK_VERSION == "22") {
@@ -1350,6 +1358,9 @@ when ($USE_SYSTEM_JDK) {
JDK_RESOURCE_PEERDIR=
}
otherwise {
+ when ($JDK_REAL_VERSION == "24") {
+ JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk24
+ }
when ($JDK_REAL_VERSION == "23") {
JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk23
}
@@ -1371,6 +1382,9 @@ otherwise {
}
# tag:java-specific
+when ($JDK_REAL_VERSION == "24") {
+ UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar24
+}
when ($JDK_REAL_VERSION == "23") {
UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar23
}
@@ -1397,6 +1411,9 @@ when ($USE_SYSTEM_JDK) {
JDK_RESOURCE=$USE_SYSTEM_JDK
}
otherwise {
+ when ($JDK_REAL_VERSION == "24") {
+ JDK_RESOURCE=$JDK24_RESOURCE_GLOBAL
+ }
when ($JDK_REAL_VERSION == "23") {
JDK_RESOURCE=$JDK23_RESOURCE_GLOBAL
}
@@ -1450,6 +1467,11 @@ when (!$USE_SYSTEM_ERROR_PRONE) {
ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.30.0
ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_30_0_RESOURCE_GLOBAL
}
+ elsewhen ($JDK_REAL_VERSION == "24") {
+ ERROR_PRONE_VERSION=2.30.0
+ ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.30.0
+ ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_30_0_RESOURCE_GLOBAL
+ }
otherwise {
ERROR_PRONE_VERSION=2.7.1
ERROR_PRONE_PEERDIR=build/platform/java/error_prone
@@ -1467,6 +1489,9 @@ when ($USE_SYSTEM_UBERJAR) {
UBERJAR_RESOURCE=$USE_SYSTEM_UBERJAR
}
otherwise {
+ when ($JDK_REAL_VERSION == "24") {
+ UBERJAR_RESOURCE=$UBERJAR24_RESOURCE_GLOBAL
+ }
when ($JDK_REAL_VERSION == "23") {
UBERJAR_RESOURCE=$UBERJAR23_RESOURCE_GLOBAL
}
@@ -1488,6 +1513,9 @@ otherwise {
}
# tag:java-specific
+when ($JDK_REAL_VERSION == "24") {
+ WITH_JDK_RESOURCE=$WITH_JDK24_RESOURCE_GLOBAL
+}
when ($JDK_REAL_VERSION == "23") {
WITH_JDK_RESOURCE=$WITH_JDK23_RESOURCE_GLOBAL
}
@@ -2146,6 +2174,11 @@ elsewhen ($JDK_REAL_VERSION == "23") {
# see also devtools/ya/jbuild/gen/actions/idea.py
KOTLIN_JVM_TARGET=21
}
+elsewhen ($JDK_REAL_VERSION == "24") {
+ # remove when kotlin starts supporting jdk21 bytecode
+ # see also devtools/ya/jbuild/gen/actions/idea.py
+ KOTLIN_JVM_TARGET=21
+}
otherwise {
KOTLIN_JVM_TARGET=$JDK_REAL_VERSION
}
diff --git a/build/mapping.conf.json b/build/mapping.conf.json
index 3716cd061c..c5ee35e247 100644
--- a/build/mapping.conf.json
+++ b/build/mapping.conf.json
@@ -1064,6 +1064,7 @@
"7830390213": "{registry_endpoint}/7830390213",
"7832768362": "{registry_endpoint}/7832768362",
"7833244075": "{registry_endpoint}/7833244075",
+ "8342543231": "{registry_endpoint}/8342543231",
"5776379446": "{registry_endpoint}/5776379446",
"5777100597": "{registry_endpoint}/5777100597",
"5909067709": "{registry_endpoint}/5909067709",
@@ -1079,6 +1080,7 @@
"7830388201": "{registry_endpoint}/7830388201",
"7832766692": "{registry_endpoint}/7832766692",
"7833241952": "{registry_endpoint}/7833241952",
+ "8342542290": "{registry_endpoint}/8342542290",
"5776375952": "{registry_endpoint}/5776375952",
"5777098178": "{registry_endpoint}/5777098178",
"5909065014": "{registry_endpoint}/5909065014",
@@ -1094,6 +1096,7 @@
"7830384362": "{registry_endpoint}/7830384362",
"7832762570": "{registry_endpoint}/7832762570",
"7833238161": "{registry_endpoint}/7833238161",
+ "8342540244": "{registry_endpoint}/8342540244",
"5776374505": "{registry_endpoint}/5776374505",
"5777096988": "{registry_endpoint}/5777096988",
"5909063641": "{registry_endpoint}/5909063641",
@@ -1109,6 +1112,7 @@
"7830382341": "{registry_endpoint}/7830382341",
"7832760150": "{registry_endpoint}/7832760150",
"7833236145": "{registry_endpoint}/7833236145",
+ "8342539438": "{registry_endpoint}/8342539438",
"5776377955": "{registry_endpoint}/5776377955",
"5777099502": "{registry_endpoint}/5777099502",
"5909066324": "{registry_endpoint}/5909066324",
@@ -1124,6 +1128,7 @@
"7830386085": "{registry_endpoint}/7830386085",
"7832764927": "{registry_endpoint}/7832764927",
"7833240023": "{registry_endpoint}/7833240023",
+ "8342541289": "{registry_endpoint}/8342541289",
"6391354461": "{registry_endpoint}/6391354461",
"7805449010": "{registry_endpoint}/7805449010",
"6990868751": "{registry_endpoint}/6990868751",
@@ -2367,6 +2372,7 @@
"7830390213": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz",
"7832768362": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz",
"7833244075": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz",
+ "8342543231": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz",
"5776379446": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
"5777100597": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
"5909067709": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
@@ -2382,6 +2388,7 @@
"7830388201": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
"7832766692": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
"7833241952": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
+ "8342542290": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz",
"5776375952": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
"5777098178": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
"5909065014": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
@@ -2397,6 +2404,7 @@
"7830384362": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
"7832762570": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
"7833238161": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
+ "8342540244": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz",
"5776374505": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
"5777096988": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
"5909063641": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
@@ -2412,6 +2420,7 @@
"7830382341": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
"7832760150": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
"7833236145": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
+ "8342539438": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz",
"5776377955": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
"5777099502": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
"5909066324": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
@@ -2427,6 +2436,7 @@
"7830386085": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
"7832764927": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
"7833240023": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
+ "8342541289": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz",
"6391354461": "none-none-none-result_resources/protoc-linux-x86_64.tgz",
"7805449010": "none-none-none-result_resources/protoc-linux-x86_64.tgz",
"6990868751": "none-none-none-sandbox/backup/3527d100-e2d0-4b0e-bb7a-905010853d98/yfm-docs.tar",
diff --git a/build/platform/java/jdk/jdk24/jdk.json b/build/platform/java/jdk/jdk24/jdk.json
new file mode 100644
index 0000000000..e5e0fd4ade
--- /dev/null
+++ b/build/platform/java/jdk/jdk24/jdk.json
@@ -0,0 +1,19 @@
+{
+ "by_platform": {
+ "darwin-arm64": {
+ "uri": "sbr:8342543231"
+ },
+ "darwin-x86_64": {
+ "uri": "sbr:8342542290"
+ },
+ "linux-x86_64": {
+ "uri": "sbr:8342539438"
+ },
+ "linux-aarch64": {
+ "uri": "sbr:8342540244"
+ },
+ "win32-x86_64": {
+ "uri": "sbr:8342541289"
+ }
+ }
+}
diff --git a/build/platform/java/jdk/jdk24/ya.make b/build/platform/java/jdk/jdk24/ya.make
new file mode 100644
index 0000000000..f35bca5454
--- /dev/null
+++ b/build/platform/java/jdk/jdk24/ya.make
@@ -0,0 +1,17 @@
+RESOURCES_LIBRARY()
+
+DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK24 jdk.json)
+SET_RESOURCE_URI_FROM_JSON(WITH_JDK24_URI jdk.json)
+
+IF (WITH_JDK24_URI)
+ DECLARE_EXTERNAL_RESOURCE(WITH_JDK24 ${WITH_JDK24_URI})
+ENDIF()
+
+END()
+
+IF (AUTOCHECK)
+ RECURSE_FOR_TESTS(ut)
+ENDIF()
+IF(YA_IDE_IDEA)
+ RECURSE_FOR_TESTS(ut)
+ENDIF()
diff --git a/build/platform/java/jdk/ya.make b/build/platform/java/jdk/ya.make
index 112b1d9904..474ffa26a0 100644
--- a/build/platform/java/jdk/ya.make
+++ b/build/platform/java/jdk/ya.make
@@ -3,6 +3,9 @@ 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 == "24")
+ DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK_DEFAULT jdk24/jdk.json)
+ SET_RESOURCE_URI_FROM_JSON(WITH_JDK_URI jdk24/jdk.json)
ELSEIF(JDK_REAL_VERSION == "23")
DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK_DEFAULT jdk23/jdk.json)
SET_RESOURCE_URI_FROM_JSON(WITH_JDK_URI jdk23/jdk.json)
@@ -38,6 +41,7 @@ RECURSE(
jdk21
jdk22
jdk23
+ jdk24
testing
)
diff --git a/build/plugins/java.py b/build/plugins/java.py
index fdc45d452b..c42175634c 100644
--- a/build/plugins/java.py
+++ b/build/plugins/java.py
@@ -70,6 +70,7 @@ def onjava_module(unit, *args):
'21',
'22',
'23',
+ '24',
):
data['ENABLE_PREVIEW'] = extract_macro_calls(unit, 'ENABLE_PREVIEW_VALUE', args_delim)
@@ -300,6 +301,7 @@ def on_jdk_version_macro_check(unit, *args):
'21',
'22',
'23',
+ '24',
)
if jdk_version not in available_versions:
ymake.report_configure_error(