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"