diff options
author | robot-javacom <[email protected]> | 2025-09-29 10:16:05 +0300 |
---|---|---|
committer | robot-javacom <[email protected]> | 2025-09-29 10:36:43 +0300 |
commit | e5d1d3a8bbbdfe5b7dd6020f5f4e68bcb6cfbaf4 (patch) | |
tree | 804a8346150cd8854a2b62b83803c90e5fa8e11a | |
parent | 4145772338d824a2163726ccd4df310b7057065e (diff) |
Поддержать JDK 25 в аркадии
https://nda.ya.ru/t/8WYUG2pO7Kaaag
commit_hash:5faed6ce4dc3add634be2e5b04f537573ff4c616
-rw-r--r-- | build/conf/java.conf | 36 | ||||
-rw-r--r-- | build/mapping.conf.json | 10 | ||||
-rw-r--r-- | build/platform/java/jdk/jdk25/jdk.json | 19 | ||||
-rw-r--r-- | build/platform/java/jdk/jdk25/ya.make | 17 | ||||
-rw-r--r-- | build/platform/java/jdk/ya.make | 4 | ||||
-rw-r--r-- | build/plugins/java.py | 2 |
6 files changed, 82 insertions, 6 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf index 160a7949e9e..bcce174f168 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -494,7 +494,7 @@ when($JDK_VERSION == "8") { } # tag:java-specific -JDK_LATEST_VERSION=24 +JDK_LATEST_VERSION=25 JDK_LATEST_PEERDIR=build/platform/java/jdk/jdk${JDK_LATEST_VERSION} # tag:java-specific @@ -1213,7 +1213,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE { PEERDIR+=$ERROR_PRONE_PEERDIR RUN_JAVAC_ARGS=--error-prone $ERROR_PRONE_RESOURCE/error_prone.jar - when ($JDK_REAL_VERSION == "17" || $JDK_REAL_VERSION == "20" || $JDK_REAL_VERSION == "21" || $JDK_REAL_VERSION == "22" || $JDK_REAL_VERSION == "23" || $JDK_REAL_VERSION == "24") { + when ($JDK_REAL_VERSION == "17" || $JDK_REAL_VERSION == "20" || $JDK_REAL_VERSION == "21" || $JDK_REAL_VERSION == "22" || $JDK_REAL_VERSION == "23" || $JDK_REAL_VERSION == "24" || $JDK_REAL_VERSION == "25") { JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS _JAVAC_SEM+= && javac-flags $ERROR_PRONE_JDK16PLUS_ADD_OPENS @@ -1382,8 +1382,10 @@ module _JAR_TEST: _COMPILABLE_JAR_BASE { JDK_REAL_VERSION= JDK_VERSION= HAS_PER_MODULE_JDK_VERSION=no - -when ($JDK_VERSION == "24") { +when ($JDK_VERSION == "25") { + JDK_REAL_VERSION=25 +} +elsewhen ($JDK_VERSION == "24") { JDK_REAL_VERSION=24 } elsewhen ($JDK_VERSION == "23") { @@ -1416,6 +1418,9 @@ when ($USE_SYSTEM_JDK) { JDK_RESOURCE_PEERDIR= } otherwise { + when ($JDK_REAL_VERSION == "25") { + JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk25 + } when ($JDK_REAL_VERSION == "24") { JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk24 } @@ -1440,6 +1445,9 @@ otherwise { } # tag:java-specific +when ($JDK_REAL_VERSION == "25") { + UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar25 +} when ($JDK_REAL_VERSION == "24") { UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar24 } @@ -1469,6 +1477,9 @@ when ($USE_SYSTEM_JDK) { JDK_RESOURCE=$USE_SYSTEM_JDK } otherwise { + when ($JDK_REAL_VERSION == "25") { + JDK_RESOURCE=$JDK25_RESOURCE_GLOBAL + } when ($JDK_REAL_VERSION == "24") { JDK_RESOURCE=$JDK24_RESOURCE_GLOBAL } @@ -1532,6 +1543,13 @@ when (!$USE_SYSTEM_ERROR_PRONE) { JAVAC_FLAGS_VALUE+=$ERROR_PRONE_2_3_7_FORCED_OPTS JAVAC_OPTS+=$ERROR_PRONE_2_3_7_FORCED_OPTS } + elsewhen ($JDK_REAL_VERSION == "25") { + ERROR_PRONE_VERSION=2.41.0 + ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.41.0 + ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_41_0_RESOURCE_GLOBAL + JAVAC_FLAGS_VALUE+=$ERROR_PRONE_2_3_7_FORCED_OPTS + JAVAC_OPTS+=$ERROR_PRONE_2_3_7_FORCED_OPTS + } otherwise { ERROR_PRONE_VERSION=2.7.1 ERROR_PRONE_PEERDIR=build/platform/java/error_prone @@ -1549,6 +1567,9 @@ when ($USE_SYSTEM_UBERJAR) { UBERJAR_RESOURCE=$USE_SYSTEM_UBERJAR } otherwise { + when ($JDK_REAL_VERSION == "25") { + UBERJAR_RESOURCE=$UBERJAR25_RESOURCE_GLOBAL + } when ($JDK_REAL_VERSION == "24") { UBERJAR_RESOURCE=$UBERJAR24_RESOURCE_GLOBAL } @@ -1573,6 +1594,9 @@ otherwise { } # tag:java-specific +when ($JDK_REAL_VERSION == "25") { + WITH_JDK_RESOURCE=$WITH_JDK25_RESOURCE_GLOBAL +} when ($JDK_REAL_VERSION == "24") { WITH_JDK_RESOURCE=$WITH_JDK24_RESOURCE_GLOBAL } @@ -2240,10 +2264,10 @@ KOTLIN_JVM_TARGET= when ($JDK_REAL_VERSION == "8") { KOTLIN_JVM_TARGET=1.8 } -elsewhen ($JDK_REAL_VERSION == "24") { +elsewhen ($JDK_REAL_VERSION == "25") { # remove when kotlin starts supporting jdk24 bytecode # see also devtools/ya/jbuild/gen/actions/idea.py - KOTLIN_JVM_TARGET=23 + KOTLIN_JVM_TARGET=24 } otherwise { KOTLIN_JVM_TARGET=$JDK_REAL_VERSION diff --git a/build/mapping.conf.json b/build/mapping.conf.json index 15065b10f41..2e5fe788ba0 100644 --- a/build/mapping.conf.json +++ b/build/mapping.conf.json @@ -1350,6 +1350,7 @@ "9470950396": "{registry_endpoint}/9470950396", "9470953132": "{registry_endpoint}/9470953132", "9472685101": "{registry_endpoint}/9472685101", + "9827500942": "{registry_endpoint}/9827500942", "5776379446": "{registry_endpoint}/5776379446", "5777100597": "{registry_endpoint}/5777100597", "5909067709": "{registry_endpoint}/5909067709", @@ -1370,6 +1371,7 @@ "9470950188": "{registry_endpoint}/9470950188", "9470952731": "{registry_endpoint}/9470952731", "9472684959": "{registry_endpoint}/9472684959", + "9827500162": "{registry_endpoint}/9827500162", "5776375952": "{registry_endpoint}/5776375952", "5777098178": "{registry_endpoint}/5777098178", "5909065014": "{registry_endpoint}/5909065014", @@ -1390,6 +1392,7 @@ "9470949425": "{registry_endpoint}/9470949425", "9470951956": "{registry_endpoint}/9470951956", "9472684577": "{registry_endpoint}/9472684577", + "9827498529": "{registry_endpoint}/9827498529", "5776374505": "{registry_endpoint}/5776374505", "5777096988": "{registry_endpoint}/5777096988", "5909063641": "{registry_endpoint}/5909063641", @@ -1410,6 +1413,7 @@ "9470949154": "{registry_endpoint}/9470949154", "9470951154": "{registry_endpoint}/9470951154", "9472684317": "{registry_endpoint}/9472684317", + "9827497712": "{registry_endpoint}/9827497712", "5776377955": "{registry_endpoint}/5776377955", "5777099502": "{registry_endpoint}/5777099502", "5909066324": "{registry_endpoint}/5909066324", @@ -1430,6 +1434,7 @@ "9470949936": "{registry_endpoint}/9470949936", "9470952456": "{registry_endpoint}/9470952456", "9472684750": "{registry_endpoint}/9472684750", + "9827499366": "{registry_endpoint}/9827499366", "7805449449": "{registry_endpoint}/7805449449", "6391354461": "{registry_endpoint}/6391354461", "7805449010": "{registry_endpoint}/7805449010", @@ -3033,6 +3038,7 @@ "9470950396": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz", "9470953132": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz", "9472685101": "none-none-none-result_resources/jdk-darwin-aarch64.yandex.tgz", + "9827500942": "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", @@ -3053,6 +3059,7 @@ "9470950188": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz", "9470952731": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz", "9472684959": "none-none-none-result_resources/jdk-darwin-x86_64.yandex.tgz", + "9827500162": "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", @@ -3073,6 +3080,7 @@ "9470949425": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz", "9470951956": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz", "9472684577": "none-none-none-result_resources/jdk-linux-aarch64.yandex.tgz", + "9827498529": "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", @@ -3093,6 +3101,7 @@ "9470949154": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz", "9470951154": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz", "9472684317": "none-none-none-result_resources/jdk-linux-x86_64.yandex.tgz", + "9827497712": "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", @@ -3113,6 +3122,7 @@ "9470949936": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz", "9470952456": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz", "9472684750": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz", + "9827499366": "none-none-none-result_resources/jdk-windows-amd64.yandex.tgz", "7805449449": "none-none-none-result_resources/protoc-linux-aarch_64.tgz", "6391354461": "none-none-none-result_resources/protoc-linux-x86_64.tgz", "7805449010": "none-none-none-result_resources/protoc-linux-x86_64.tgz", diff --git a/build/platform/java/jdk/jdk25/jdk.json b/build/platform/java/jdk/jdk25/jdk.json new file mode 100644 index 00000000000..c9616e93c69 --- /dev/null +++ b/build/platform/java/jdk/jdk25/jdk.json @@ -0,0 +1,19 @@ +{ + "by_platform": { + "darwin-arm64": { + "uri": "sbr:9827500942" + }, + "darwin-x86_64": { + "uri": "sbr:9827500162" + }, + "linux-x86_64": { + "uri": "sbr:9827497712" + }, + "linux-aarch64": { + "uri": "sbr:9827498529" + }, + "win32-x86_64": { + "uri": "sbr:9827499366" + } + } +} diff --git a/build/platform/java/jdk/jdk25/ya.make b/build/platform/java/jdk/jdk25/ya.make new file mode 100644 index 00000000000..f39cf86ebec --- /dev/null +++ b/build/platform/java/jdk/jdk25/ya.make @@ -0,0 +1,17 @@ +RESOURCES_LIBRARY() + +DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK25 jdk.json) +SET_RESOURCE_URI_FROM_JSON(WITH_JDK25_URI jdk.json) + +IF (WITH_JDK25_URI) + DECLARE_EXTERNAL_RESOURCE(WITH_JDK25 ${WITH_JDK25_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 474ffa26a08..93bdc0a9738 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 == "25") + DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(JDK_DEFAULT jdk25/jdk.json) + SET_RESOURCE_URI_FROM_JSON(WITH_JDK_URI jdk25/jdk.json) 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) @@ -42,6 +45,7 @@ RECURSE( jdk22 jdk23 jdk24 + jdk25 testing ) diff --git a/build/plugins/java.py b/build/plugins/java.py index 85d55d6de8b..0b85969a90e 100644 --- a/build/plugins/java.py +++ b/build/plugins/java.py @@ -72,6 +72,7 @@ def onjava_module(unit, *args): '22', '23', '24', + '25', ): data['ENABLE_PREVIEW'] = extract_macro_calls(unit, 'ENABLE_PREVIEW_VALUE', args_delim) @@ -303,6 +304,7 @@ def on_jdk_version_macro_check(unit, *args): '22', '23', '24', + '25', ) if jdk_version not in available_versions: ymake.report_configure_error( |