Do not change request content with extra properties. Avoid dirtying the request content with extra properties. Instead create a separate holder to keep track of the request properties and the system properties.
Project: http://git-wip-us.apache.org/repos/asf/maven-archetype/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-archetype/commit/d9566b03 Tree: http://git-wip-us.apache.org/repos/asf/maven-archetype/tree/d9566b03 Diff: http://git-wip-us.apache.org/repos/asf/maven-archetype/diff/d9566b03 Branch: refs/heads/master Commit: d9566b03a1027e374f2c6d4c6676bbcd008243f6 Parents: c034e1c Author: Petar Tahchiev <paranoia...@gmail.com> Authored: Mon Jan 11 00:30:07 2016 +0200 Committer: Petar Tahchiev <paranoia...@gmail.com> Committed: Mon Jan 11 00:30:07 2016 +0200 ---------------------------------------------------------------------- .../generator/DefaultFilesetArchetypeGenerator.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/d9566b03/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java ---------------------------------------------------------------------- diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java index 11e7383..0b28263 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java @@ -64,6 +64,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.regex.Pattern; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -215,14 +216,17 @@ public class DefaultFilesetArchetypeGenerator Binding binding = new Binding(); + final Properties archetypeGeneratorProperties = new Properties(); + archetypeGeneratorProperties.putAll( System.getProperties() ); + if ( request.getProperties() != null ) { - request.getProperties().putAll( System.getProperties() ); + archetypeGeneratorProperties.putAll( request.getProperties() ); + } - for ( Map.Entry<Object, Object> entry : request.getProperties().entrySet() ) - { - binding.setVariable( entry.getKey().toString(), entry.getValue() ); - } + for ( Map.Entry<Object, Object> entry : archetypeGeneratorProperties.entrySet() ) + { + binding.setVariable( entry.getKey().toString(), entry.getValue() ); } GroovyShell shell = new GroovyShell( binding );