Author: jvanzyl
Date: Sun Mar  5 07:37:01 2006
New Revision: 383341

URL: http://svn.apache.org/viewcvs?rev=383341&view=rev
Log:
adding archeypte creator mojo

Added:
    
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java
   (with props)

Added: 
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java?rev=383341&view=auto
==============================================================================
--- 
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java
 (added)
+++ 
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java
 Sun Mar  5 07:37:01 2006
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2006 Your Corporation. All Rights Reserved.
+ */
+package org.apache.maven.plugin.archetype;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.archetype.Archetype;
+import org.apache.maven.archetype.ArchetypeNotFoundException;
+import org.apache.maven.archetype.ArchetypeDescriptorException;
+import org.apache.maven.archetype.ArchetypeTemplateProcessingException;
+import org.apache.maven.archetype.ArchetypeCreator;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.Properties;
+import java.io.File;
+import java.io.FileInputStream;
+
+/**
+ * Builds archetype containers.
+ *
+ * @goal create-from-project
+ * @description Create an archetype from an existing Maven project.
+ * @requiresProject true
+ */
+public class CreateArchetypeFromProjectMojo
+    extends AbstractMojo
+{
+    /**
+     * @parameter expression="${project}"
+     * @required
+     */
+    private MavenProject project;
+
+    /**
+     * @parameter expression="${localRepository}"
+     * @required
+     */
+    private ArtifactRepository localRepository;
+
+    /**
+     * @parameter expression="${targetDirectory}" 
default-value="${project.build.directory}"
+     * @required
+     */
+    private File targetDirectory;
+
+    /**
+     * @component
+     */
+    private ArchetypeCreator archetypeCreator;
+
+    /**
+     * Maven ProjectHelper
+     *
+     * @component
+     */
+    private MavenProjectHelper projectHelper;
+
+
+    /**
+     * @parameter expression="${archetypeProperties}" 
default-value="${basedir}/src/main/archetype/archetype.properties"
+     * @required
+     */
+    private File archetypeProperties;
+
+    public void execute()
+        throws MojoExecutionException
+    {
+        try
+        {
+            Properties p = new Properties();
+
+            p.load( new FileInputStream( archetypeProperties ) );
+
+            File archetypeJar = archetypeCreator.createArchetype( project, 
localRepository, targetDirectory, p );
+
+            projectHelper.attachArtifact( project, "jar", "archetype", 
archetypeJar );
+        }
+        catch ( Exception e )
+        {
+            throw new MojoExecutionException( "Cannot create archetype from 
this project.", e );
+        }
+    }
+}

Propchange: 
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/plugin/archetype/CreateArchetypeFromProjectMojo.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"


Reply via email to