From 3a571fefba19c606ca5ffabbaad2b95d7b7bf4d9 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 19 Apr 2024 17:57:00 +0200 Subject: [PATCH] [java] uniform formatting of GraalVM JDK version string (IDEA-348070) JRE version should go first, because various parsers don't expect a VM version at the beginning of the string GitOrigin-RevId: e09e269841ffe71792f30c05b18b47e3aa76737b --- .../org/jetbrains/jps/model/java/JdkVersionDetector.java | 6 +++--- .../org/jetbrains/jps/model/JdkVariantDetectorTest.kt | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/jps/model-api/src/org/jetbrains/jps/model/java/JdkVersionDetector.java b/jps/model-api/src/org/jetbrains/jps/model/java/JdkVersionDetector.java index 02dc645603cf..7615d93eb7de 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/java/JdkVersionDetector.java +++ b/jps/model-api/src/org/jetbrains/jps/model/java/JdkVersionDetector.java @@ -1,4 +1,4 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.jps.model.java; import com.intellij.openapi.util.NlsSafe; @@ -69,10 +69,10 @@ public abstract class JdkVersionDetector { } public @NotNull @NlsSafe String displayVersionString() { - String s = ""; + var s = ""; if (variant.displayName != null) s += variant.displayName + ' '; - if (graalVersion != null) s += graalVersion + " - Java "; s += version; + if (graalVersion != null) s += " - VM " + graalVersion; if (arch == CpuArch.ARM64) s += " - aarch64"; return s; } diff --git a/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt b/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt index 9903fa911be3..c56f270144f6 100644 --- a/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt +++ b/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt @@ -1,7 +1,9 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.jps.model import com.intellij.testFramework.rules.TempDirectory +import com.intellij.util.lang.JavaVersion +import com.intellij.util.system.CpuArch import org.jetbrains.jps.model.java.JdkVersionDetector import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.* import org.junit.Assert.assertEquals @@ -328,6 +330,10 @@ class JdkVariantDetectorTest { @Test fun `Semeru 16`() = assertVariant(Semeru, RELEASE_SEMERU_16_0_2) @Test fun `Temurin 17`() = assertVariant(Temurin, RELEASE_TEMURIN_17_0_1) + @Test fun `GraalVM 21 - version string`() = assertEquals( + "GraalVM CE 17.0.7 - VM 23.0.0", + JdkVersionDetector.JdkVersionInfo(JavaVersion.parse("17.0.7"), GraalVMCE, CpuArch.X86_64, "23.0.0").displayVersionString()) + private fun assertVariant(expectedVariant: JdkVersionDetector.Variant, releaseText: String, manifestText: String = "") { tempDir.newFile("release", releaseText.toByteArray())