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

davidb pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-slingstart-maven-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 31b80d6  SLING-8221 Feature model does not override from command line 
a property if set in pom.xml
31b80d6 is described below

commit 31b80d6520aac09038a55700954461164f619215
Author: David Bosschaert <[email protected]>
AuthorDate: Mon Jan 21 11:15:41 2019 +0000

    SLING-8221 Feature model does not override from command line a property if 
set in pom.xml
---
 .../sling/maven/slingstart/FeatureModelConverter.java  |  8 ++++++--
 .../maven/slingstart/FeatureModelConverterTest.java    | 18 ++++++++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/maven/slingstart/FeatureModelConverter.java 
b/src/main/java/org/apache/sling/maven/slingstart/FeatureModelConverter.java
index 3dba845..bbb2d19 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/FeatureModelConverter.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/FeatureModelConverter.java
@@ -137,14 +137,18 @@ public class FeatureModelConverter {
         s = replaceAll(s, "project.version", project.getVersion());
         s = replaceAll(s, "project.osgiVersion", 
getOSGiVersion(project.getVersion()));
 
+        s = replaceProperties(System.getProperties(), s);
+        s = replaceProperties(project.getProperties(), s);
 
-        Properties props = project.getProperties();
+        return s;
+    }
+
+    private static String replaceProperties(Properties props, String s) {
         if (props != null) {
             for (String key : props.stringPropertyNames()) {
                 s = replaceAll(s, key, props.getProperty(key));
             }
         }
-
         return s;
     }
 
diff --git 
a/src/test/java/org/apache/sling/maven/slingstart/FeatureModelConverterTest.java
 
b/src/test/java/org/apache/sling/maven/slingstart/FeatureModelConverterTest.java
index 850e16d..3184022 100644
--- 
a/src/test/java/org/apache/sling/maven/slingstart/FeatureModelConverterTest.java
+++ 
b/src/test/java/org/apache/sling/maven/slingstart/FeatureModelConverterTest.java
@@ -157,4 +157,22 @@ public class FeatureModelConverterTest {
                 
"xxx${project.groupId}yyy${project.artifactId}${project.osgiVersion}"));
         assertEquals("xxxbaryyy", FeatureModelConverter.replaceVars(mp, 
"xxx${foo}yyy"));
     }
+
+    @Test
+    public void testReplaceVarsFromSystemProperties() {
+        Properties storedProps = new Properties();
+        storedProps.putAll(System.getProperties());
+
+        try {
+            System.setProperty("blah", "hello");
+
+            MavenProject mp = Mockito.mock(MavenProject.class);
+            Mockito.when(mp.getVersion()).thenReturn("1");
+            assertEquals("hello hello ${blaaah}", 
FeatureModelConverter.replaceVars(mp,
+                    "${blah} ${blah} ${blaaah}"));
+        } finally {
+            // Restore the system properties
+            System.setProperties(storedProps);
+        }
+    }
 }

Reply via email to