diff options
author | pazus <pazus@yandex-team.com> | 2025-03-25 11:01:46 +0300 |
---|---|---|
committer | pazus <pazus@yandex-team.com> | 2025-03-25 11:26:04 +0300 |
commit | d9a5453f3cf2ca5b9f19f543f49f67e47314203e (patch) | |
tree | f38230319012716ab1a50a8cec04bc505386fee5 | |
parent | 5fa31ed90925ed2948f5b3ce6b327db403bdca1c (diff) | |
download | ydb-d9a5453f3cf2ca5b9f19f543f49f67e47314203e.tar.gz |
Add jdk24 support
commit_hash:3c08964ccb92c46217f9f1ef91ab9b9702ca623f
-rw-r--r-- | build/conf/java.conf | 37 | ||||
-rw-r--r-- | build/mapping.conf.json | 10 | ||||
-rw-r--r-- | build/platform/java/jdk/jdk24/jdk.json | 19 | ||||
-rw-r--r-- | build/platform/java/jdk/jdk24/ya.make | 17 | ||||
-rw-r--r-- | build/platform/java/jdk/ya.make | 4 | ||||
-rw-r--r-- | build/plugins/java.py | 2 |
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( |