diff --git a/archetype-common/pom.xml b/archetype-common/pom.xml
index b5e6907..0bfac08 100644
--- a/archetype-common/pom.xml
+++ b/archetype-common/pom.xml
@@ -1,33 +1,11 @@
-<?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
-  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">
+<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.apache.maven.archetype</groupId>
     <artifactId>maven-archetype</artifactId>
-    <version>2.0-SNAPSHOT</version>
+    <version>2.0-alpha-1</version>
   </parent>
   <artifactId>archetype-common</artifactId>
   <name>Maven Archetype Common</name>
@@ -273,18 +251,16 @@
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
-                <property name="test.projects.name" value="basic"></property>
-                <property name="test.projects.version" value="1.0"></property>
-                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}"></property>
-                <property name="test.projects.source.directory" value="${test.projects.archetype}"></property>
-                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}"></property>
-                <property name="test.projects.repository" value="repositories/central"></property>
+                <property name="test.projects.name" value="basic" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
 
-                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/"></mkdir>
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
 
-                <jar
-                  destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar"
-                  basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/"></jar>
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
               </tasks>
             </configuration>
             <goals>
@@ -297,17 +273,15 @@
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
-                <property name="test.projects.name" value="partial"></property>
-                <property name="test.projects.version" value="1.0"></property>
-                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}"></property>
-                <property name="test.projects.source.directory" value="${test.projects.archetype}"></property>
-                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}"></property>
-                <property name="test.projects.repository" value="repositories/central"></property>
-                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/"></mkdir>
+                <property name="test.projects.name" value="partial" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
 
-                <jar
-                  destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar"
-                  basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/"></jar>
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
               </tasks>
             </configuration>
             <goals>
@@ -320,18 +294,16 @@
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
-                <property name="test.projects.name" value="site"></property>
-                <property name="test.projects.version" value="1.0"></property>
-                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}"></property>
-                <property name="test.projects.source.directory" value="${test.projects.archetype}"></property>
-                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}"></property>
-                <property name="test.projects.repository" value="repositories/central"></property>
+                <property name="test.projects.name" value="site" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
 
-                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/"></mkdir>
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
 
-                <jar
-                  destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar"
-                  basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/"></jar>
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
               </tasks>
             </configuration>
             <goals>
@@ -344,18 +316,16 @@
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
-                <property name="test.projects.name" value="old"></property>
-                <property name="test.projects.version" value="1.0"></property>
-                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}"></property>
-                <property name="test.projects.source.directory" value="${test.projects.archetype}"></property>
-                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}"></property>
-                <property name="test.projects.repository" value="repositories/central"></property>
+                <property name="test.projects.name" value="old" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
 
-                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/"></mkdir>
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
 
-                <jar
-                  destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar"
-                  basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/"></jar>
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
               </tasks>
             </configuration>
             <goals>
@@ -368,18 +338,16 @@
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
-                <property name="test.projects.name" value="fileset"></property>
-                <property name="test.projects.version" value="1.0"></property>
-                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}"></property>
-                <property name="test.projects.source.directory" value="${test.projects.archetype}"></property>
-                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}"></property>
-                <property name="test.projects.repository" value="repositories/central"></property>
+                <property name="test.projects.name" value="fileset" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
 
-                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/"></mkdir>
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
 
-                <jar
-                  destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar"
-                  basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/"></jar>
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
               </tasks>
             </configuration>
             <goals>
@@ -392,11 +360,11 @@
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
-                <property name="test.projects.source.directory" value="${test.projects.archetype}"></property>
-                <property name="test.projects.target.directory" value="archetypes"></property>
-                <property name="test.projects.repository" value="repositories/central"></property>
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes" />
+                <property name="test.projects.repository" value="repositories/central" />
 
-                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}"></mkdir>
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}" />
               </tasks>
             </configuration>
             <goals>
@@ -446,4 +414,4 @@
           </build>          
       </profile>
   </profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/archetype-packaging/pom.xml b/archetype-packaging/pom.xml
index 4530c8d..05fb318 100644
--- a/archetype-packaging/pom.xml
+++ b/archetype-packaging/pom.xml
@@ -1,33 +1,11 @@
-<?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
-    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">
+<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.apache.maven.archetype</groupId>
     <artifactId>maven-archetype</artifactId>
-    <version>2.0-SNAPSHOT</version>
+    <version>2.0-alpha-1</version>
   </parent>
 
   <artifactId>archetype-packaging</artifactId>
@@ -42,4 +20,4 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
-</project>
+</project>
\ No newline at end of file
diff --git a/archetype-plugin/pom.xml b/archetype-plugin/pom.xml
index c50375c..90e12ed 100644
--- a/archetype-plugin/pom.xml
+++ b/archetype-plugin/pom.xml
@@ -1,97 +1,75 @@
-<?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
-    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.apache.maven.archetype</groupId>
-    <artifactId>maven-archetype</artifactId>
-    <version>2.0-SNAPSHOT</version>
-  </parent>
-
-  <!--
-    The purpose of having groupId different from other
-    modules is to call mvn archetype:*
-    w/out the need to add a plugin group in settings
-  -->
-  <groupId>org.apache.maven.plugins</groupId>
-  <artifactId>maven-archetype-plugin</artifactId>
-
-  <name>Maven Archetype Plugin</name>
-  <packaging>maven-plugin</packaging>
-
-  <prerequisites>
-    <maven>2.0.7</maven>
-  </prerequisites>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.archetype</groupId>
-      <artifactId>archetype-common</artifactId>
-      <version>2.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.shared</groupId>
-      <artifactId>maven-invoker</artifactId>
-      <version>2.0.6</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plugin-plugin</artifactId>
-        <configuration>
-          <goalPrefix>archetype</goalPrefix>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plugin-plugin</artifactId>
-        <version>2.2</version>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-    </plugins>
-  </reporting>
-</project>
+<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.apache.maven.archetype</groupId>
+    <artifactId>maven-archetype</artifactId>
+    <version>2.0-alpha-1</version>
+  </parent>
+
+  <!--
+    The purpose of having groupId different from other
+    modules is to call mvn archetype:*
+    w/out the need to add a plugin group in settings
+  -->
+  <groupId>org.apache.maven.plugins</groupId>
+  <artifactId>maven-archetype-plugin</artifactId>
+
+  <name>Maven Archetype Plugin</name>
+  <packaging>maven-plugin</packaging>
+
+  <prerequisites>
+    <maven>2.0.7</maven>
+  </prerequisites>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.archetype</groupId>
+      <artifactId>archetype-common</artifactId>
+      <version>2.0-alpha-1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-invoker</artifactId>
+      <version>2.0.6</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-plugin-plugin</artifactId>
+        <configuration>
+          <goalPrefix>archetype</goalPrefix>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-plugin-plugin</artifactId>
+        <version>2.2</version>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>report</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>
\ No newline at end of file
diff --git a/archetype-testing/archetype-proxy/pom.xml b/archetype-testing/archetype-proxy/pom.xml
index 45dc9d8..c4c7c8d 100644
--- a/archetype-testing/archetype-proxy/pom.xml
+++ b/archetype-testing/archetype-proxy/pom.xml
@@ -1,33 +1,11 @@
-<?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
-    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">
+<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>
     <artifactId>archetype-testing</artifactId>
     <groupId>org.apache.maven.archetype</groupId>
-    <version>2.0-SNAPSHOT</version>
+    <version>2.0-alpha-1</version>
   </parent>
 
   <artifactId>archetype-proxy</artifactId>
@@ -85,4 +63,4 @@
       </plugin>
     </plugins>
   </build>
-</project>
+</project>
\ No newline at end of file
diff --git a/archetype-testing/archetype-repository/pom.xml b/archetype-testing/archetype-repository/pom.xml
index ab77545..26859c5 100644
--- a/archetype-testing/archetype-repository/pom.xml
+++ b/archetype-testing/archetype-repository/pom.xml
@@ -1,33 +1,11 @@
-<?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
-    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">
+<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>
     <artifactId>archetype-testing</artifactId>
     <groupId>org.apache.maven.archetype</groupId>
-    <version>2.0-SNAPSHOT</version>
+    <version>2.0-alpha-1</version>
   </parent>
 
   <artifactId>archetype-repository</artifactId>
@@ -91,4 +69,4 @@
       </plugin>
     </plugins>
   </build>
-</project>
+</project>
\ No newline at end of file
diff --git a/archetype-testing/pom.xml b/archetype-testing/pom.xml
index a171761..9e82261 100644
--- a/archetype-testing/pom.xml
+++ b/archetype-testing/pom.xml
@@ -1,33 +1,11 @@
-<?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
-    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">
+<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>
     <artifactId>maven-archetype</artifactId>
     <groupId>org.apache.maven.archetype</groupId>
-    <version>2.0-SNAPSHOT</version>
+    <version>2.0-alpha-1</version>
   </parent>
 
   <artifactId>archetype-testing</artifactId>
diff --git a/pom.xml b/pom.xml
index f1723fa..8bd27db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,421 +1,401 @@
-<?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 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.apache.maven</groupId>
-        <artifactId>maven-parent</artifactId>
-        <version>7</version>
-        <relativePath>../pom/maven/pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.maven.archetype</groupId>
-    <artifactId>maven-archetype</artifactId>
-    <version>2.0-SNAPSHOT</version>
-
-    <name>Maven Archetype</name>
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>archetype-testing</module>
-        <module>archetype-common</module>
-        <module>archetype-plugin</module>
-        <module>archetype-packaging</module>
-    </modules>
-
-    <properties>
-        <netbeans.hint.useExternalMaven>true</netbeans.hint.useExternalMaven>
-    </properties>
-
-    <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>
-    <issueManagement>
-        <system>jira</system>
-        <url>http://jira.codehaus.org/browse/ARCHETYPE</url>
-    </issueManagement>
-    <inceptionYear>2007</inceptionYear>
-
-    <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 />
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <reportSets>
-                    <reportSet />
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <reportSets>
-                    <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 />
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <reportSets>
-                    <reportSet />
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.maven.archetype</groupId>
-                <artifactId>archetype-common</artifactId>
-                <version>2.0-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-plugin-api</artifactId>
-                <version>${mavenVersion}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-model</artifactId>
-                <version>${mavenVersion}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-utils</artifactId>
-                <version>1.4.6</version>
-            </dependency>
-            <dependency>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-interactivity-api</artifactId>
-                <version>1.0-alpha-5</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>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>
-            <dependency>
-                <groupId>net.sourceforge.jchardet</groupId>
-                <artifactId>jchardet</artifactId>
-                <version>1.0</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-collections</groupId>
-                <artifactId>commons-collections</artifactId>
-                <version>3.2</version>
-            </dependency>
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>3.8.1</version>
-                <scope>test</scope>
-            </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>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-file</artifactId>
-                <version>1.0-alpha-6</version>
-                <scope>test</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-    <profiles>
-        <profile>
-            <id>maven2.0</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <properties>
-                <mavenVersion>2.0.8</mavenVersion>
-            </properties>
-            <dependencyManagement>
-                <dependencies>                    
-                    <dependency>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-project</artifactId>
-                        <version>${mavenVersion}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-core</artifactId>
-                        <version>${mavenVersion}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.codehaus.plexus</groupId>
-                        <artifactId>plexus-container-default</artifactId>
-                        <version>1.0-alpha-9-stable-1</version>
-                    </dependency>
-                </dependencies>
-            </dependencyManagement>
-        </profile>
-        <profile>
-            <id>maven2.1</id>
-            <properties>
-                <mavenVersion>2.1-SNAPSHOT</mavenVersion>
-            </properties>
-            <dependencyManagement>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-plugin-api</artifactId>
-                        <version>${mavenVersion}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-model</artifactId>
-                        <version>${mavenVersion}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-project</artifactId>
-                        <version>${mavenVersion}</version>
-                        <exclusions>
-                            <exclusion>
-                                <groupId>org.apache.maven</groupId>
-                                <artifactId>maven-artifact</artifactId>
-                            </exclusion>
-                            <exclusion>
-                                <groupId>org.apache.maven</groupId>
-                                <artifactId>maven-artifact-manager</artifactId>
-                            </exclusion>
-                        </exclusions>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-core</artifactId>
-                        <version>${mavenVersion}</version>
-                        <exclusions>
-                            <exclusion>
-                                <groupId>org.apache.maven</groupId>
-                                <artifactId>maven-artifact</artifactId>
-                            </exclusion>
-                            <exclusion>
-                                <groupId>org.apache.maven</groupId>
-                                <artifactId>maven-artifact-manager</artifactId>
-                            </exclusion>
-                        </exclusions>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.apache.maven.artifact</groupId>
-                        <artifactId>maven-artifact</artifactId>
-                        <version>3.0-SNAPSHOT</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.codehaus.plexus</groupId>
-                        <artifactId>plexus-container-default</artifactId>
-                        <version>1.0-alpha-40</version>
-                    </dependency>
-                </dependencies>
-            </dependencyManagement>
-        </profile>
-    </profiles> 
-
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/maven/archetype/trunk</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/archetype/trunk</developerConnection>
-        <url>http://svn.apache.org/viewcvs.cgi/maven/archetype/trunk</url>
-    </scm>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <artifactId>maven-release-plugin</artifactId>
-                    <configuration>
-                        <tagBase>https://svn.apache.org/repos/asf/maven/archetype/tags</tagBase>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.3</version>
-                </plugin>  
-                <plugin>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <version>2.2</version>
-                </plugin>  
-                <plugin>
-                    <artifactId>maven-gpg-plugin</artifactId>
-                    <version>1.0-alpha-4</version>
-                </plugin>  
-                <plugin>
-                    <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>2.3</version>
-                </plugin>  
-                <plugin>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.3</version>
-                </plugin> 
-                <plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>2.0.2</version>
-                </plugin>        
-                <plugin>
-                    <artifactId>maven-install-plugin</artifactId>
-                    <version>2.2</version>
-                </plugin>              
-                <plugin>
-                    <artifactId>maven-site-plugin</artifactId>
-                    <version>2.0-beta-6</version>
-                </plugin>              
-                <plugin>
-                    <artifactId>maven-source-plugin</artifactId>
-                    <version>2.0.3</version>
-                </plugin>   
-                <plugin>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <version>2.2</version>
-                </plugin>       
-                <plugin>
-                    <artifactId>maven-war-plugin</artifactId>
-                    <version>2.1-alpha-1</version>
-                </plugin>       
-                <plugin>
-                    <artifactId>maven-antrun-plugin</artifactId>
-                    <version>1.1</version>
-                </plugin>      
-                <plugin>
-                    <artifactId>maven-dependency-plugin</artifactId>
-                    <version>2.0</version>
-                </plugin> 
-                <plugin>
-                    <artifactId>maven-plugin-plugin</artifactId>
-                    <version>2.3</version>
-                </plugin>                   
-                <plugin>
-                    <groupId>org.mortbay.jetty</groupId>
-                    <artifactId>maven-jetty-plugin</artifactId>
-                    <version>6.1.6</version>
-                </plugin>                   
-            </plugins>
-        </pluginManagement>
-        <plugins>
-            <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.4</source>
-                    <target>1.4</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-maven-plugin</artifactId>
-                <version>1.3.5</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>descriptor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <!--<plugin>
-            <artifactId>maven-enforcer-plugin</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>enforce</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <rules>
-                <requirePluginVersions>
-                  <banSnapshots>false</banSnapshots>
-                </requirePluginVersions>
-              </rules>
-            </configuration>
-          </plugin>-->
-        </plugins>
-    </build>
-</project>
+<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.apache.maven</groupId>
+        <artifactId>maven-parent</artifactId>
+        <version>7</version>
+        <relativePath>../pom/maven/pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.apache.maven.archetype</groupId>
+    <artifactId>maven-archetype</artifactId>
+    <version>2.0-alpha-1</version>
+
+    <name>Maven Archetype</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>archetype-testing</module>
+        <module>archetype-common</module>
+        <module>archetype-plugin</module>
+        <module>archetype-packaging</module>
+    </modules>
+
+    <properties>
+        <netbeans.hint.useExternalMaven>true</netbeans.hint.useExternalMaven>
+    </properties>
+
+    <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>
+    <issueManagement>
+        <system>jira</system>
+        <url>http://jira.codehaus.org/browse/ARCHETYPE</url>
+    </issueManagement>
+    <inceptionYear>2007</inceptionYear>
+
+    <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 />
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <reportSets>
+                    <reportSet />
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>cobertura-maven-plugin</artifactId>
+                <reportSets>
+                    <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 />
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                <reportSets>
+                    <reportSet />
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.maven.archetype</groupId>
+                <artifactId>archetype-common</artifactId>
+                <version>2.0-alpha-1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-plugin-api</artifactId>
+                <version>${mavenVersion}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-model</artifactId>
+                <version>${mavenVersion}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-utils</artifactId>
+                <version>1.4.6</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-interactivity-api</artifactId>
+                <version>1.0-alpha-5</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>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>
+            <dependency>
+                <groupId>net.sourceforge.jchardet</groupId>
+                <artifactId>jchardet</artifactId>
+                <version>1.0</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-collections</groupId>
+                <artifactId>commons-collections</artifactId>
+                <version>3.2</version>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>3.8.1</version>
+                <scope>test</scope>
+            </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>org.apache.maven.wagon</groupId>
+                <artifactId>wagon-file</artifactId>
+                <version>1.0-alpha-6</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <profiles>
+        <profile>
+            <id>maven2.0</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <properties>
+                <mavenVersion>2.0.8</mavenVersion>
+            </properties>
+            <dependencyManagement>
+                <dependencies>                    
+                    <dependency>
+                        <groupId>org.apache.maven</groupId>
+                        <artifactId>maven-project</artifactId>
+                        <version>${mavenVersion}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.maven</groupId>
+                        <artifactId>maven-core</artifactId>
+                        <version>${mavenVersion}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.codehaus.plexus</groupId>
+                        <artifactId>plexus-container-default</artifactId>
+                        <version>1.0-alpha-9-stable-1</version>
+                    </dependency>
+                </dependencies>
+            </dependencyManagement>
+        </profile>
+        <profile>
+            <id>maven2.1</id>
+            <properties>
+                <mavenVersion>2.1-SNAPSHOT</mavenVersion>
+            </properties>
+            <dependencyManagement>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.maven</groupId>
+                        <artifactId>maven-plugin-api</artifactId>
+                        <version>${mavenVersion}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.maven</groupId>
+                        <artifactId>maven-model</artifactId>
+                        <version>${mavenVersion}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.maven</groupId>
+                        <artifactId>maven-project</artifactId>
+                        <version>${mavenVersion}</version>
+                        <exclusions>
+                            <exclusion>
+                                <groupId>org.apache.maven</groupId>
+                                <artifactId>maven-artifact</artifactId>
+                            </exclusion>
+                            <exclusion>
+                                <groupId>org.apache.maven</groupId>
+                                <artifactId>maven-artifact-manager</artifactId>
+                            </exclusion>
+                        </exclusions>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.maven</groupId>
+                        <artifactId>maven-core</artifactId>
+                        <version>${mavenVersion}</version>
+                        <exclusions>
+                            <exclusion>
+                                <groupId>org.apache.maven</groupId>
+                                <artifactId>maven-artifact</artifactId>
+                            </exclusion>
+                            <exclusion>
+                                <groupId>org.apache.maven</groupId>
+                                <artifactId>maven-artifact-manager</artifactId>
+                            </exclusion>
+                        </exclusions>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.maven.artifact</groupId>
+                        <artifactId>maven-artifact</artifactId>
+                        <version>3.0-SNAPSHOT</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.codehaus.plexus</groupId>
+                        <artifactId>plexus-container-default</artifactId>
+                        <version>1.0-alpha-40</version>
+                    </dependency>
+                </dependencies>
+            </dependencyManagement>
+        </profile>
+    </profiles> 
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/maven/archetype/tags/maven-archetype-2.0-alpha-1</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/archetype/tags/maven-archetype-2.0-alpha-1</developerConnection>
+        <url>http://svn.apache.org/viewcvs.cgi/maven/archetype/tags/maven-archetype-2.0-alpha-1</url>
+    </scm>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-release-plugin</artifactId>
+                    <configuration>
+                        <tagBase>https://svn.apache.org/repos/asf/maven/archetype/tags</tagBase>      
+                        <preparationGoals>clean install</preparationGoals>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.3</version>
+                </plugin>  
+                <plugin>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <version>2.2</version>
+                </plugin>  
+                <plugin>
+                    <artifactId>maven-gpg-plugin</artifactId>
+                    <version>1.0-alpha-4</version>
+                </plugin>  
+                <plugin>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>2.3</version>
+                </plugin>  
+                <plugin>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <version>2.3</version>
+                </plugin> 
+                <plugin>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>2.0.2</version>
+                </plugin>        
+                <plugin>
+                    <artifactId>maven-install-plugin</artifactId>
+                    <version>2.2</version>
+                </plugin>              
+                <plugin>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <version>2.0-beta-6</version>
+                </plugin>              
+                <plugin>
+                    <artifactId>maven-source-plugin</artifactId>
+                    <version>2.0.3</version>
+                </plugin>   
+                <plugin>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>2.2</version>
+                </plugin>       
+                <plugin>
+                    <artifactId>maven-war-plugin</artifactId>
+                    <version>2.1-alpha-1</version>
+                </plugin>       
+                <plugin>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>1.1</version>
+                </plugin>      
+                <plugin>
+                    <artifactId>maven-dependency-plugin</artifactId>
+                    <version>2.0</version>
+                </plugin> 
+                <plugin>
+                    <artifactId>maven-plugin-plugin</artifactId>
+                    <version>2.3</version>
+                </plugin>                   
+                <plugin>
+                    <groupId>org.mortbay.jetty</groupId>
+                    <artifactId>maven-jetty-plugin</artifactId>
+                    <version>6.1.6</version>
+                </plugin>                   
+            </plugins>
+        </pluginManagement>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.4</source>
+                    <target>1.4</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-maven-plugin</artifactId>
+                <version>1.3.5</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>descriptor</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!--<plugin>
+            <artifactId>maven-enforcer-plugin</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>enforce</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <rules>
+                <requirePluginVersions>
+                  <banSnapshots>false</banSnapshots>
+                </requirePluginVersions>
+              </rules>
+            </configuration>
+          </plugin>-->
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
