Author: rafale
Date: Wed Jun 11 11:53:25 2008
New Revision: 666784

URL: http://svn.apache.org/viewvc?rev=666784&view=rev
Log:
Fix for archetype-170
Better handing of dot files.

Modified:
    
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
    
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
    
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/test/RoundtripMultiModuleTest.java

Modified: 
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
URL: 
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java?rev=666784&r1=666783&r2=666784&view=diff
==============================================================================
--- 
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
 (original)
+++ 
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
 Wed Jun 11 11:53:25 2008
@@ -69,12 +69,6 @@
         return result;
     }
 
-//    public List filterFiles( FileSet fileSet,
-//                             List archetypeResources )
-//    {
-//        return filterFiles( "", fileSet, archetypeResources );
-//    }
-
     public List filterFiles( String moduleOffset,
                              FileSet fileSet,
                              List archetypeResources )

Modified: 
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
URL: 
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java?rev=666784&r1=666783&r2=666784&view=diff
==============================================================================
--- 
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
 (original)
+++ 
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
 Wed Jun 11 11:53:25 2008
@@ -1694,7 +1694,7 @@
 
         excludes = PathUtils.convertPathForOS( excludes );
 
-        List fileNames = FileUtils.getFileNames( basedir, "**", excludes, 
false );
+        List fileNames = FileUtils.getFileNames( basedir, "**,.*,**/.*", 
excludes, false );
 
         getLogger().debug( "Resolved " + fileNames.size() + " files" );
         getLogger().debug( "Resolved Files:" + fileNames );

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=666784&r1=666783&r2=666784&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
 Wed Jun 11 11:53:25 2008
@@ -308,25 +308,12 @@
         while ( iterator.hasNext() )
         {
             String template = (String) iterator.next();
+            File outputFile = getOutputFile( 
+                    template, directory, outputDirectoryFile, 
+                    packaged, packageName, moduleOffset);
 
-            String templateName = StringUtils.replaceOnce( template, directory 
+ "/", "" );
-
-            if ( !StringUtils.isEmpty( moduleOffset ) )
-            {
-                templateName = StringUtils.replaceOnce( templateName, 
moduleOffset + "/", "" );
-            }
-            templateName = StringUtils.replace( templateName, File.separator, 
"/" );
-
-            File outFile =
-                new File(
-                    outputDirectoryFile, /*(StringUtils.isEmpty
-                                          * 
(moduleOffset)?"":moduleOffset+"/")+*/
-                    directory + "/" + ( packaged ? getPackageAsDirectory( 
packageName ) : "" )
-                        + "/" + templateName
-                );
-
-            copyFile( outFile, template, failIfExists, archetypeZipFile );
-        } // end while
+            copyFile( outputFile, template, failIfExists, archetypeZipFile );
+        }
     }
 
     private String getEncoding( String archetypeEncoding )
@@ -342,6 +329,16 @@
         return ( StringUtils.isEmpty( moduleOffset ) ? "/" : ( "/" + 
moduleOffset + "/" ) );
     }
 
+    private File getOutputFile( String template, String directory, File 
outputDirectoryFile, boolean packaged, String packageName, String moduleOffset )
+    {
+        String templateName = StringUtils.replaceOnce( template, directory, "" 
);
+        File outputFile = new File( outputDirectoryFile, directory + "/" + 
+                (packaged ? getPackageAsDirectory(packageName) : "") + 
+                "/" + templateName.substring(moduleOffset.length()));
+
+        return outputFile;
+    }
+
     private String getPackageInPathFormat( String aPackage )
     {
         return StringUtils.replace( aPackage, ".", "/" );
@@ -468,20 +465,17 @@
             String template = (String) iterator.next();
 
             String templateName = StringUtils.replaceOnce( template, 
directory, "" );
+            File outputFile = getOutputFile( 
+                    template, directory, outputDirectoryFile, 
+                    packaged, packageName, moduleOffset);
 
-            processTemplate(
-                new File(
-                    outputDirectoryFile,
-                    directory + "/" + ( packaged ? getPackageAsDirectory( 
packageName ) : "" )
-                        + "/" + templateName.substring( moduleOffset.length() )
-                ),
+            processTemplate(outputFile,
                 context,
-                Constants.ARCHETYPE_RESOURCES + "/" /*+
-                                                     
*getOffsetSeparator(moduleOffset)*/ + template,
+                Constants.ARCHETYPE_RESOURCES + "/" + template,
                 archetypeEncoding,
                 failIfExists
             );
-        } // end while
+        }
     }
 
     private void processFilesetModule(

Modified: 
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleTest.java
URL: 
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleTest.java?rev=666784&r1=666783&r2=666784&view=diff
==============================================================================
--- 
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleTest.java
 (original)
+++ 
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleTest.java
 Wed Jun 11 11:53:25 2008
@@ -28,6 +28,7 @@
 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
 import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
 import org.apache.maven.archetype.common.ArchetypeRegistryManager;
+import org.apache.maven.archetype.common.Constants;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
@@ -58,7 +59,7 @@
 public class RoundtripMultiModuleTest
     extends PlexusTestCase
 {
-    private Jetty6xEmbeddedLocalContainer container;
+    private Jetty6xEmbeddedLocalContainer jettyContainer;
 
     public void testArchetyper()
         throws Exception
@@ -104,7 +105,10 @@
         MavenProject project = projectBuilder.build( pom, localRepository, 
null );
 
         ArchetypeCreationRequest acr = new 
ArchetypeCreationRequest().setProject( project ).
-            setLocalRepository( localRepository );
+            setLocalRepository( localRepository )
+            .setFiltereds(Constants.DEFAULT_FILTERED_EXTENSIONS)
+            .setLanguages(Constants.DEFAULT_LANGUAGES)
+            ;
 
         ArchetypeCreationResult creationResult = 
archetype.createArchetypeFromProject( acr );
 
@@ -192,6 +196,20 @@
         {
             fail( generationResult.getCause().getMessage() );
         }
+        
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-api", ".classpath").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-cli", ".classpath").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-core", ".classpath").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-model", ".classpath").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-stores" + File.separator + "myapp-store-memory", 
".classpath").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-stores" + File.separator + "myapp-store-xstream", 
".classpath").exists());
+
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-api", ".checkstyle").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-cli", ".checkstyle").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-core", ".checkstyle").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-model", ".checkstyle").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-stores" + File.separator + "myapp-store-memory", 
".checkstyle").exists());
+        assertTrue(new File(outputDirectory + File.separator + "myapp" + 
File.separator + "myapp-stores" + File.separator + "myapp-store-xstream", 
".checkstyle").exists());
 
     }
 
@@ -207,18 +225,18 @@
 
         System.setProperty( "org.apache.maven.archetype.reporitory.directory",
             getTestPath( "target/test-classes/repositories/central" ) );
-        container = new Jetty6xEmbeddedLocalContainer( configuration );
-        container.setTimeout( 180000L );
-        container.start();
+        jettyContainer = new Jetty6xEmbeddedLocalContainer( configuration );
+        jettyContainer.setTimeout( 180000L );
+        jettyContainer.start();
 
         DeployableFactory factory = new DefaultDeployableFactory();
-        WAR war = (WAR) factory.createDeployable( container.getId(),
+        WAR war = (WAR) factory.createDeployable( jettyContainer.getId(),
             "target/wars/archetype-repository.war",
             DeployableType.WAR );
 
         war.setContext( "/repo" );
 
-        Deployer deployer = new Jetty6xEmbeddedLocalDeployer( container );
+        Deployer deployer = new Jetty6xEmbeddedLocalDeployer( jettyContainer );
         deployer.deploy( war,
             new URLDeployableMonitor( new URL( 
"http://localhost:18881/repo/dummy"; ) ) );
         deployer.start( war );
@@ -231,7 +249,7 @@
         super.tearDown();
         //        Stop Cargo
 
-        container.stop();
+        jettyContainer.stop();
     }
 
     private void assertArchetypeCreated(File workingProject) {


Reply via email to