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/06/11 20:53:26 UTC
svn commit: r666784 - in /maven/archetype/trunk/archetype-common/src:
main/java/org/apache/maven/archetype/common/
main/java/org/apache/maven/archetype/creator/
main/java/org/apache/maven/archetype/generator/
test/java/org/apache/maven/archetype/test/
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) {