[jdk] Add Homebrew OpenJDK variant

#IDEA-327641

GitOrigin-RevId: eca9f777c82cbbb745fca267e50dd94f6fc82021
This commit is contained in:
Louis Vignier
2024-06-28 14:24:22 +02:00
committed by intellij-monorepo-bot
parent 6b4c137296
commit e5e01dbdae
4 changed files with 17 additions and 0 deletions

View File

@@ -324,6 +324,7 @@ e:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:Corretto:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:GraalVM:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:GraalVMCE:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:Homebrew:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:IBM:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:JBR:org.jetbrains.jps.model.java.JdkVersionDetector$Variant
- sf:Liberica:org.jetbrains.jps.model.java.JdkVersionDetector$Variant

View File

@@ -40,6 +40,7 @@ public abstract class JdkVersionDetector {
Oracle(null, "Oracle OpenJDK"),
SapMachine("sap", "SAP SapMachine"),
Zulu("zulu", "Azul Zulu"),
Homebrew("homebrew", "Homebrew OpenJDK"),
Unknown(null, null);
public final @Nullable String prefix;

View File

@@ -162,6 +162,7 @@ public class JdkVersionDetectorImpl extends JdkVersionDetector {
if (implementorVersion.startsWith("JBR-")) return Variant.JBR;
if (implementorVersion.startsWith("SapMachine")) return Variant.SapMachine;
if (implementorVersion.startsWith("Zulu")) return Variant.Zulu;
if (implementorVersion.startsWith("Homebrew")) return Variant.Homebrew;
}
String implementor = unquoteProperty(p, "IMPLEMENTOR");

View File

@@ -308,6 +308,19 @@ class JdkVariantDetectorTest {
|IMAGE_TYPE="JDK"
""".trimMargin()
private val RELEASE_HOMEBREW_OPENJDK_17_0_11 =
"""|IMPLEMENTOR="Homebrew"
|IMPLEMENTOR_VERSION="Homebrew"
|JAVA_RUNTIME_VERSION="17.0.11+0"
|JAVA_VERSION="17.0.11"
|JAVA_VERSION_DATE="2024-04-16"
|LIBC="default"
|MODULES="java.base ..."
|OS_ARCH="aarch64"
|OS_NAME="Darwin"
|SOURCE=""
""".trimMargin()
@Rule @JvmField val tempDir = TempDirectory()
@Test fun `Oracle OpenJDK 8`() = assertVariant(Unknown, RELEASE_ORACLE_OPEN_1_8_0_41, MANIFEST_ORACLE_OPEN_1_8_0_41) // no vendor info
@@ -329,6 +342,7 @@ class JdkVariantDetectorTest {
@Test fun `GraalVM CE 16`() = assertVariant(GraalVMCE, RELEASE_GRAALVM_CE_16_0_1)
@Test fun `Semeru 16`() = assertVariant(Semeru, RELEASE_SEMERU_16_0_2)
@Test fun `Temurin 17`() = assertVariant(Temurin, RELEASE_TEMURIN_17_0_1)
@Test fun `Homebrew 17`() = assertVariant(Homebrew, RELEASE_HOMEBREW_OPENJDK_17_0_11)
@Test fun `GraalVM 21 - version string`() = assertEquals(
"GraalVM CE 17.0.7 - VM 23.0.0",