This is an automated email from the ASF dual-hosted git repository. gnodet 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 f2a0865c7a [MNG-8178] Fall back to system properties for missing profile activation context properties (#1609) f2a0865c7a is described below commit f2a0865c7a66d44e13c88c9ef9146cfdf7024ac0 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Thu Jul 11 07:24:58 2024 +0200 [MNG-8178] Fall back to system properties for missing profile activation context properties (#1609) A call to context.getSystemProperties() may yield an empty map, or one missing the desired key, which makes a subsequent call of toLowerCase fail with a NullPointerException. Fall-back to using system properties with the Os.OS_NAME and similar values instead. --------- Co-authored-by: Christian Kohlschütter <christ...@kohlschutter.com> --- .../profile/activation/OperatingSystemProfileActivator.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 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 2553735cb4..e9d08aaf92 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 @@ -57,9 +57,15 @@ public class OperatingSystemProfileActivator implements ProfileActivator { boolean active = ensureAtLeastOneNonNull(os); - String actualOsName = context.getSystemProperties().get("os.name").toLowerCase(Locale.ENGLISH); - String actualOsArch = context.getSystemProperties().get("os.arch").toLowerCase(Locale.ENGLISH); - String actualOsVersion = context.getSystemProperties().get("os.version").toLowerCase(Locale.ENGLISH); + String actualOsName = context.getSystemProperties() + .getOrDefault("os.name", Os.OS_NAME) + .toLowerCase(Locale.ENGLISH); + String actualOsArch = context.getSystemProperties() + .getOrDefault("os.arch", Os.OS_ARCH) + .toLowerCase(Locale.ENGLISH); + String actualOsVersion = context.getSystemProperties() + .getOrDefault("os.version", Os.OS_VERSION) + .toLowerCase(Locale.ENGLISH); if (active && os.getFamily() != null) { active = determineFamilyMatch(os.getFamily(), actualOsName);