You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2005/05/21 18:28:53 UTC
svn commit: r171228 - in
/maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype:
DefaultArchetype.java descriptor/ArchetypeDescriptor.java
descriptor/ArchetypeDescriptorBuilder.java
Author: jvanzyl
Date: Sat May 21 09:28:52 2005
New Revision: 171228
URL: http://svn.apache.org/viewcvs?rev=171228&view=rev
Log:
o deal specifically with site resources as the site is definitely
a first class citizen.
Modified:
maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java
maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptor.java
maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptorBuilder.java
Modified: maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java?rev=171228&r1=171227&r2=171228&view=diff
==============================================================================
--- maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java (original)
+++ maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java Sat May 21 09:28:52 2005
@@ -65,16 +65,23 @@
// artifactId = maven-foo-archetype
// version = latest
- public void createArchetype( String archetypeGroupId, String archetypeArtifactId, String archetypeVersion,
- ArtifactRepository localRepository, List remoteRepositories, Map parameters )
+ public void createArchetype( String archetypeGroupId,
+ String archetypeArtifactId,
+ String archetypeVersion,
+ ArtifactRepository localRepository,
+ List remoteRepositories,
+ Map parameters )
throws ArchetypeNotFoundException, ArchetypeDescriptorException, ArchetypeTemplateProcessingException
{
// ----------------------------------------------------------------------
// Download the archetype
// ----------------------------------------------------------------------
- Artifact archetypeArtifact = artifactFactory.createArtifact( archetypeGroupId, archetypeArtifactId,
- archetypeVersion, Artifact.SCOPE_RUNTIME, "jar" );
+ Artifact archetypeArtifact = artifactFactory.createArtifact( archetypeGroupId,
+ archetypeArtifactId,
+ archetypeVersion,
+ Artifact.SCOPE_RUNTIME,
+ "jar" );
try
{
@@ -93,8 +100,6 @@
String packageName = (String) parameters.get( "package" );
- createProjectDirectoryStructure( outputDirectory );
-
ArchetypeDescriptorBuilder builder = new ArchetypeDescriptorBuilder();
ArchetypeDescriptor descriptor = null;
@@ -114,7 +119,7 @@
if ( is == null )
{
throw new ArchetypeDescriptorException( "The " + ARCHETYPE_DESCRIPTOR +
- " descriptor cannot be found." );
+ " descriptor cannot be found." );
}
descriptor = (ArchetypeDescriptor) builder.build( new InputStreamReader( is ) );
@@ -153,13 +158,51 @@
{
processTemplate( outputDirectory, context, ARCHETYPE_POM, false, null );
- processSources( outputDirectory, context, descriptor.getSources(), packageName );
+ // ----------------------------------------------------------------------
+ // Main
+ // ----------------------------------------------------------------------
+
+ if ( descriptor.getSources().size() > 0 )
+ {
+ FileUtils.mkdir( outputDirectory + "/src/main/java" );
+
+ processSources( outputDirectory, context, descriptor.getSources(), packageName );
+ }
+
+ if ( descriptor.getResources().size() > 0 )
+ {
+ FileUtils.mkdir( outputDirectory + "/src/main/resources" );
+
+ processResources( outputDirectory, context, descriptor.getResources(), packageName );
+ }
- processResources( outputDirectory, context, descriptor.getResources(), packageName );
+ // ----------------------------------------------------------------------
+ // Test
+ // ----------------------------------------------------------------------
- processSources( outputDirectory, context, descriptor.getTestSources(), packageName );
+ if ( descriptor.getTestSources().size() > 0 )
+ {
+ FileUtils.mkdir( outputDirectory + "/src/test/java" );
+
+ processSources( outputDirectory, context, descriptor.getTestSources(), packageName );
+ }
+
+ if ( descriptor.getTestResources().size() > 0 )
+ {
+ FileUtils.mkdir( outputDirectory + "/src/test/resources" );
+
+ processResources( outputDirectory, context, descriptor.getTestResources(), packageName );
+ }
+
+ // ----------------------------------------------------------------------
+ // Site
+ // ----------------------------------------------------------------------
+
+ if ( descriptor.getSiteResources().size() > 0 )
+ {
+ processResources( outputDirectory, context, descriptor.getSiteResources(), packageName );
+ }
- processResources( outputDirectory, context, descriptor.getTestResources(), packageName );
}
catch ( Exception e )
{
@@ -197,7 +240,10 @@
}
}
- protected void processTemplate( String outputDirectory, Context context, String template, boolean packageInFileName,
+ protected void processTemplate( String outputDirectory,
+ Context context,
+ String template,
+ boolean packageInFileName,
String packageName )
throws Exception
{
@@ -240,13 +286,6 @@
protected void createProjectDirectoryStructure( String outputDirectory )
{
- FileUtils.mkdir( outputDirectory + "/src/main/java" );
-
- FileUtils.mkdir( outputDirectory + "/src/main/resources" );
-
- FileUtils.mkdir( outputDirectory + "/src/test/java" );
-
- FileUtils.mkdir( outputDirectory + "/src/test/resources" );
}
private InputStream getStream( String name, ClassLoader loader )
Modified: maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptor.java?rev=171228&r1=171227&r2=171228&view=diff
==============================================================================
--- maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptor.java (original)
+++ maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptor.java Sat May 21 09:28:52 2005
@@ -31,6 +31,8 @@
private List testResources;
+ private List siteResources;
+
public ArchetypeDescriptor()
{
sources = new ArrayList();
@@ -40,6 +42,8 @@
testSources = new ArrayList();
testResources = new ArrayList();
+
+ siteResources = new ArrayList();
}
// ----------------------------------------------------------------------
@@ -94,6 +98,16 @@
public List getTestResources()
{
return testResources;
+ }
+
+ public void addSiteResource( String siteResource )
+ {
+ siteResources.add( siteResource );
+ }
+
+ public List getSiteResources()
+ {
+ return siteResources;
}
}
Modified: maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptorBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptorBuilder.java?rev=171228&r1=171227&r2=171228&view=diff
==============================================================================
--- maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptorBuilder.java (original)
+++ maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/descriptor/ArchetypeDescriptorBuilder.java Sat May 21 09:28:52 2005
@@ -36,6 +36,10 @@
descriptor.setId( dom.getChild( "id" ).getValue() );
+ // ----------------------------------------------------------------------
+ // Main
+ // ----------------------------------------------------------------------
+
Xpp3Dom sources = dom.getChild( "sources" );
if ( sources != null )
@@ -60,6 +64,10 @@
}
}
+ // ----------------------------------------------------------------------
+ // Test
+ // ----------------------------------------------------------------------
+
Xpp3Dom testSources = dom.getChild( "testSources" );
if ( testSources != null )
@@ -81,6 +89,22 @@
for ( int i = 0; i < testResourceList.length; i++ )
{
descriptor.addTestResource( testResourceList[i].getValue() );
+ }
+ }
+
+ // ----------------------------------------------------------------------
+ // Site
+ // ----------------------------------------------------------------------
+
+ Xpp3Dom siteResources = dom.getChild( "siteResources" );
+
+ if ( siteResources != null )
+ {
+ Xpp3Dom[] siteResourceList = siteResources.getChildren( "resource" );
+
+ for ( int i = 0; i < siteResourceList.length; i++ )
+ {
+ descriptor.addSiteResource( siteResourceList[i].getValue() );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org