This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new 0456c7c629 Caplital OS name can not activate profile
0456c7c629 is described below

commit 0456c7c629d6fc872073268faeb77d2bde9a1b7d
Author: liutang123 <[email protected]>
AuthorDate: Sat Jun 1 23:56:00 2024 +0800

    Caplital OS name can not activate profile
---
 .../activation/OperatingSystemProfileActivator.java        |  8 ++++----
 .../activation/OperatingSystemProfileActivatorTest.java    | 14 ++++++++++++++
 2 files changed, 18 insertions(+), 4 deletions(-)

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 8afc691565..2553735cb4 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 @@ public class OperatingSystemProfileActivator implements 
ProfileActivator {
                 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 @@ public class OperatingSystemProfileActivator implements 
ProfileActivator {
     }
 
     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 @@ public class OperatingSystemProfileActivator implements 
ProfileActivator {
     }
 
     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 9fe3fb01dd..d2ab767d48 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 @@ class OperatingSystemProfileActivatorTest extends 
AbstractProfileActivatorTest<O
         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")));
+    }
 }

Reply via email to