Author: jvanzyl
Date: Thu Sep 27 15:33:56 2007
New Revision: 580177

URL: http://svn.apache.org/viewvc?rev=580177&view=rev
Log:
o add a standard registry source, as going out to the wiki should just be an 
option and a one time shot
o also for each archetype that is created on the local system, add it to the 
registry so that you can try what you just created

Modified:
    
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
    
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/RegistryArchetypeDataSource.java
    
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
    
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java

Modified: 
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java?rev=580177&r1=580176&r2=580177&view=diff
==============================================================================
--- 
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
 (original)
+++ 
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
 Thu Sep 27 15:33:56 2007
@@ -149,6 +149,8 @@
         IOException,
         XmlPullParserException
     {
+        System.out.println( "DEFAULT_REGISTRY = " + DEFAULT_REGISTRY );
+
         return readArchetypeRegistry( DEFAULT_REGISTRY );
     }
 

Modified: 
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/RegistryArchetypeDataSource.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/RegistryArchetypeDataSource.java?rev=580177&r1=580176&r2=580177&view=diff
==============================================================================
--- 
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/RegistryArchetypeDataSource.java
 (original)
+++ 
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/RegistryArchetypeDataSource.java
 Thu Sep 27 15:33:56 2007
@@ -2,10 +2,13 @@
 
 import org.apache.maven.archetype.common.ArchetypeRegistryManager;
 import org.apache.maven.archetype.registry.Archetype;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
+import java.io.IOException;
 
 /** @author Jason van Zyl */
 public class RegistryArchetypeDataSource
@@ -23,7 +26,18 @@
     {
         Map archetypes = new HashMap();
 
-        for ( Iterator i = 
archetypeRegistryManager.getDefaultArchetypeRegistry().getArchetypes().iterator();
 i.hasNext(); )
+        List list;
+
+        try
+        {
+            list = 
archetypeRegistryManager.readArchetypeRegistry().getArchetypes();
+        }
+        catch ( Exception e )
+        {
+            throw new ArchetypeDataSourceException( "Error reading 
~/.m2/archetype.xml" );
+        }
+
+        for ( Iterator i = list.iterator(); i.hasNext(); )
         {
             Archetype archetype = (Archetype) i.next();
 

Modified: 
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java?rev=580177&r1=580176&r2=580177&view=diff
==============================================================================
--- 
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
 (original)
+++ 
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
 Thu Sep 27 15:33:56 2007
@@ -19,16 +19,21 @@
 
 package org.apache.maven.archetype.mojos;
 
+import org.apache.maven.archetype.common.ArchetypePropertiesManager;
+import org.apache.maven.archetype.common.ArchetypeRegistryManager;
+import org.apache.maven.archetype.common.Constants;
+import org.apache.maven.archetype.creator.ArchetypeCreator;
+import org.apache.maven.archetype.registry.Archetype;
+import org.apache.maven.archetype.registry.ArchetypeRegistry;
+import org.apache.maven.archetype.ui.ArchetypeCreationConfigurator;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.archetype.common.ArchetypeRegistryManager;
-import org.apache.maven.archetype.ui.ArchetypeCreationConfigurator;
-import org.apache.maven.archetype.creator.ArchetypeCreator;
 import org.apache.maven.project.MavenProject;
 
-import java.util.List;
 import java.io.File;
+import java.util.List;
+import java.util.Properties;
 
 /**
  * Creates sample archetype from current project.
@@ -57,6 +62,9 @@
     /** @component role-hint="fileset" */
     ArchetypeCreator creator;
 
+    /** @component */
+    private ArchetypePropertiesManager propertiesManager;
+
     /**
      * File extensions which are checked for project's text files (vs binary 
files).
      *
@@ -131,6 +139,8 @@
      */
     private File propertyFile;
 
+    /** @parameter expression="${basedir}/target" */
+    private File outputDirectory;
 
     public void execute()
         throws
@@ -186,6 +196,26 @@
             );
 
             getLog().info( "Archetype created in 
target/generated-sources/archetypeng" );
+
+            Properties p = new Properties();
+
+            propertiesManager.readProperties( p, new File( outputDirectory, 
"archetype.properties" ) );
+
+            Archetype archetype = new Archetype();
+
+            archetype.setGroupId( p.getProperty( Constants.ARCHETYPE_GROUP_ID 
) );
+
+            archetype.setArtifactId( p.getProperty( 
Constants.ARCHETYPE_ARTIFACT_ID ) );
+
+            archetype.setVersion( p.getProperty( Constants.ARCHETYPE_VERSION ) 
);
+
+            archetype.setDescription( "This is the Archetype");
+
+            ArchetypeRegistry archetypeRegistry = 
archetypeRegistryManager.getDefaultArchetypeRegistry();
+
+            archetypeRegistry.addArchetype( archetype );
+
+            archetypeRegistryManager.writeArchetypeRegistry( 
archetypeRegistryFile, archetypeRegistry );
         }
         catch ( Exception ex )
         {

Modified: 
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java?rev=580177&r1=580176&r2=580177&view=diff
==============================================================================
--- 
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
 (original)
+++ 
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
 Thu Sep 27 15:33:56 2007
@@ -123,6 +123,8 @@
                     ArchetypeDataSource source = new 
RegistryArchetypeDataSource( archetypeRegistryManager );
 
                     archetypes = source.getArchetypes().values();
+
+                    System.out.println( "archetypes = " + archetypes );
                 }
                 catch ( ArchetypeDataSourceException e )
                 {


Reply via email to