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 a9c2c76a887e..63931b7f209d 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 @@ -109,14 +109,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("!")) { @@ -130,7 +130,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("!")) { @@ -144,7 +144,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 7944e2550369..dfda07c85573 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 @@ -141,4 +141,18 @@ public void testAllOsConditions() { assertActivation(false, profile, newContext(null, newProperties("windows", "99", "amd64"))); assertActivation(true, profile, newContext(null, newProperties("windows", "99", "aarch64"))); } + + public void testCapitalOsName() { + ActivationOS os = new ActivationOS(); + os.setFamily("Mac"); + os.setName("Mac OS X"); + os.setArch("aarch64"); + os.setVersion("14.5"); + Profile profile = newProfile(os); + + 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"))); + } }