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);
+ }
+ }
}