You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ra...@apache.org on 2008/02/26 00:07:21 UTC

svn commit: r631032 - in /maven/archetype/trunk/archetype-plugin: ./ src/site/ src/site/apt/ src/site/apt/examples/ src/site/apt/specification/

Author: rafale
Date: Mon Feb 25 15:07:10 2008
New Revision: 631032

URL: http://svn.apache.org/viewvc?rev=631032&view=rev
Log:
re added documentation in the plugin site

Added:
    maven/archetype/trunk/archetype-plugin/nbactions.xml   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/
    maven/archetype/trunk/archetype-plugin/src/site/apt/
    maven/archetype/trunk/archetype-plugin/src/site/apt/advanced-usage.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/examples/
    maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-alternative-catalog.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-basic.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-batch.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-basic.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-deploy.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/index.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-catalog.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-metadata.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/crawl-repository.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/create-from-project.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/generate.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/specification.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/specification/update-catalog.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/apt/usage.apt   (with props)
    maven/archetype/trunk/archetype-plugin/src/site/site.xml   (with props)

Added: maven/archetype/trunk/archetype-plugin/nbactions.xml
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/nbactions.xml?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/nbactions.xml (added)
+++ maven/archetype/trunk/archetype-plugin/nbactions.xml Mon Feb 25 15:07:10 2008
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<actions>
+        <action>
+            <actionName>CUSTOM-stage-site-at-apache</actionName>
+            <displayName>stage-site-at-apache</displayName>
+            <goals>
+                <goal>clean</goal>
+                <goal>site:stage-deploy</goal>
+            </goals>
+            <activatedProfiles>
+                <activatedProfile>release-at-apache</activatedProfile>
+            </activatedProfiles>
+        </action>
+    </actions>

Propchange: maven/archetype/trunk/archetype-plugin/nbactions.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/advanced-usage.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/advanced-usage.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/advanced-usage.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/advanced-usage.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,151 @@
+ ------
+ Advanced Usage
+ ------
+ Raphaël Piéroni
+ ------
+ 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+Archetype creation
+
+    Creating an archetype from an existing project involves three steps :
+
+    * the archetype resolution
+
+    * the archetype installation:deployment
+
+    * the archetype usage
+
+    []
+
+
+Usage
+
+    Calling <<<mvn archetype:create-from-project>>> the plugin first resolves 
+    the package by guessing the project directory. 
+
+    It then generates the directory tree of the archetype in the 
+    <<<target/generated-sources/archetype>>> directory.
+
++---
+mvn archetype:create-from-project
+[INFO] Scanning for projects...
+[INFO] Searching repository for plugin with prefix: 'archetype'.
+[INFO] ------------------------------------------------------------------------
+[INFO] Building project
+[INFO]    task-segment: [archetype:create-from-project]
+[INFO] ------------------------------------------------------------------------
+[INFO] Preparing archetype:create-from-project
+[INFO] No goals needed for project - skipping
+[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
+[INFO] Setting property: velocimacro.messages.on => 'false'.
+[INFO] Setting property: resource.loader => 'classpath'.
+[INFO] Setting property: resource.manager.logwhenfound => 'false'.
+[INFO] [archetype:create-from-project]
+[INFO] Setting default archetype's groupId: com.company
+[INFO] Setting default archetype's artifactId: project
+[INFO] Setting default archetype's version: 1.0-SNAPSHOT
+[INFO] Setting default groupId: com.company
+[INFO] Setting default artifactId: project
+[INFO] Setting default version: 1.0-SNAPSHOT
+[INFO] Setting default package: com.company.project
+[INFO] Archetype created in target/generated-sources/archetype
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 4 seconds
+[INFO] Finished at: Fri Feb 22 21:49:52 GMT 2008
+[INFO] Final Memory: 10M/26M
+[INFO] ------------------------------------------------------------------------
++---
+
+    Then move to that generated directory and call <<<mvn install>>> on the 
+    created archetype.
+
++---
+$ cd target/generated-sources/archetype/
+$ mvn install
+[INFO] Scanning for projects...
+[INFO] ------------------------------------------------------------------------
+[INFO] Building project
+[INFO]    task-segment: [install]
+[INFO] ------------------------------------------------------------------------
+[INFO] [resources:resources]
+[INFO] Using default encoding to copy filtered resources.
+[INFO] [resources:testResources]
+[INFO] Using default encoding to copy filtered resources.
+[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
+[INFO] Setting property: velocimacro.messages.on => 'false'.
+[INFO] Setting property: resource.loader => 'classpath'.
+[INFO] Setting property: resource.manager.logwhenfound => 'false'.
+[INFO] [archetype:jar]
+[INFO] [archetype:add-archetype-metadata]
+[INFO] [archetype:integration-test]
+[INFO] [install:install]
+[INFO] Installing /home/local/rafale/projects/tmp/project/target/generated-sources/archetype/target/project-1.0-SNAPSHOT.jar to /home/rafale/.m2/repository/com/company/project/1.0-SNAPSHOT/project-1.0-SNAPSHOT.jar
+[INFO] [archetype:update-local-catalog]
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 10 seconds
+[INFO] Finished at: Fri Feb 22 21:51:57 GMT 2008
+[INFO] Final Memory: 14M/35M
+[INFO] ------------------------------------------------------------------------
++---
+
+    Finally move to a fresh directory and use your archetype.
+
++---
+$ mkdir /tmp/archetype
+$ cd /tmp/archetype
+$ mvn archetype:generate -DarchetypeCatalog=local
+[INFO] Scanning for projects...
+[INFO] Searching repository for plugin with prefix: 'archetype'.
+[INFO] ------------------------------------------------------------------------
+[INFO] Building Maven Default Project
+[INFO]    task-segment: [archetype:generate] (aggregator-style)
+[INFO] ------------------------------------------------------------------------
+[INFO] Preparing archetype:generate
+[INFO] No goals needed for project - skipping
+[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
+[INFO] Setting property: velocimacro.messages.on => 'false'.
+[INFO] Setting property: resource.loader => 'classpath'.
+[INFO] Setting property: resource.manager.logwhenfound => 'false'.
+[INFO] [archetype:generate]
+Choose archetype:
+1: local -> project (project)
+Choose a number:  (1): 
++---
+
+Configuration
+    
+    The <<<create-from-project>>> mojo enable the user to provide some sensible
+    configuration using the system properties or a property file.
+
+    The system properties permits the user to define the groupId, artifactId, 
+    version of the created archetype. They also permits to override the resolved 
+    package and to create a partial archetype.
+
+    When used, the property file takes precedence on the system properties.
+    It is also the only way to define additional properties in the archetype.

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/advanced-usage.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-alternative-catalog.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-alternative-catalog.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-alternative-catalog.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-alternative-catalog.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,28 @@
+ ------
+ XXXXXXX
+ ------
+ Raphaël Piéroni
+ ------
+ 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-alternative-catalog.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-basic.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-basic.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-basic.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-basic.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,28 @@
+ ------
+ XXXXXXX
+ ------
+ Raphaël Piéroni
+ ------
+ 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-basic.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-batch.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-batch.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-batch.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-batch.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,79 @@
+ ------
+ Create project in batch mode
+ ------
+ Raphaël Piéroni
+ ------
+ 04 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+ * Create project in batch mode
+
+   It is possible to get rid of the interactivity of the archetype plugin
+   by defining the <<<archetype.interactive>>> property to <<<false>>>.
+   A couple of meaningfull properties are the required.
+   
+   The archetypeGroupId, archetypeArtifactId and archetypeVersion defines the 
+   archetype to use for project creation.
+
+   The groupId, artifactId, version and package are the main properties to be 
+   set. Each archetype require these properties. Some archetypes defines other 
+   properties; refers to the appropriate archetype documentation if needed.
+
+
++--
+$ mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -Darchetype.interactive=false -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.0 -DgroupId=com.company -DartifactId=project -Dversion=1.0 -Dpackage=1.5
+[INFO] Scanning for projects...
+[INFO] Searching repository for plugin with prefix: 'archetype'.
+[INFO] ------------------------------------------------------------------------
+[INFO] Building Maven Default Project
+[INFO]    task-segment: [archetype:create] (aggregator-style)
+[INFO] ------------------------------------------------------------------------
+[INFO] Preparing archetype:create
+[INFO] No goals needed for project - skipping
+Downloading: http://repo1.maven.org/maven2/com/company/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom
+Downloading: http://repo1.maven.org/maven2/com/company/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom
+[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
+[INFO] Setting property: velocimacro.messages.on => 'false'.
+[INFO] Setting property: resource.loader => 'classpath'.
+[INFO] Setting property: resource.manager.logwhenfound => 'false'.
+[INFO] [archetype:create]
+[INFO] Archetype repository missing. Using the one from [org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE -> http://repo1.maven.org/maven2] found in catalog internal
+[INFO] ----------------------------------------------------------------------------
+[INFO] Using following parameters for creating OldArchetype: maven-archetype-quickstart:1.0
+[INFO] ----------------------------------------------------------------------------
+[INFO] Parameter: groupId, Value: com.company
+[INFO] Parameter: packageName, Value: 1.5
+[INFO] Parameter: package, Value: 1.5
+[INFO] Parameter: artifactId, Value: project
+[INFO] Parameter: basedir, Value: /home/local/rafale/projects/tmp
+[INFO] Parameter: version, Value: 1.0
+[INFO] ********************* End of debug info from resources from generated POM ***********************
+[INFO] OldArchetype created in dir: /home/local/rafale/projects/tmp/project
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 6 seconds
+[INFO] Finished at: Mon Feb 04 19:56:03 GMT 2008
+[INFO] Final Memory: 10M/25M
+[INFO] ------------------------------------------------------------------------
++--
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-batch.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-basic.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-basic.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-basic.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-basic.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,30 @@
+ ------
+ XXXXXXX
+ ------
+ Raphaël Piéroni
+ ------
+ 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-basic.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-deploy.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-deploy.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-deploy.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-deploy.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,29 @@
+ ------
+ XXXXXXX
+ ------
+ Raphaël Piéroni
+ ------
+ 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/examples/create-from-project-deploy.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/index.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/index.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/index.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,90 @@
+ ------
+ Introduction
+ ------
+ Raphaël Piéroni
+ ------
+ 25 January 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+Maven 2 Archetype Plugin
+
+ The Archetype Plugin allows the user to create a Maven 2 project
+ from an existing template called an archetype.
+
+ It also allows the user to create an archetype from an existing project. 
+ (<currently under development>)
+
+
+* Usage
+
+  {{{usage.html}Instructions on how to use the Archetype Plugin to create a project}}
+  can be found on the usage page.
+
+  The Archetype Plugin is embedded in IDE {{{#}eclipse}}, {{{#}netbeans}}, 
+  {{{#}idea}}.
+
+  {{{advanced-usage.html}Instruction on how to use the Archetype Plugin to create an archetype from an existing project}} 
+  can be found  on the advanced usage page.
+
+
+* Goals Overview
+
+  The archetype plugin has two goals:
+  
+  * {{{create-mojo.html}archetype:create}} creates a Maven 2 project from an 
+    archetype. It use the behaviour of the Archetype plugin Version 1.0-alpha-7.
+  
+  * {{{generate-mojo.html}archetype:generate}} ask the user to choose an archetype 
+    from the archetype catalog, and retrieves it from the remote repository.
+    Once retrieved, it is processed to create a working Maven project.
+
+  * {{{create-from-project-mojo.html}archetype:create-from-project}} creates
+    an archetype from an existing project.
+
+  * {{{crawl-mojo.html}archetype:crawl}} search a repository 
+    for archetype and updates a catalog.
+
+  []
+
+
+* Examples
+
+   The following examples show how to use the Archetype Plugin in more advanced 
+   usecases:
+
+   * {{{examples/create-batch.html}create projects in batch mode}}
+
+   * {{{#}create a sub module from an archetype}}
+
+   * {{{#}select the archetype from another catalog}}
+
+  []
+
+
+ * Specification
+ 
+    The specification page contains 
+    {{{specification/specification.html}the specification of the main parts of the Archetype Plugin}}.
+ 
+ 
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-catalog.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-catalog.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-catalog.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-catalog.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,118 @@
+ ------
+ Archetype Catalog
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+How the Archetype Plugin know about archetype?
+
+    Knowledge about archetypes are stored in catalogs.
+
+    The catalogs are xml files.
+
+    The Archetype Plugin comes bundled with an internal catalog. 
+    The one used by default.
+
+    The Archetype Plugin can use catalogs from local filesystem and from HTTP 
+    connexions.
+
+* Catalog file explained
+
+    Catalogs are xml file with such content:
+
++---
+<?xml version="1.0" encoding="UTF-8"?>
+<archetype-catalog>
+  <archetypes>
+    <archetype>
+[1]    <groupId>org.appfuse.archetypes</groupId>
+[2]    <artifactId>appfuse-basic-jsf</artifactId>
+[3]    <version>2.0</version>
+[4]    <repository>http://static.appfuse.org/releases</repository>
+[5]    <description>AppFuse archetype for creating a web application with Hibernate, Spring and JSF</description>
+    </archetype>
+    ...
+  </archetypes>
+</archetype-catalog>
++---
+
+    [[1]] The groupId of the archetype. <<REQUIRED>>
+
+    [[2]] The artifactId of the archetype. <<REQUIRED>>
+
+    [[3]] The version of the archetype. <<<RELEASE>>> is a valid version. <<REQUIRED>>
+
+    [[4]] The repository where to find the archetype. <<OPTIONAL>>. When 
+          ommited, the archetype is searched in the repository where the catalog 
+          comes from.
+
+    [[5]] The description of the archetype. <<OPTIONAL>>
+    
+
+* Archetype selection explained
+
+    During the creation of a project from an archetype, the Archetype Plugin
+    ask the user to choose an archetype from a list containing the archetypes
+    from each of the provided catalogs (Yes there may be many).
+
+    For each archetype in the list the Archetype Plugin shows a line like:
+
++---
+1: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
++---
+
+    * <<<1:>>> The index of the archetype in the aggregated list (starting from 
+      1).
+
+    * <<<internal>>> The name of the catalog where the archetype is originating.
+
+    * <<<appfuse-basic-jsf>>> The artifactId of the archetype
+
+    * <<<(AppFuse archetype...)>>> The description of the archetype as found in 
+      the catalog.
+
+
+* Creating a catalog file
+
+    At the end of the <<<create-from-project>>> behaviour, the Archetype Plugin
+    install/deploy the archetype, and update the local/remote catalog.
+    
+    The <<<crawl-repository>>> mojo is used to create a catalog file by crawling 
+    a Maven 2 repository located in the filesystem. 
+    
+* Location of catalog files
+
+    The Archetype Plugin knows by default its internal catalog. It also know 
+    about the <<<local>>> and <<<remote>>> catalogs. 
+
+    <<<local>>> represents the catalog file <<<~/.m2/archetype-catalog.xml>>>.
+
+    <<<remote>>> represents the catalog file <<<http://repo1.maven.org/maven2/archetype-catalog.xml>>>.
+
+    The Archetype Plugin can also read catalogs from filesystem/HTTP by 
+    providing the path/URL of a catalog file or of a directory contaings the
+    <<<archetype-catalog.xml>>> file.
+    
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-catalog.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-metadata.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-metadata.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-metadata.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-metadata.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,210 @@
+ ------
+ Archetype Metadata
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+How metadata on an archetype is stored?
+
+    The metadata about an archetype is stored in the archetype-metadata.xml file
+    located in the directory META-INF/maven of it's jar file.
+
+    The metadata file stores the additionnal properties, with corresponding 
+    default values.
+
+    It also stores the project's files generation in filesets.
+
+    Finnaly it also stores inner modules of the archetype, which enable the 
+    creation of multi-modules projects with a single archetype.
+
+    A minimal archetype-metadata.xml file looks like:
+
++---
+<?xml version="1.0" encoding="UTF-8"?>
+<archetype-descriptor name="basic">
+  <fileSets>
+    <fileSet filtered="true" packaged="true">
+      <directory>src/main/java</directory>
+      <includes>
+        <include>**/*.java</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</archetype-descriptor>
++---
+
+    This example above shows:
+    
+    * the archetype name is <<<basic>>>
+
+    * the archetype defines a single fileset: 
+    
+      * the fileset will take all the files in archetype-resources/src/main/java
+        that match the <<<**/*.java>>> pattern
+
+      * the selected files will be generated using the velocity engine 
+        (<<<filtered=true>>>)
+
+      * the files will be generated in the src/main/java directory of the 
+        generated project in the same directory as in the jar file, but with 
+        that directory prepended by the package property.
+      
+      []
+
+    []
+
+
+ * Defining additional properties
+
+    The main properties that are used by the velocity engine during project's file generation are groupId, artifactId, version, package.
+
+    It is possible to define additionnal properties that must be valued before the file generation. 
+
+    These additionnal properties can be provided with default values, which enable not to ask the user for there values.
+
+    Additionnal properties are defined in the archetype-metadata.xml file with:
+
++---
+<archetype-descriptor name="basic">
+  <requiredProperties>
+    <requiredProperty key="property-with-default">
+      <defaultValue>default-value</defaultValue>
+    </requiredProperty>
+    <requiredProperty key="property-without-default"/>
+  </requiredProperties>
+...
+</archetype-descriptor>
++---
+    
+    Here two additionnal properties are defined: <<<property-without-default>>>
+    and <<<property-with-default>>>.
+
+    Be aware that the property keys can not contain any dot as there are 
+    velocity properties.
+
+
+* Defining specific filesets
+
+    The filesets contained in the archetype-metadata.xml file defines the way
+    the project's files located in the jar file are used by the Archetype Plugin 
+    to generate a project.
+
+    Filesets must define the directory where the files will be searched for 
+    which is also the directory where the project's files will be generated. 
+    The first is the directory inside the archetype jar file, the second is the 
+    directory in the generated project's tree.
+
+    Filesets also defines the inclusion/exclusion of files "à la " ant. 
+    This provide a powerfull way to describe a large set of files to be selected 
+    for the generation process.
+
+    Filesets can be filtered, which means the selected files will be used 
+    as Velocity templates. They can be non-filtered, which means the selected 
+    files will be binary copied.
+
+    Filesets can be packaged, which means the selected files will be 
+    generated/copied in a directory structure that is prepended by the package 
+    property. They can be non-packaged, which means that the selected files 
+    will be generated/copied without that prepend.
+
+    A fileset is defined in the archetype-metadata.xml with this fragment:
+
++---
+...
+  <fileSets>
+    <fileSet filtered="true" packaged="true">
+      <directory>src/test/java</directory>
+      <includes>
+        <include>**/*.java</include>
+      </includes>
+      <excludes>
+        <excludeAllTest.java</include>
+      </excludes>
+    </fileSet>
+  </fileSets>
+...
++---
+
+    This example shows a fileset that will select all the java files in the 
+    <<<src/test/java>>> directory of the archetype resources, but the 
+    <<<AllTest.java>>> file that is located at the root of this directory.
+
+    This filset also is packaged and filtered.
+
+
+* Defining multi module in the archetype metadata
+
+    Inner modules of an archetype are used to create a multi module Maven 2 
+    project from a single archetype.
+
+    Modules in the archetype-metadata.xml file are defined like:
+
++---
+<archetype-descriptor name="multi-module">
+  <fileSets>
+    ...
+  </fileSets>
+  <modules>
+    <module name="SubProject" id="subproject" dir="sub-project">
+      <fileSets>
+        ...
+      </fileSets>
+    </module>
+  </modules>
+</archetype-descriptor>
++---
+
+    In the example above, the archetype <<<multi-module>>> contains a module 
+    named <<<SubProject>>>. This module is located in the <<<sub-project>>> 
+    directory of the archetype. It also has the artifactId <<<subproject>>>.
+
+    The attributes name, id and dir of the module are used to determine the 
+    directory where togenerated that module files, they also are used to 
+    determine the artifactId of the Maven 2 project corresponding to this 
+    module.
+
+
+* Putting all together
+
+    The <<<requiredProperties>>> is only allowed as a child of 
+    archetype-descriptor.
+
+    Modules are allowed in archetype-descriptor and in modules (no limit is 
+    given).
+
+    archetype-descriptor and modules must define at least one fileset each to 
+    be valid.
+
+    It is possible to define default values to main required properties by 
+    defining say the groupId and giving it a default:
+
++---
+...
+  <requiredProperties>
+    <requiredProperty key="groupId">
+      <defaultValue>com.company.department</defaultValue>
+    </requiredProperty>
++---

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype-metadata.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,90 @@
+ ------
+ Archetype
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+What is an archetype?
+
+* A Maven 2 project 'en devenir'  
+
+    I.e. a abstract representation of a kind of project 
+    that can be instanciated into a concrete customised 
+    Maven 2 project. 
+
+    An archetype knows which files will be part of the 
+    instanciated project and which properties to fill 
+    to properly customise the project. 
+ 
+    Each archetype defines a set of common properties: 
+
+    * groupId which will be the groupId of the project 
+
+    * artifactId which will be the artifactId of the project 
+
+    * version which will be the version of the project 
+
+    * package which will be the base package of all source files of the project
+
+    []
+
+
+
+* A jar file
+
+    The minimal content of the jar file: 
+
++---
+.
+|-- META-INF
+|   `-- maven
+|       `-- archetype-metadata.xml  [1]
+`-- archetype-resources
+    |-- ...                         [2]
+    `-- pom.xml                     [3]
++---
+
+    [[1]] The metadata file that defines:  
+
+        * the default values of the common properties, 
+
+        * a set of additional properties with their default values, 
+
+        * a set of archetype resources;
+        
+        []
+
+    [[2]] The resources files defined by the archetype metadata,
+
+    [[3]] The pom file of a Maven 2 project.
+
+    []
+
+
+* Note
+
+    The common properties should be renamed to ${target.groupId}, ...
+    to avoid name clash.
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/archetype.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/crawl-repository.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/crawl-repository.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/crawl-repository.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/crawl-repository.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,53 @@
+ ------
+ Crawl Repository
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+How archetype lists are created?
+
+~~TODO: add content
+
++---
+
+Component that parse an FS repository  
+
+ 
+
+ for each artifact **/*.pom and for each associated jar 
+
+ check the presence of metadata descriptor 
+
+ and add it in the xml descriptor 
+
+ 
+
+ in : repository directory, desired repository URL (may be local) 
+
+ out : ArchetypeCatalog
+
+
++---
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/crawl-repository.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/create-from-project.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/create-from-project.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/create-from-project.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/create-from-project.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,100 @@
+ ------
+ Create an Archetype from a Project
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+What is done during the creation of an archetype?
+
+~~TODO: add content
+
++---
+
+How to create an archetype?
+    The simple way: 
+
+ mvn archetype:createFromProject
+    Configuring the plugin
+        -Darchetype.languages
+        -Darchetype.filteredExtensions
+        -Darchetype.phase=(package|install|deploy)
+        -Dpackage
+        -Darchetype.propertyFile
+        configuring the post generation goals and their associated properties
+        should be possible to configure the most of the plugin using a property file for automation
+    Beeing behind a proxy is automatically configured by Maven
+    Actual configuration 
+
+ @parameter default-value="false" boolean interactive; 
+
+ @parameter expression="${archetype.filteredExtentions}" String archetypeFilteredExtentions; 
+
+ @parameter expression="${archetype.languages}" String archetypeLanguages; 
+
+ @parameter expression="${user.home}/.m2/archetype.xml" File archetypeRegistryFile; 
+
+ @parameter default-value="UTF-8" expression="${archetype.encoding}" String defaultEncoding; 
+
+ @parameter expression="${archetype.ignoreReplica}" boolean ignoreReplica = true; 
+
+ @parameter expression="${archetype.partialArchetype}" boolean partialArchetype = false; 
+
+ @parameter expression="${archetype.preserveCData}" boolean preserveCData = false; 
+
+ @parameter expression="${localRepository}" ArtifactRepository localRepository; 
+
+ @parameter expression="${archetype.keepParent}" boolean keepParent = true; 
+
+ @parameter expression="${project}" MavenProject project; 
+
+ @parameter default-value="target/archetype.properties" expression="${archetype.properties}" File propertyFile; 
+
+ @parameter expression="${basedir}/target" File outputDirectory; 
+
+ @parameter expression="${testMode}" boolean testMode;
+
++---
+
++---
+3 ways to call cfp:
+  basic way: create the archetype from project in target/generated-sources/archetype/
+	and package archetype jar in target/
+  install way: same as basic plus copy the archetype jar in local repository
+	and update the local catalog
+  deploy way: same as install plus deploy the archetype jar in known deployment repository
+	and update the known deployment repository catalog
+    updating a local catalog:
+load the local catalog and construct a catalog
+  if the archetype is not in local catalog
+	=> add it
+  else if the archetype is newer than in local catalog
+	=> change the version and repository in local
+  else there is a problem because we install an older version
+    updating a remote catalog:
+dowload the remote catalog and construct a memory catalog
+same as for the local updating
+upload the modified catalog
++---

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/create-from-project.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/generate.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/generate.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/generate.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/generate.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,108 @@
+ ------
+ Create a Project from an Archetype
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+What is done during the creation of a project?
+
+* Archetype selection 
+
+    First the Archetype Plugin ask the user to select an archetype from a list
+    of known archetypes. Archetypes are known using archetype catalogs.
+
+* Archetype configuration
+
+    Then the Archetype Plugin ask the user to provide values for each of the 
+    four main required properties. Which are the project's groupId, artifactId,
+    version and package. 
+
+    It also ask for values of the additional required properties defined in the
+    archetype's metadata file.
+
+* Project generation
+
+    Finally, the Archetype Plugin generates the Maven 2 project from the 
+    selected/configured archetype.
+
+    The archetype used to generate the project can be mono or multi module.
+
+    The archetype used to generate the project can be partial, which means it 
+    enhance an existing project instead of creating a new one.
+
+    If the Archetype Plugin is called from an existing project, using an 
+    complete (not partial) archetype, then it generates a sub module in the 
+    existing project.
+
+* Batch mode
+
+    It is possible to call the Archetype Plugin to generate project in batch 
+    mode (to get rid of the prompting). This is achieved by providing the 
+    Archetype Plugin with all the needed values as system properties.
+
+    * <<<archetypeCatalog>>> which defaults to internal specifies the catalog(s)
+       The valid catalogs are: internal (the default), local, remote, file://path, http://url. 
+
+       * <<<internal>>> uses an internal catalog 
+
+       * <<<local>>> uses the ~/.m2/archetype-catalog.xml file 
+
+       * <<<remote>>> uses the http://repo1.maven.org/maven2/archetype-catalog.xml 
+         file 
+
+       * <<<file://path>>> uses the catalog file defined by path (or the 
+         archetype-catalog.xml file located in path directory) 
+
+       * <<<http://url>>> uses the catalog file defined by url (or the 
+         archetype-catalog.xml file located in url web directory)
+
+       []
+  
+    * <<<archetypeGroupId>>> specifies the groupId of the archetype to use
+  
+    * <<<archetypeArtifactId>>> specifies the artifactId of the archetype to use
+  
+    * <<<archetypeVersion>>> specifies the version of the archetype to use
+  
+    * <<<archetypeRepository>>> specifies the repository in which the archetype
+      reside
+  
+    * <<<groupId>>> specifies the groupId of the generated project
+  
+    * <<<artifactId>>> specifies the artifactId of the generated project
+  
+    * <<<version>>> specifies the version of the generated project
+  
+    * <<<package>>> specifies the package for the sources of the generated 
+      project
+  
+    * <<<anotherVelocityProperty>>> specifies any other required property
+
+    []
+
+* Behind a Proxy
+
+    Beeing behind a proxy is automatically configured by Maven

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/generate.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/specification.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/specification.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/specification.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/specification.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,49 @@
+ ------
+ Specification
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+Specification
+
+    The Specification of the Archetype Plugin aims to answer to the following 
+    questions:
+
+    * {{{archetype.html}What is an archetype?}}
+
+    * {{{archetype-metadata.html}How metadata on an archetype is stored?}}
+
+    * {{{generate.html}What is done during the creation of a project?}}
+
+    * {{{archetype-catalog.html}How the Archetype Plugin know about archetype?}}
+
+~~    * {{{create-from-project.html}What is done during the creation of an archetype?}}
+~~
+~~    * {{{update-catalog.html}How the Archetype Plugin know about new archetypes?}}
+~~
+~~    * {{{crawl-repository.html}How archetype lists are created?}}
+    
+    []
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/specification.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/update-catalog.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/specification/update-catalog.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/specification/update-catalog.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/specification/update-catalog.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,131 @@
+ ------
+ Update local and remote Catalog
+ ------
+ Raphaël Piéroni
+ ------
+ 10 February 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+How the Archetype Plugin know about new archetypes?
+
+~~TODO: add content
++---
+Creation/Deployment behaviour
+    5. archetype developer using local version 
+
+ 
+
+ archetype created using archetpe:create-from-project -Darchetype.phase=install 
+
+ the newly created archetype is copied in teh local repository 
+
+ and the archetype-catalog.xml file located at the root of the repository is updated with the archetype information 
+
+ 
+
+ when using in archetype:create -Darchetype.catalog=local 
+
+ the archetype must be specified using -Darchetype.groupId, -Darchetype.artifactId 
+
+ only the local repository is used and the LATEST version in it is used 
+
+ or selected with -Darchetype.selectVersion 
+
+ or specified with -Darchetype.version
+        configuration behaviour 
+
+ returns an incomplete creation request
+            determine archetype's groupId, artifactId, version 
+
+ -> defaults to resolve, overriden by property file, overriden by -D 
+
+ resolve package using (-Dlanguages languages can be found in property file instead) 
+
+ -> defaults to resolve, overriden by property file, overriden by -D 
+
+ determine additional properties 
+
+ -> ask if interactive, overridden by property file only
+        creation behaviour 
+
+ post creation goals (package/install/deploy)
+            determine filesets using: 
+
+ -> package, languages, filtereds, multi-module 
+
+ determine pom rewriting using: 
+
+ -> keepParent, addtional properties 
+
+ create archetype files using: 
+
+ -> package, common properties, additional properties 
+
+ create archetype's metadata file 
+
+ create archetype's pom using 
+
+ -> archetype's id, copying devs, licnese, ... AND deploymentManagement
+    6. archetype developer deployment the archetype 
+
+ 
+
+ archetype create using archetype:create-from-project -Darchetype.phase=deploy 
+
+ 
+
+ the deployment url used is taken from the initial project 
+
+ credentials are automatically configured by Maven 
+
+ the catalog file is located at the root of the repository URL and is named archetype-catalog.xml 
+
+ 
+
+ the deployment url and credentials could be overrided to use staging repositories, but how? 
+
+ 
+
+ proxies are automatically configured by Maven 
+
+ 
+
+ synchronisation between repositories of catalog files is easy as they don't define any repository URL
+        deployment credentials:
+            initialPom.deploymentManagement 
+
+ -> remote URL or remote snapshot URL 
+
+ settings.servers
+        deployment artifact:
+            initialPom.groupId or archetype.groupId in property file or in -D 
+
+ initialPom.artifactId +'-archetype' or archetype.artifactId in property file or in -D 
+
+ initialPom.version or archetype.version in property file or in -D
+        deployment metadata:
+            deploy vesions metadata as any artifact 
+
+ use deploymentManagement to update remote catalog
++---
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/specification/update-catalog.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/apt/usage.apt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/apt/usage.apt?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/apt/usage.apt (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/apt/usage.apt Mon Feb 25 15:07:10 2008
@@ -0,0 +1,172 @@
+ ------
+ Usage
+ ------
+ Raphaël Piéroni
+ ------
+ 25 January 2008
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+
+Projet creation
+
+    Creating a project from an archetype involves three steps:
+
+    * the selection of the archetype,
+
+    * the configuration of that archetype,
+
+    * the effective creation of the project from the collected information.
+
+    []
+
+Usage
+
+   Calling <<<archetype:generate>>> the plugin will first ask to choose
+   the archetype from the internal catalog. Just enter the number of the archetype.
+
+   It then ask to enter the values for the groupId, the artifactId
+   and the version of the project to create and the basic package 
+   for the sources.
+
+   It then ask for the confirmation of the configuration and perform 
+   the creation of the project.
+
+   In the following example, we selected the quickstart archetype (numbered 15)
+   and set <<<groupId>>> to <<<com.company>>>, <<<artifactId>>> to <<<project>>>,
+   <<<version>>> to <<<1.0>>> and <<<package>>> to <<<com.company.project>>>.
+
++---
+$ mvn archetype:generate
+[INFO] Scanning for projects...
+[INFO] Searching repository for plugin with prefix: 'archetype'.
+[INFO] ------------------------------------------------------------------------
+[INFO] Building Maven Default Project
+[INFO]    task-segment: [archetype:create] (aggregator-style)
+[INFO] ------------------------------------------------------------------------
+[INFO] Preparing archetype:generate
+[INFO] No goals needed for project - skipping
+[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
+[INFO] Setting property: velocimacro.messages.on => 'false'.
+[INFO] Setting property: resource.loader => 'classpath'.
+[INFO] Setting property: resource.manager.logwhenfound => 'false'.
+[INFO] [archetype:generate]
+Choose archetype:
+1: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
+2: internal -> appfuse-basic-spring (AppFuse archetype for creating a web application with Hibernate, Spring and Spring MVC)
+3: internal -> appfuse-basic-struts (AppFuse archetype for creating a web application with Hibernate, Spring and Struts 2)
+4: internal -> appfuse-basic-tapestry (AppFuse archetype for creating a web application with Hibernate, Spring and Tapestry 4)
+5: internal -> appfuse-core (AppFuse archetype for creating a jar application with Hibernate and Spring and XFire)
+6: internal -> appfuse-modular-jsf (AppFuse archetype for creating a modular application with Hibernate, Spring and JSF)
+7: internal -> appfuse-modular-spring (AppFuse archetype for creating a modular application with Hibernate, Spring and Spring MVC)
+8: internal -> appfuse-modular-struts (AppFuse archetype for creating a modular application with Hibernate, Spring and Struts 2)
+9: internal -> appfuse-modular-tapestry (AppFuse archetype for creating a modular application with Hibernate, Spring and Tapestry 4)
+10: internal -> maven-archetype-j2ee-simple (A simple J2EE Java application)
+11: internal -> maven-archetype-marmalade-mojo (A Maven plugin development project using marmalade)
+12: internal -> maven-archetype-mojo (A Maven Java plugin development project)
+13: internal -> maven-archetype-portlet (A simple portlet application)
+14: internal -> maven-archetype-profiles ()
+15: internal -> maven-archetype-quickstart ()
+16: internal -> maven-archetype-site-simple (A simple site generation project)
+17: internal -> maven-archetype-site (A more complex site project)
+18: internal -> maven-archetype-webapp (A simple Java web application)
+19: internal -> struts2-archetype-starter (A starter Struts 2 application with Sitemesh, DWR, and Spring)
+20: internal -> struts2-archetype-blank (A minimal Struts 2 application)
+21: internal -> struts2-archetype-portlet (A minimal Struts 2 application that can be deployed as a portlet)
+22: internal -> struts2-archetype-dbportlet (A starter Struts 2 portlet that demonstrates a simple CRUD interface with db backing)
+23: internal -> struts2-archetype-plugin (A Struts 2 plugin)
+24: internal -> shale-archetype-blank (A blank Shale web application with JSF)
+25: internal -> maven-adf-archetype (Archetype to ease the burden of creating a new application based with ADF)
+26: internal -> data-app (A new Databinder application with sources and resources.)
+27: internal -> jini-service-archetype (Archetype for Jini service project creation)
+28: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype)
+29: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (no persistence) Archetype)
+30: internal -> softeu-archetype-jsf (JSF+Facelets Archetype)
+31: internal -> jpa-maven-archetype (JPA application)
+32: internal -> spring-osgi-bundle-archetype (Spring-OSGi archetype)
+33: internal -> confluence-plugin-archetype (Atlassian Confluence plugin archetype)
+34: internal -> maven-archetype-har (Hibernate Archive)
+35: internal -> maven-archetype-sar (JBoss Service Archive)
+36: internal -> wicket-archetype-quickstart (A simple Apache Wicket project)
+Choose a number:  (1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36): 15
+[INFO] artifact org.apache.maven.archetypes:maven-archetype-quickstart: checking for updates from maven-archetype-quickstart-repo
+Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar
+4K downloaded
+Define value for groupId: : com.company 
+Define value for artifactId: : project
+Define value for version: : 1.0
+Define value for package: : com.company.project
+Confirm properties configuration:
+groupId: com.company
+artifactId: project
+version: 1.0
+package: com.company.project
+ Y: : 
+[INFO] ----------------------------------------------------------------------------
+[INFO] Using following parameters for creating OldArchetype: maven-archetype-quickstart:RELEASE
+[INFO] ----------------------------------------------------------------------------
+[INFO] Parameter: groupId, Value: com.company
+[INFO] Parameter: packageName, Value: com.company.project
+[INFO] Parameter: package, Value: com.company.project
+[INFO] Parameter: artifactId, Value: project
+[INFO] Parameter: basedir, Value: /home/local/rafale/projects/tmp
+[INFO] Parameter: version, Value: 1.0
+[INFO] ********************* End of debug info from resources from generated POM ***********************
+[INFO] OldArchetype created in dir: /home/local/rafale/projects/tmp/project
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 54 seconds
+[INFO] Finished at: Fri Jan 25 23:01:01 GMT 2008
+[INFO] Final Memory: 10M/25M
+[INFO] ------------------------------------------------------------------------
++---
+
+   Here's the resulting tree of the created project
+
++---
+$ tree project
+project
+|-- pom.xml
+`-- src
+    |-- main
+    |   `-- java
+    |       `-- com
+    |           `-- company
+    |               `-- project
+    |                   `-- App.java
+    `-- test
+        `-- java
+            `-- com
+                `-- company
+                    `-- project
+                        `-- AppTest.java
+
+11 directories, 3 files
++---
+
+Backward compatibility
+
+    For backward compatibility with the Archetype Plugin version 1.0-alpha-7,
+    we keeped the old create goal which can be called using 
+    <<<mvn archetype:create>>>. See {{{#}the old documentation}} for further 
+    reading.
\ No newline at end of file

Propchange: maven/archetype/trunk/archetype-plugin/src/site/apt/usage.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/archetype/trunk/archetype-plugin/src/site/site.xml
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/site/site.xml?rev=631032&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/site/site.xml (added)
+++ maven/archetype/trunk/archetype-plugin/src/site/site.xml Mon Feb 25 15:07:10 2008
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 name="Maven Archetype Plugin">
+  <bannerLeft>
+    <name>Maven Archetype Plugin</name>
+    <src>http://maven.apache.org/images/apache-maven-project-2.png</src>
+    <href>http://maven.apache.org/</href>
+  </bannerLeft>
+  <bannerRight>
+    <src>http://maven.apache.org/images/maven-logo-2.gif</src>
+  </bannerRight>
+  <skin>
+    <groupId>org.apache.maven.skins</groupId>
+    <artifactId>maven-stylus-skin</artifactId>
+  </skin>
+  <publishDate format="dd MMM yyyy" position="left" />
+  <version position="left" />
+  <body>
+    <links>
+      <item name="Apache" href="http://www.apache.org/"/>
+      <item name="Maven 1.x" href="http://maven.apache.org/maven-1.x"/>
+      <item name="Maven 2.x" href="http://maven.apache.org/"/>
+      <item name="Maven 2.x Plugins" href="http://maven.apache.org/plugins/"/>
+      <item name="Continuum" href="http://maven.apache.org/continuum"/>
+      <item name="SCM" href="http://maven.apache.org/scm"/>
+      <item name="Wagon" href="http://maven.apache.org/wagon"/>
+      <item name="JXR" href="http://maven.apache.org/jxr"/>
+      <item name="Doxia" href="http://maven.apache.org/doxia"/>
+    </links>
+
+    <menu name="Overview">
+      <item name="Introduction" href="/index.html"/>
+      <item name="Usage" href="/usage.html"/>
+      <item name="Advanced Usage" href="/advanced-usage.html"/>
+      <item name="Goals" href="/plugin-info.html"/>      
+      <!--item name="FAQ" href="faq.html"/-->
+      <item name="Specification" href="/specification/specification.html"/>
+    </menu>
+    
+    <!--menu name="Examples">
+      <item name="Specifying the Remote Repositories" href="/examples/remote-repositories.html"/>
+      <item name="Creating a Simple Java Application" href="/examples/simple.html"/>
+	  <item name="Creating a Site" href="/examples/site.html"/>
+      <item name="Creating a Simple j2ee Project" href="/examples/j2ee-simple.html"/>
+	  <item name="Creating a Webapp" href="/examples/webapp.html"/>
+	  <item name="Creating a Portlet" href="/examples/portlet.html"/>
+      <item name="Creating a Mojo" href="/examples/mojo.html"/>
+	  <item name="Creating your own Archetype" href="/examples/archetype.html"/>
+    </menu-->
+    
+    <!--menu name="Specification">
+      <item name="Introduction to archetype plugin" href="./main.html"/>
+      <item name="What are archetypes ?" href="./archetypes.html"/>
+      <item name="Project Generation" href="./generation.html"/>
+      <item name="Archetype Creation" href="./creation.html"/>
+      <item name="Handcrafting archetypes" href="./archetype-handcraft.html"/>
+      <item name="Mojos of the plugin" href="./mojos.html"/>
+      <item name="Desing of the archetype plugin" href="./design.html"/>
+    </menu-->
+    
+    <menu ref="reports"/>
+  </body>
+</project>

Propchange: maven/archetype/trunk/archetype-plugin/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native