Repository: maven-archetype Updated Branches: refs/heads/master ac7c4f0ab -> 940031591
added documentation about post-generation script: it's UTF-8 Project: http://git-wip-us.apache.org/repos/asf/maven-archetype/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-archetype/commit/94003159 Tree: http://git-wip-us.apache.org/repos/asf/maven-archetype/tree/94003159 Diff: http://git-wip-us.apache.org/repos/asf/maven-archetype/diff/94003159 Branch: refs/heads/master Commit: 9400315913b8382918968bdd153de8a38522d42b Parents: ac7c4f0 Author: Hervé Boutemy <hbout...@apache.org> Authored: Sat Jan 9 15:03:24 2016 +0100 Committer: Hervé Boutemy <hbout...@apache.org> Committed: Sat Jan 9 15:03:24 2016 +0100 ---------------------------------------------------------------------- .../archetype/common/ArchetypeArtifactManager.java | 11 ++++++++++- .../common/DefaultArchetypeArtifactManager.java | 2 +- .../maven/archetype/generator/ArchetypeGenerator.java | 2 +- .../generator/DefaultFilesetArchetypeGenerator.java | 14 +++++++------- .../META-INF/archetype-post-generate.groovy | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/94003159/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java ---------------------------------------------------------------------- diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java index 5fdaab1..b89d64b 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java @@ -81,7 +81,16 @@ public interface ArchetypeArtifactManager ArtifactRepository archetypeRepository, ArtifactRepository localRepository, List<ArtifactRepository> repos ); - String getPostGenerationScript( File archetypeFile ) throws UnknownArchetype; + /** + * Get the archetype file's post-generation script content, read as UTF-8 content. + * + * @param archetypeFile the archetype file + * @return the archetype file's post-generation script content or <code>null</code> if there is no script in the + * archetype + * @throws UnknownArchetype + */ + String getPostGenerationScript( File archetypeFile ) + throws UnknownArchetype; /** */ http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/94003159/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java ---------------------------------------------------------------------- diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java index 6c35f18..c91e3ad 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java @@ -577,7 +577,7 @@ public class DefaultArchetypeArtifactManager throw new IOException( "The " + descriptor + " descriptor cannot be read in " + zipFile.getName() + "." ); } - return ReaderFactory.newXmlReader( is ); + return ReaderFactory.newReader( is, ReaderFactory.UTF_8 ); } private ZipEntry searchEntry( ZipFile zipFile, String searchString ) http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/94003159/archetype-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java ---------------------------------------------------------------------- diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java index 05043d0..a7854e8 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java @@ -25,7 +25,7 @@ import org.apache.maven.archetype.ArchetypeGenerationRequest; import org.apache.maven.archetype.ArchetypeGenerationResult; /** - * Create a Maven project from an archetype. + * Generate a Maven project from an archetype. */ public interface ArchetypeGenerator { http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/94003159/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 154015f..11e7383 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 @@ -61,9 +61,9 @@ import java.io.OutputStreamWriter; import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; -import java.util.Enumeration; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.regex.Pattern; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -210,18 +210,18 @@ public class DefaultFilesetArchetypeGenerator String postGenerationScript = archetypeArtifactManager.getPostGenerationScript( archetypeFile ); if ( postGenerationScript != null ) { - getLogger().info( "Executing post-generation script" ); + getLogger().info( "Executing " + Constants.ARCHETYPE_POST_GENERATION_SCRIPT + + " post-generation script" ); + Binding binding = new Binding(); if ( request.getProperties() != null ) { - request.getProperties().putAll( System.getProperties() ); - Enumeration e = request.getProperties().propertyNames(); - while ( e.hasMoreElements() ) + + for ( Map.Entry<Object, Object> entry : request.getProperties().entrySet() ) { - String key = (String) e.nextElement(); - binding.setVariable( key, request.getProperties().getProperty( key ) ); + binding.setVariable( entry.getKey().toString(), entry.getValue() ); } } http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/94003159/archetype-common/src/test/archetypes/fileset_with_postscript-1.0/META-INF/archetype-post-generate.groovy ---------------------------------------------------------------------- diff --git a/archetype-common/src/test/archetypes/fileset_with_postscript-1.0/META-INF/archetype-post-generate.groovy b/archetype-common/src/test/archetypes/fileset_with_postscript-1.0/META-INF/archetype-post-generate.groovy index 7b01980..d60d13a 100644 --- a/archetype-common/src/test/archetypes/fileset_with_postscript-1.0/META-INF/archetype-post-generate.groovy +++ b/archetype-common/src/test/archetypes/fileset_with_postscript-1.0/META-INF/archetype-post-generate.groovy @@ -1,4 +1,4 @@ -println "Executing the post_create script..."; +println "Executing the archetype-post-generate.groovy script..."; def projectFolder = this.'user.dir' + this.'file.separator' + "target/test-classes/projects" + this.'file.separator' + "generate-13" + this.'file.separator' + "file-value" + this.'file.separator';