You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/07/06 18:35:16 UTC

svn commit: r553946 [18/19] - in /maven/archetype/branches/maven-archetypeng: ./ maven-archetypeng-bundles/ maven-archetypeng-bundles/maven-archetypeng-archetype/ maven-archetypeng-bundles/maven-archetypeng-archetype/src/ maven-archetypeng-bundles/mave...

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddLanguagesMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddLanguagesMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddLanguagesMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddLanguagesMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,109 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRegistry;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             add-languages
+ */
+public class AddLanguagesMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+    
+    /**
+     * @parameter expression="${language}"
+     */
+    String  language;
+    
+    /**
+     * @parameter expression="${languages}"
+     */
+    String languages;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        if (StringUtils.isEmpty(language)&&StringUtils.isEmpty(languages))
+        {
+            throw new MojoFailureException("-Dlanguage or -Dlanguages must be set");
+        }
+        else if (StringUtils.isNotEmpty(language)&& StringUtils.isNotEmpty(languages))
+        {
+            throw new MojoFailureException("Only one of -Dlanguage or -Dlanguages can be set");
+        }
+        
+        
+        try
+        {
+            List languagesToAdd = new ArrayList();
+            if (StringUtils.isNotEmpty(language))
+            {
+                languagesToAdd.add(language);
+            }
+            else
+            {
+                languagesToAdd.addAll(Arrays.asList(StringUtils.split(languages, ",")));
+            }
+            
+            ArchetypeRegistry registry = archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                );
+            
+            Iterator languagesToAddIterator = languagesToAdd.iterator();
+            while(languagesToAddIterator.hasNext())
+            {
+                String languageToAdd = (String)languagesToAddIterator.next();
+                if (registry.getLanguages().contains(languageToAdd))
+                {
+                    getLog().debug("Language "+ languageToAdd+" already exists");
+                }
+                else
+                {
+                    registry.addLanguage(languageToAdd.trim());
+                    getLog().debug("Language "+ languageToAdd+" added");
+                }
+            }
+            archetypeRegistryManager.writeArchetypeRegistry(archetypeRegistryFile, registry);
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddLanguagesMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddLanguagesMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddRepositoriesMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddRepositoriesMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddRepositoriesMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddRepositoriesMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,134 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRegistry;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRepository;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             add-repositories
+ */
+public class AddRepositoriesMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+    
+    /**
+     * @parameter expression="${repositoryId}"
+     */
+    String  repositoryId;
+    
+    /**
+     * @parameter expression="${repositoryUrl}"
+     */
+    String  repositoryUrl;
+    
+    /**
+     * @parameter expression="${repositories}"
+     */
+    String repositories;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        if (StringUtils.isEmpty(repositoryId)&&StringUtils.isEmpty(repositories))
+        {
+            throw new MojoFailureException(" (-DrepositoryId and -DrepositoryUrl) or -Drepositories must be set");
+        }
+        else if (StringUtils.isNotEmpty(repositoryId)&& StringUtils.isNotEmpty(repositories))
+        {
+            throw new MojoFailureException("Only one of (-DrepositoryId and -DrepositoryUrl) or -Drepositories can be set");
+        }
+        
+        
+        try
+        {
+            List repositoriesToAdd = new ArrayList();
+            if (StringUtils.isNotEmpty(repositoryId) && StringUtils.isNotEmpty(repositoryUrl))
+            {
+                ArchetypeRepository repository = new ArchetypeRepository();
+                
+                repository.setId(repositoryId);
+                repository.setUrl(repositoryUrl);
+                
+                repositoriesToAdd.add(repository);
+            }
+            else
+            {
+                Iterator repositoriesDefinitions =  Arrays.asList(StringUtils.split(repositories, ",")).iterator();
+                while(repositoriesDefinitions.hasNext())
+                {
+                    String repositoryDefinition = (String) repositoriesDefinitions.next();
+                    
+                    String[] repositoryDefinitionParts = StringUtils.split(repositoryDefinition, "=");
+                    
+                    ArchetypeRepository repository = new ArchetypeRepository();
+
+                    repository.setId(repositoryDefinitionParts[0]);
+                    repository.setUrl(repositoryDefinitionParts[1]);
+
+                    repositoriesToAdd.add(repository);
+                }
+                
+            }
+            
+            ArchetypeRegistry registry = archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                );
+            
+            Iterator repositoriesToAddIterator = repositoriesToAdd.iterator();
+            while(repositoriesToAddIterator.hasNext())
+            {
+                ArchetypeRepository repositoryToAdd = (ArchetypeRepository)repositoriesToAddIterator.next();
+                if (registry.getArchetypeRepositories().contains(repositoryToAdd))
+                {
+                    getLog().debug("Repository "+ repositoryToAdd+" already exists");
+                }
+                else
+                {
+                    registry.addArchetypeRepository(repositoryToAdd);
+                    getLog().debug("Repository "+ repositoryToAdd+" added");
+                }
+            }
+            archetypeRegistryManager.writeArchetypeRegistry(archetypeRegistryFile, registry);
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddRepositoriesMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/AddRepositoriesMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveExtensionsMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveExtensionsMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveExtensionsMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveExtensionsMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,109 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRegistry;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             remove-extensions
+ */
+public class RemoveExtensionsMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+    
+    /**
+     * @parameter expression="${extension}"
+     */
+    String extension;
+    
+    /**
+     * @parameter expression="${extensions}"
+     */
+    String extensions;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        if (StringUtils.isEmpty(extension)&&StringUtils.isEmpty(extensions))
+        {
+            throw new MojoFailureException("-Dextension or -Dextensions must be set");
+        }
+        else if (StringUtils.isNotEmpty(extension)&& StringUtils.isNotEmpty(extensions))
+        {
+            throw new MojoFailureException("Only one of -Dextension or -Dextensions can be set");
+        }
+        
+        
+        try
+        {
+            List extensionsToRemove = new ArrayList();
+            if (StringUtils.isNotEmpty(extension))
+            {
+                extensionsToRemove.add(extension);
+            }
+            else
+            {
+                extensionsToRemove.addAll(Arrays.asList(StringUtils.split(extensions, ",")));
+            }
+            
+            ArchetypeRegistry registry = archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                );
+            
+            Iterator extensionsToRemoveIterator = extensionsToRemove.iterator();
+            while(extensionsToRemoveIterator.hasNext())
+            {
+                String extensionToRemove = (String)extensionsToRemoveIterator.next();
+                if (registry.getFilteredExtensions().contains(extensionToRemove))
+                {
+                    registry.removeFilteredExtension(extensionToRemove);
+                    getLog().debug("Extension "+ extensionToRemove+" removed");
+                }
+                else
+                {
+                    getLog().debug("Extension "+ extensionToRemove+" doesn't exist");
+                }
+            }
+            archetypeRegistryManager.writeArchetypeRegistry(archetypeRegistryFile, registry);
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveExtensionsMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveExtensionsMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveGroupsMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveGroupsMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveGroupsMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveGroupsMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,109 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRegistry;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             remove-groups
+ */
+public class RemoveGroupsMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+    
+    /**
+     * @parameter expression="${group}"
+     */
+    String  group;
+    
+    /**
+     * @parameter expression="${groups}"
+     */
+    String groups;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        if (StringUtils.isEmpty(group)&&StringUtils.isEmpty(groups))
+        {
+            throw new MojoFailureException("-Dgroup or -Dgroups must be set");
+        }
+        else if (StringUtils.isNotEmpty(group)&& StringUtils.isNotEmpty(groups))
+        {
+            throw new MojoFailureException("Only one of -Dgroup or -Dgroups can be set");
+        }
+        
+        
+        try
+        {
+            List groupsToRemove = new ArrayList();
+            if (StringUtils.isNotEmpty(group))
+            {
+                groupsToRemove.add(group);
+            }
+            else
+            {
+                groupsToRemove.addAll(Arrays.asList(StringUtils.split(groups, ",")));
+            }
+            
+            ArchetypeRegistry registry = archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                );
+            
+            Iterator groupsToRemoveIterator = groupsToRemove.iterator();
+            while(groupsToRemoveIterator.hasNext())
+            {
+                String groupToRemove = (String)groupsToRemoveIterator.next();
+                if (registry.getArchetypeGroups().contains(groupToRemove))
+                {
+                    registry.removeArchetypeGroup(groupToRemove);
+                    getLog().debug("Group "+ groupToRemove+" removed");
+                }
+                else
+                {
+                    getLog().debug("Group "+ groupToRemove+" doesn't exist");
+                }
+            }
+            archetypeRegistryManager.writeArchetypeRegistry(archetypeRegistryFile, registry);
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveGroupsMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveGroupsMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveLanguagesMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveLanguagesMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveLanguagesMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveLanguagesMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,109 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRegistry;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             remove-languages
+ */
+public class RemoveLanguagesMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+    
+    /**
+     * @parameter expression="${language}"
+     */
+    String  language;
+    
+    /**
+     * @parameter expression="${languages}"
+     */
+    String languages;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        if (StringUtils.isEmpty(language)&&StringUtils.isEmpty(languages))
+        {
+            throw new MojoFailureException("-Dlanguage or -Dlanguages must be set");
+        }
+        else if (StringUtils.isNotEmpty(language)&& StringUtils.isNotEmpty(languages))
+        {
+            throw new MojoFailureException("Only one of -Dlanguage or -Dlanguages can be set");
+        }
+        
+        
+        try
+        {
+            List languagesToRemove = new ArrayList();
+            if (StringUtils.isNotEmpty(language))
+            {
+                languagesToRemove.add(language);
+            }
+            else
+            {
+                languagesToRemove.addAll(Arrays.asList(StringUtils.split(languages, ",")));
+            }
+            
+            ArchetypeRegistry registry = archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                );
+            
+            Iterator languagesToRemoveIterator = languagesToRemove.iterator();
+            while(languagesToRemoveIterator.hasNext())
+            {
+                String languageToRemove = (String)languagesToRemoveIterator.next();
+                if (registry.getLanguages().contains(languageToRemove))
+                {
+                    registry.removeLanguage(languageToRemove);
+                    getLog().debug("Language "+ languageToRemove+" removed");
+                }
+                else
+                {
+                    getLog().debug("Language "+ languageToRemove+" doesn't exist");
+                }
+            }
+            archetypeRegistryManager.writeArchetypeRegistry(archetypeRegistryFile, registry);
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveLanguagesMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveLanguagesMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveRepositoriesMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveRepositoriesMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveRepositoriesMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveRepositoriesMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,127 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRegistry;
+import org.codehaus.mojo.archetypeng.registry.ArchetypeRepository;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             remove-repositories
+ */
+public class RemoveRepositoriesMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+    
+    /**
+     * @parameter expression="${repositoryId}"
+     */
+    String  repositoryId;
+    
+    /**
+     * @parameter expression="${repositories}"
+     */
+    String repositories;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        if (StringUtils.isEmpty(repositoryId)&&StringUtils.isEmpty(repositories))
+        {
+            throw new MojoFailureException(" -DrepositoryId or -Drepositories must be set");
+        }
+        else if (StringUtils.isNotEmpty(repositoryId)&& StringUtils.isNotEmpty(repositories))
+        {
+            throw new MojoFailureException("Only one of -DrepositoryId or -Drepositories can be set");
+        }
+        
+        
+        try
+        {
+            List repositoriesToRemove = new ArrayList();
+            if (StringUtils.isNotEmpty(repositoryId))
+            {
+                ArchetypeRepository repository = new ArchetypeRepository();
+                
+                repository.setId(repositoryId);
+                repository.setUrl("EMPTY");
+                
+                repositoriesToRemove.add(repository);
+            }
+            else
+            {
+                Iterator repositoriesDefinitions =  Arrays.asList(StringUtils.split(repositories, ",")).iterator();
+                while(repositoriesDefinitions.hasNext())
+                {
+                    String repositoryDefinition = (String) repositoriesDefinitions.next();
+                    
+                    ArchetypeRepository repository = new ArchetypeRepository();
+
+                    repository.setId(repositoryDefinition);
+                    repository.setUrl("EMPTY");
+
+                    repositoriesToRemove.add(repository);
+                }
+                
+            }
+            
+            ArchetypeRegistry registry = archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                );
+            
+            Iterator repositoriesToRemoveIterator = repositoriesToRemove.iterator();
+            while(repositoriesToRemoveIterator.hasNext())
+            {
+                ArchetypeRepository repositoryToRemove = (ArchetypeRepository)repositoriesToRemoveIterator.next();
+                if (registry.getArchetypeRepositories().contains(repositoryToRemove))
+                {
+                    registry.removeArchetypeRepository(repositoryToRemove);
+                    getLog().debug("Repository "+ repositoryToRemove.getId()+" removed");
+                }
+                else
+                {
+                    getLog().debug("Repository "+ repositoryToRemove.getId()+" doesn't exist");
+                }
+            }
+            archetypeRegistryManager.writeArchetypeRegistry(archetypeRegistryFile, registry);
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveRepositoriesMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/RemoveRepositoriesMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowExtensionsMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowExtensionsMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowExtensionsMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowExtensionsMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,69 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             show-extensions
+ */
+public class ShowExtensionsMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        try
+        {
+            Iterator extensions =
+                archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                ).getFilteredExtensions().iterator();
+            
+            getLog().info("Filtered extensions defined in " + archetypeRegistryFile);
+            while(extensions.hasNext())
+            {
+                getLog().info(" - "+extensions.next());
+            }
+
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowExtensionsMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowExtensionsMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowGroupsMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowGroupsMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowGroupsMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowGroupsMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,69 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             show-groups
+ */
+public class ShowGroupsMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        try
+        {
+            Iterator groups =
+                archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                ).getArchetypeGroups().iterator();
+            
+            getLog().info("Archetype groups defined in " + archetypeRegistryFile);
+            while(groups.hasNext())
+            {
+                getLog().info(" - "+groups.next());
+            }
+
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowGroupsMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowGroupsMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowLanguagesMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowLanguagesMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowLanguagesMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowLanguagesMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,69 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             show-languages
+ */
+public class ShowLanguagesMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        try
+        {
+            Iterator languages =
+                archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                ).getLanguages().iterator();
+            
+            getLog().info("Languages defined in " + archetypeRegistryFile);
+            while(languages.hasNext())
+            {
+                getLog().info(" - "+languages.next());
+            }
+
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowLanguagesMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowLanguagesMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowRepositoriesMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowRepositoriesMojo.java?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowRepositoriesMojo.java (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowRepositoriesMojo.java Fri Jul  6 09:34:35 2007
@@ -0,0 +1,69 @@
+package org.codehaus.mojo.archetypeng.mojos.registry;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.mojo.archetypeng.ArchetypeArtifactManager;
+import org.codehaus.mojo.archetypeng.ArchetypeConfiguration;
+import org.codehaus.mojo.archetypeng.ArchetypeDefinition;
+import org.codehaus.mojo.archetypeng.ArchetypeFactory;
+import org.codehaus.mojo.archetypeng.ArchetypePropertiesManager;
+import org.codehaus.mojo.archetypeng.ArchetypeRegistryManager;
+import org.codehaus.mojo.archetypeng.Constants;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeGenerationConfigurationFailure;
+import org.codehaus.mojo.archetypeng.exception.ArchetypeNotDefined;
+import org.codehaus.mojo.archetypeng.exception.UnknownArchetype;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ * @author rafale
+
+ * @requiresProject  false
+ * @goal             show-repositories
+ */
+public class ShowRepositoriesMojo
+extends AbstractMojo
+{
+    /**
+     * @parameter  expression="${user.home}/.m2/archetype.xml"
+     */
+    private File archetypeRegistryFile;
+
+    /**
+     * @component
+     */
+    ArchetypeRegistryManager archetypeRegistryManager;
+
+    public void execute()
+    throws MojoExecutionException, MojoFailureException
+    {
+        try
+        {
+            Iterator repositories =
+                archetypeRegistryManager.readArchetypeRegistry(
+                    archetypeRegistryFile
+                ).getArchetypeRepositories().iterator();
+            
+            getLog().info("Archetype repositories defined in " + archetypeRegistryFile);
+            while(repositories.hasNext())
+            {
+                getLog().info(" - "+repositories.next());
+            }
+
+        }
+        catch ( Exception ex )
+        {
+            throw new MojoExecutionException ( ex.getMessage (), ex );
+        }
+    }
+
+}

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowRepositoriesMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/java/org/codehaus/mojo/archetypeng/mojos/registry/ShowRepositoriesMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/maven/lifecycle.xml
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/maven/lifecycle.xml?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/maven/lifecycle.xml (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/maven/lifecycle.xml Fri Jul  6 09:34:35 2007
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<lifecycles>
+  <lifecycle>
+    <id>generate</id>
+    <phases>
+      <phase>
+        <id>validate</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>select-archetype</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+      <phase>
+        <id>initialize</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>configure-generation</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+      <phase>
+        <id>generate-sources</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate-project</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+      <phase>
+        <id>verify</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+    </phases>
+  </lifecycle>
+  <lifecycle>
+    <id>create</id>
+    <phases>
+      <phase>
+        <id>initialize</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>configure-creation</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+      <phase>
+        <id>generate-sources</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>create-archetype</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+      <!--phase>
+        <id>package</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>package-archetype</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase-->
+      <phase>
+        <id>verify</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+    </phases>
+  </lifecycle>
+  <lifecycle>
+    <id>maven-archetype</id>
+    <phases>
+      <phase>
+        <id>initialize</id>
+        <executions>
+          <execution>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+      </phase>
+    </phases>
+  </lifecycle>
+</lifecycles>

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/maven/lifecycle.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/maven/lifecycle.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/plexus/components.xml?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/plexus/components.xml (added)
+++ maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/plexus/components.xml Fri Jul  6 09:34:35 2007
@@ -0,0 +1,31 @@
+<component-set>
+    <components>
+        <component>
+            <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+            <role-hint>maven-archetype</role-hint>
+            <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
+            <configuration>
+                <phases>
+                    <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
+                    <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
+                    <package>org.codehaus.mojo:maven-archetypeng-plugin:jar</package><!--, AND METADATA LIKE MAVEN PLUGIN-->
+                    <integration-test>org.codehaus.mojo:maven-archetypeng-plugin:integration-test</integration-test>
+                    <install>org.apache.maven.plugins:maven-install-plugin:install</install>
+                    <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
+                </phases>
+            </configuration>
+        </component>
+
+        <component>
+            <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+            <role-hint>maven-archetype</role-hint>
+            <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+            <configuration>
+                <type>maven-archetype</type>
+                <extension>jar</extension>
+                <packaging>maven-archetype</packaging>
+            </configuration>
+        </component>
+
+    </components>
+</component-set>

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/maven-archetypeng-plugin/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/pom.xml
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/pom.xml?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/pom.xml (added)
+++ maven/archetype/branches/maven-archetypeng/pom.xml Fri Jul  6 09:34:35 2007
@@ -0,0 +1,332 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<project
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>mojo-sandbox</artifactId>
+        <version>4-SNAPSHOT</version>
+    </parent>
+    
+    <groupId>org.codehaus.mojo.archetypeng</groupId>
+    <!--TODO: move to org.codehaus.mojo -->
+    <artifactId>maven-archetypeng</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    
+    <name>Maven ArchetypeNG</name>
+    <packaging>pom</packaging>
+    
+    <modules>
+        <module>maven-archetypeng-core</module>
+        <module>maven-archetypeng-bundles</module>
+        <module>maven-archetypeng-plugin</module>
+    </modules>
+    
+    <licenses>
+        <license>
+            <name>The Apache Software License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+    <inceptionYear>2007</inceptionYear>
+    
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-plugin-api</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>3.8.1</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-artifact</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-artifact-manager</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-model</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-project</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-archiver</artifactId>
+                <version>2.2</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-repository-metadata</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-plugin-descriptor</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven.archetype</groupId>
+                <artifactId>maven-archetype-core</artifactId>
+                <version>1.0-alpha-4</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.mojo.archetypeng</groupId>
+                <artifactId>maven-archetypeng-archetype-descriptor</artifactId>
+                <version>1.0-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.mojo.archetypeng</groupId>
+                <artifactId>maven-archetypeng-archetype-registry</artifactId>
+                <version>1.0-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.mojo.archetypeng</groupId>
+                <artifactId>maven-archetypeng-generator</artifactId>
+                <version>1.0-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.mojo.archetypeng</groupId>
+                <artifactId>maven-archetypeng-creator</artifactId>
+                <version>1.0-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.mojo.archetypeng</groupId>
+                <artifactId>maven-archetypeng-common</artifactId>
+                <version>1.0-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-utils</artifactId>
+                <version>1.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-container-default</artifactId>
+                <version>1.0-alpha-9</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-interactivity-api</artifactId>
+                <version>1.0-alpha-4</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-core</artifactId>
+                <version>2.0.7</version>
+            </dependency>
+            <dependency>
+                <groupId>net.sourceforge.jchardet</groupId>
+                <artifactId>jchardet</artifactId>
+                <version>1.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven.shared</groupId>
+                <artifactId>maven-downloader</artifactId>
+                <version>1.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-velocity</artifactId>
+                <version>1.1.3</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>1.3.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven.shared</groupId>
+                <artifactId>maven-plugin-testing-harness</artifactId>
+                <version>1.0-beta-1</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>dom4j</groupId>
+                <artifactId>dom4j</artifactId>
+                <version>1.6.1</version>
+            </dependency>
+            <dependency>
+                <groupId>jdom</groupId>
+                <artifactId>jdom</artifactId>
+                <version>1.0</version>
+            </dependency>
+            <dependency>
+                <groupId>velocity</groupId>
+                <artifactId>velocity</artifactId>
+                <version>1.4</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-report-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <reportSets>
+                    <reportSet></reportSet>
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <reportSets>
+                    <reportSet></reportSet>
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>cobertura-maven-plugin</artifactId>
+                <reportSets>
+                    <reportSet></reportSet>
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jxr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <links>
+                        <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+                        <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+                        <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+                        <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+                        <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+                        <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+                        <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+                        <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+                        <link>http://www.junit.org/junit/javadoc/</link>
+                        <link>http://logging.apache.org/log4j/docs/api/</link>
+                        <link>http://jakarta.apache.org/regexp/apidocs/</link>
+                        <link>http://jakarta.apache.org/velocity/api/</link>
+                    </links>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>taglist-maven-plugin</artifactId>
+                <reportSets>
+                    <reportSet></reportSet>
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                <reportSets>
+                    <reportSet></reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+    
+    <profiles>
+        <profile>
+            <id>rafale-jalopy</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>triemax</groupId>
+                        <artifactId>jalopy-maven</artifactId>
+                        <version>1.7</version>
+                        <configuration>
+                            <javadoc>false</javadoc>
+                            <logLevel>warn</logLevel>
+                            <profile>default</profile>
+                            <convention>file:///home/users/rafale/projects/RafaleCodeConvention.xml</convention>
+                            <includes>
+                                <include>**/*.java</include>
+                            </includes>
+                            <excludes>
+                                <exclude>**/testdata/**</exclude>
+                            </excludes>
+                            <environment>
+                            </environment>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>format</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <!--   
+                    You will need to install the runtime jar to compile
+                    mvn install:install-file 
+                        -DgroupId=com.sun -DartifactId=rt -Dversion=1.4.2 
+                        -Dpackaging=jar -Dfile=/usr/local/j2sdk1.4.2_12/jre/lib/rt.jar
+                -->
+                <configuration>
+                    <source>1.4</source>
+                    <target>1.4</target>
+                    <!--
+                    <compilerArguments>
+                        <bootclasspath>
+                            ${settings.localRepository}/com/sun/rt/1.4.2/rt-1.4.2.jar
+                        </bootclasspath>
+                    </compilerArguments>
+                    -->
+                </configuration>
+                <!--
+                <dependencies>
+                    <dependency>
+                        <groupId>com.sun</groupId>
+                        <artifactId>rt</artifactId>
+                        <version>1.4.2</version>
+                    </dependency>
+                </dependencies>
+                -->
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: maven/archetype/branches/maven-archetypeng/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/src/site/apt/archetype-handcraft.apt
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/src/site/apt/archetype-handcraft.apt?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/src/site/apt/archetype-handcraft.apt (added)
+++ maven/archetype/branches/maven-archetypeng/src/site/apt/archetype-handcraft.apt Fri Jul  6 09:34:35 2007
@@ -0,0 +1,328 @@
+ -----
+ Archetypeng - Archetype handcraft
+ -----
+ The Maven Team
+ -----
+
+Handcrafting archetype
+
+* Archetype
+
+    An archetype is a kind of Maven 2 project which defines its packaging to
+    maven-plugin and which follow a particular directory convention.
+
++--
+|-- pom.xml
+`-- src
+    `-- main
+        `-- resources
+            |-- META-INF
+            |   `-- maven
+            |       `-- archetype.xml
+            `-- archetype-resources
+                |-- pom.xml
+                `-- src ...
++--
+
+    There is two kind of archetypes: partial or complete. Complete archetypes
+    are used to generate new Maven 2 project, a class library for example.
+    Partial archetypes are used to add a new functionality to a project's build,
+    the use of the modello plugin for example.
+
+    An archetype defines at least 3 files in its tree.
+
+    * The archetype pom is located at the root of the project.
+      It defines the archetype's groupId, artifactId, version and name.
+
+      The name and version of the archetype are used during the selection step
+      of the generation.
+
+      Here is an example of archetype pom.
+
++--
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <groupId>org.codehaus.mojo.archetypeng.test</groupId>
+  <artifactId>test-start-archetype</artifactId>
+  <packaging>maven-plugin</packaging>
+  <version>1.0-SNAPSHOT</version>
+</project>
++--
+
+    * The archetype descriptor is located in the src/main/resources/META-INF/maven
+      directory and named archetype.xml.
+
+      The descriptor defines the kind of archetype (complete or partial),
+      the archetype properties and the templates.
+
+      Here is an example of archetype descriptor.
+
++--
+<?xml version="1.0" encoding="UTF-8"?>
+<archetype>
+  <name>test-start-archetype</name>
+  <site-group />
+  <required-properties>
+    <required-property>
+      <key>aProperty</key>
+      <default-value>String searched in the sources</default-value>
+    </required-property>
+  </required-properties>
+  <sources-groups>
+    <sources-group>
+      <language>java</language>
+      <templates>
+        <template>App.java</template>
+      </templates>
+    </sources-group>
+  </sources-groups>
+  <test-sources-groups>
+    <test-sources-group>
+      <language>java</language>
+      <templates>
+        <template>AppTest.java</template>
+      </templates>
+    </test-sources-group>
+  </test-sources-groups>
+</archetype>
++--
+
+    * The templates are located in the src/main/resources/archetype-resources
+      directory which is the templates root directory.
+
+      There must be at least one template named pom.xml located at the root of
+      the template directory. This is the generated project's pom.
+
+      The other templates are the sources, resources and site templates.
+
+
+* The descriptor explained
+
+    The archetype descriptor leads the project generation by defining each of
+    the properties used for the template merge. It also defines each of the
+    templates which will be merged with the configured properties to generate
+    the sources of the generated project.
+
+    The archetype.xml file contains the following elements :
+
+    * name: The name of the archetype.
+
++--
+<archetype>
+...
+    <name>test-start-archetype</name>
+...
+</archetype>
++--
+
+    * partial: If the archetype is complete or partial. It is set to true if the
+      archetype is partial. It can be omited and defaults to a complete archetype.
+
++--
+<archetype>
+...
+    <partial>true</partial>
+...
+</archetype>
++--
+
+    * required-properties: The list of the required properties.
+
+      Here is a required property named propertyWithDefaultValue defining a
+      default value containing "the default value". During generation of the
+      archetype, when a template contains this property, it will be replaced by
+      the default value unless it is overrided.
+
++--
+<archetype>
+...
+    <required-properties>
+    ...
+        <required-property>
+            <key>propertyWithDefaultValue</key>
+            <default-value>the default value</default-value>
+        </required-property>
+    ...
+    </required-properties>
+...
+</archetype>
++--
+
+      The default-value element can be omited and that property must be set
+      during the configuration step of the generation.
+
+      The required-properties can be omited if the archetype defines no required
+      properties.
+
+      Archetypes always define four common required properties without defaut
+      values. These common properties are: groupId, artifactId, version and
+      package. The groupId, artifactId and version will be the ones of the
+      generated project. The package will be used in the sources templates.
+
+      All the properties (common and archetype specific) are velocity 
+      properties. The properties must be named without a dot, because velocity
+      uses the dot for getting inner properties. See in the 
+      {{{http://velocity.apache.org/engine/releases/velocity-1.5/vtl-reference-guide.html}VTL}} 
+      guide for more information.
+
+    * sources-groups: The list of the sources templates grouped by language.
+
+      The sources-groups can be omited if the archetype don't have sources.
+
+      Here the extract of the descriptor for a sources group for the c language.
+      The templates of this group uses the ISO-8859-1 encoding. And it also
+      contains one template file named App.c.
+
++--
+<archetype>
+...
+    <sources-groups>
+    ...
+        <sources-group>
+            <language>c</language>
+            <encoding>ISO-8859-1</encoding>
+            <templates>
+            ...
+                <template>App.c</template>
+            ...
+            </templates>
+        </sources-group>
+    ...
+    </sources-groups>
+...
+</archetype>
++--
+
+      A sources-group must define at least one template.
+
+      The language can be omited to default to java.
+
+      The encoding can be omited to default to UTF-8.
+
+      The sources templates files must be located in the directory
+      src/main/{language} from the templates directory.
+
+      A template can be defined in a subdirectory like subfolder/AlternateApp.c.
+
+      The sources files are generated in the with the same name of the template
+      file name. They are generated from the generated project's root directory
+      in the directory src/main/{language}/{package as subdirectories}/{template defined sudirectory}.
+
+      Having the same name as templates, allow to have some xml or properties 
+      files generated using the package as subdirectory replacement.
+
+    * test-sources-groups: The list of the test sources templates grouped by
+      language.
+
+      Test sources groups works the same as the sources groups but differ in
+      that the templates must be located in src/test/{language} from the
+      templates directory and the project's files are generated to
+      src/test/{language}/{package as subdirectories}/{template defined sudirectory}.
+
++--
+<archetype>
+...
+    <test-sources-groups>
+    ...
+        <test-sources-group>
+            <templates>
+            ...
+                <template>AppTest.java</template>
+            ...
+            </templates>
+        </test-sources-group>
+    ...
+    </test-sources-groups>
+...
+</archetype>
++--
+
+    * resources-groups: The list of resources templates grouped by directory.
+
+      The resources-groups can be omited if the archetype don't have resources.
+
+      Here the extract of the descriptor for a resources group for the mdo 
+      directory.
+      The templates of this group uses the default UTF-8 encoding. 
+
++--
+<archetype>
+...
+    <resources-groups>
+    ...
+        <resources-group>
+            <directory>mdo</directory>
+            <templates>
+            ...
+                <template>App.mdo</template>
+            ...
+            </templates>
+        </resources-group>
+    ...
+    </resources-groups>
+...
+</archetype>
++--
+
+      A resources-group must define at least one template.
+
+      The directory can be omited to default to <resources>.
+
+      The encoding can be omited to default to UTF-8.
+
+      The resources templates files must be located in the directory
+      src/main/{directory} from the templates directory.
+
+      A template can be defined in a subdirectory like subfolder/logging.properties.
+
+      The resources files are generated in the with the same name of the template
+      file name. They are generated from the generated project's root directory
+      in the directory src/main/{directory}/{template defined sudirectory}.
+
+    * test-resources-groups: The list of the test resources templates grouped by
+      directory.
+
+      Test resources groups works the same as the resources groups but differ in
+      that the templates must be located in src/test/{directory} from the
+      templates directory and the project's files are generated to
+      src/test/{directory}/{template defined sudirectory}.
+
++--
+<archetype>
+...
+    <test-resources-groups>
+    ...
+        <test-resources-group>
+            <templates>
+            ...
+                <template>AppTest.properties</template>
+            ...
+            </templates>
+        </test-resources-group>
+    ...
+    </test-resources-groups>
+...
+</archetype>
++--
+
+    * site-group: The list of site templates.
+
+      Site group works the same as the resources groups but differ in that the 
+      templates must be located in src/site from the templates directory, that 
+      they dont have a directory and the project's files are generated to 
+      src/site/{template defined sudirectory}.
+
++--
+<archetype>
+...
+    <site-group>
+        <templates>
+        ...
+            <template>site.xml</template>
+            <template>apt/test.apt</template>
+        ...
+        </templates>
+    </site-group>
+...
+</archetype>
++--

Propchange: maven/archetype/branches/maven-archetypeng/src/site/apt/archetype-handcraft.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/src/site/apt/archetype-handcraft.apt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/archetype/branches/maven-archetypeng/src/site/apt/archetypes.apt
URL: http://svn.apache.org/viewvc/maven/archetype/branches/maven-archetypeng/src/site/apt/archetypes.apt?view=auto&rev=553946
==============================================================================
--- maven/archetype/branches/maven-archetypeng/src/site/apt/archetypes.apt (added)
+++ maven/archetype/branches/maven-archetypeng/src/site/apt/archetypes.apt Fri Jul  6 09:34:35 2007
@@ -0,0 +1,39 @@
+ -----
+ Archetypeng - Archetypes
+ -----
+ The Maven Team
+ -----
+
+Archetypes
+
+    An archetype is a {{{#Descriptor}descriptor}} and a set of
+    {{{#Templates}templates}}. There is two kind of archetypes: complete and
+    partial.
+
+    A complete archetype represents a Maven 2 project with complete features.
+    Eg. a class library, a desktop application, a web application.
+
+    A partial archetype represents an added feature to an existing Maven 2
+    project. Eg. using modello, using jetty.
+
+    The archetype is packaged in a jar file.
+
+    Archetypes can be created using the {{{creation.html}creation}} mecanism or 
+    can be {{{archetype-handcraft.html}handcrafted}}.
+
+* {Descriptor}
+
+    The archetype descriptor is an xml file defining:
+
+    * the archetype name,
+
+    * the properties needed by the templates,
+
+    * the templates used to generate the project sorted by categories.
+
+    []
+
+* {Templates}
+
+    The templates are velocity template files. They are used to generate the 
+    sources of the project.

Propchange: maven/archetype/branches/maven-archetypeng/src/site/apt/archetypes.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/branches/maven-archetypeng/src/site/apt/archetypes.apt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"