You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2010/04/11 23:17:00 UTC
svn commit: r932994 - in /maven/archetype/trunk/archetype-common/src:
main/java/org/apache/maven/archetype/creator/
main/resources/org/apache/maven/archetype/creator/
test/java/org/apache/maven/archetype/creator/
Author: hboutemy
Date: Sun Apr 11 21:16:58 2010
New Revision: 932994
URL: http://svn.apache.org/viewvc?rev=932994&view=rev
Log:
[ARCHETYPE-294] added a basic it in generated archetype
Added:
maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties (with props)
maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/goal.txt (with props)
Modified:
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
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=932994&r1=932993&r2=932994&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 Sun Apr 11 21:16:58 2010
@@ -227,6 +227,8 @@ public class FilesetArchetypeCreator
IOUtil.close( out );
}
+ createArchetypeBasicIt( archetypeDescriptor, generatedSourcesDirectory );
+
InvocationRequest internalRequest = new DefaultInvocationRequest();
internalRequest.setPomFile( archetypePomFile );
internalRequest.setGoals( Collections.singletonList( request.getPostPhase() ) );
@@ -240,6 +242,51 @@ public class FilesetArchetypeCreator
}
}
+ /**
+ * Create an archetype IT, ie goals.txt and archetype.properties in src/test/resources/projects/basic.
+ *
+ * @param archetypeDescriptor
+ * @param generatedSourcesDirectory
+ * @throws IOException
+ */
+ private void createArchetypeBasicIt( ArchetypeDescriptor archetypeDescriptor, File generatedSourcesDirectory )
+ throws IOException
+ {
+ String basic = Constants.SRC + File.separator + Constants.TEST + File.separator + Constants.RESOURCES
+ + File.separator + "projects" + File.separator + "basic";
+ File basicItDirectory = new File( generatedSourcesDirectory, basic );
+ basicItDirectory.mkdirs();
+
+ InputStream in = null;
+ OutputStream out = null;
+
+ try
+ {
+ in = FilesetArchetypeCreator.class.getResourceAsStream( "archetype.properties" );
+
+ Properties archetypeProperties = new Properties();
+ archetypeProperties.load( in );
+
+ for ( Iterator iter = archetypeDescriptor.getRequiredProperties().iterator(); iter.hasNext(); )
+ {
+ RequiredProperty req = (RequiredProperty) iter.next();
+
+ archetypeProperties.put( req.getKey(), req.getDefaultValue() );
+ }
+
+ out = new FileOutputStream( new File( basicItDirectory, "archetype.properties" ) );
+ archetypeProperties.store( out, null );
+ }
+ finally
+ {
+ IOUtil.close( in );
+ IOUtil.close( out );
+ }
+ copyResource( "goal.txt", new File( basicItDirectory, "goal.txt" ) );
+
+ getLogger().debug( "Added basic integration test" );
+ }
+
private void extractPropertiesFromProject( MavenProject project, Properties properties,
Properties configurationProperties, String packageName )
{
@@ -351,12 +398,24 @@ public class FilesetArchetypeCreator
archetypePomFile.getParentFile().mkdirs();
+ copyResource( "pom-prototype.xml", archetypePomFile );
+
+ pomManager.writePom( model, archetypePomFile, archetypePomFile );
+
+ return archetypePomFile;
+ }
+
+ private void copyResource( String name, File destination )
+ throws IOException
+ {
InputStream in = null;
OutputStream out = null;
+
try
{
- in = FilesetArchetypeCreator.class.getResourceAsStream( "pom-prototype.xml" );
- out = new FileOutputStream( archetypePomFile );
+ in = FilesetArchetypeCreator.class.getResourceAsStream( name );
+ out = new FileOutputStream( destination );
+
IOUtil.copy( in, out );
}
finally
@@ -364,10 +423,6 @@ public class FilesetArchetypeCreator
IOUtil.close( in );
IOUtil.close( out );
}
-
- pomManager.writePom( model, archetypePomFile, archetypePomFile );
-
- return archetypePomFile;
}
private void addRequiredProperties( ArchetypeDescriptor archetypeDescriptor, Properties properties )
Added: maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties?rev=932994&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties (added)
+++ maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties Sun Apr 11 21:16:58 2010
@@ -0,0 +1,3 @@
+groupId=archetype.it
+artifactId=basic
+version=0.1-SNAPSHOT
\ No newline at end of file
Propchange: maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/archetype.properties
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/goal.txt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/goal.txt?rev=932994&view=auto
==============================================================================
(empty)
Propchange: maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/goal.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archetype/trunk/archetype-common/src/main/resources/org/apache/maven/archetype/creator/goal.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java?rev=932994&r1=932993&r2=932994&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java (original)
+++ maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java Sun Apr 11 21:16:58 2010
@@ -85,11 +85,11 @@ public class DefaultArchetypeCreatorTest
{
Object result = builder.buildWithDependencies( projectFile, localRepository, null );
if ( result instanceof MavenProject )
- { // Using maven 2.0.x / x >= 7
+ { // Using Maven 2.0.x / x >= 7
mavenProject = (MavenProject) result;
}
else if ( result instanceof MavenProjectBuildingResult )
- { // Using maven 2.1
+ { // Using Maven 3
mavenProject = ( (MavenProjectBuildingResult) result ).getProject();
}
else
@@ -140,7 +140,7 @@ public class DefaultArchetypeCreatorTest
.setPartialArchetype( false )
.setPreserveCData( false )
.setKeepParent( false )
- .setPostPhase( "package" );
+ .setPostPhase( "verify" );
ArchetypeCreationResult result = new ArchetypeCreationResult();