diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java b/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java index 8afc6915651b..2553735cb452 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java @@ -105,14 +105,14 @@ private boolean determineVersionMatch(String expectedVersion, String actualVersi reverse = true; test = test.substring(1); } - result = actualVersion.equals(test); + result = actualVersion.equalsIgnoreCase(test); } return reverse != result; } private boolean determineArchMatch(String expectedArch, String actualArch) { - String test = expectedArch; + String test = expectedArch.toLowerCase(Locale.ENGLISH); boolean reverse = false; if (test.startsWith("!")) { @@ -126,7 +126,7 @@ private boolean determineArchMatch(String expectedArch, String actualArch) { } private boolean determineNameMatch(String expectedName, String actualName) { - String test = expectedName; + String test = expectedName.toLowerCase(Locale.ENGLISH); boolean reverse = false; if (test.startsWith("!")) { @@ -140,7 +140,7 @@ private boolean determineNameMatch(String expectedName, String actualName) { } private boolean determineFamilyMatch(String family, String actualName) { - String test = family; + String test = family.toLowerCase(Locale.ENGLISH); boolean reverse = false; if (test.startsWith("!")) { diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivatorTest.java index 9fe3fb01ddec..d2ab767d4878 100644 --- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivatorTest.java +++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivatorTest.java @@ -135,4 +135,18 @@ void testAllOsConditions() { assertActivation(false, profile, newContext(null, newProperties("windows", "99", "amd64"))); assertActivation(true, profile, newContext(null, newProperties("windows", "99", "aarch64"))); } + + @Test + public void testCapitalOsName() { + Profile profile = newProfile(ActivationOS.newBuilder() + .family("Mac") + .name("Mac OS X") + .arch("aarch64") + .version("14.5")); + + assertActivation(false, profile, newContext(null, newProperties("linux", "6.5.0-1014-aws", "amd64"))); + assertActivation(false, profile, newContext(null, newProperties("windows", "1", "aarch64"))); + assertActivation(false, profile, newContext(null, newProperties("windows", "99", "amd64"))); + assertActivation(true, profile, newContext(null, newProperties("Mac OS X", "14.5", "aarch64"))); + } }