You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ra...@apache.org on 2008/09/05 22:30:39 UTC

svn commit: r692533 - in /maven/archetype/trunk/archetype-common/src: main/java/org/apache/maven/archetype/generator/ test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/ test/archetypes/fileset-1.0...

Author: rafale
Date: Fri Sep  5 13:30:38 2008
New Revision: 692533

URL: http://svn.apache.org/viewvc?rev=692533&view=rev
Log:
Fix for archetype-191

Added:
    maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/
    maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/
    maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/
    maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/
    maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/Some__rootArtifactId__Class__artifactId__.java
Modified:
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
    maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java?rev=692533&r1=692532&r2=692533&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java Fri Sep  5 13:30:38 2008
@@ -322,7 +322,8 @@
         File outputDirectoryFile,
         ZipFile archetypeZipFile,
         String moduleOffset,
-        boolean failIfExists
+        boolean failIfExists,
+        Context context
     )
         throws
         OutputFileExists,
@@ -336,7 +337,7 @@
             String template = (String) iterator.next();
             File outputFile = getOutputFile( 
                     template, directory, outputDirectoryFile, 
-                    packaged, packageName, moduleOffset);
+                    packaged, packageName, moduleOffset, context);
 
             copyFile( outputFile, template, failIfExists, archetypeZipFile );
         }
@@ -355,12 +356,22 @@
         return ( StringUtils.isEmpty( moduleOffset ) ? "/" : ( "/" + moduleOffset + "/" ) );
     }
 
-    private File getOutputFile( String template, String directory, File outputDirectoryFile, boolean packaged, String packageName, String moduleOffset )
+    private File getOutputFile( 
+        String template, 
+        String directory, 
+        File outputDirectoryFile, 
+        boolean packaged, 
+        String packageName, 
+        String moduleOffset,
+        Context context )
     {
         String templateName = StringUtils.replaceOnce( template, directory, "" );
-        File outputFile = new File( outputDirectoryFile, directory + "/" + 
+        String outputFileName = directory + "/" + 
                 (packaged ? getPackageAsDirectory(packageName) : "") + 
-                "/" + templateName.substring(moduleOffset.length()));
+                "/" + templateName.substring(moduleOffset.length() );
+        outputFileName = StringUtils.replace(outputFileName, "__rootArtifactId__", (String)context.get("rootArtifactId"));
+        outputFileName = StringUtils.replace(outputFileName, "__artifactId__", (String)context.get("artifactId"));
+        File outputFile = new File(outputDirectoryFile, outputFileName);
 
         return outputFile;
     }
@@ -493,7 +504,7 @@
             String templateName = StringUtils.replaceOnce( template, directory, "" );
             File outputFile = getOutputFile( 
                     template, directory, outputDirectoryFile, 
-                    packaged, packageName, moduleOffset);
+                    packaged, packageName, moduleOffset, context);
 
             processTemplate(outputFile,
                 context,
@@ -817,7 +828,7 @@
             //Fix for ARCHETYPE-57
             getOutputFile(
                 moduleOffset, fileSet.getDirectory(), outputDirectoryFile,
-                fileSet.isPackaged(), packageName, moduleOffset ).mkdirs();
+                fileSet.isPackaged(), packageName, moduleOffset, context ).mkdirs();
 
 
             if ( fileSet.isFiltered() )
@@ -850,7 +861,8 @@
                     outputDirectoryFile,
                     archetypeZipFile,
                     moduleOffset,
-                    failIfExists
+                    failIfExists,
+                    context
                 );
                 getLogger().debug( "Copied " + fileSetResources.size() + " files" );
             }

Added: maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/Some__rootArtifactId__Class__artifactId__.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/Some__rootArtifactId__Class__artifactId__.java?rev=692533&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/Some__rootArtifactId__Class__artifactId__.java (added)
+++ maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/Some__rootArtifactId__Class__artifactId__.java Fri Sep  5 13:30:38 2008
@@ -0,0 +1,14 @@
+groupId=${groupId}
+rootArtifactId=${rootArtifactId}
+artifactId=${artifactId}
+version=${version}
+package=${package}
+packageInPathFormat=${packageInPathFormat}
+property-without-default-1=${property-without-default-1}
+property-without-default-2=${property-without-default-2}
+property-without-default-3=${property-without-default-3}
+property-without-default-4=${property-without-default-4}
+property-with-default-1=${property-with-default-1}
+property-with-default-2=${property-with-default-2}
+property-with-default-3=${property-with-default-3}
+property-with-default-4=${property-with-default-4}
\ No newline at end of file

Modified: maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java?rev=692533&r1=692532&r2=692533&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java (original)
+++ maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java Fri Sep  5 13:30:38 2008
@@ -714,6 +714,14 @@
             "subsubproject"
         );
 
+        template = "subproject/subsubproject/src/main/java/file/value/package/" +
+                "file-value/inner/subsubproject/innest/Somefile-valueClasssubsubproject.java";
+        assertTemplateContentGeneratedWithFileSetArchetype(
+            projectDirectory,
+            template,
+            "subsubproject"
+        );
+
         model =
             readPom(
                 getProjectFile(