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