parent
d4729f5389
commit
fd47b728c1
|
@ -569,18 +569,14 @@ public abstract class AbstractRunMojo extends AbstractDependencyFilterMojo {
|
||||||
*/
|
*/
|
||||||
static class SystemPropertyFormatter {
|
static class SystemPropertyFormatter {
|
||||||
|
|
||||||
private static final String NO_VALUE_FORMAT = "-D%s";
|
|
||||||
|
|
||||||
private static final String KEY_VALUE_FORMAT = NO_VALUE_FORMAT + "=%s";
|
|
||||||
|
|
||||||
public static String format(Object key, Object value) {
|
public static String format(Object key, Object value) {
|
||||||
if (key == null) {
|
if (key == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
if (value == null || String.valueOf(value).trim().isEmpty()) {
|
if (value == null || String.valueOf(value).isEmpty()) {
|
||||||
return String.format(NO_VALUE_FORMAT, key);
|
return String.format("-D%s", key);
|
||||||
}
|
}
|
||||||
return String.format(KEY_VALUE_FORMAT, key, value);
|
return String.format("-D%s=\"%s\"", key, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,8 @@ Dmytro Nosan
|
||||||
---
|
---
|
||||||
|
|
||||||
If the value is empty or not defined (i.e. <<<<MY_ENV/>>>>), the env variable is set
|
If the value is empty or not defined (i.e. <<<<MY_ENV/>>>>), the env variable is set
|
||||||
with an empty String as the value.
|
with an empty String as the value. Maven trims values specified in the pom so it is
|
||||||
|
not possible to specify a env variable who needs to start or end with a space.
|
||||||
|
|
||||||
Any String typed Maven variable can be passed as system properties. Any attempt to pass
|
Any String typed Maven variable can be passed as system properties. Any attempt to pass
|
||||||
any other Maven variable type (e.g. a <<<List>>> or a <<<URL>>> variable) will cause the
|
any other Maven variable type (e.g. a <<<List>>> or a <<<URL>>> variable) will cause the
|
||||||
|
|
|
@ -40,7 +40,9 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
If the value is empty or not defined (i.e. <<<<my-property/>>>>), the system property
|
If the value is empty or not defined (i.e. <<<<my-property/>>>>), the system property
|
||||||
is set with an empty String as the value.
|
is set with an empty String as the value. Maven trims values specified in the pom so it
|
||||||
|
is not possible to specify a System property who needs to start or end with a space via
|
||||||
|
this mechanism: consider using <<<jvmArguments>> instead.
|
||||||
|
|
||||||
Any String typed Maven variable can be passed as system properties. Any attempt to pass
|
Any String typed Maven variable can be passed as system properties. Any attempt to pass
|
||||||
any other Maven variable type (e.g. a <<<List>>> or a <<<URL>>> variable) will cause the
|
any other Maven variable type (e.g. a <<<List>>> or a <<<URL>>> variable) will cause the
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class SystemPropertyFormatterTests {
|
||||||
@Test
|
@Test
|
||||||
public void parseKeyWithValue() {
|
public void parseKeyWithValue() {
|
||||||
assertThat(SystemPropertyFormatter.format("key1", "value1"))
|
assertThat(SystemPropertyFormatter.format("key1", "value1"))
|
||||||
.isEqualTo("-Dkey1=value1");
|
.isEqualTo("-Dkey1=\"value1\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -48,4 +48,10 @@ public class SystemPropertyFormatterTests {
|
||||||
assertThat(SystemPropertyFormatter.format("key1", "")).isEqualTo("-Dkey1");
|
assertThat(SystemPropertyFormatter.format("key1", "")).isEqualTo("-Dkey1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void parseKeyWithOnlySpace() {
|
||||||
|
assertThat(SystemPropertyFormatter.format("key1", " "))
|
||||||
|
.isEqualTo("-Dkey1=\" \"");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue