[pkg-java] r13041 - in trunk/maven-repo-helper: . debian src/main/bin src/main/java/org/debian/maven/repo src/main/share src/test/java/org/debian/maven/repo src/test/resources src/test/resources/repository/org src/test/resources/repository/org/antlr src/test/resources/repository/org/antlr/antlr-master src/test/resources/repository/org/antlr/antlr-master/3.2 src/test/resources/repository/org/antlr/antlr-master/3.x src/test/resources/repository/org/apache src/test/resources/repository/org/apache/maven src/test/resources/repository/org/apache/maven/doxia src/test/resources/repository/org/apache/maven/doxia/doxia src/test/resources/repository/org/apache/maven/doxia/doxia/1.1.2 src/test/resources/repository/org/apache/maven/doxia/doxia/debian src/test/resources/repository/org/apache/maven/doxia/doxia-modules src/test/resources/repository/org/apache/maven/doxia/doxia-modules/1.1.2 src/test/resources/repository/org/apache/maven/doxia/doxia-modules/debian src/test/resources/repository/org/apache/maven/plugins src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3 src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2 src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2 src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3 src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1 src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1 src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3 src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3 src/test/resources/repository/org/codehaus src/test/resources/repository/org/codehaus/modello src/test/resources/repository/org/codehaus/modello/modello-maven-plugin src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1 src/test/resources/repository/org/codehaus/mojo src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1

Ludovic Claude ludovicc-guest at alioth.debian.org
Fri Oct 29 23:11:15 UTC 2010


Author: ludovicc-guest
Date: 2010-10-29 23:11:15 +0000 (Fri, 29 Oct 2010)
New Revision: 13041

Added:
   trunk/maven-repo-helper/src/main/bin/mh_install
   trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.pom
   trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.transformed
   trunk/maven-repo-helper/src/test/resources/apache.cleaned
   trunk/maven-repo-helper/src/test/resources/apache.pom
   trunk/maven-repo-helper/src/test/resources/plexus-utils2.cleaned
   trunk/maven-repo-helper/src/test/resources/plexus-utils2.pom
   trunk/maven-repo-helper/src/test/resources/plexus-utils2.transformed
   trunk/maven-repo-helper/src/test/resources/repository/org/antlr/
   trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/
   trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.2/
   trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.2/antlr-master-3.2.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.x/
   trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.x/antlr-master-3.x.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/1.1.2/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/debian/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/debian/doxia-modules-debian.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/1.1.2/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/debian/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/debian/doxia-debian.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3/maven-clean-plugin-2.3.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3/maven-clean-plugin-2.3.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3/maven-resources-plugin-2.3.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3/maven-resources-plugin-2.3.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1/maven-shade-plugin-1.2.1.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1/maven-shade-plugin-1.2.1.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3/
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3/maven-surefire-report-plugin-2.4.3.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3/maven-surefire-report-plugin-2.4.3.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1/modello-maven-plugin-1.1.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1/modello-maven-plugin-1.1.pom
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1/
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1/antlr-maven-plugin-2.1.jar
   trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1/antlr-maven-plugin-2.1.pom
Modified:
   trunk/maven-repo-helper/debian/README.Debian
   trunk/maven-repo-helper/debian/changelog
   trunk/maven-repo-helper/debian/copyright
   trunk/maven-repo-helper/debian/rules
   trunk/maven-repo-helper/pom.xml
   trunk/maven-repo-helper/src/main/bin/mh_cleanpom
   trunk/maven-repo-helper/src/main/bin/mh_installjar
   trunk/maven-repo-helper/src/main/bin/mh_installpom
   trunk/maven-repo-helper/src/main/bin/mh_installpoms
   trunk/maven-repo-helper/src/main/bin/mh_patchpom
   trunk/maven-repo-helper/src/main/bin/mh_patchpoms
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Dependency.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/ListOfPOMs.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMCleaner.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMHandler.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMInfo.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMReader.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Repository.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java
   trunk/maven-repo-helper/src/main/share/mh_lib.sh
   trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMCleanerTest.java
   trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMTransformerTest.java
   trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/RepositoryTest.java
   trunk/maven-repo-helper/src/test/resources/antlr3-parent.transformed
   trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed
   trunk/maven-repo-helper/src/test/resources/antlr3.transformed
   trunk/maven-repo-helper/src/test/resources/commons-validator.cleaned
   trunk/maven-repo-helper/src/test/resources/doxia-module-fml.transformed
   trunk/maven-repo-helper/src/test/resources/doxia-module-fml.xml
   trunk/maven-repo-helper/src/test/resources/hibernate-validator-parent.cleaned
   trunk/maven-repo-helper/src/test/resources/hibernate-validator-tck-runner.transformed
   trunk/maven-repo-helper/src/test/resources/hibernate-validator.transformed
   trunk/maven-repo-helper/src/test/resources/maven-core.transformed
   trunk/maven-repo-helper/src/test/resources/maven-javadoc-plugin.transformed
   trunk/maven-repo-helper/src/test/resources/maven.cleaned
   trunk/maven-repo-helper/src/test/resources/maven.transformed
   trunk/maven-repo-helper/src/test/resources/modello-core.cleaned
   trunk/maven-repo-helper/src/test/resources/modello-core.keep.cleaned
   trunk/maven-repo-helper/src/test/resources/modello-core.transformed
   trunk/maven-repo-helper/src/test/resources/plexus-active-collections.cleaned
   trunk/maven-repo-helper/src/test/resources/plexus-archiver.cleaned
   trunk/maven-repo-helper/src/test/resources/plexus-container-default.cleaned
   trunk/maven-repo-helper/src/test/resources/plexus-container-default.transformed
   trunk/maven-repo-helper/src/test/resources/servlet-api.cleaned
   trunk/maven-repo-helper/src/test/resources/slf4j.cleaned
   trunk/maven-repo-helper/src/test/resources/wagon-http-lightweight.cleaned
Log:
* Better support for inserting properties in the transformed or cleaned
  POM files. Avoid duplicate properties and allow definition of new
  properties.
* add support for --has-package-version and --keep-elements in the
  <package>.poms file, for mh_install add --artifact, --java-lib,
  --usj-name, --usj-version, --no-usj-versionless, --dest-jar
* update README.Debian and document the new options.
* change license from BSD to Apache 2.0, there's no need to have so many
  different licenses in this package, MIT and Apache2.0 are already used.
* Keep comments in the POM files as much as possible (Closes: #574045)
* mh_cleanpom: keep <build>, <report> and <reporting> elements if the type
  of the POM file is 'pom'.
* mh_cleanpom, mh_patchpom: plugin configuration elements containing
  dependencies such as:
  <resourceBundle>org.apache:apache-jar-resource-bundle:1.x</resourceBundle>
  are detected and rules are applied to them
* mh_patchpom: --keep-pom-version option keeps the version of the parent POM
  except when the parent is already registered in the Maven repository
* new mh_install command to install in one go the pom files and all jars in
  the Maven repository

Modified: trunk/maven-repo-helper/debian/README.Debian
===================================================================
--- trunk/maven-repo-helper/debian/README.Debian	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/debian/README.Debian	2010-10-29 23:11:15 UTC (rev 13041)
@@ -36,6 +36,8 @@
 mh_installjar and mh_installpoms are the main tools to use when you want to install an artifact and its metadata in the repository.
 They take care of putting the files at the correct locations, maintain the integrity of the repository and cleanup the POM files
 before their inclusion in the repository.
+mh_install does the job of mh_installpoms and mh_installjar in one go, but requires additional information in the .poms file
+to work (--artifact=<path> option for each jar to install)
 mh_installpom, mh_linkjar, mh_linkrepojar are also available for some special needs when installing an artifact in the repository.
 The maven.mk CDBS script provided by maven-debian-helper can also install artifacts with the correct transformations to the repository.
 
@@ -100,9 +102,32 @@
 
 * debian/<package>.poms (where <package> is the name of the binary package):
 
-This file lists the POM files in the source tree which need to be installed in the repository, and indicates with the --no-parent option that if the POM inherits from a parent POM, then this inheritance relationship will be removed in the cleaned POM. Removing the parent inheritence can often simplify the packaging, as the parent POM mostly does not contain any useful information - we need only the list of dependencies in our repository, the other details for the build are irrelevant.
-In this file you can also add --ignore after the name of the POM files for each module that you want to ignore. This option is only
-useful when building the package with Maven and the maven.mk CDBS script provided by maven-debian-helper.
+This file lists the POM files in the source tree which need to be installed in the repository, and you provide options for each POMs:
+--ignore: to ignore the module built with this POM, and to not install the POM and its artifacts in the repository
+--no-parent: if the POM inherits from a parent POM, then this inheritance relationship will be removed in the cleaned POM.
+  Removing the parent inheritance can often simplify the packaging, as quite often the parent POM does not contain any
+  useful information - we need only the list of dependencies in our repository, the other details for the build are irrelevant.
+  But do take care of the configuration for plugins or properties defined in the parent POM, as they can be useful when the
+  package uses Maven for its build and will be a motivating factor to keep the parent POM.
+--package=<package>: to install the POM and its artifacts in a different Debian package than the first package
+  defined in debian/control
+--has-package-version: to indicate that the original version of the POM is the same as the upstream part
+  of the version for the package. This will indicate that version constraints are possible on the packages
+  that depend on the current package. For example, the POM for junit:junit:3.8.1 is packaged in the
+  junit package which has the Debian version 3.8.1-1. This POM will be registered in the Debian repository
+  with the version 3.x, but if a package depends on junit, then we can automatically
+  insert in its Depends: or Build-Depends: junit (>= 3.8.1). This can be done using the substitution var
+  ${maven:Depends} or using mh_make to generate the control file for the package, or both.
+  See maven-debian-helper package for more details.
+--keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM during a clean operation with mh_cleanpom or mh_installpom
+  Typical elements are amongst build,reports,reporting,prerequisites,profiles.
+--artifact=<path>: path to the build artifact associated with this POM, it will be installed when using the command mh_install.
+  A good practice is to use paths with wildcards to work around changing versions, for example --artifact=target/junit-*.jar
+--java-lib: install the jar into /usr/share/java to comply with Debian packaging guidelines
+--usj-name=<name>: name to use when installing the library in /usr/share/java
+--usj-version=<version>: version to use when installing the library in /usr/share/java
+--no-usj-versionless: don't install the versionless link in /usr/share/java
+--dest-jar=<path>: the destination for the real jar
 
 Other configuration files are used by mh_installjar and mh_installpoms. All those files are optional.
 

Modified: trunk/maven-repo-helper/debian/changelog
===================================================================
--- trunk/maven-repo-helper/debian/changelog	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/debian/changelog	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,3 +1,28 @@
+maven-repo-helper (1.4) UNRELEASED; urgency=low
+
+  * Better support for inserting properties in the transformed or cleaned
+    POM files. Avoid duplicate properties and allow definition of new
+    properties.
+  * add support for --has-package-version and --keep-elements in the
+    <package>.poms file, for mh_install add --artifact, --java-lib,
+    --usj-name, --usj-version, --no-usj-versionless, --dest-jar
+  * update README.Debian and document the new options.
+  * change license from BSD to Apache 2.0, there's no need to have so many
+    different licenses in this package, MIT and Apache2.0 are already used.
+  * Keep comments in the POM files as much as possible (Closes: #574045)
+  * mh_cleanpom: keep <build>, <report> and <reporting> elements if the type
+    of the POM file is 'pom'.
+  * mh_cleanpom, mh_patchpom: plugin configuration elements containing
+    dependencies such as:
+    <resourceBundle>org.apache:apache-jar-resource-bundle:1.x</resourceBundle>
+    are detected and rules are applied to them
+  * mh_patchpom: --keep-pom-version option keeps the version of the parent POM
+    except when the parent is already registered in the Maven repository
+  * new mh_install command to install in one go the pom files and all jars in
+    the Maven repository
+
+ -- Ludovic Claude <ludovic.claude at laposte.net>  Fri, 17 Sep 2010 00:07:36 +0200
+
 maven-repo-helper (1.3) experimental; urgency=low
 
   [ Peter Collingbourne ]

Modified: trunk/maven-repo-helper/debian/copyright
===================================================================
--- trunk/maven-repo-helper/debian/copyright	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/debian/copyright	2010-10-29 23:11:15 UTC (rev 13041)
@@ -5,7 +5,7 @@
 
 Files: *
 Copyright: 2009, Ludovic Claude  <ludovic.claude at laposte.net>
-License: BSD
+License: Apache-2.0
 
 Files: src/test/resources/slf4j.xml
 Copyright: 2004-2005, SLF4J.ORG
@@ -29,19 +29,10 @@
 Copyright: 2001-2009, Apache Software foundation
 License: Apache-2.0
 
-Copyright: 2009, Ludovic Claude  <ludovic.claude at laposte.net>
-License: BSD
-  On Debian GNU/Linux system you can find the complete text of the
-  BSD license in '/usr/share/common-licenses/BSD'
-
 Files: debian/*
 Copyright: 2009, Ludovic Claude <ludovic.claude at laposte.net>
-License: BSD
+License: Apache-2.0
 
-License: BSD
-  On Debian GNU/Linux system you can find the complete text of the
-  BSD license in '/usr/share/common-licenses/BSD'
-
 License: Apache-2.0
   On Debian GNU/Linux system you can find the complete text of the
   Apache 2.0 license in '/usr/share/common-licenses/Apache-2.0'.

Modified: trunk/maven-repo-helper/debian/rules
===================================================================
--- trunk/maven-repo-helper/debian/rules	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/debian/rules	2010-10-29 23:11:15 UTC (rev 13041)
@@ -20,6 +20,7 @@
 mh_clean_description = "Cleans the temporary files created by the other mh_* utilities."
 mh_cleanpom_description = "Cleans a POM file."
 mh_genrules_description = "Generates the debian/rules file with Maven support."
+mh_install_description = "Installs the POM files and the artifacts into /usr/share/maven-repo."
 mh_installjar_description = "Installs a jar into /usr/share/maven-repo."
 mh_installpom_description = "Installs a POM file into /usr/share/maven-repo."
 mh_installpoms_description = "Installs all POMs for the package into /usr/share/maven-repo."
@@ -51,7 +52,7 @@
 	dh_link -p$(PACKAGE) /usr/share/maven-repo/org/debian/maven/$(PACKAGE)/debian/$(PACKAGE)-debian.jar /usr/share/java/$(PACKAGE).jar
 	dh_installman $(MAN_PAGES)
 	mkdir -p debian/.mh
-	java -cp $(CLASSPATH) $(JAVA_OPTIONS) org.debian.maven.repo.POMCleaner --no-parent --rules=debian/maven.rules pom.xml debian/.mh/$(PACKAGE)-debian.pom debian/.mh/pom.properties 
+	java -cp $(CLASSPATH) $(JAVA_OPTIONS) org.debian.maven.repo.POMCleaner --no-parent --has-package-version --rules=debian/maven.rules pom.xml debian/.mh/$(PACKAGE)-debian.pom debian/.mh/pom.properties 
 	dh_install -p$(PACKAGE) --sourcedir=debian/.mh $(PACKAGE)-debian.pom \
 		usr/share/maven-repo/org/debian/maven/$(PACKAGE)/debian
 

Modified: trunk/maven-repo-helper/pom.xml
===================================================================
--- trunk/maven-repo-helper/pom.xml	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/pom.xml	2010-10-29 23:11:15 UTC (rev 13041)
@@ -5,7 +5,7 @@
     <artifactId>maven-repo-helper</artifactId>
     <name>Maven Repo helper</name>
     <packaging>jar</packaging>
-    <version>1.3</version>
+    <version>1.4</version>
     <description>Provides support for managing the Maven repository in a Debian distribution.</description>
 
     <inceptionYear>2009</inceptionYear>

Modified: trunk/maven-repo-helper/src/main/bin/mh_cleanpom
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_cleanpom	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/bin/mh_cleanpom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -22,6 +22,8 @@
    echo -e "\t-V --version: show the version"
    echo -e "\t-p<package> --package=<package>: name of the Debian package containing"
    echo -e "\t  this library"
+   echo -e "\t-h --has-package-version: flag that indicates that this POM has the"
+   echo -e "\t  same version as the package, this helps packagers of depending packages"
    echo -e "\t-o --no-parent: don't inherit from a parent POM"
    echo -e "\t-k --keep-pom-version: keep the original version of the POM but,"
    echo -e "\t  convert all other versions in dependencies and plugins"
@@ -59,6 +61,9 @@
    echo -e "\t-m<repo root>--maven-repo=<repo root>: location of the Maven repository,"
    echo -e "\t  used to force the versions of the Maven plugins used in the current"
    echo -e "\t  POM file with the versions found in the repository"
+   echo -e "\t--keep-elements=<elem1,elem2>: keep the elements listed here"
+   echo -e "\t  even if they are normally removed by the clean operation."
+   echo -e "\t  Such elements are build,reports,reporting,prerequisites,profiles."
    echo -e "\t-v --verbose: show more information while running"
    echo -e "\t-n --no-act: don't actually do anything, just print the results"
    echo -e ""
@@ -134,7 +139,7 @@
    exit 1
 }
 
-ARGS="p package o no-parent k keep-pom-version e set-version r rules R extra-rule u published-rules U extra-published-rule i ignore-rules I extra-ignore-rule c clean-ignore-rules s no-rules no-publish-used-rule v verbose n no-act m maven-repo" parseargs "$@"
+ARGS="p package o no-parent k keep-pom-version e set-version r rules R extra-rule u published-rules U extra-published-rule i ignore-rules I extra-ignore-rule c clean-ignore-rules s no-rules no-publish-used-rule v verbose n no-act m maven-repo h has-package-version keep-elements" parseargs "$@"
 
 if [ "$ARGC" -lt "1" ]; then
    syntax
@@ -160,6 +165,8 @@
 POM="${ARGV[0]}"
 TARGET="${ARGV[1]:-debian/.mh/pom.xml}"
 POM_PROPS="${ARGV[2]:-debian/.mh/pom.properties}"
+HAS_PACKAGE_VERSION=$(getarg h has-package-version)
+KEEP_ELEMENTS=$(getarg keep-elements)
 
 if [ -z "$POM" ]; then
     if [ -f debian/pom.xml ]; then
@@ -194,7 +201,7 @@
     fi
 fi
 
-CLEAN_ARGS=(--package=${PACKAGE} ${VERBOSE:+--verbose} ${NOPARENT:+--no-parent} ${KEEPVERSION:+--keep-pom-version} ${SETVERSION:+--set-version=$SETVERSION} ${RULES:+--rules=$RULES} ${PUBLISHED_RULES:+--published-rules=$PUBLISHED_RULES} ${IGNORE_RULES:+--ignore-rules=$IGNORE_RULES} ${CLEAN_IGNORE_RULES:+--ignore-rules=$CLEAN_IGNORE_RULES} ${NORULES:+--no-rules} ${NO_PUBLISH_USED_RULE:+--no-publish-used-rule} ${MAVEN_REPO:+--maven-repo=$MAVEN_REPO} "${EXTRA_RULES[@]/#/--extra-rule=}" "${EXTRA_PUBLISHED_RULES[@]/#/--extra-published-rule=}" "${EXTRA_IGNORE_RULES[@]/#/--extra-ignore-rule=}")
+CLEAN_ARGS=(--package=${PACKAGE} ${VERBOSE:+--verbose} ${NOPARENT:+--no-parent} ${HAS_PACKAGE_VERSION:+--has-package-version} ${KEEPVERSION:+--keep-pom-version} ${SETVERSION:+--set-version=$SETVERSION} ${RULES:+--rules=$RULES} ${PUBLISHED_RULES:+--published-rules=$PUBLISHED_RULES} ${IGNORE_RULES:+--ignore-rules=$IGNORE_RULES} ${CLEAN_IGNORE_RULES:+--ignore-rules=$CLEAN_IGNORE_RULES} ${NORULES:+--no-rules} ${NO_PUBLISH_USED_RULE:+--no-publish-used-rule} ${MAVEN_REPO:+--maven-repo=$MAVEN_REPO} "${EXTRA_RULES[@]/#/--extra-rule=}" "${EXTRA_PUBLISHED_RULES[@]/#/--extra-published-rule=}" "${EXTRA_IGNORE_RULES[@]/#/--extra-ignore-rule=}" ${KEEP_ELEMENTS:+--keep-elements=$KEEP_ELEMENTS})
 
 if [ -z "$NOACT" ]; then
 	java -cp $CLASSPATH $JAVA_OPTIONS org.debian.maven.repo.POMCleaner "${CLEAN_ARGS[@]}" $POM $TARGET $POM_PROPS

Added: trunk/maven-repo-helper/src/main/bin/mh_install
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_install	                        (rev 0)
+++ trunk/maven-repo-helper/src/main/bin/mh_install	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,92 @@
+#!/bin/bash --
+
+set -e
+
+. /usr/share/maven-repo-helper/mh_lib.sh
+
+syntax()
+{
+   echo -e "Usage: mh_install [option]..."
+   echo -e "Reads the file debian/\$package.poms and installs each POM file"
+   echo -e "listed in the .poms file, as well as the associated jars - assuming"
+   echo -e "that at least the --artifact option is given in the .poms file for"
+   echo -e "all jars to install."
+   echo -e ""
+   echo -e "Options:"
+   echo -e "\t-h --help: show this text"
+   echo -e "\t-V --version: show the version"
+   echo -e "\t-p<package> --package=<package>: package to act on "
+   echo -e "\t--no-publish-used-rule: don't publish the rule used to transform"
+   echo -e "\t  a POM's own attributes in debian.mavenRules"
+   echo -e "\t-e<version>, --set-version=<version>: set the version for the POM,"
+   echo -e "\t  do not use the version declared in the POM file."
+   echo -e "\t-r<rules> --rules=<rules>: gives the location of the rules file for"
+   echo -e "\t  special properties. Optional, the default location is"
+   echo -e "\t  debian/maven.rules"
+   echo -e "\t-u<rules> --published-rules=<rules>: path to the file containing the"
+   echo -e "\t  extra rules to publish in the property debian.mavenRules in the cleaned POM"
+   echo -e "\t  Optional, the default location is debian/maven.publishedRules"
+   echo -e "\t-i<rules> --ignore-rules=<rules>: path to the file containing the"
+   echo -e "\t  extra rules use to remove certain dependencies from the cleaned POM"
+   echo -e "\t  Optional, the default location is debian/maven.ignoreRules"
+   echo -e "\t-v --verbose: show more information while running"
+   echo -e "\t-n --no-act: don't actually do anything, just print the results"
+   echo -e ""
+   echo -e "See also: mh_installpoms(1), mh_installjar(1)"
+   exit 1
+}
+
+ARGS="p package no-publish-used-rule r rules v u published-rules i ignore-rules e set-version verbose n no-act" parseargs "$@"
+
+RULES=$(getarg r rules)
+PUBLISHED_RULES=$(getarg u published-rules)
+IGNORE_RULES=$(getarg i ignore-rules)
+SETVERSION=$(getarg e set-version)
+PACKAGE=$(getarg p package)
+PACKAGE=${PACKAGE:?"Package parameter (-p) is mandatory"}
+NO_PUBLISH_USED_RULE=$(getarg no-publish-used-rule)
+VERBOSE=$(getarg v verbose)
+NOACT=$(getarg n no-act)
+
+DH_OPTS="${VERBOSE:+-v} ${NOACT:+-n}"
+MH_ARGS="--package=${PACKAGE} ${VERBOSE:+--verbose} ${NO_PUBLISH_USED_RULE:+--no-publish-used-rule} ${SETVERSION:+--set-version=$SETVERSION} ${RULES:+--rules=$RULES} ${PUBLISHED_RULES:+--published-rules=$PUBLISHED_RULES} ${IGNORE_RULES:+--ignore-rules=$IGNORE_RULES}"
+
+if [ -z "$NOACT" ]; then
+    cat debian/$PACKAGE.poms | while read POM OPT1 OPT2 OPT3 OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10; do
+        # Remove comments
+        POM=${POM##\#*}
+        if [[ -n "$POM" ]]; then
+            ARTIFACT=
+            C=1
+            _opt=$(eval echo '$OPT'$C)
+            while [ -n "$_opt" ]; do
+               if [ "--artifact" = "${_opt%%=*}" ]; then
+                   export ARTIFACT=${_opt##--artifact=}
+                   # Unset the option where we found the artifact
+                   eval OPT$C=
+                   # shift all following options
+                   while [ -n "$_opt" ]; do
+                       C1=$(( $C + 1 ))
+                       eval OPT$C='$OPT'$C1
+                       C=$C1
+                       _opt=$(eval echo '$OPT'$C)
+                   done
+               fi
+               C=$(( $C + 1 ))
+               _opt=$(eval echo '$OPT'$C)
+            done
+            if [[ ! "--ignore" == "$OPT1" ]]; then
+                if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
+                    echo -e "\tmh_installpom $DH_OPTS $MH_ARGS $OPT1 $OPT2 $OPT3 $OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10 $POM"
+                fi
+                mh_installpom $DH_OPTS $MH_ARGS $OPT1 $OPT2 $OPT3 $OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10 $POM
+                if [[ -n "$ARTIFACT" ]]; then
+                    if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
+                        echo -e "\tmh_installjar $DH_OPTS $MH_ARGS $OPT1 $OPT2 $OPT3 $OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10 $POM $ARTIFACT"
+                    fi
+                    mh_installjar $DH_OPTS $MH_ARGS $OPT1 $OPT2 $OPT3 $OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10 $POM $ARTIFACT
+                fi
+            fi
+        fi
+    done
+fi

Modified: trunk/maven-repo-helper/src/main/bin/mh_installjar
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_installjar	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/bin/mh_installjar	2010-10-29 23:11:15 UTC (rev 13041)
@@ -54,10 +54,13 @@
    echo -e "\t  the jar. Empty by default."
    echo -e "\t-v --verbose: show more information while running"
    echo -e "\t-n --no-act: don't actually do anything, just print the results"
+   echo -e "\t--skip-clean-pom: don't clean the pom, assume that a previous action ran"
+   echo -e "\t  mh_cleanpom with the correct options."
    exit 1
 }
 
-ARGS="p package r rules l java-lib n usj-name i usj-version s no-usj-versionless d dest-jar c classifier v verbose n no-act" parseargs "$@"
+# The following elements are options which just need to be ignored: no-parent has-package-version keep-elements
+ARGS="p package r rules l java-lib n usj-name i usj-version s no-usj-versionless d dest-jar c classifier v verbose n no-act skip-clean-pom no-parent has-package-version keep-elements" parseargs "$@"
 
 if [ "$ARGC" -lt "2" ]; then
    syntax
@@ -74,6 +77,7 @@
 CLASSIFIER=$(getarg c classifier)
 VERBOSE=$(getarg v verbose)
 NOACT=$(getarg n no-act)
+SKIP_CLEAN_POM=$(getarg skip-clean-pom)
 POM="${ARGV[0]}"
 JAR="${ARGV[1]}"
 
@@ -82,11 +86,14 @@
 
 mkdir -p debian/.mh 2> /dev/null
 
-if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
-    echo -e "\tmh_cleanpom $DH_OPTS $CLEAN_ARGS $POM debian/.mh/pom.xml debian/.mh/pom.properties"
+if [ -z "$SKIP_CLEAN_POM" ]; then
+    if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
+        echo -e "\tmh_cleanpom $DH_OPTS $CLEAN_ARGS $POM debian/.mh/pom.xml debian/.mh/pom.properties"
+    fi
+
+    mh_cleanpom $DH_OPTS $CLEAN_ARGS $POM debian/.mh/pom.xml debian/.mh/pom.properties
 fi
 
-mh_cleanpom $DH_OPTS $CLEAN_ARGS $POM debian/.mh/pom.xml debian/.mh/pom.properties
 source debian/.mh/pom.properties
 
 groupPath=$(echo $groupId | tr . / )

Modified: trunk/maven-repo-helper/src/main/bin/mh_installpom
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_installpom	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/bin/mh_installpom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -24,7 +24,12 @@
    echo -e "\t-h --help: show this text"
    echo -e "\t-V --version: show the version"
    echo -e "\t-p<package> --package=<package>: package to act on "
+   echo -e "\t-h --has-package-version: flag that indicates that this POM has the"
+   echo -e "\t  same version as the package, this helps packagers of depending packages"
    echo -e "\t-o --no-parent: don't inherit from a parent POM"
+   echo -e "\t--keep-elements=<elem1,elem2>: keep the elements listed here"
+   echo -e "\t  even if they are normally removed by the clean operation."
+   echo -e "\t  Such elements are build,reports,reporting,prerequisites,profiles."
    echo -e "\t--no-publish-used-rule: don't publish the rule used to transform"
    echo -e "\t  a POM's own attributes in debian.mavenRules"
    echo -e "\t-e<version>, --set-version=<version>: set the version for the POM,"
@@ -45,7 +50,8 @@
    exit 1
 }
 
-ARGS="p package o no-parent no-publish-used-rule r rules u published-rules i ignore-rules e set-version v verbose n no-act" parseargs "$@"
+# The following elements are options which just need to be ignored: artifact java-lib usj-name usj-version no-usj-versionless dest-jar 
+ARGS="p package o no-parent no-publish-used-rule r rules u published-rules i ignore-rules e set-version v verbose n no-act h has-package-version keep-elements artifact java-lib usj-name usj-version no-usj-versionless dest-jar" parseargs "$@"
 
 if [ "$ARGC" -lt "1" ]; then
    syntax
@@ -61,10 +67,12 @@
 PACKAGE=${PACKAGE:?"Package parameter (-p) is mandatory"}
 VERBOSE=$(getarg v verbose)
 NOACT=$(getarg n no-act)
+HAS_PACKAGE_VERSION=$(getarg h has-package-version)
+KEEP_ELEMENTS=$(getarg keep-elements)
 POM="${ARGV[0]}"
 
 DH_OPTS="${VERBOSE:+-v} ${NOACT:+-n}"
-CLEAN_ARGS="--package=${PACKAGE} ${VERBOSE:+--verbose} ${NOPARENT:+--no-parent} ${NO_PUBLISH_USED_RULE:+--no-publish-used-rule} ${SETVERSION:+--set-version=$SETVERSION} ${RULES:+--rules=$RULES} ${PUBLISHED_RULES:+--published-rules=$PUBLISHED_RULES} ${IGNORE_RULES:+--ignore-rules=$IGNORE_RULES}"
+CLEAN_ARGS="--package=${PACKAGE} ${VERBOSE:+--verbose} ${NOPARENT:+--no-parent} ${HAS_PACKAGE_VERSION:+--has-package-version} ${NO_PUBLISH_USED_RULE:+--no-publish-used-rule} ${SETVERSION:+--set-version=$SETVERSION} ${RULES:+--rules=$RULES} ${PUBLISHED_RULES:+--published-rules=$PUBLISHED_RULES} ${IGNORE_RULES:+--ignore-rules=$IGNORE_RULES} ${KEEP_ELEMENTS:+--keep-elements=$KEEP_ELEMENTS}"
 
 mkdir -p debian/.mh 2> /dev/null
 

Modified: trunk/maven-repo-helper/src/main/bin/mh_installpoms
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_installpoms	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/bin/mh_installpoms	2010-10-29 23:11:15 UTC (rev 13041)
@@ -50,15 +50,15 @@
 MH_ARGS="--package=${PACKAGE} ${VERBOSE:+--verbose} ${NO_PUBLISH_USED_RULE:+--no-publish-used-rule} ${SETVERSION:+--set-version=$SETVERSION} ${RULES:+--rules=$RULES} ${PUBLISHED_RULES:+--published-rules=$PUBLISHED_RULES} ${IGNORE_RULES:+--ignore-rules=$IGNORE_RULES}"
 
 if [ -z "$NOACT" ]; then
-    cat debian/$PACKAGE.poms | while read POM OPT1 OPT2; do
+    cat debian/$PACKAGE.poms | while read POM OPT1 OPT2 OPT3 OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10; do
         # Remove comments
         POM=${POM##\#*}
         if [[ ! -z "$POM" ]]; then
             if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
-	        echo -e "\tmh_installpom $DH_OPTS $MH_ARGS $OPT1 $OPT2 $POM"
+	        echo -e "\tmh_installpom $DH_OPTS $MH_ARGS $OPT1 $OPT2 $OPT3 $OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10 $POM"
             fi
             if [[ ! "--ignore" == "$OPT1" ]]; then
-                mh_installpom $DH_OPTS $MH_ARGS $OPT1 $OPT2 $POM
+                mh_installpom $DH_OPTS $MH_ARGS $OPT1 $OPT2 $OPT3 $OPT4 $OPT5 $OPT6 $OPT7 $OPT8 $OPT9 $OPT10 $POM
             fi
         fi
     done

Modified: trunk/maven-repo-helper/src/main/bin/mh_patchpom
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_patchpom	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/bin/mh_patchpom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -50,7 +50,9 @@
    echo -e "\t--no-publish-used-rule: don't publish the rule used to transform"
    echo -e "\t  a POM's own attributes in debian.mavenRules"
    echo -e "\t-k --keep-pom-version: keep the original version of the POMs but, "
-   echo -e "\t  convert all other versions in dependencies and plugins"
+   echo -e "\t  convert all other versions in dependencies and plugins."
+   echo -e "\t  If there is a parent POM, keeps its version except when the parent is already"
+   echo -e "\t  registered in the Maven repository"
    echo -e "\t-d --debian-build: transform during a Debian build, which means that"
    echo -e "\t  some POM elements will be removed"
    echo -e "\t-b --build-no-docs: transform during a build where no documentation is generated,"

Modified: trunk/maven-repo-helper/src/main/bin/mh_patchpoms
===================================================================
--- trunk/maven-repo-helper/src/main/bin/mh_patchpoms	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/bin/mh_patchpoms	2010-10-29 23:11:15 UTC (rev 13041)
@@ -45,6 +45,8 @@
    echo -e "\t  a POM's own attributes in debian.mavenRules"
    echo -e "\t-k --keep-pom-version: keep the original version of the POMs but, "
    echo -e "\t  convert all other versions in dependencies and plugins"
+   echo -e "\t  If there is a parent POM, keeps its version except when the parent is already"
+   echo -e "\t  registered in the Maven repository"
    echo -e "\t-d --debian-build: transform during a Debian build, which means that"
    echo -e "\t  some POM elements will be removed"
    echo -e "\t-b --build-no-docs: transform during a build where no documentation is generated,"

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Dependency.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Dependency.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Dependency.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -40,6 +40,16 @@
         this.classifier = (classifier == null) ? "" : classifier;
     }
 
+    public Dependency(Dependency dependency) {
+        this.groupId = dependency.groupId;
+        this.artifactId = dependency.artifactId;
+        this.type = dependency.type;
+        this.version = dependency.version;
+        this.scope = dependency.scope;
+        this.optional = dependency.optional;
+        this.classifier = dependency.classifier;
+    }
+
     public String getArtifactId() {
         return artifactId;
     }
@@ -196,7 +206,7 @@
                 return rule.apply(this);
             }
         }
-        return this;
+        return new Dependency(this);
     }
 
     public DependencyRule findMatchingRule(Collection rules) {
@@ -229,7 +239,7 @@
         for (Iterator i = dependencies.iterator(); i.hasNext();) {
             Dependency dependency = (Dependency) i.next();
             if (dependency.findMatchingRule(ignoreRules) == null) {
-                result.add(dependency);
+                result.add(new Dependency(dependency));
             }
         }
         return result;

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/ListOfPOMs.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/ListOfPOMs.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/ListOfPOMs.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -13,6 +13,7 @@
     private static final Logger log = Logger.getLogger(ListOfPOMs.class.getName());
 
     private boolean verbose;
+    private File baseDir;
     private File poms;
     private List pomList;
     private Map pomOptions;
@@ -32,14 +33,20 @@
         this.verbose = verbose;
     }
 
+    public File getBaseDir() {
+        return baseDir;
+    }
+
+    public void setBaseDir(File baseDir) {
+        this.baseDir = baseDir;
+    }
+
     public File getListOfPOMsFile() {
         return poms;
     }
 
     public void setListOfPOMsFile(File poms) {
         this.poms = poms;
-        pomList = null;
-        pomOptions = null;
     }
 
     public String getFirstPOM() {
@@ -72,7 +79,7 @@
             POMOptions options = getPOMOptions(pomPath);
             if (!options.isIgnore()) {
                 try {
-                    handler.handlePOM(new File(pomPath), options.isNoParent());
+                    handler.handlePOM(new File(baseDir, pomPath), options.isNoParent(), options.getHasPackageVersion());
                 } catch (Exception e) {
                     log.log(Level.SEVERE, null, e);
                 }
@@ -80,10 +87,24 @@
         }
     }
 
+    public POMOptions getPOMOptions(File pom) {
+        String pomRelPath = relativePath(pom);
+        return getPOMOptions(pomRelPath);
+    }
+
+    private String relativePath(File pom) {
+        return pom.getAbsolutePath().substring(baseDir.getAbsolutePath().length() + 1);
+    }
+
     public POMOptions getPOMOptions(String pomPath) {
         return (POMOptions) getPomOptions().get(pomPath);
     }
 
+    public POMOptions getOrCreatePOMOptions(File pom) {
+        String pomRelPath = relativePath(pom);
+        return getOrCreatePOMOptions(pomRelPath);
+    }
+
     public POMOptions getOrCreatePOMOptions(String pomPath) {
         POMOptions options = getPOMOptions(pomPath);
         if (options == null) {
@@ -99,6 +120,11 @@
         return pomOptions;
     }
 
+    public POMOptions addPOM(File pom) {
+        String pomRelPath = relativePath(pom);
+        return addPOM(pomRelPath);
+    }
+
     public POMOptions addPOM(String pomPath) {
         if (pomList == null) {
             readPomsFile();
@@ -142,6 +168,20 @@
                         options.setNoParent(true);
                     } else if (option.startsWith("--package=")) {
                         options.setDestPackage(option.substring("--package=".length()));
+                    } else if (option.startsWith("--keep-elements=")) {
+                        options.setKeepElements(option.substring("--keep-elements=".length()));
+                    } else if (option.startsWith("--artifact=")) {
+                        options.setArtifact(option.substring("--artifact=".length()));
+                    } else if ("--java-lib".equals(option)) {
+                        options.setJavaLib(true);
+                    } else if (option.startsWith("--usj-name=")) {
+                        options.setUsjName(option.substring("--usj-name=".length()));
+                    } else if (option.startsWith("--usj-version=")) {
+                        options.setUsjVersion(option.substring("--usj-version=".length()));
+                    } else if ("--no-usj-versionless".equals(option)) {
+                        options.setNoUsjVersionless(true);
+                    } else if (option.startsWith("--dest-jar=")) {
+                        options.setDestJar(option.substring("--dest-jar=".length()));
                     }
                 }
                 if (verbose) {
@@ -160,10 +200,23 @@
                 PrintWriter out = new PrintWriter(new FileWriter(poms));
                 out.println("# List of POM files for the package");
                 out.println("# Format of this file is:");
-                out.println("# <path to pom file> [option]");
+                out.println("# <path to pom file> [option]*");
                 out.println("# where option can be:");
                 out.println("#   --ignore: ignore this POM or");
                 out.println("#   --no-parent: remove the <parent> tag from the POM");
+                out.println("#   --package=<package>: an alternative package to use when installing this POM");
+                out.println("#      and its artifact");
+                out.println("#   --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM");
+                out.println("#      during a clean operation with mh_cleanpom or mh_installpom");
+                out.println("#   --artifact=<path>: path to the build artifact associated with this POM,");
+                out.println("#      it will be installed when using the command mh_install");
+                out.println("#   --java-lib: install the jar into /usr/share/java to comply with Debian");
+                out.println("#      packaging guidelines");
+                out.println("#   --usj-name=<name>: name to use when installing the library in /usr/share/java");
+                out.println("#   --usj-version=<version>: version to use when installing the library in /usr/share/java");
+                out.println("#   --no-usj-versionless: don't install the versionless link in /usr/share/java");
+                out.println("#   --dest-jar=<path>: the destination for the real jar");
+                out.println("#");
                 for (Iterator i = pomList.iterator(); i.hasNext();) {
                     String pomPath = (String) i.next();
                     out.println(pomPath + getPOMOptions(pomPath));
@@ -179,7 +232,15 @@
     public static class POMOptions {
         private boolean ignore;
         private boolean noParent;
+        private boolean hasPackageVersion;
         private String destPackage;
+        private String keepElements;
+        private String artifact;
+        private boolean javaLib;
+        private String usjName;
+        private String usjVersion;
+        private String destJar;
+        private boolean noUsjVersionless;
 
         public boolean isIgnore() {
             return ignore;
@@ -205,17 +266,105 @@
             this.destPackage = destPackage;
         }
 
+        public boolean getHasPackageVersion() {
+            return hasPackageVersion;
+        }
+
+        public void setHasPackageVersion(boolean hasPackageVersion) {
+            this.hasPackageVersion = hasPackageVersion;
+        }
+
+        public String getKeepElements() {
+            return keepElements;
+        }
+
+        public void setKeepElements(String keepElements) {
+            this.keepElements = keepElements;
+        }
+
+        public String getArtifact() {
+            return artifact;
+        }
+
+        public void setArtifact(String artifact) {
+            this.artifact = artifact;
+        }
+
+        public boolean isJavaLib() {
+            return javaLib;
+        }
+
+        public void setJavaLib(boolean javaLib) {
+            this.javaLib = javaLib;
+        }
+
+        public String getUsjName() {
+            return usjName;
+        }
+
+        public void setUsjName(String usjName) {
+            this.usjName = usjName;
+        }
+
+        public String getUsjVersion() {
+            return usjVersion;
+        }
+
+        public void setUsjVersion(String usjVersion) {
+            this.usjVersion = usjVersion;
+        }
+
+        public String getDestJar() {
+            return destJar;
+        }
+
+        public void setDestJar(String destJar) {
+            this.destJar = destJar;
+        }
+
+        public boolean isNoUsjVersionless() {
+            return noUsjVersionless;
+        }
+
+        public void setNoUsjVersionless(boolean noUsjVersionless) {
+            this.noUsjVersionless = noUsjVersionless;
+        }
+
         public String toString() {
             if (ignore) {
                return " --ignore";
             }
             String options = "";
             if (noParent) {
-                options += " --no-parent ";
+                options += " --no-parent";
             }
+            if (hasPackageVersion) {
+                options += " --has-package-version";
+            }
             if (destPackage != null) {
                 options += " --package=" + destPackage;
             }
+            if (keepElements != null) {
+                options += " --keep-elements=" + keepElements;
+            }
+            if (artifact != null) {
+                options += " --artifact=" + artifact;
+            }
+            if (javaLib) {
+                options += " --java-lib";
+            }
+            if (usjName != null) {
+                options += " --usj-name=" + usjName;
+            }
+            if (usjVersion != null) {
+                options += " --usj-version=" + usjVersion;
+            }
+            if (destJar != null) {
+                options += " --dest-jar=" + destJar;
+            }
+            if (noUsjVersionless) {
+                options += " --no-usj-versionless";
+            }
             return options;
         }
     }

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMCleaner.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMCleaner.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMCleaner.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -23,8 +23,9 @@
                 "distributionManagement", "profiles", "ciManagement", "prerequisites",
                 "repositories", "pluginRepositories", "reports", "reporting", "modelVersion",
                 "parent"});
-
     private boolean keepAllElements = false;
+    private boolean isPOM = false;
+    private Collection keepElements = new ArrayList();
 
     public POMCleaner() {
     }
@@ -37,8 +38,13 @@
         this.keepAllElements = keepAllElements;
     }
 
+    public void addElementToKeep(String element) {
+        keepElements.add(element);
+    }
+
     public void cleanPom(File originalPom, File targetPom, File pomProperties,
-            boolean noParent, boolean keepPomVersion, String setVersion, String debianPackage) {
+            boolean noParent, boolean hasPackageVersion, boolean keepPomVersion,
+            String setVersion, String debianPackage) {
 
         if (targetPom.getParentFile() != null) {
             targetPom.getParentFile().mkdirs();
@@ -48,7 +54,7 @@
         }
 
         try {
-            POMInfo info = transformPom(originalPom, targetPom, noParent, keepPomVersion, setVersion, debianPackage);
+            POMInfo info = transformPom(originalPom, targetPom, noParent, hasPackageVersion, keepPomVersion, setVersion, debianPackage);
 
             Properties pomProps = new Properties();
             pomProps.put("groupId", info.getThisPom().getGroupId());
@@ -75,13 +81,28 @@
             addIgnoreRule(new DependencyRule(pom.getThisPom().getGroupId() + " "
                     + pom.getThisPom().getArtifactId() + " maven-plugin s/.*/"
                     + pom.getThisPom().getVersion() + "/"));
+        } else if (pom.getThisPom().getType().equals("pom")) {
+            isPOM = true;
         }
     }
 
-    protected boolean isWriteIgnoredElement(String element) {
-        if (keepAllElements) {
-            return super.isWriteIgnoredElement(element);
+    protected boolean isWriteIgnoredElement(String element, List path, Dependency dependency) {
+        boolean ignore = super.isWriteIgnoredElement(element, path, dependency);
+        if (keepAllElements || ignore) {
+            return ignore;
         }
+        if (keepElements.contains(element)) {
+            return false;
+        }
+        if (path.size() > 2 && keepElements.contains(path.get(1))) {
+            if ("version".equals(element)) {
+                String parent = (String) path.get(path.size() - 1);
+                if ("plugin".equals(parent) || "extension".equals(parent) || "dependency".equals(parent)) {
+                    return true;
+                }
+            }
+            
+        }
         return WRITE_IGNORED_ELEMENTS.contains(element);
     }
 
@@ -92,22 +113,16 @@
         return "pom".equals(info.getThisPom().getType()) || !"test".equals(dependency.getScope());
     }
 
-    protected void writeDebianProperties(XMLStreamWriter writer, int inLevel, POMInfo original, POMInfo info, String debianPackage) throws XMLStreamException {
-        super.writeDebianProperties(writer, inLevel, original, info, debianPackage);
+    protected void createDebianProperties(POMInfo info, POMInfo original, String debianPackage, int inLevel) throws XMLStreamException {
+        super.createDebianProperties(info, original, debianPackage, inLevel);
         Map dependencyVersions = new TreeMap();
         for (Iterator i = original.getDependencies().iterator(); i.hasNext(); ) {
             Dependency dependency = (Dependency) i.next();
             if (dependency.getVersion() != null) {
-                dependencyVersions.put(dependency.getGroupId() + "." + dependency.getArtifactId(), dependency.getVersion());
+                String versionProperty = "debian." + dependency.getGroupId() + "." + dependency.getArtifactId() + ".originalVersion";
+                info.getProperties().put(versionProperty, dependency.getVersion());
             }
         }
-        for (Iterator i = dependencyVersions.entrySet().iterator(); i.hasNext(); ) {
-            Map.Entry depVer = (Map.Entry) i.next();
-            indent(writer, inLevel + 1);
-            writer.writeStartElement("debian." + depVer.getKey() + ".originalVersion");
-            writer.writeCharacters(depVer.getValue().toString());
-            writer.writeEndElement();
-        }
     }
 
     public static void main(String[] args) {
@@ -120,6 +135,8 @@
             System.out.println("  -o, --no-parent: don't inherit from a parent POM");
             System.out.println("  -p<package>, --package=<package>: name of the Debian package containing");
             System.out.println("    this library");
+            System.out.println("  -h --has-package-version: flag that indicates that this POM has the");
+            System.out.println("    same version as the package, this helps packagers of depending packages");
             System.out.println("  -r<rules>, --rules=<rules>: path to the file containing the");
             System.out.println("    extra rules to apply when cleaning the POM");
             System.out.println("  -R<rule>, --extra-rule=<rule>: extra rule to apply when cleaning the POM");
@@ -146,6 +163,9 @@
             System.out.println("    convert all other versions in dependencies and plugins");
             System.out.println("  --keep-all-elements: keep all elements in the POM, do a version");
             System.out.println("    transformation only, don't delete the build and other elements.");
+            System.out.println("  --keep-elements=<elem1,elem2>: keep the elements listed here");
+            System.out.println("    even if they are normally removed by the clean operation.");
+            System.out.println("    Such elements are build,reports,reporting,prerequisites,profiles.");
             System.out.println("  -m<repo root>--maven-repo=<repo root>: location of the Maven repository,");
             System.out.println("    used to force the versions of the Maven plugins used in the current");
             System.out.println("    POM file with the versions found in the repository");
@@ -218,6 +238,7 @@
         boolean verbose = false;
         boolean noParent = false;
         boolean noRules = false;
+        boolean hasPackageVersion = false;
         boolean keepPomVersion = false;
         boolean keepAllElements = false;
         String debianPackage = "";
@@ -239,10 +260,18 @@
                 noRules = true;
             } else if ("--no-publish-used-rule".equals(arg)) {
                 cleaner.setPublishUsedRule(false);
+            } else if ("--has-package-version".equals(arg) || "-h".equals(arg)) {
+                hasPackageVersion = true;
             } else if ("--keep-pom-version".equals(arg)) {
                 keepPomVersion = true;
             } else if ("--keep-all-elements".equals(arg)) {
                 keepAllElements = true;
+            } else if (arg.startsWith("--keep-elements=")) {
+                String keepElements = arg.substring("--keep-elements=".length());
+                StringTokenizer st = new StringTokenizer(keepElements, ",");
+                while (st.hasMoreTokens()) {
+                    cleaner.addElementToKeep(st.nextToken());
+                }
             } else if (arg.startsWith("-p")) {
                 debianPackage = arg.substring(2);
             } else if (arg.startsWith("--package=")) {
@@ -340,7 +369,7 @@
         }
 
         cleaner.setKeepAllElements(keepAllElements);
-        cleaner.cleanPom(originalPom, targetPom, pomProperties, noParent,
+        cleaner.cleanPom(originalPom, targetPom, pomProperties, noParent, hasPackageVersion,
                 keepPomVersion, setVersion, debianPackage);
     }
 

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMHandler.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMHandler.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMHandler.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -7,7 +7,7 @@
  */
 public interface POMHandler {
 
-    void handlePOM(File pomFile, boolean noParent) throws Exception;
+    void handlePOM(File pomFile, boolean noParent, boolean hasPackageVersion) throws Exception;
 
     void ignorePOM(File pomFile) throws Exception;
     

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMInfo.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMInfo.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMInfo.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,13 +1,6 @@
 package org.debian.maven.repo;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.TreeSet;
+import java.util.*;
 
 /**
  *
@@ -253,7 +246,12 @@
         return rules;
     }
 
-    public POMInfo applyRules(Collection rules) {
+    /**
+     * Create a new POM from the current POM, and apply all rules on the dependencies and parent POM
+     * @param rules The list of rules to apply
+     * @see #applyRulesOnParent(java.util.Collection, Repository) 
+     */
+    public POMInfo newPOMFromRules(Collection rules, Repository repository) {
         if (rules.isEmpty()) {
             return this;
         }
@@ -261,10 +259,6 @@
         POMInfo result = new POMInfo();
         result.setOriginalPom(getThisPom());
         result.setThisPom(getThisPom().applyRules(rules));
-        if (getParent() != null) {
-            result.setOriginalParentVersion(getParent().getVersion());
-            result.setParent(getParent().applyRules(rules));
-        }
         result.setDependencies(Dependency.applyRules(getDependencies(), rules));
         result.setDependencyManagement(Dependency.applyRules(getDependencyManagement(), rules));
         result.setExtensions(Dependency.applyRules(getExtensions(), rules));
@@ -278,12 +272,30 @@
         result.setProfileDependencyManagement(Dependency.applyRules(getProfileDependencyManagement(), rules));
         result.setProfileReportingPlugins(Dependency.applyRules(getProfileReportingPlugins(), rules));
 
-        result.setProperties(getProperties());
+        result.setProperties(new TreeMap(getProperties()));
         result.setModules(getModules());
 
+        result.setParent(getParent());
+        result.applyRulesOnParent(rules, repository);
+
         return result;
     }
 
+    public void applyRulesOnParent(Collection rules, Repository repository) {
+        if (getParent() != null) {
+            //System.out.println(this.getThisPom() + ": Apply rules on parent " + getParent() + " using repository " + repository);
+            setOriginalParentVersion(getParent().getVersion());
+            setParent(getParent().applyRules(rules));
+            if (repository != null) {
+                POMInfo parentPOM = repository.getPOM(getParent());
+                mergeManagement(parentPOM);
+            } else {
+                // Always apply rules
+                //System.out.println(this.getThisPom() + ": Parent is not registered in repository, apply rules anyway");
+            }
+        }
+    }
+
     public void applyRulesOnDependenciesAndPlugins(Collection rules) {
         setDependencies(Dependency.applyRules(getDependencies(), rules));
         setDependencyManagement(Dependency.applyRules(getDependencyManagement(), rules));
@@ -332,11 +344,11 @@
             Dependency parentDep = (Dependency)i.next();
             for (Iterator j = target.iterator(); j.hasNext();) {
                 Dependency dependency = (Dependency)j.next();
-                if (dependency.equals(parentDep)) {
+                if (dependency.equalsIgnoreVersion(parentDep)) {
                     continue nextParentDep;
                 }
             }
-            target.add(parentDep);
+            target.add(new Dependency(parentDep));
         }
     }
 
@@ -423,4 +435,12 @@
         return null;
     }
 
+    public List getAllDependencies(String listType) {
+        List dependencies = new ArrayList(getDependencyList(listType));
+        if (getParent() != null) {
+            List parentDependencies = parentPOM.getAllDependencies(listType);
+            dependencies.addAll(parentDependencies);
+        }
+        return dependencies;
+    }
 }

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMReader.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMReader.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMReader.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -72,7 +72,7 @@
             switch (event) {
                 case XMLStreamConstants.START_ELEMENT: {
                     element = parser.getLocalName();
-                    if (isReadIgnoredElement(element) || 
+                    if (isReadIgnoredElement(element) ||
                             (inPlugin > 0 && ("executions".equals(element) || "configuration".equals(element)) || "goals".equals(element) || "reportSets".equals(element)) ||
                             (inDependency > 0 && "exclusions".equals(element)) ||
                             inIgnoredElement > 0) {

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -9,16 +9,11 @@
 import java.io.IOException;
 import java.io.StringWriter;
 import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
@@ -40,6 +35,8 @@
                 "reports", "reporting", "site"});
     private static final List INFO_ELEMENTS = Arrays.asList(new String[]{"groupId",
                 "artifactId", "packaging", "version"});
+    private static final Pattern compactDependencyNotationMatcher =
+            Pattern.compile("(\\w[a-zA-Z0-9\\-_\\.]*):(\\w[a-zA-Z0-9\\-_]*):(\\d[a-zA-Z0-9\\-_\\.]*)");
     private DependencyRuleSet rules = new DependencyRuleSet("Rules", new File("debian/maven.rules"));
     private DependencyRuleSet automaticRules = new DependencyRuleSet("Automatic rules");
     private DependencyRuleSet publishedRules = new DependencyRuleSet("Published rules", new File("debian/maven.publishedRules"));
@@ -87,14 +84,14 @@
         this.isDebianBuild = isDebianBuild;
     }
 
-    public boolean publishUsedRule() {
+    public boolean isPublishUsedRule() {
         return publishUsedRule;
     }
 
     public void setPublishUsedRule(boolean publishUsedRule) {
         this.publishUsedRule = publishUsedRule;
     }
-
+                                           
     public DependencyRuleSet getRules() {
         return rules;
     }
@@ -135,6 +132,10 @@
                 }
             }
         }
+        // Remove the default rules from the list of automatic rules, as they may be added by the scanning
+        // but addDefaultRules() may not have been called
+        automaticRules.getRules().remove(DependencyRule.MAVEN_PLUGINS_KEEP_VERSION_RULE);
+        automaticRules.getRules().remove(DependencyRule.TO_DEBIAN_VERSION_RULE);
     }
 
     public void addDefaultRules() {
@@ -166,7 +167,7 @@
     public void keepPomVersions() {
         listOfPOMs.foreachPoms(new POMHandler() {
 
-            public void handlePOM(File pomFile, boolean noParent) throws Exception {
+            public void handlePOM(File pomFile, boolean noParent, boolean hasPackageVersion) throws Exception {
                 keepPomVersion(pomFile);
             }
 
@@ -186,9 +187,9 @@
             final String setVersion) {
         listOfPOMs.foreachPoms(new POMHandler() {
 
-            public void handlePOM(File pomFile, boolean noParent) throws Exception {
+            public void handlePOM(File pomFile, boolean noParent, boolean hasPackageVersion) throws Exception {
                 File targetFile = new File(pomFile.getAbsolutePath() + ".new");
-                transformPom(pomFile, targetFile, noParent, keepPomVersion, setVersion, debianPackage);
+                transformPom(pomFile, targetFile, noParent, hasPackageVersion, keepPomVersion, setVersion, debianPackage);
                 pomFile.delete();
                 targetFile.renameTo(pomFile);
             }
@@ -198,22 +199,18 @@
         });
     }
 
-    public POMInfo transformPom(File pomFile, String debianPackage,
-            boolean noParent, boolean keepPomVersion, String setVersion) throws XMLStreamException, IOException {
-
-        File targetFile = new File(pomFile.getAbsolutePath() + ".new");
-        POMInfo pom = transformPom(pomFile, targetFile, noParent, keepPomVersion, setVersion, debianPackage);
-        pomFile.delete();
-        targetFile.renameTo(pomFile);
-        return pom;
+    public POMInfo transformPom(File originalPom, File targetPom) throws XMLStreamException, IOException {
+        return transformPom(originalPom, targetPom, false, false, false, null, null);
     }
 
-    public POMInfo transformPom(File originalPom, File targetPom) throws XMLStreamException, IOException {
-        return transformPom(originalPom, targetPom, false, false, null, null);
+    public POMInfo transformPom(File originalPom, File targetPom,
+            boolean noParent, boolean hasPackageVersion, boolean keepPomVersion, String setVersion, String debianPackage) throws XMLStreamException, IOException {
+        return transformPom(originalPom, targetPom, noParent, hasPackageVersion, keepPomVersion, setVersion, debianPackage, false);
     }
 
     public POMInfo transformPom(File originalPom, File targetPom,
-            boolean noParent, boolean keepPomVersion, String setVersion, String debianPackage) throws XMLStreamException, IOException {
+            boolean noParent, boolean hasPackageVersion, boolean keepPomVersion, String setVersion, String debianPackage,
+            boolean ignoreRegisterErrors) throws XMLStreamException, IOException {
 
         if (targetPom.getParentFile() != null) {
             targetPom.getParentFile().mkdirs();
@@ -229,16 +226,42 @@
                 original.getThisPom().setVersion(setVersion);
             }
 
+            if (original.getParent() != null && !noParent) {
+                if (repository == null && keepPomVersion) {
+                    // Add a rule to also keep the parent version
+                    automaticRules.add(new DependencyRule(original.getParent().getGroupId() + " "
+                        + original.getParent().getArtifactId() + " * * * *"));
+                } else if (repository != null) {
+                    // Look in the repository and add the rules which match the parent POM
+                    List parentPoms = repository.searchMatchingPOMsIgnoreVersion(original.getParent());
+                    // If not found and keepPomVersion is set, in doubt keep the parent version
+                    if (parentPoms.isEmpty() && keepPomVersion) {
+                        automaticRules.add(new DependencyRule(original.getParent().getGroupId() + " "
+                            + original.getParent().getArtifactId() + " * * * *"));
+                    } else {
+                        // Otherwise use the transformation rules from the repository for the parent
+                        for (Iterator i = parentPoms.iterator(); i.hasNext(); ) {
+                            POMInfo potentialParentPOM = (POMInfo) i.next();
+                            automaticRules.addAll(potentialParentPOM.getPublishedRules(false));
+                        }
+                    }
+                }
+            }
+
             transformingPom(original);
 
-            POMInfo info = original.applyRules(rules.getRules());
-            info.applyRulesOnDependenciesAndPlugins(automaticRules.getRules());
+            Set allRules = new TreeSet(rules.getRules());
+            allRules.addAll(automaticRules.getRules());
+            POMInfo info = original.newPOMFromRules(allRules, repository);
+            if (hasPackageVersion) {
+                info.getProperties().put("debian.hasPackageVersion", "true");
+            }
 
             if (repository != null) {
                 try {
                     repository.registerPom(targetPom, info);
                 } catch (DependencyNotFoundException e) {
-                    if (!noParent) {
+                    if (!noParent && !ignoreRegisterErrors) {
                         System.err.println("[ERROR] Cannot find parent dependency " + e.getDependency() +
                                 ", use --no-parent option to resolve this issue or install the parent POM in the Maven repository");
                     }
@@ -246,7 +269,6 @@
             }
 
             Dependency parent = noParent ? null : info.getParent();
-            Dependency pomInfo = info.getThisPom();
 
             // Second pass - create the new document
             int inIgnoredElement = 0;
@@ -255,12 +277,15 @@
             int inExclusion = 0;
             int inExtension = 0;
             int inPlugin = 0;
-            int inProperty = 0;
+            int inProperties = 0;
             int inLevel = 0;
             int inModule = 0;
             boolean sawVersion = false;
             List path = new ArrayList();
+            List dependencyList = null;
+            int dependencyIndex = -1;
             Map dependencyIndexes = new HashMap();
+            Map visitedProperties = new HashMap();
             Dependency dependency = null;
             Dependency parentDependency = null;
             String element = null;
@@ -275,9 +300,12 @@
                 switch (event) {
                     case XMLStreamConstants.START_ELEMENT: {
                         element = parser.getLocalName();
-                        if (isWriteIgnoredElement(element) || (inLevel == 1 && isInfoElement(element))) {
+                        if (isWriteIgnoredElement(element, path, dependency) || (inLevel == 1 && isInfoElement(element))) {
                             inIgnoredElement++;
-                        } else if (inLevel == 1 && "properties".equals(element) && info.getProperties().isEmpty()) {
+                            if ("version".equals(element)) {
+                                sawVersion = true;
+                            }
+                        } else if (inLevel == 1 && "properties".equals(element) && original.getProperties().isEmpty()) {
                             inIgnoredElement++;
                         } else if (inIgnoredElement > 0) {
                             inIgnoredElement++;
@@ -326,12 +354,12 @@
                                             }
                                         }
                                         if (listSelector != null) {
-                                            int index = inc(dependencyIndexes, listSelector);
-                                            List dependencyList = info.getDependencyList(listSelector);
+                                            dependencyIndex = inc(dependencyIndexes, listSelector);
+                                            dependencyList = info.getDependencyList(listSelector);
                                             if (dependency != null) {
                                                 parentDependency = dependency;
                                             }
-                                            dependency = (Dependency) dependencyList.get(index);
+                                            dependency = (Dependency) dependencyList.get(dependencyIndex);
                                         }
                                     }
                                 } else if ("plugin".equals(element)) {
@@ -355,9 +383,9 @@
                                         } else if ("profile".equals(parentParentParentElement)) {
                                             listSelector = POMInfo.PROFILE_PLUGINS;
                                         }
-                                        int index = inc(dependencyIndexes, listSelector);
-                                        List dependencyList = info.getDependencyList(listSelector);
-                                        dependency = (Dependency) dependencyList.get(index);
+                                        dependencyIndex = inc(dependencyIndexes, listSelector);
+                                        dependencyList = info.getDependencyList(listSelector);
+                                        dependency = (Dependency) dependencyList.get(dependencyIndex);
                                     }
                                 } else if ("extension".equals(element)) {
                                     String parentElement = (String) path.get(path.size() - 2);
@@ -396,11 +424,12 @@
                             copyNsAndAttributes(parser, writer);
 
                             if ("project".equals(element) && inLevel == 1) {
-                                copyAndFillProjectHeader(parser, writer, inLevel, keepPomVersion, original, info, parent, debianPackage);
+                                copyAndFillProjectHeader(parser, writer, inLevel, keepPomVersion, info, original, parent, debianPackage);
                             } else if (inLevel == 2 && "properties".equals(element)) {
-                                inProperty++;
-                            } else if (inProperty > 0) {
-                                inProperty++;
+                                inProperties++;
+                            } else if (inProperties > 0) {
+                                visitedProperties.put(element, "true");
+                                inProperties++;
                             } else if (inLevel == 2 && "modules".equals(element)) {
                                 inModule++;
                             } else if (inModule > 0) {
@@ -437,15 +466,20 @@
                             if (dependency != null && !sawVersion && inCopyOnlyElement == 0) {
                                 if ((inDependency == 1 || inPlugin == 1 || inExtension == 1)
                                         && ((parent == null && repository == null) || (repository != null && info.getVersionFromManagementDependency(dependency) == null))) {
-                                    String oldVersion = dependency.getVersion();
-                                    if (oldVersion == null) {
-                                        dependency.setVersion("debian");
-                                        oldVersion = "debian";
+                                    if (dependency.getVersion() == null) {
+
+                                        String version = info.getVersionFromManagementDependency(dependency);
+                                        if (version == null) {
+                                            version = "debian";
+                                        }
+                                        dependency.setVersion(version);
+                                        
                                         // Give a chance to customize the version
                                         // In maven.rules, you can write:
                                         // myDependencyGroup myDependencyArtifact * s/.*/myVersion/
                                         dependency = dependency.applyRules(rules.getRules());
                                         dependency = dependency.applyRules(automaticRules.getRules());
+                                        dependencyList.set(dependencyIndex, dependency);
                                     }
                                     // If we try to fix the version for a plugin, the fix is valid
                                     // only if a real version (not 'debian') is forced on that plugin and the plugin is not
@@ -481,15 +515,18 @@
                             }
                             if (inDependency + inPlugin + inExtension == 0) {
                                 dependency = null;
+                                dependencyIndex = -1;
+                                dependencyList = null;
                                 if (parentDependency != null) {
                                     dependency = parentDependency;
                                     parentDependency = null;
                                 }
                             }
-                            if (inProperty > 0) {
-                                inProperty--;
-                                if (inProperty == 0) {
-                                    writeDebianProperties(writer, inLevel, original, info, debianPackage);
+                            if (inProperties > 0) {
+                                inProperties--;
+                                if (inProperties == 0) {
+                                    createDebianProperties(info, original, debianPackage, inLevel);
+                                    writeMissingProperties(writer, inLevel, info, visitedProperties);
                                 }
                             }
                             if (!afterText) {
@@ -516,6 +553,20 @@
                                     value = dependency.getVersion();
                                     sawVersion = true;
                                 }
+                            } else if (inPlugin > 0 && path.contains("configuration")) {
+                                if ("resourceBundle".equals(path.get(path.size() - 1))) {
+                                    Matcher dependencyMatcher = compactDependencyNotationMatcher.matcher(value);
+                                    if (dependencyMatcher.matches()) {
+                                        Dependency embeddedDependency = new Dependency(dependencyMatcher.group(1),
+                                                dependencyMatcher.group(2), "jar", dependencyMatcher.group(3));
+                                        embeddedDependency = embeddedDependency.applyRules(rules.getRules());
+                                        value = embeddedDependency.getGroupId() + ":" +
+                                                embeddedDependency.getArtifactId() + ":" +
+                                                embeddedDependency.getVersion();
+                                    }
+                                }
+                            } else if (inProperties > 1) {
+                                visitedProperties.put(element, value);
                             }
                             writer.writeCharacters(value);
                             afterText = value != null && value.length() > 0;
@@ -523,6 +574,13 @@
                         break;
                     }
 
+                    case XMLStreamConstants.COMMENT: {
+                        if (inIgnoredElement == 0) {
+                            indent(writer, inLevel);
+                            writer.writeComment(parser.getText());
+                        }
+                    }
+
                 } // end switch
             } // end for
             parser.close();
@@ -546,10 +604,12 @@
         }
     }
 
-    private void copyAndFillProjectHeader(XMLStreamReader parser, XMLStreamWriter writer, int inLevel, boolean keepPomVersion, POMInfo original, POMInfo info, Dependency parent, String debianPackage) throws XMLStreamException {
+    private void copyAndFillProjectHeader(XMLStreamReader parser, XMLStreamWriter writer, int inLevel, boolean keepPomVersion, POMInfo info, POMInfo original, Dependency parent, String debianPackage) throws XMLStreamException {
         if (parser.getNamespaceCount() == 0) {
             writer.writeNamespace(null, "http://maven.apache.org/POM/4.0.0");
             writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
+            // The correct URL is http://maven.apache.org/xsd/maven-4.0.0.xsd but
+            // as gcj fails to validate it, we need to replace 4.0.0 with 4_0_0
             writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "schemaLocation",
                     "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4_0_0.xsd");
         }
@@ -590,20 +650,16 @@
             writer.writeEndElement();
             indent(writer, inLevel + 1);
             writer.writeStartElement("version");
-            if (keepPomVersion) {
-                // use original parent version
-                writer.writeCharacters(info.getOriginalParentVersion());
-            } else {
-                writer.writeCharacters(parent.getVersion());
-            }
+            writer.writeCharacters(parent.getVersion());
             writer.writeEndElement();
             indent(writer, inLevel);
             writer.writeEndElement();
             indent(writer, inLevel);
         }
-        if (info.getProperties().isEmpty()) {
+        if (original.getProperties().isEmpty()) {
             writer.writeStartElement("properties");
-            writeDebianProperties(writer, inLevel, original, info, debianPackage);
+            createDebianProperties(info, original, debianPackage, inLevel);
+            writeMissingProperties(writer, inLevel, info, new HashMap());
             indent(writer, inLevel);
             writer.writeEndElement();
             indent(writer, inLevel);
@@ -649,14 +705,10 @@
         }
     }
 
-    protected boolean isWriteIgnoredElement(String element) {
-        if (isDebianBuild() && DEBIAN_BUILD_IGNORED_ELEMENTS.contains(element)) {
-            return true;
-        }
-        if (isBuildWithoutDoc() && DEBIAN_DOC_IGNORED_ELEMENTS.contains(element)) {
-            return true;
-        }
-        return WRITE_IGNORED_ELEMENTS.contains(element);
+    protected boolean isWriteIgnoredElement(String element, List path, Dependency dependency) {
+        return (isDebianBuild() && DEBIAN_BUILD_IGNORED_ELEMENTS.contains(element)) 
+                || (isBuildWithoutDoc() && DEBIAN_DOC_IGNORED_ELEMENTS.contains(element))
+                || WRITE_IGNORED_ELEMENTS.contains(element);
     }
 
     protected boolean isInfoElement(String element) {
@@ -678,43 +730,54 @@
         return index.intValue();
     }
 
-    protected void writeDebianProperties(XMLStreamWriter writer, int inLevel, POMInfo original, POMInfo info, String debianPackage) throws XMLStreamException {
-        indent(writer, inLevel + 1);
-        writer.writeStartElement("debian.originalVersion");
-        writer.writeCharacters(info.getOriginalVersion());
-        writer.writeEndElement();
+    protected void createDebianProperties(POMInfo info, POMInfo original, String debianPackage, int inLevel) throws XMLStreamException {
+        info.getProperties().put("debian.originalVersion", info.getOriginalVersion());
         if (debianPackage != null) {
-            indent(writer, inLevel + 1);
-            writer.writeStartElement("debian.package");
-            writer.writeCharacters(debianPackage);
-            writer.writeEndElement();
+            info.getProperties().put("debian.package", debianPackage);
         }
-        if (publishUsedRule && info.getOriginalPom() != null) {
-            DependencyRule usedRule = info.getOriginalPom().findMatchingRule(rules.getRules());
-            if (usedRule != null && !usedRule.equals(DependencyRule.TO_DEBIAN_VERSION_RULE) && !usedRule.equals(DependencyRule.MAVEN_PLUGINS_KEEP_VERSION_RULE)) {
-                addPublishedRule(usedRule);
+        if (!info.getProperties().containsKey("debian.mavenRules")) {
+            if (publishUsedRule && info.getOriginalPom() != null) {
+                DependencyRule usedRule = info.getOriginalPom().findMatchingRule(rules.getRules());
+                if (usedRule != null && !usedRule.equals(DependencyRule.TO_DEBIAN_VERSION_RULE) && !usedRule.equals(DependencyRule.MAVEN_PLUGINS_KEEP_VERSION_RULE)) {
+                    addPublishedRule(usedRule);
+                }
             }
-        }
-        if (!publishedRules.isEmpty()) {
-            indent(writer, inLevel + 1);
-            writer.writeStartElement("debian.mavenRules");
-            StringWriter sw = new StringWriter();
-            for (Iterator i = publishedRules.iterator(); i.hasNext();) {
-                DependencyRule dependencyRule = (DependencyRule) i.next();
-                sw.append(dependencyRule.toString());
-                if (i.hasNext()) {
-                    sw.append(",\n");
-                    for (int j = 0; j <= inLevel; j++) {
-                        sw.append("\t");
+            if (!publishedRules.isEmpty()) {
+                StringWriter sw = new StringWriter();
+                for (Iterator i = publishedRules.iterator(); i.hasNext();) {
+                    DependencyRule dependencyRule = (DependencyRule) i.next();
+                    sw.append(dependencyRule.toString());
+                    if (i.hasNext()) {
+                        sw.append(",\n");
+                        for (int j = 0; j <= inLevel; j++) {
+                            sw.append("\t");
+                        }
                     }
                 }
+                info.getProperties().put("debian.mavenRules", sw.toString());
             }
-            writer.writeCData(sw.toString());
-            writer.writeEndElement();
-            info.getProperties().put("debian.mavenRules", sw.toString());
         }
     }
 
+    protected void writeMissingProperties(XMLStreamWriter writer, int inLevel, POMInfo info, Map visitedProperties) throws XMLStreamException {
+        Map sortedProperties = new TreeMap(info.getProperties());
+        for (Iterator i = sortedProperties.entrySet().iterator(); i.hasNext(); ) {
+            Map.Entry entry = (Map.Entry) i.next();
+            String property = (String) entry.getKey();
+            String value = (String) entry.getValue();
+            if (!visitedProperties.containsKey(property)) {
+                indent(writer, inLevel + 1);
+                if (value == null || value.isEmpty() || "true".equals(value)) {
+                    writer.writeEmptyElement(property);
+                } else {
+                    writer.writeStartElement(property);
+                    writer.writeCharacters(value);
+                    writer.writeEndElement();
+                }
+            }
+        }
+    }
+
     public void setVerbose(boolean verbose) {
         this.verbose = verbose;
         this.rules.setVerbose(verbose);
@@ -728,10 +791,7 @@
 
     private boolean acceptModule(String module, File pomFile) {
         Set modulesToSkip = (Set) ignoredModules.get(pomFile);
-        if (modulesToSkip == null) {
-            return true;
-        }
-        return !modulesToSkip.contains(module);
+        return modulesToSkip == null || !modulesToSkip.contains(module);
     }
 
     protected void transformingPom(POMInfo info) {
@@ -947,5 +1007,5 @@
         } while (i < args.length && args[i].length() == 0);
         return i;
     }
-
+    
 }

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Repository.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Repository.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Repository.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -323,6 +323,9 @@
     }
 
     private void scan(File[] files) {
+        if (files == null) {
+            return;
+        }
         for (int i = 0; i < files.length; i++) {
             File file = files[i];
             if (file.isDirectory()) {

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -85,7 +85,7 @@
             return false;
         }
         final Rule other = (Rule) obj;
-        if (this.pattern != other.pattern && (this.pattern == null || !this.pattern.equals(other.pattern))) {
+        if (this.pattern != other.pattern && (this.pattern == null || !this.pattern.pattern().equals(other.pattern.pattern()))) {
             return false;
         }
         if ((this.replace == null) ? (other.replace != null) : !this.replace.equals(other.replace)) {
@@ -96,7 +96,7 @@
 
     public int hashCode() {
         int hash = 7;
-        hash = 89 * hash + (this.pattern != null ? this.pattern.hashCode() : 0);
+        hash = 89 * hash + (this.pattern != null ? this.pattern.pattern().hashCode() : 0);
         hash = 89 * hash + (this.replace != null ? this.replace.hashCode() : 0);
         return hash;
     }

Modified: trunk/maven-repo-helper/src/main/share/mh_lib.sh
===================================================================
--- trunk/maven-repo-helper/src/main/share/mh_lib.sh	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/main/share/mh_lib.sh	2010-10-29 23:11:15 UTC (rev 13041)
@@ -4,7 +4,7 @@
 # - package selection
 #
 
-MH_VERSION=${MH_VERSION:-1.3}
+MH_VERSION=${MH_VERSION:-1.4}
 CLASSPATH=/usr/share/java/stax-api.jar:/usr/share/java/stax.jar:/usr/share/java/xml-apis.jar:/usr/share/java/maven-repo-helper.jar
 JAVA_OPTIONS="-Djavax.xml.stream.XMLOutputFactory=com.bea.xml.stream.XMLOutputFactoryBase -Djavax.xml.stream.XMLInputFactory=com.bea.xml.stream.MXParserFactory"
 

Modified: trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMCleanerTest.java
===================================================================
--- trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMCleanerTest.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMCleanerTest.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -39,16 +39,13 @@
         }
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanMavenPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("maven.xml");
         boolean noParent = true;
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("org.codehaus.plexus plexus-container-default jar s/1\\.0-alpha-.*/1.0-alpha/"));
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "maven2");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "maven2");
         assertXMLEqual(read("maven.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -59,15 +56,12 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanModelloPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("modello-core.xml");
         boolean noParent = false;
         instance.addDefaultRules();
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libmodello-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libmodello-java");
         assertXMLEqual(read("modello-core.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -77,7 +71,7 @@
         assertEquals("1.0-alpha-22", pomInfo.get("version"));
         assertEquals("debian", pomInfo.get("debianVersion"));
 
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, null, "libmodello-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, true, null, "libmodello-java");
         assertXMLEqual(read("modello-core.keep.cleaned"), read(updatedPom));
         pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -89,15 +83,12 @@
 
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanWagonPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("wagon-http-lightweight.xml");
         boolean noParent = false;
         instance.addDefaultRules();
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libwagon-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libwagon-java");
         assertXMLEqual(read("wagon-http-lightweight.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -108,16 +99,13 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanPlexusContainerDefaultPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("plexus-container-default.xml");
         boolean noParent = true;
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("org.codehaus.plexus plexus-container-default jar s/1\\.0-alpha-.*/1.0-alpha/"));
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libplexus-container-default-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libplexus-container-default-java");
         assertXMLEqual(read("plexus-container-default.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -128,9 +116,6 @@
         assertEquals("1.0-alpha", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanPlexusActiveCollectionsPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("plexus-active-collections.pom");
@@ -139,7 +124,7 @@
         instance.addRule(new DependencyRule("junit junit jar s/3\\..*/3.x/"));
         instance.addRule(new DependencyRule("org.codehaus.plexus plexus-container-default jar s/1\\.0-alpha.*/1.0-alpha/"));
         instance.addRule(new DependencyRule("org.codehaus.plexus plexus-maven-plugin maven-plugin s/.*/1.3.8/"));
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libplexus-active-collections-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libplexus-active-collections-java");
         assertXMLEqual(read("plexus-active-collections.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -150,15 +135,12 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanPlexusArchiverPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("plexus-archiver.pom");
         boolean noParent = true;
         instance.addDefaultRules();
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libplexus-archiver-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libplexus-archiver-java");
         assertXMLEqual(read("plexus-archiver.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -169,15 +151,12 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanSlf4jPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("slf4j.xml");
         boolean noParent = true;
         instance.addDefaultRules();
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libslf4j-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libslf4j-java");
         assertXMLEqual(read("slf4j.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -188,16 +167,13 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanCommonsValidatorPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("commons-validator.xml");
         boolean noParent = true;
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("junit junit jar s/3\\..*/3.x/"));
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libcommons-validator-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libcommons-validator-java");
         assertXMLEqual(read("commons-validator.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -208,16 +184,13 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanServletApiPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("servlet-api.pom");
         boolean noParent = true;
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("s/org.apache.tomcat/javax.servlet/ servlet-api jar s/.*/2.5/"));
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libservlet2.5-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libservlet2.5-java");
         assertXMLEqual(read("servlet-api.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -228,9 +201,6 @@
         assertEquals("2.5", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testCleanHibernateValidatorParentPom() throws Exception {
         pomProperties = new File(testDir, "pom.properties");
         usePom("hibernate-validator-parent.pom");
@@ -238,7 +208,7 @@
         instance.addDefaultRules();
         instance.addIgnoreRule(new DependencyRule("org.apache.maven.wagon wagon-webdav jar *"));
         instance.addIgnoreRule(new DependencyRule("org.jboss.maven.plugins maven-jdocbook-plugin maven-plugin *"));
-        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, null, "libhibernate-validator-java");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libhibernate-validator-java");
         assertXMLEqual(read("hibernate-validator-parent.cleaned"), read(updatedPom));
         Properties pomInfo = new Properties();
         pomInfo.load(new FileInputStream(pomProperties));
@@ -249,15 +219,61 @@
         assertEquals("debian", pomInfo.get("debianVersion"));
     }
 
-    /**
-     * Test of main method, of class DebianPOM.
-     */
+    public void testCleanApacheParentPom() throws Exception {
+
+        pomProperties = new File(testDir, "pom.properties");
+        usePom("apache.pom");
+        boolean noParent = true;
+        instance.addDefaultRules();
+        instance.addRule(new DependencyRule("org.apache apache-jar-resource-bundle * s/1\\..*/1.x/"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-archetype-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins changelog-maven-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-deploy-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-release-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-repository-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-scm-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-stage-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-eclipse-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-idea-plugin * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-source-plugin * *"));
+        instance.addElementToKeep("build");
+        instance.addElementToKeep("reporting");
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, false, false, null, "libmaven-parent-poms");
+        assertXMLEqual(read("apache.cleaned"), read(updatedPom));
+        Properties pomInfo = new Properties();
+        pomInfo.load(new FileInputStream(pomProperties));
+        assertEquals("org.apache", pomInfo.get("groupId"));
+        assertEquals("apache", pomInfo.get("artifactId"));
+        assertEquals("pom", pomInfo.get("type"));
+        assertEquals("7", pomInfo.get("version"));
+        assertEquals("debian", pomInfo.get("debianVersion"));
+    }
+
+    public void testCleanPlexusUtils2Pom() throws Exception {
+        pomProperties = new File(testDir, "pom.properties");
+        usePom("plexus-utils2.pom");
+        boolean noParent = false;
+        instance.addDefaultRules();
+        instance.addRule(new DependencyRule("org.codehaus.plexus plexus-utils jar s/2\\..*/2.x/ * *"));
+        instance.addRule(new DependencyRule("org.codehaus.plexus plexus pom s/2\\..*/2.x/ * *"));        
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-release-plugin * *"));
+        instance.cleanPom(pom, updatedPom, pomProperties, noParent, true, false, null, "libplexus-utils2-java");
+        assertXMLEqual(read("plexus-utils2.cleaned"), read(updatedPom));
+        Properties pomInfo = new Properties();
+        pomInfo.load(new FileInputStream(pomProperties));
+        assertEquals("org.codehaus.plexus", pomInfo.get("groupId"));
+        assertEquals("plexus-utils", pomInfo.get("artifactId"));
+        assertEquals("jar", pomInfo.get("type"));
+        assertEquals("2.0.5", pomInfo.get("version"));
+        assertEquals("2.x", pomInfo.get("debianVersion"));
+    }
+
     public void testMain() throws Exception {
         specialDependencies = new File(testDir, "special-cases.txt");
         pomProperties = new File(testDir, "pom.properties");
         usePom("maven.xml");
         useFile("maven.rules", specialDependencies);
-        String[] args = {"--no-parent", "-pmaven2", "-r" + specialDependencies.getAbsolutePath(),
+        String[] args = {"--no-parent", "--has-package-version", "-pmaven2", "-r" + specialDependencies.getAbsolutePath(),
                 pom.getAbsolutePath(), updatedPom.getAbsolutePath(), pomProperties.getAbsolutePath()};
         POMCleaner.main(args);
         assertXMLEqual(read("maven.cleaned"), read(updatedPom));

Modified: trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMTransformerTest.java
===================================================================
--- trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMTransformerTest.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/POMTransformerTest.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -6,8 +6,6 @@
 
 import org.custommonkey.xmlunit.XMLUnit;
 
-import java.io.File;
-
 /**
  *
  * @author ludo
@@ -24,34 +22,25 @@
         instance.getPublishedRules().setRulesFile(null);
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformMavenPom() throws Exception {
         usePom("maven.xml");
         boolean noParent = true;
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("org.codehaus.plexus plexus-container-default jar s/1\\.0-alpha-.*/1.0-alpha/"));
         instance.addRule(new DependencyRule("org.apache.maven.plugins maven-assembly-plugin maven-plugin s/.*/2.2/"));
-        instance.transformPom(pom, updatedPom, noParent, false, null, null);
+        instance.transformPom(pom, updatedPom, noParent, true, false, null, null);
         assertXMLEqual(read("maven.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformMavenCorePom() throws Exception {
         usePom("maven-core.xml");
         boolean noParent = false;
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("org.codehaus.plexus plexus-container-default jar s/1\\.0-alpha-.*/1.0-alpha/"));
-        instance.transformPom(pom, updatedPom, noParent, false, null, "maven2");
+        instance.transformPom(pom, updatedPom, noParent, true, false, null, "maven2");
         assertXMLEqual(read("maven-core.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformMavenJavadocPluginPom() throws Exception {
         XMLUnit.setIgnoreComments(true);
 
@@ -62,24 +51,18 @@
         instance.addRule(new DependencyRule("org.codehaus.mojo clirr-maven-plugin * *"));
         instance.addRule(new DependencyRule("org.apache.bcel bcel jar s/5\\..*/5.x/"));
         instance.addRule(new DependencyRule("* maven-plugin-plugin maven-plugin s/.*/2.5/"));
-        instance.transformPom(pom, updatedPom, noParent, false, null, null);
+        instance.transformPom(pom, updatedPom, noParent, true, false, null, null);
         assertXMLEqual(read("maven-javadoc-plugin.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformModelloPom() throws Exception {
         usePom("modello-core.xml");
         boolean noParent = false;
         instance.addDefaultRules();
-        instance.transformPom(pom, updatedPom, noParent, false, null, "libmodello-java");
+        instance.transformPom(pom, updatedPom, noParent, true, false, null, "libmodello-java");
         assertXMLEqual(read("modello-core.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformPlexusContainerDefaultPom() throws Exception {
         usePom("plexus-container-default.xml");
         instance.addDefaultRules();
@@ -88,23 +71,19 @@
         assertXMLEqual(read("plexus-container-default.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformDoxiaFmlPom() throws Exception {
         usePom("doxia-module-fml.xml");
         boolean noParent = false;
+        instance.setRepository(getRepository());
         instance.addDefaultRules();
-        instance.transformPom(pom, updatedPom, noParent, true, null, "libdoxia-java");
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libdoxia-java");
         assertXMLEqual(read("doxia-module-fml.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformAntlr3Pom() throws Exception {
         usePom("antlr3.xml");
         boolean noParent = false;
+        instance.setRepository(getRepository());
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("org.antlr stringtemplate * s/3\\..*/3.x/ *"));
         instance.addRule(new DependencyRule("antlr antlr jar s/2\\..*/2.x/ *"));
@@ -112,13 +91,10 @@
         instance.addRule(new DependencyRule("org.antlr antlr3-maven-plugin maven-plugin s/.*/3.2/"));
         instance.addRule(new DependencyRule("org.antlr stringtemplate jar s/3\\..*/3.x/ *"));
         instance.addIgnoreRule(new DependencyRule("org.codehaus.mojo findbugs-maven-plugin maven-plugin *"));
-        instance.transformPom(pom, updatedPom, noParent, true, null, "libantlr3-java");
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libantlr3-java");
         assertXMLEqual(read("antlr3.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformAntlr3ParentPom() throws Exception {
         usePom("antlr3-parent.xml");
         boolean noParent = false;
@@ -135,20 +111,16 @@
         instance.addIgnoreModule(pom, "gunit");
         instance.addIgnoreModule(pom, "gunit-maven-plugin");
 
-        instance.transformPom(pom, updatedPom, noParent, true, null, "libantlr3-java");
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libantlr3-java");
         assertXMLEqual(read("antlr3-parent.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformAntlr3ToolsPom() throws Exception {
         XMLUnit.setIgnoreComments(true);
 
         usePom("antlr3-tools.xml");
         boolean noParent = false;
-        Repository repository = new Repository(new File("/usr/share/maven-repo"));
-        instance.setRepository(repository);
+        instance.setRepository(getRepository());
 
         instance.addDefaultRules();
         instance.addRule(new DependencyRule("org.antlr stringtemplate * s/3\\..*/3.x/ *"));
@@ -165,40 +137,68 @@
         instance.addIgnoreModule(pom, "gunit");
         instance.addIgnoreModule(pom, "gunit-maven-plugin");
 
-        instance.transformPom(pom, updatedPom, noParent, true, null, "libantlr3-java");
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libantlr3-java");
         assertXMLEqual(read("antlr3-tools.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformHivernateValidatorTckRunnerPom() throws Exception {
         usePom("hibernate-validator-tck-runner.pom");
         boolean noParent = false;
-        Repository repository = new Repository(new File("/usr/share/maven-repo"));
-        instance.setRepository(repository);
+        instance.setRepository(getRepository());
 
         instance.addDefaultRules();
         instance.usePluginVersionsFromRepository();
 
-        instance.transformPom(pom, updatedPom, noParent, true, null, "libhibernate-validator-java");
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libhibernate-validator-java");
         assertXMLEqual(read("hibernate-validator-tck-runner.transformed"), read(updatedPom));
     }
 
-    /**
-     * Test of cleanPom method, of class POMCleaner.
-     */
     public void testTransformHivernateValidatorPom() throws Exception {
         usePom("hibernate-validator.pom");
         boolean noParent = false;
-        Repository repository = new Repository(new File("/usr/share/maven-repo"));
-        instance.setRepository(repository);
+        instance.setRepository(getRepository());
 
         instance.addDefaultRules();
         instance.usePluginVersionsFromRepository();
 
-        instance.transformPom(pom, updatedPom, noParent, true, null, "libhibernate-validator-java");
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libhibernate-validator-java");
         assertXMLEqual(read("hibernate-validator.transformed"), read(updatedPom));
     }
 
+    public void testTransformPlexusUtils2Pom() throws Exception {
+        usePom("plexus-utils2.pom");
+        boolean noParent = false;
+
+        instance.addDefaultRules();
+        instance.addRule(new DependencyRule("org.codehaus.plexus plexus-utils jar s/2\\../2.x/ * *"));
+        instance.addRule(new DependencyRule("org.codehaus.plexus plexus pom s/2\\..*/2.x/ * *"));
+        instance.addIgnoreRule(new DependencyRule("org.apache.maven.plugins maven-release-plugin * *"));
+
+        instance.transformPom(pom, updatedPom, noParent, true, true, null, "libplexus-utils2-java");
+        assertXMLEqual(read("plexus-utils2.transformed"), read(updatedPom));
+    }
+
+    public void testTransformAntlrMavenPluginPom() throws Exception {
+        usePom("antlr-maven-plugin.pom");
+        boolean noParent = true;
+        instance.setRepository(getRepository());
+
+        instance.addDefaultRules();
+        instance.usePluginVersionsFromRepository();
+        instance.addRule(new DependencyRule("s/org.apache.maven.shared/org.apache.maven.plugin-testing/ maven-plugin-testing * s/.*/debian/ *"));
+        instance.addRule(new DependencyRule("s/org.apache.maven.shared/org.apache.maven.plugin-testing/ maven-plugin-testing-harness * s/.*/debian/ *"));
+        instance.addRule(new DependencyRule("s/org.apache.maven.shared/org.apache.maven.plugin-testing/ maven-plugin-testing-tools * s/.*/debian/ *"));
+        instance.addRule(new DependencyRule("s/org.apache.maven.shared/org.apache.maven.plugin-testing/ maven-test-tools * s/.*/debian/ *"));
+
+        POMInfo transformedPom = instance.transformPom(pom, updatedPom, noParent, true, true, null, "libantlr-maven-plugin-java");
+        assertXMLEqual(read("antlr-maven-plugin.transformed"), read(updatedPom));
+        assertEquals("2.3", ((Dependency) transformedPom.getPluginManagement().get(2)).getVersion());
+    }
+
+    private Repository getRepository() {
+        Repository repo = new Repository(getFileInClasspath("repository/root.dir").getParentFile());
+        repo.scan();
+        return repo;
+    }
+
 }

Modified: trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/RepositoryTest.java
===================================================================
--- trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/RepositoryTest.java	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/java/org/debian/maven/repo/RepositoryTest.java	2010-10-29 23:11:15 UTC (rev 13041)
@@ -21,10 +21,10 @@
         Repository repo = getRepository();
         repo.scan();
 
-        assertEquals(8, repo.getResolvedPoms().size());
+        assertEquals(24, repo.getResolvedPoms().size());
         assertEquals(0, repo.getUnresolvedPoms().size());
         assertEquals(0, repo.getPomsWithMissingParent().size());
-        assertEquals(0, repo.getPomsWithMissingVersions().size());
+        assertEquals(2, repo.getPomsWithMissingVersions().size());
 
         Dependency dependency = new Dependency("org.apache.ant", "ant-apache-bcel", "jar", "debian");
         POMInfo pom = repo.getPOM(dependency);
@@ -38,16 +38,16 @@
         Repository repo = getRepository();
         repo.scan();
 
-        File pomFile = getFileInClasspath("antlr3-tools.xml");
+        File pomFile = getFileInClasspath("hibernate-validator.pom");
         POMInfo pom = getAntlrPom(repo, pomFile);
         try {
             repo.registerPom(pomFile, pom);
         } catch (DependencyNotFoundException ignore) {}
 
-        assertEquals(8, repo.getResolvedPoms().size());
+        assertEquals(24, repo.getResolvedPoms().size());
         assertEquals(1, repo.getUnresolvedPoms().size());
         assertEquals(1, repo.getPomsWithMissingParent().size());
-        assertEquals(1, repo.getPomsWithMissingVersions().size());
+        assertEquals(3, repo.getPomsWithMissingVersions().size());
 
         assertEquals(pom, repo.getPOM(pom.getThisPom()));
         assertEquals(pom, repo.searchMatchingPOM(pom.getThisPom()));

Added: trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,246 @@
+<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">
+  <parent>
+    <groupId>org.codehaus.mojo</groupId>
+    <artifactId>mojo</artifactId>
+    <version>15</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>antlr-maven-plugin</artifactId>
+  <version>2.1</version>
+  <packaging>maven-plugin</packaging>
+
+  <name>Maven ANTLR Plugin</name>
+  <description>Maven Plugin for Antlr v2</description>
+  <inceptionYear>2004</inceptionYear>
+
+  <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>
+
+  <prerequisites>
+    <maven>2.0.2</maven>
+  </prerequisites>
+
+  <!--  Different from the parent -->
+  <scm>
+    <connection>scm:svn:https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</connection>
+    <developerConnection>scm:svn:https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</developerConnection>
+    <url>https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</url>
+  </scm>
+
+  <issueManagement>
+    <system>jira</system>
+    <url>http://jira.codehaus.org/browse/MANTLR</url>
+  </issueManagement>
+
+  <developers>
+    <developer>
+      <id>vsiveton</id>
+      <name>Vincent Siveton</name>
+      <email>vsiveton at apache.org</email>
+      <organization>ASF</organization>
+      <roles>
+        <role>Java Developer</role>
+      </roles>
+      <timezone>-5</timezone>
+    </developer>
+  </developers>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+      <version>2.0.2</version>
+      <exclusions>
+        <!-- Using org.codehaus.plexus:plexus-utils instead of -->
+        <exclusion>
+          <groupId>plexus</groupId>
+          <artifactId>plexus-utils</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-impl</artifactId>
+      <version>2.0.2</version>
+      <exclusions>
+        <!-- Using org.codehaus.plexus:plexus-utils instead of -->
+        <exclusion>
+          <groupId>plexus</groupId>
+          <artifactId>plexus-utils</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0.2</version>
+      <exclusions>
+        <!-- Using org.codehaus.plexus:plexus-utils instead of -->
+        <exclusion>
+          <groupId>plexus</groupId>
+          <artifactId>plexus-utils</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-i18n</artifactId>
+      <version>1.0-beta-6</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.4.1</version>
+    </dependency>
+    <!-- For Maven 2.0.2 -->
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-provider-api</artifactId>
+      <version>1.0-beta-1</version>
+    </dependency>
+
+    <dependency>
+        <groupId>org.apache.maven.shared</groupId>
+        <artifactId>maven-plugin-testing-harness</artifactId>
+        <version>1.1</version>
+        <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>2.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.modello</groupId>
+        <artifactId>modello-maven-plugin</artifactId>
+        <version>1.0-alpha-8</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>java</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <version>1.0.0</version>
+          <models><model>src/main/mdo/antlrOptions.mdo</model></models>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <version>2.0-beta-5</version>
+      </plugin>
+    </plugins>
+  </build>
+
+  <profiles>
+    <profile>
+      <id>integration-tests</id>
+      <activation>
+        <property>
+          <name>maven.test.skip</name>
+          <value>!true</value>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+            <configuration>
+              <filesets>
+                <fileset>
+                  <directory>src/it</directory>
+                  <includes>
+                    <include>**/target</include>
+                  </includes>
+                </fileset>
+              </filesets>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-install-plugin</artifactId>
+            <version>2.2</version>
+            <executions>
+              <execution>
+                <id>it-test</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>install-file</goal>
+                </goals>
+                <configuration>
+                  <file>${project.build.directory}/${project.build.finalName}.jar</file>
+                  <groupId>${project.groupId}</groupId>
+                  <artifactId>${project.artifactId}</artifactId>
+                  <version>${project.version}</version>
+                  <packaging>${project.packaging}</packaging>
+                  <pomFile>${basedir}/pom.xml</pomFile>
+                  <createChecksum>true</createChecksum>
+                  <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+                  <localRepositoryId>it-local-repo</localRepositoryId>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-invoker-plugin</artifactId>
+            <version>1.0</version>
+            <configuration>
+              <debug>true</debug>
+              <streamLogs>true</streamLogs>
+              <projectsDirectory>src/it</projectsDirectory>
+              <pomIncludes>
+                <pomInclude>**/pom.xml</pomInclude>
+              </pomIncludes>
+              <postBuildHookScript>verify.bsh</postBuildHookScript>
+              <goals>
+                <goal>site</goal>
+              </goals>
+              <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+            </configuration>
+            <executions>
+              <execution>
+                <id>integration-test</id>
+                <phase>integration-test</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.transformed	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/antlr-maven-plugin.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+	<groupId>org.codehaus.mojo</groupId>
+	<artifactId>antlr-maven-plugin</artifactId>
+	<version>2.1</version>
+	<packaging>maven-plugin</packaging>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.originalVersion>2.1</debian.originalVersion>
+		<debian.package>libantlr-maven-plugin-java</debian.package>
+	</properties>
+	
+	<name>Maven ANTLR Plugin</name>
+	<description>Maven Plugin for Antlr v2</description>
+	<inceptionYear>2004</inceptionYear>
+	<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>
+	<prerequisites>
+		<maven>2.0.2</maven>
+	</prerequisites>
+	<!--  Different from the parent -->
+	<scm>
+		<connection>scm:svn:https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</connection>
+		<developerConnection>scm:svn:https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</developerConnection>
+		<url>https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</url>
+	</scm>
+	<issueManagement>
+		<system>jira</system>
+		<url>http://jira.codehaus.org/browse/MANTLR</url>
+	</issueManagement>
+	<developers>
+		<developer>
+			<id>vsiveton</id>
+			<name>Vincent Siveton</name>
+			<email>vsiveton at apache.org</email>
+			<organization>ASF</organization>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+			<timezone>-5</timezone>
+		</developer>
+	</developers>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
+				<exclusion>
+					<groupId>plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.reporting</groupId>
+			<artifactId>maven-reporting-impl</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
+				<exclusion>
+					<groupId>plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
+				<exclusion>
+					<groupId>plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-i18n</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<!-- For Maven 2.0.2 -->
+		<dependency>
+			<groupId>org.apache.maven.wagon</groupId>
+			<artifactId>wagon-provider-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.plugin-testing</groupId>
+			<artifactId>maven-plugin-testing-harness</artifactId>
+			<version>debian</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<artifactId>maven-jar-plugin</artifactId>
+					<version>2.2</version>
+				</plugin>
+				<plugin>
+					<artifactId>maven-compiler-plugin</artifactId>
+					<version>2.0.2</version>
+				</plugin>
+				<plugin>
+					<artifactId>maven-resources-plugin</artifactId>
+					<version>2.3</version>
+				</plugin>
+				<plugin>
+					<artifactId>maven-surefire-plugin</artifactId>
+					<version>2.4.3</version>
+				</plugin>
+				<plugin>
+					<artifactId>maven-clean-plugin</artifactId>
+					<version>2.3</version>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.modello</groupId>
+				<artifactId>modello-maven-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>java</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<version>1.0.0</version>
+					<models>
+						<model>src/main/mdo/antlrOptions.mdo</model>
+					</models>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-site-plugin</artifactId>
+				<version>2.1</version>
+			</plugin>
+		</plugins>
+	</build>
+	<profiles>
+		<profile>
+			<id>integration-tests</id>
+			<activation>
+				<property>
+					<name>maven.test.skip</name>
+					<value>!true</value>
+				</property>
+			</activation>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-clean-plugin</artifactId>
+						<configuration>
+							<filesets>
+								<fileset>
+									<directory>src/it</directory>
+									<includes>
+										<include>**/target</include>
+									</includes>
+								</fileset>
+							</filesets>
+						</configuration>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-install-plugin</artifactId>
+						<version>2.2</version>
+						<executions>
+							<execution>
+								<id>it-test</id>
+								<phase>pre-integration-test</phase>
+								<goals>
+									<goal>install-file</goal>
+								</goals>
+								<configuration>
+									<file>${project.build.directory}/${project.build.finalName}.jar</file>
+									<groupId>${project.groupId}</groupId>
+									<artifactId>${project.artifactId}</artifactId>
+									<version>${project.version}</version>
+									<packaging>${project.packaging}</packaging>
+									<pomFile>${basedir}/pom.xml</pomFile>
+									<createChecksum>true</createChecksum>
+									<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+									<localRepositoryId>it-local-repo</localRepositoryId>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-invoker-plugin</artifactId>
+						<version>1.0</version>
+						<configuration>
+							<debug>true</debug>
+							<streamLogs>true</streamLogs>
+							<projectsDirectory>src/it</projectsDirectory>
+							<pomIncludes>
+								<pomInclude>**/pom.xml</pomInclude>
+							</pomIncludes>
+							<postBuildHookScript>verify.bsh</postBuildHookScript>
+							<goals>
+								<goal>site</goal>
+							</goals>
+							<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+						</configuration>
+						<executions>
+							<execution>
+								<id>integration-test</id>
+								<phase>integration-test</phase>
+								<goals>
+									<goal>run</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+</project>

Modified: trunk/maven-repo-helper/src/test/resources/antlr3-parent.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/antlr3-parent.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/antlr3-parent.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
 <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>
 	<groupId>org.antlr</groupId>
@@ -6,17 +6,40 @@
 	<version>3.2</version>
 	<packaging>pom</packaging>
 	<properties>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>3.2</debian.originalVersion>
 		<debian.package>libantlr3-java</debian.package>
 	</properties>
 	
 	<name>ANTLR Master build control POM</name>
 	<url>http://maven.apache.org</url>
+	<!--
+    What version of ANTLR are we building? This sets the 
+    the version number for all other things that are built
+    as part of an ANTLR release, unless they override or
+    ignore it. We do this via a properites file for this
+    pom.
+    -->
+	<!--
+     This is the master pom for building the ANTLR
+     toolset and runtime (Java) at the specific level
+     defined above. Hence we specify here the modules that
+     this pom will build when we build this pom
+    -->
 	<modules>
 		<module>runtime/Java</module>
 		<module>tool</module>
 		<module>antlr3-maven-plugin</module>
 	</modules>
+	<!--
+
+    Define where the ANTLR releated jars are deployed both for
+    the main ANTLR repository, which syncs with the maven main
+    repository, and the snapshot repository, which can be
+    used by developers that need the latest development version of
+    something, but is used here to show maven where to deploy
+    snapshots and releases.
+    -->
 	<distributionManagement>
 		<repository>
 			<id>antlr-repo</id>
@@ -29,7 +52,16 @@
 			<url>scpexe://antlr.org/home/mavensync/antlr-snapshot</url>
 		</snapshotRepository>
 	</distributionManagement>
+	<!--
+  
+    Inform Maven of the ANTLR snapshot repository, which it will
+    need to consult to get the latest snapshot build of the runtime
+    if it was not built and installed locally.
+    -->
 	<repositories>
+		<!--
+        This is the ANTLR repository.
+        -->
 		<repository>
 			<id>antlr-snapshot</id>
 			<name>ANTLR Testing Snapshot Repository</name>
@@ -40,6 +72,14 @@
 			</snapshots>
 		</repository>
 	</repositories>
+	<!--
+
+    Tell Maven which other artifacts we need in order to
+    build, run and test the ANTLR jars.
+    This is the master pom, and so it only contains those
+    dependencies that are common to all the modules below
+    or are just included for test
+    -->
 	<dependencyManagement>
 		<dependencies>
 			<dependency>
@@ -64,6 +104,19 @@
 	</dependencyManagement>
 	<build>
 		<defaultGoal>install</defaultGoal>
+		<!--
+            The following filter definition means that both the master
+            project and the sub projects will read in a file in the same
+            directory as the pom.xml is located and set any properties
+            that are defined there in the standard x=y format. These
+            properties can then be referenced via ${x} in any resource
+            file specified in any pom. So, there is a master antlr.config
+            file in the same location as this pom.xml file and here you can
+            define anything that is relevant to all the modules that we
+            build here. However each module also has an antlr.config file
+            where you can override property values from the master file or
+            define things that are only relevant to that module. 
+          -->
 		<filters>
 			<filter>antlr.config</filter>
 		</filters>

Modified: trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -8,15 +8,23 @@
 	<parent>
 		<groupId>org.antlr</groupId>
 		<artifactId>antlr-master</artifactId>
-		<version>3.2</version>
+		<version>3.x</version>
 	</parent>
 	<properties>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>3.2</debian.originalVersion>
 		<debian.package>libantlr3-java</debian.package>
 	</properties>
-
+	
 	<name>ANTLR Grammar Tool</name>
 	<url>http://antlr.org</url>
+	<!--
+
+    Inherit from the ANTLR master pom, which tells us what
+    version we are and allows us to inherit dependencies
+    and so on.
+
+    -->
 	<dependencies>
 		<dependency>
 			<groupId>org.antlr</groupId>
@@ -31,6 +39,17 @@
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
+	<!--
+
+    Tell Maven which other artifacts we need in order to
+    build, run and test the ANTLR Tool. The ANTLR Tool uses earlier versions
+    of ANTLR at runtime (for the moment), uses the current
+    released version of ANTLR String template, but obviously is
+    reliant on the latest snapshot of the runtime, which will either be
+    taken from the antlr-snapshot repository, or your local .m2
+    repository if you built and installed that locally.
+
+    -->
 	<build>
 		<defaultGoal>install</defaultGoal>
 		<plugins>

Modified: trunk/maven-repo-helper/src/test/resources/antlr3.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/antlr3.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/antlr3.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
 <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>
 	<groupId>org.antlr</groupId>
@@ -8,16 +8,15 @@
 	<parent>
 		<groupId>org.antlr</groupId>
 		<artifactId>antlr-master</artifactId>
-		<version>3.2</version>
+		<version>3.x</version>
 	</parent>
-
+	
 	<properties>
 		<debian.originalVersion>3.2</debian.originalVersion>
 		<debian.package>libantlr3-java</debian.package>
 		<debian.mavenRules>org.antlr antlr-master pom 3.2 *,
 		org.antlr antlr-runtime jar 3.2 *</debian.mavenRules>
-		<debian.originalVersion>3.2</debian.originalVersion>
-		<debian.package>libantlr3-java</debian.package>
+		<debian.hasPackageVersion/>
 	</properties>
 	<name>Antlr 3 Runtime</name>
 	<description>A framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions.</description>

Added: trunk/maven-repo-helper/src/test/resources/apache.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/apache.cleaned	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/apache.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,201 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache</groupId>
+	<artifactId>apache</artifactId>
+	<version>debian</version>
+	<packaging>pom</packaging>
+	
+	<!-- Shared parent. Doesn't define a lot of things about Apache like general mailing lists, but does
+       define the settings common to all projects at Apache 
+       
+       As of Version 6, this includes a standard release profile that all projects can use. If the profile is not appropriate for your project, define your own release profile and change the release plugin configuration parameter <arguments> </arguments> to activate your profile instead of the apache-release profile.
+       
+      Standard versions of plugins are also defined, these may be overridden by individual projects as well.
+       -->
+	<name>The Apache Software Foundation</name>
+	<description>The Apache Software Foundation provides support for the Apache community of open-source software projects.
+    The Apache projects are characterized by a collaborative, consensus based development process, an open andpragmatic software license, and a desire to create high quality software that leads the way in its field.
+    We consider ourselves not simply a group of projects sharing a server, but rather a community of developersand users.</description>
+	<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>
+	<organization>
+		<name>The Apache Software Foundation</name>
+		<url>http://www.apache.org/</url>
+	</organization>
+	<url>http://www.apache.org/</url>
+	<mailingLists>
+		<mailingList>
+			<name>Apache Announce List</name>
+			<subscribe>announce-subscribe at apache.org</subscribe>
+			<unsubscribe>announce-unsubscribe at apache.org</unsubscribe>
+			<post>announce at apache.org</post>
+			<archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+		</mailingList>
+	</mailingLists>
+	<properties>
+		<distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+		<distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
+		<organization.logo>http://www.apache.org/images/asf_logo_wide.gif</organization.logo>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor>
+		<debian.originalVersion>7</debian.originalVersion>
+		<debian.package>libmaven-parent-poms</debian.package>
+	</properties>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-7</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-7</developerConnection>
+		<url>http://svn.apache.org/viewvc/maven/pom/tags/apache-7</url>
+	</scm>
+	<build>
+		<pluginManagement>
+			<plugins>
+				<!-- set versions of common plugins for reproducibility, ordered alphabetically -->
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-antrun-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-assembly-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-clean-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-compiler-plugin</artifactId>
+					<configuration>
+						<source>1.4</source>
+						<target>1.4</target>
+						<encoding>${project.build.sourceEncoding}</encoding>
+					</configuration>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-docck-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-enforcer-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-gpg-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-install-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-invoker-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-jar-plugin</artifactId>
+					<configuration>
+						<archive>
+							<manifest>
+								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+							</manifest>
+						</archive>
+					</configuration>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-javadoc-plugin</artifactId>
+					<!-- NOTE: 2.6.x is generally unusuable due to MJAVADOC-275 -->
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-plugin-plugin</artifactId>
+				</plugin>
+				<!-- START SNIPPET: release-plugin-configuration -->
+				<!-- END SNIPPET: release-plugin-configuration -->
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-remote-resources-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-resources-plugin</artifactId>
+					<configuration>
+						<encoding>${project.build.sourceEncoding}</encoding>
+					</configuration>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-site-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-surefire-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>clirr-maven-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-maven-plugin</artifactId>
+				</plugin>
+				<plugin>
+					<groupId>org.codehaus.modello</groupId>
+					<artifactId>modello-maven-plugin</artifactId>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+		<plugins>
+			<!-- We want to package up license resources in the JARs produced -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-remote-resources-plugin</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>process</goal>
+						</goals>
+						<configuration>
+							<resourceBundles>
+								<resourceBundle>org.apache:apache-jar-resource-bundle:1.x</resourceBundle>
+							</resourceBundles>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+	<reporting>
+		<plugins>
+			<plugin>
+				<artifactId>maven-project-info-reports-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</reporting>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/apache.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/apache.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/apache.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,369 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- Shared parent. Doesn't define a lot of things about Apache like general mailing lists, but does
+       define the settings common to all projects at Apache 
+       
+       As of Version 6, this includes a standard release profile that all projects can use. If the profile is not appropriate for your project, define your own release profile and change the release plugin configuration parameter <arguments> </arguments> to activate your profile instead of the apache-release profile.
+       
+      Standard versions of plugins are also defined, these may be overridden by individual projects as well.
+       -->
+  <groupId>org.apache</groupId>
+  <artifactId>apache</artifactId>
+  <version>7</version>
+  <packaging>pom</packaging>
+  <name>The Apache Software Foundation</name>
+  <description>
+    The Apache Software Foundation provides support for the Apache community of open-source software projects.
+    The Apache projects are characterized by a collaborative, consensus based development process, an open and
+    pragmatic software license, and a desire to create high quality software that leads the way in its field.
+    We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
+    and users.
+  </description>
+  <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>
+  <organization>
+    <name>The Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+  <url>http://www.apache.org/</url>
+  <repositories>
+    <repository>
+      <id>apache.snapshots</id>
+      <name>Apache Snapshot Repository</name>
+      <url>http://repository.apache.org/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+
+  <distributionManagement>
+    <!-- Site omitted - each project must provide their own -->
+    <repository>
+      <id>apache.releases.https</id>
+      <name>Apache Release Distribution Repository</name>
+      <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
+    </repository>
+    <snapshotRepository>
+      <id>apache.snapshots.https</id>
+      <name>${distMgmtSnapshotsName}</name>
+      <url>${distMgmtSnapshotsUrl}</url>
+    </snapshotRepository>
+  </distributionManagement>
+  <mailingLists>
+    <mailingList>
+      <name>Apache Announce List</name>
+      <subscribe>announce-subscribe at apache.org</subscribe>
+      <unsubscribe>announce-unsubscribe at apache.org</unsubscribe>
+      <post>announce at apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+    </mailingList>
+  </mailingLists>
+  <properties>
+    <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+    <distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
+    <organization.logo>http://www.apache.org/images/asf_logo_wide.gif</organization.logo>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor>
+  </properties>
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-7</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-7</developerConnection>
+    <url>http://svn.apache.org/viewvc/maven/pom/tags/apache-7</url>
+  </scm>
+
+  <build>
+     <pluginManagement>
+      <plugins>
+        <!-- set versions of common plugins for reproducibility, ordered alphabetically -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-antrun-plugin</artifactId>
+          <version>1.3</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>2.2-beta-5</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+          <configuration>
+            <source>1.4</source>
+            <target>1.4</target>
+            <encoding>${project.build.sourceEncoding}</encoding>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.5</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-docck-plugin</artifactId>
+          <version>1.0</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-enforcer-plugin</artifactId>
+          <version>1.0-beta-1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-gpg-plugin</artifactId>
+          <version>1.0-alpha-4</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-invoker-plugin</artifactId>
+          <version>1.5</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.3</version>
+          <configuration>
+            <archive>
+              <manifest>
+                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              </manifest>
+            </archive>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <!-- NOTE: 2.6.x is generally unusuable due to MJAVADOC-275 -->
+          <version>2.5</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-plugin-plugin</artifactId>
+          <version>2.5.1</version>
+        </plugin>
+        <!-- START SNIPPET: release-plugin-configuration -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>2.0-beta-9</version>
+          <configuration>
+            <useReleaseProfile>false</useReleaseProfile>
+            <goals>deploy</goals>
+            <arguments>-Papache-release</arguments>
+          </configuration>
+        </plugin>
+        <!-- END SNIPPET: release-plugin-configuration -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-remote-resources-plugin</artifactId>
+          <version>1.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.4</version>
+          <configuration>
+            <encoding>${project.build.sourceEncoding}</encoding>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-scm-plugin</artifactId>
+          <version>1.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>2.0.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>2.1.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.3</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>clirr-maven-plugin</artifactId>
+          <version>2.2.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-maven-plugin</artifactId>
+          <version>1.3.8</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.modello</groupId>
+          <artifactId>modello-maven-plugin</artifactId>
+          <version>1.1</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <!-- We want to package up license resources in the JARs produced -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>process</goal>
+            </goals>
+            <configuration>
+              <resourceBundles>
+                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
+              </resourceBundles>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins> 
+ </build>
+
+ <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>2.1.2</version>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <profiles>
+      <!-- START SNIPPET: release-profile -->
+    <profile>
+      <id>apache-release</id>
+      <build>
+        <plugins>
+          <!-- Create a source-release artifact that contains the fully buildable 
+               project directory source structure. This is the artifact which is 
+               the official subject of any release vote. -->
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <dependencies>
+              <dependency>
+                <groupId>org.apache.apache.resources</groupId>
+                <artifactId>apache-source-release-assembly-descriptor</artifactId>
+                <version>1.0.2</version>
+              </dependency>
+            </dependencies>
+            <executions>
+              <execution>
+                <id>source-release-assembly</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+                <configuration>
+                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+                  <descriptorRefs>
+                    <descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
+                  </descriptorRefs>
+                  <tarLongFileFormat>gnu</tarLongFileFormat>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <configuration>
+              <passphrase>${gpg.passphrase}</passphrase>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <!-- We want to deploy the artifact to a staging location for perusal -->
+          <plugin>
+            <inherited>true</inherited>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-deploy-plugin</artifactId>
+            <configuration>
+              <updateReleaseInfo>true</updateReleaseInfo>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+              <encoding>${project.build.sourceEncoding}</encoding>
+            </configuration>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <!-- END SNIPPET: release-profile -->
+  </profiles>
+</project>
+

Modified: trunk/maven-repo-helper/src/test/resources/commons-validator.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/commons-validator.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/commons-validator.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -6,16 +6,17 @@
 	<version>debian</version>
 	<packaging>jar</packaging>
 	<properties>
-		<debian.originalVersion>1.3.1</debian.originalVersion>
-		<debian.package>libcommons-validator-java</debian.package>
 		<debian.commons-beanutils.commons-beanutils.originalVersion>1.7.0</debian.commons-beanutils.commons-beanutils.originalVersion>
 		<debian.commons-digester.commons-digester.originalVersion>1.6</debian.commons-digester.commons-digester.originalVersion>
 		<debian.commons-logging.commons-logging.originalVersion>1.0.4</debian.commons-logging.commons-logging.originalVersion>
+		<debian.hasPackageVersion/>
 		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
+		<debian.originalVersion>1.3.1</debian.originalVersion>
 		<debian.oro.oro.originalVersion>2.0.8</debian.oro.oro.originalVersion>
+		<debian.package>libcommons-validator-java</debian.package>
 		<debian.xml-apis.xml-apis.originalVersion>2.0.2</debian.xml-apis.xml-apis.originalVersion>
 	</properties>
-
+	
 	<name>Validator</name>
 	<description>Commons Validator provides the building blocks for both client side validation
     and server side data validation. It may be used standalone or with a framework likeStruts.</description>

Modified: trunk/maven-repo-helper/src/test/resources/doxia-module-fml.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/doxia-module-fml.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/doxia-module-fml.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,103 +1,123 @@
 <?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>
-        <groupId>org.apache.maven.doxia</groupId>
-        <artifactId>doxia-module-fml</artifactId>
-        <version>1.1</version>
-        <packaging>jar</packaging>
-        <parent>
-                <groupId>org.apache.maven.doxia</groupId>
-                <artifactId>doxia-modules</artifactId>
-                <version>1.1</version>
-        </parent>
-        <properties>
-                <debian.originalVersion>1.1</debian.originalVersion>
-                <debian.package>libdoxia-java</debian.package>
-        </properties>
-
-        <name>Doxia :: FML Module</name>
-        <description>A Doxia module for FML source documents.</description>
-        <dependencies>
-                <dependency>
-                        <groupId>org.codehaus.plexus</groupId>
-                        <artifactId>plexus-utils</artifactId>
-                </dependency>
-                <dependency>
-                        <groupId>org.apache.maven.doxia</groupId>
-                        <artifactId>doxia-test-docs</artifactId>
-                        <scope>test</scope>
-                </dependency>
-                <dependency>
-                        <groupId>xerces</groupId>
-                        <artifactId>xercesImpl</artifactId>
-                        <version>debian</version>
-                        <scope>test</scope>
-                </dependency>
-        </dependencies>
-        <build>
-                <plugins>
-                        <plugin>
-                                <groupId>org.codehaus.modello</groupId>
-                                <artifactId>modello-maven-plugin</artifactId>
-                                <executions>
-                                        <execution>
-                                                <id>descriptor</id>
-                                                <phase>generate-sources</phase>
-                                                <goals>
-                                                        <goal>java</goal>
-                                                </goals>
-                                                <configuration>
-                                                        <models>
-                                                                <model>src/main/mdo/fml.mdo</model>
-                                                        </models>
-                                                        <version>1.0.0</version>
-                                                </configuration>
-                                        </execution>
-                                </executions>
-                        </plugin>
-                </plugins>
-        </build>
-        <profiles>
-                <profile>
-                        <id>reporting</id>
-                        <build>
-                                <plugins>
-                                        <plugin>
-                                                <groupId>org.apache.maven.plugins</groupId>
-                                                <artifactId>maven-antrun-plugin</artifactId>
-                                                <executions>
-                                                        <execution>
-                                                                <phase>site</phase>
-                                                                <configuration>
-                                                                        <tasks>
-                                                                                <taskdef name="xsddoc" classname="net.sf.xframe.xsddoc.Task">
-                                                                                </taskdef>
-                                                                                <mkdir dir="${reporting.outputDirectory}/xsddoc">
-                                                                                </mkdir>
-                                                                                <xsddoc file="${basedir}/src/main/resources/fml-1.0.xsd" out="${basedir}/${reporting.outputDirectory}/xsddoc" doctitle="Reference of Schema FML 1.0" verbose="true">
-                                                                                </xsddoc>
-                                                                        </tasks>
-                                                                </configuration>
-                                                                <goals>
-                                                                        <goal>run</goal>
-                                                                </goals>
-                                                        </execution>
-                                                </executions>
-                                                <dependencies>
-                                                        <dependency>
-                                                                <groupId>xsddoc</groupId>
-                                                                <artifactId>xsddoc</artifactId>
-                                                                <version>debian</version>
-                                                        </dependency>
-                                                        <dependency>
-                                                                <groupId>xalan</groupId>
-                                                                <artifactId>xalan</artifactId>
-                                                                <version>debian</version>
-                                                        </dependency>
-                                                </dependencies>
-                                        </plugin>
-                                </plugins>
-                        </build>
-                </profile>
-        </profiles>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.doxia</groupId>
+	<artifactId>doxia-module-fml</artifactId>
+	<version>1.1.2</version>
+	<packaging>jar</packaging>
+	<parent>
+		<groupId>org.apache.maven.doxia</groupId>
+		<artifactId>doxia-modules</artifactId>
+		<version>debian</version>
+	</parent>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.originalVersion>1.1.2</debian.originalVersion>
+		<debian.package>libdoxia-java</debian.package>
+	</properties>
+	
+	<name>Doxia :: FML Module</name>
+	<description>A Doxia module for FML source documents.</description>
+	<dependencies>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+		</dependency>
+		<!-- test -->
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-test-docs</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>xerces</groupId>
+			<artifactId>xercesImpl</artifactId>
+			<version>debian</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.modello</groupId>
+				<artifactId>modello-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>descriptor</id>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>java</goal>
+						</goals>
+						<configuration>
+							<models>
+								<model>src/main/mdo/fml.mdo</model>
+							</models>
+							<version>1.0.0</version>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+	<profiles>
+		<profile>
+			<id>reporting</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-antrun-plugin</artifactId>
+						<executions>
+							<execution>
+								<phase>site</phase>
+								<configuration>
+									<tasks>
+										<taskdef name="xsddoc" classname="net.sf.xframe.xsddoc.Task">
+										</taskdef>
+										<mkdir dir="${reporting.outputDirectory}/xsddoc">
+										</mkdir>
+										<xsddoc file="${basedir}/src/main/resources/fml-1.0.xsd" out="${basedir}/${reporting.outputDirectory}/xsddoc" doctitle="Reference of Schema FML 1.0" verbose="true">
+										</xsddoc>
+									</tasks>
+								</configuration>
+								<goals>
+									<goal>run</goal>
+								</goals>
+							</execution>
+						</executions>
+						<dependencies>
+							<dependency>
+								<groupId>xsddoc</groupId>
+								<artifactId>xsddoc</artifactId>
+								<version>debian</version>
+							</dependency>
+							<dependency>
+								<groupId>xalan</groupId>
+								<artifactId>xalan</artifactId>
+								<version>debian</version>
+							</dependency>
+						</dependencies>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
 </project>

Modified: trunk/maven-repo-helper/src/test/resources/doxia-module-fml.xml
===================================================================
--- trunk/maven-repo-helper/src/test/resources/doxia-module-fml.xml	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/doxia-module-fml.xml	2010-10-29 23:11:15 UTC (rev 13041)
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>doxia-modules</artifactId>
     <groupId>org.apache.maven.doxia</groupId>
-    <version>1.1</version>
+    <version>1.1.2</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 

Modified: trunk/maven-repo-helper/src/test/resources/hibernate-validator-parent.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/hibernate-validator-parent.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/hibernate-validator-parent.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -6,10 +6,11 @@
 	<version>debian</version>
 	<packaging>pom</packaging>
 	<properties>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>4.0.2.GA</debian.originalVersion>
 		<debian.package>libhibernate-validator-java</debian.package>
 	</properties>
-
+	
 	<name>Hibernate Validator Parent</name>
 	<url>http://validator.hibernate.org</url>
 	<description>Hibernate's Bean Validation (JSR-303) reference implementation.</description>

Modified: trunk/maven-repo-helper/src/test/resources/hibernate-validator-tck-runner.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/hibernate-validator-tck-runner.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/hibernate-validator-tck-runner.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -10,7 +10,7 @@
 		<artifactId>hibernate-validator-parent</artifactId>
 		<version>4.0.2.GA</version>
 	</parent>
-
+	
 	<name>Hibernate Validator TCK Runner</name>
 	<description>Aggregates dependencies and run's the JSR-303 TCK</description>
 	<dependencies>
@@ -52,6 +52,7 @@
 		<validation.provider>org.hibernate.validator.HibernateValidator</validation.provider>
 		<remote.debug>
 		</remote.debug>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>4.0.2.GA</debian.originalVersion>
 		<debian.package>libhibernate-validator-java</debian.package>
 	</properties>

Modified: trunk/maven-repo-helper/src/test/resources/hibernate-validator.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/hibernate-validator.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/hibernate-validator.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -11,10 +11,11 @@
 		<version>4.0.2.GA</version>
 	</parent>
 	<properties>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>4.0.2.GA</debian.originalVersion>
 		<debian.package>libhibernate-validator-java</debian.package>
 	</properties>
-
+	
 	<name>Hibernate Validator</name>
 	<distributionManagement>
 		<site>
@@ -23,6 +24,9 @@
 		</site>
 	</distributionManagement>
 	<dependencies>
+		<!--
+        Compile time dependencies
+        -->
 		<dependency>
 			<groupId>javax.validation</groupId>
 			<artifactId>validation-api</artifactId>
@@ -38,6 +42,9 @@
 			<artifactId>jtype</artifactId>
 			<version>debian</version>
 		</dependency>
+		<!--
+        Runtime dependencies
+        -->
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>slf4j-log4j12</artifactId>
@@ -45,12 +52,18 @@
 			<optional>true</optional>
 			<version>debian</version>
 		</dependency>
+		<!--
+        Optional dependencies
+        -->
 		<dependency>
 			<groupId>org.hibernate.java-persistence</groupId>
 			<artifactId>jpa-api</artifactId>
 			<version>debian</version>
 			<optional>true</optional>
 		</dependency>
+		<!--
+        Test dependencies
+        -->
 		<dependency>
 			<groupId>org.testng</groupId>
 			<artifactId>testng</artifactId>
@@ -198,6 +211,8 @@
 					<options>
 						<xincludeSupported>true</xincludeSupported>
 						<xmlTransformerType>saxon</xmlTransformerType>
+						<!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
+						<!--     could also locate the docbook dependency and inspect its version... -->
 						<docbookVersion>1.72.0</docbookVersion>
 						<localeSeparator>-</localeSeparator>
 					</options>

Modified: trunk/maven-repo-helper/src/test/resources/maven-core.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/maven-core.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/maven-core.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,4 +1,22 @@
 <?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/xsd/maven-4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.apache.maven</groupId>
@@ -11,6 +29,7 @@
 		<version>debian</version>
 	</parent>
 	<properties>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>2.1.1-SNAPSHOT</debian.originalVersion>
 		<debian.package>maven2</debian.package>
 	</properties>
@@ -76,21 +95,21 @@
 			<groupId>org.apache.maven</groupId>
 			<artifactId>maven-project</artifactId>
 		</dependency>
-        <dependency>
-            <groupId>commons-cli</groupId>
-            <artifactId>commons-cli</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>commons-lang</artifactId>
-                    <groupId>commons-lang</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>commons-logging</artifactId>
-                    <groupId>commons-logging</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
 		<dependency>
+			<groupId>commons-cli</groupId>
+			<artifactId>commons-cli</artifactId>
+			<exclusions>
+				<exclusion>
+					<artifactId>commons-lang</artifactId>
+					<groupId>commons-lang</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>commons-logging</artifactId>
+					<groupId>commons-logging</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.maven</groupId>
 			<artifactId>maven-plugin-api</artifactId>
 		</dependency>
@@ -105,7 +124,7 @@
 		</dependency>
 		<dependency>
 			<groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-interactivity-api</artifactId>
+			<artifactId>plexus-interactivity-api</artifactId>
 			<version>debian</version>
 			<exclusions>
 				<exclusion>
@@ -129,6 +148,9 @@
 		<dependency>
 			<groupId>org.apache.maven.wagon</groupId>
 			<artifactId>wagon-ssh</artifactId>
+			<!-- reset once workaround in DefaultMaven removed
+      <scope>runtime</scope>
+-->
 		</dependency>
 		<dependency>
 			<groupId>org.codehaus.plexus</groupId>

Modified: trunk/maven-repo-helper/src/test/resources/maven-javadoc-plugin.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/maven-javadoc-plugin.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/maven-javadoc-plugin.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,4 +1,22 @@
 <?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>
 	<groupId>org.apache.maven.plugins</groupId>
@@ -27,9 +45,11 @@
 		<doxiaVersion>1.0-alpha-11</doxiaVersion>
 		<doxia-sitetoolsVersion>1.0-alpha-11</doxia-sitetoolsVersion>
 		<wagonVersion>1.0-beta-2</wagonVersion>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>2.5</debian.originalVersion>
 	</properties>
 	<dependencies>
+		<!-- maven -->
 		<dependency>
 			<groupId>org.apache.maven</groupId>
 			<artifactId>maven-core</artifactId>
@@ -75,26 +95,31 @@
 			<artifactId>maven-archiver</artifactId>
 			<version>debian</version>
 		</dependency>
+		<!-- Doxia -->
 		<dependency>
 			<groupId>org.apache.maven.doxia</groupId>
 			<artifactId>doxia-sink-api</artifactId>
 			<version>debian</version>
 		</dependency>
+		<!-- Doxia-sitetools -->
 		<dependency>
 			<groupId>org.apache.maven.doxia</groupId>
 			<artifactId>doxia-site-renderer</artifactId>
 			<version>debian</version>
 		</dependency>
+		<!-- wagon -->
 		<dependency>
 			<groupId>org.apache.maven.wagon</groupId>
 			<artifactId>wagon-provider-api</artifactId>
 			<version>debian</version>
 		</dependency>
+		<!-- misc -->
 		<dependency>
 			<groupId>commons-lang</groupId>
 			<artifactId>commons-lang</artifactId>
 			<version>debian</version>
 		</dependency>
+		<!-- Plexus -->
 		<dependency>
 			<groupId>org.codehaus.plexus</groupId>
 			<artifactId>plexus-container-default</artifactId>
@@ -120,6 +145,7 @@
 			<artifactId>maven-toolchain</artifactId>
 			<version>debian</version>
 			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
 				<exclusion>
 					<groupId>plexus</groupId>
 					<artifactId>plexus-utils</artifactId>
@@ -147,6 +173,7 @@
 	<build>
 		<pluginManagement>
 			<plugins>
+				<!-- TODO: remove when maven-plugins parent pom 12 is released -->
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-plugin-plugin</artifactId>
@@ -246,11 +273,13 @@
 						<artifactId>maven-changes-plugin</artifactId>
 						<version>2.0</version>
 						<configuration>
+							<!-- For JIRA-report -->
 							<columnNames>Type,Key,Summary,Assignee,Status,Resolution,Fix Version</columnNames>
 							<onlyCurrentVersion>true</onlyCurrentVersion>
 							<resolutionIds>Closed</resolutionIds>
 							<sortColumnNames>Type,Key</sortColumnNames>
 							<maxEntries>1000</maxEntries>
+							<!-- MCHANGES-124 -->
 						</configuration>
 						<reportSets>
 							<reportSet>
@@ -260,6 +289,7 @@
 							</reportSet>
 						</reportSets>
 					</plugin>
+					<!-- TODO: remove when maven-plugins parent pom 12 is released -->
 					<plugin>
 						<groupId>org.apache.maven.plugins</groupId>
 						<artifactId>maven-plugin-plugin</artifactId>

Modified: trunk/maven-repo-helper/src/test/resources/maven.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/maven.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/maven.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,10 +1,29 @@
 <?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/xsd/maven-4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.apache.maven</groupId>
 	<artifactId>maven</artifactId>
 	<version>debian</version>
 	<packaging>pom</packaging>
+	
 	<name>Maven</name>
 	<description>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</description>
 	<url>http://maven.apache.org</url>
@@ -60,6 +79,7 @@
 				<otherArchive>http://maven.commits.markmail.org/</otherArchive>
 			</otherArchives>
 		</mailingList>
+		<!-- duplication from parent pom - temporary until they inherit properly -->
 		<mailingList>
 			<name>Maven Announcements List</name>
 			<post>announce at maven.apache.org</post>
@@ -113,10 +133,12 @@
 	<properties>
 		<mavenVersion>2.1.0-SNAPSHOT</mavenVersion>
 		<wagonVersion>1.0-beta-5</wagonVersion>
+		<debian.hasPackageVersion/>
+		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
 		<debian.originalVersion>2.1.0-SNAPSHOT</debian.originalVersion>
-        <debian.package>maven2</debian.package>
-		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
+		<debian.package>maven2</debian.package>
 	</properties>
+	<!--start-->
 	<dependencies>
 		<dependency>
 			<groupId>junit</groupId>
@@ -126,7 +148,10 @@
 		</dependency>
 	</dependencies>
 	<dependencyManagement>
+		<!--end-->
 		<dependencies>
+			<!-- Maven -->
+			<!--start-->
 			<dependency>
 				<groupId>org.apache.maven</groupId>
 				<artifactId>maven-plugin-descriptor</artifactId>
@@ -217,6 +242,7 @@
 				<artifactId>maven-toolchain</artifactId>
 				<version>debian</version>
 			</dependency>
+			<!--end-->
 			<dependency>
 				<groupId>commons-cli</groupId>
 				<artifactId>commons-cli</artifactId>
@@ -232,6 +258,7 @@
 				<artifactId>doxia-logging-api</artifactId>
 				<version>debian</version>
 			</dependency>
+			<!-- Plexus -->
 			<dependency>
 				<groupId>org.codehaus.plexus</groupId>
 				<artifactId>plexus-interpolation</artifactId>
@@ -299,5 +326,7 @@
 				<version>debian</version>
 			</dependency>
 		</dependencies>
+		<!--start-->
 	</dependencyManagement>
+	<!--end-->
 </project>
\ No newline at end of file

Modified: trunk/maven-repo-helper/src/test/resources/maven.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/maven.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/maven.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,11 +1,29 @@
 <?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/xsd/maven-4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
+	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.apache.maven</groupId>
 	<artifactId>maven</artifactId>
 	<version>debian</version>
 	<packaging>pom</packaging>
-
+	
 	<name>Maven</name>
 	<description>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</description>
 	<url>http://maven.apache.org</url>
@@ -61,6 +79,7 @@
 				<otherArchive>http://maven.commits.markmail.org/</otherArchive>
 			</otherArchives>
 		</mailingList>
+		<!-- duplication from parent pom - temporary until they inherit properly -->
 		<mailingList>
 			<name>Maven Announcements List</name>
 			<post>announce at maven.apache.org</post>
@@ -176,8 +195,11 @@
 					<artifactId>clirr-maven-plugin</artifactId>
 					<version>2.2.1</version>
 					<configuration>
+						<!-- needed for release: default value "(,${project.version})" for 2.0.10 is 2.0.10-SNAPSHOT -->
 						<comparisonVersion>2.0.9</comparisonVersion>
 						<excludes>
+							<!-- TODO: These represent method ADDITIONS from 2.0.9, and should be removed after
+                   2.0.10 is released. -->
 							<exclude>org/apache/maven/lifecycle/LifecycleExecutor*</exclude>
 							<exclude>org/apache/maven/artifact/metadata/AbstractArtifactMetadata*</exclude>
 							<exclude>org/apache/maven/artifact/metadata/ArtifactMetadataSource*</exclude>
@@ -187,6 +209,7 @@
 							<exclude>org/apache/maven/project/inheritance/ModelInheritanceAssembler*</exclude>
 							<exclude>org/apache/maven/execution/MavenExecutionRequest*</exclude>
 							<exclude>org/apache/maven/plugin/DefaultPluginManager*</exclude>
+							<!-- these are differences in methods that SHOULD BE PRIVATE -->
 							<exclude>org/apache/maven/settings/io/xpp3/SettingsXpp3Reader*</exclude>
 							<exclude>org/apache/maven/artifact/repository/metadata/io/xpp3/MetadataXpp3Reader*</exclude>
 							<exclude>org/apache/maven/model/io/xpp3/MavenXpp3Reader*</exclude>
@@ -225,8 +248,10 @@
 	<properties>
 		<mavenVersion>2.1.0-SNAPSHOT</mavenVersion>
 		<wagonVersion>1.0-beta-5</wagonVersion>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>2.1.0-SNAPSHOT</debian.originalVersion>
 	</properties>
+	<!--start-->
 	<dependencies>
 		<dependency>
 			<groupId>junit</groupId>
@@ -236,7 +261,10 @@
 		</dependency>
 	</dependencies>
 	<dependencyManagement>
+		<!--end-->
 		<dependencies>
+			<!-- Maven -->
+			<!--start-->
 			<dependency>
 				<groupId>org.apache.maven</groupId>
 				<artifactId>maven-plugin-descriptor</artifactId>
@@ -327,6 +355,7 @@
 				<artifactId>maven-toolchain</artifactId>
 				<version>debian</version>
 			</dependency>
+			<!--end-->
 			<dependency>
 				<groupId>commons-cli</groupId>
 				<artifactId>commons-cli</artifactId>
@@ -342,6 +371,7 @@
 				<artifactId>doxia-logging-api</artifactId>
 				<version>debian</version>
 			</dependency>
+			<!-- Plexus -->
 			<dependency>
 				<groupId>org.codehaus.plexus</groupId>
 				<artifactId>plexus-interpolation</artifactId>
@@ -409,7 +439,9 @@
 				<version>debian</version>
 			</dependency>
 		</dependencies>
+		<!--start-->
 	</dependencyManagement>
+	<!--end-->
 	<distributionManagement>
 		<site>
 			<id>apache.website</id>
@@ -421,6 +453,7 @@
 			<id>quality-checks</id>
 			<build>
 				<plugins>
+					<!-- This is here until it is enabled in the parent -->
 					<plugin>
 						<groupId>org.codehaus.mojo</groupId>
 						<artifactId>clirr-maven-plugin</artifactId>
@@ -441,6 +474,7 @@
 			<id>release</id>
 			<build>
 				<plugins>
+					<!-- This is here until it is enabled in the parent -->
 					<plugin>
 						<groupId>org.codehaus.mojo</groupId>
 						<artifactId>clirr-maven-plugin</artifactId>
@@ -474,6 +508,13 @@
 		</profile>
 		<profile>
 			<id>reporting-aggregate</id>
+			<!-- To generate aggregate reports -->
+			<!-- To deploy both aggregate reports for top-level project and standalone reports for modules, call
+           mvn site -Preporting
+           mvn site:deploy
+           mvn site -Preporting-aggregate
+           mvn -N site:deploy
+      -->
 			<reporting>
 				<plugins>
 					<plugin>

Modified: trunk/maven-repo-helper/src/test/resources/modello-core.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/modello-core.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/modello-core.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,28 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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/xsd/maven-4_0_0.xsd">
-  <parent>
-    <artifactId>modello</artifactId>
-    <groupId>org.codehaus.modello</groupId>
-    <version>debian</version>
-  </parent>
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.codehaus.modello</groupId>
-  <artifactId>modello-core</artifactId>
-  <version>debian</version>
-  <packaging>jar</packaging>
-  <name>Modello Core</name>
-
-  <properties>
-    <debian.originalVersion>1.0-alpha-22</debian.originalVersion>
-    <debian.package>libmodello-java</debian.package>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
-    </dependency>
-  </dependencies>
-
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.codehaus.modello</groupId>
+	<artifactId>modello-core</artifactId>
+	<version>debian</version>
+	<packaging>jar</packaging>
+	<parent>
+		<groupId>org.codehaus.modello</groupId>
+		<artifactId>modello</artifactId>
+		<version>debian</version>
+	</parent>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.originalVersion>1.0-alpha-22</debian.originalVersion>
+		<debian.package>libmodello-java</debian.package>
+	</properties>
+	
+	<name>Modello Core</name>
+	<dependencies>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-container-default</artifactId>
+		</dependency>
+	</dependencies>
 </project>
\ No newline at end of file

Modified: trunk/maven-repo-helper/src/test/resources/modello-core.keep.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/modello-core.keep.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/modello-core.keep.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,28 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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/xsd/maven-4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.codehaus.modello</groupId>
-  <artifactId>modello-core</artifactId>
-  <version>1.0-alpha-22</version>
-  <packaging>jar</packaging>
-  <name>Modello Core</name>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.codehaus.modello</groupId>
+	<artifactId>modello-core</artifactId>
+	<version>1.0-alpha-22</version>
+	<packaging>jar</packaging>
+	<parent>
+		<groupId>org.codehaus.modello</groupId>
+		<artifactId>modello</artifactId>
+		<version>1.0-alpha-22</version>
+	</parent>
+	<properties>
+		<debian.originalVersion>1.0-alpha-22</debian.originalVersion>
+		<debian.package>libmodello-java</debian.package>
+	</properties>
 
-  <parent>
-    <groupId>org.codehaus.modello</groupId>
-    <artifactId>modello</artifactId>
-    <version>1.0-alpha-22</version>
-  </parent>
-
-  <properties>
-    <debian.originalVersion>1.0-alpha-22</debian.originalVersion>
-    <debian.package>libmodello-java</debian.package>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file
+	<name>Modello Core</name>
+	<dependencies>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-container-default</artifactId>
+		</dependency>
+	</dependencies>
+</project>

Modified: trunk/maven-repo-helper/src/test/resources/modello-core.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/modello-core.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/modello-core.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -11,10 +11,11 @@
 		<version>debian</version>
 	</parent>
 	<properties>
+		<debian.hasPackageVersion/>
 		<debian.originalVersion>1.0-alpha-22</debian.originalVersion>
 		<debian.package>libmodello-java</debian.package>
 	</properties>
-
+	
 	<name>Modello Core</name>
 	<dependencies>
 		<dependency>
@@ -30,7 +31,7 @@
 	<build>
 		<plugins>
 			<plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
+				<artifactId>maven-assembly-plugin</artifactId>
 				<configuration>
 					<descriptorRefs>
 						<descriptorRef>jar-with-dependencies</descriptorRef>

Modified: trunk/maven-repo-helper/src/test/resources/plexus-active-collections.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-active-collections.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/plexus-active-collections.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,18 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4_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-4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.codehaus.plexus</groupId>
 	<artifactId>plexus-active-collections</artifactId>
 	<version>debian</version>
 	<packaging>jar</packaging>
 	<properties>
-		<debian.originalVersion>1.0-beta-2</debian.originalVersion>
-		<debian.package>libplexus-active-collections-java</debian.package>
+		<debian.hasPackageVersion/>
 		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
 		<debian.org.codehaus.plexus.plexus-component-api.originalVersion>1.0-alpha-22</debian.org.codehaus.plexus.plexus-component-api.originalVersion>
 		<debian.org.codehaus.plexus.plexus-container-default.originalVersion>1.0-alpha-22</debian.org.codehaus.plexus.plexus-container-default.originalVersion>
+		<debian.originalVersion>1.0-beta-2</debian.originalVersion>
+		<debian.package>libplexus-active-collections-java</debian.package>
 	</properties>
-
+	
 	<name>Plexus Container-Backed Active Collections</name>
 	<dependencies>
 		<dependency>

Modified: trunk/maven-repo-helper/src/test/resources/plexus-archiver.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-archiver.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/plexus-archiver.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -6,11 +6,12 @@
 	<version>debian</version>
 	<packaging>jar</packaging>
 	<properties>
+		<debian.hasPackageVersion/>
+		<debian.org.codehaus.plexus.plexus-io.originalVersion>1.0-alpha-4</debian.org.codehaus.plexus.plexus-io.originalVersion>
 		<debian.originalVersion>1.0-alpha-12</debian.originalVersion>
 		<debian.package>libplexus-archiver-java</debian.package>
-		<debian.org.codehaus.plexus.plexus-io.originalVersion>1.0-alpha-4</debian.org.codehaus.plexus.plexus-io.originalVersion>
 	</properties>
-
+	
 	<name>Plexus Archiver Component</name>
 	<contributors>
 		<contributor>
@@ -24,12 +25,12 @@
 		<dependency>
 			<groupId>org.codehaus.plexus</groupId>
 			<artifactId>plexus-container-default</artifactId>
-        		<version>debian</version>
+			<version>debian</version>
 		</dependency>
 		<dependency>
 			<groupId>org.codehaus.plexus</groupId>
 			<artifactId>plexus-utils</artifactId>
-        		<version>debian</version>
+			<version>debian</version>
 		</dependency>
 		<dependency>
 			<groupId>org.codehaus.plexus</groupId>

Modified: trunk/maven-repo-helper/src/test/resources/plexus-container-default.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-container-default.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/plexus-container-default.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -5,32 +5,33 @@
 	<artifactId>plexus-container-default</artifactId>
 	<version>1.0-alpha</version>
 	<packaging>jar</packaging>
-  <properties>
-    <debian.originalVersion>1.0-alpha-9-stable-1</debian.originalVersion>
-    <debian.package>libplexus-container-default-java</debian.package>
-    <debian.mavenRules><![CDATA[org.codehaus.plexus plexus-container-default jar s/1\.0-alpha-.*/1.0-alpha/ * *]]></debian.mavenRules>
-    <debian.classworlds.classworlds.originalVersion>1.1-alpha-2</debian.classworlds.classworlds.originalVersion>
-    <debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
-    <debian.org.codehaus.plexus.plexus-utils.originalVersion>1.0.4</debian.org.codehaus.plexus.plexus-utils.originalVersion>
-  </properties>
-  <name>Default Plexus Container</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>debian</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>debian</version>
-    </dependency>
-    <dependency>
-      <groupId>classworlds</groupId>
-      <artifactId>classworlds</artifactId>
-      <version>debian</version>
-    </dependency>
-  </dependencies>
+	<properties>
+		<debian.classworlds.classworlds.originalVersion>1.1-alpha-2</debian.classworlds.classworlds.originalVersion>
+		<debian.hasPackageVersion/>
+		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
+		<debian.mavenRules>org.codehaus.plexus plexus-container-default jar s/1\.0-alpha-.*/1.0-alpha/ * *</debian.mavenRules>
+		<debian.org.codehaus.plexus.plexus-utils.originalVersion>1.0.4</debian.org.codehaus.plexus.plexus-utils.originalVersion>
+		<debian.originalVersion>1.0-alpha-9-stable-1</debian.originalVersion>
+		<debian.package>libplexus-container-default-java</debian.package>
+	</properties>
+	
+	<name>Default Plexus Container</name>
+	<dependencies>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>debian</version>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>classworlds</groupId>
+			<artifactId>classworlds</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
 </project>
\ No newline at end of file

Modified: trunk/maven-repo-helper/src/test/resources/plexus-container-default.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-container-default.transformed	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/plexus-container-default.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -11,15 +11,15 @@
 		<version>debian</version>
 	</parent>
 	<properties>
+		<debian.mavenRules>org.codehaus.plexus plexus-container-default jar s/1\.0-alpha-.*/1.0-alpha/ * *</debian.mavenRules>
 		<debian.originalVersion>1.0-alpha-9-stable-1</debian.originalVersion>
-		<debian.mavenRules><![CDATA[org.codehaus.plexus plexus-container-default jar s/1\.0-alpha-.*/1.0-alpha/ * *]]></debian.mavenRules>
 	</properties>
-
+	
 	<name>Default Plexus Container</name>
 	<build>
 		<plugins>
 			<plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
+				<artifactId>maven-surefire-plugin</artifactId>
 				<configuration>
 					<excludes>
 						<exclude>**/Test*.java</exclude>
@@ -30,9 +30,9 @@
 		</plugins>
 		<extensions>
 			<extension>
-                <groupId>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-webdav</artifactId>
-                <version>debian</version>
+				<groupId>org.apache.maven.wagon</groupId>
+				<artifactId>wagon-webdav</artifactId>
+				<version>debian</version>
 			</extension>
 		</extensions>
 	</build>

Added: trunk/maven-repo-helper/src/test/resources/plexus-utils2.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-utils2.cleaned	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/plexus-utils2.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Copyright The Codehaus Foundation.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.codehaus.plexus</groupId>
+	<artifactId>plexus-utils</artifactId>
+	<version>2.x</version>
+	<packaging>jar</packaging>
+	<parent>
+		<groupId>org.codehaus.plexus</groupId>
+		<artifactId>plexus</artifactId>
+		<version>2.x</version>
+	</parent>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.mavenRules>org.codehaus.plexus plexus-utils jar s/2\..*/2.x/ * *</debian.mavenRules>
+		<debian.originalVersion>2.0.5</debian.originalVersion>
+		<debian.package>libplexus-utils2-java</debian.package>
+	</properties>
+	
+	<name>Plexus Common Utilities</name>
+	<description>A collection of various utility classes to ease working with strings, files, command lines, XML and more.</description>
+	<url>http://plexus.codehaus.org/plexus-utils</url>
+	<scm>
+		<connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5</connection>
+		<developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5</developerConnection>
+		<url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-2.0.5</url>
+	</scm>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/PLXUTILS</url>
+	</issueManagement>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/plexus-utils2.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-utils2.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/plexus-utils2.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Copyright The Codehaus Foundation.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.codehaus.plexus</groupId>
+    <artifactId>plexus</artifactId>
+    <version>2.0.6</version>
+    <relativePath>../pom/pom.xml</relativePath>
+  </parent>
+
+  <artifactId>plexus-utils</artifactId>
+  <version>2.0.5</version>
+
+  <name>Plexus Common Utilities</name>
+  <description>A collection of various utility classes to ease working with strings, files, command lines, XML and more.</description>
+  <url>http://plexus.codehaus.org/plexus-utils</url>
+
+  <scm>
+    <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5</connection>
+    <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5</developerConnection>
+    <url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-2.0.5</url>
+  </scm>
+  <issueManagement>
+    <system>JIRA</system>
+    <url>http://jira.codehaus.org/browse/PLXUTILS</url>
+  </issueManagement>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <!-- surefire requires plexus-utils to be jdk 1.3 compatible -->
+          <source>1.3</source>
+          <target>1.3</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <!-- required to ensure the test classes are used, not surefire's plexus-utils -->
+          <childDelegation>true</childDelegation>
+          <excludes>
+            <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+            <exclude>**/Test*.java</exclude>
+          </excludes>
+          <systemProperties>
+            <property>
+              <name>JAVA_HOME</name>
+              <value>${JAVA_HOME}</value>
+            </property>
+            <property>
+              <name>M2_HOME</name>
+              <value>${M2_HOME}</value>
+            </property>
+          </systemProperties>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-release-plugin</artifactId>
+        <configuration>
+          <tagBase>https://svn.codehaus.org/plexus/plexus-utils/tags/</tagBase>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/plexus-utils2.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/plexus-utils2.transformed	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/plexus-utils2.transformed	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,81 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Copyright The Codehaus Foundation.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.codehaus.plexus</groupId>
+	<artifactId>plexus-utils</artifactId>
+	<version>2.0.5</version>
+	<packaging>jar</packaging>
+	<parent>
+		<groupId>org.codehaus.plexus</groupId>
+		<artifactId>plexus</artifactId>
+		<version>2.x</version>
+	</parent>
+	<properties>
+	    <debian.hasPackageVersion/>
+		<debian.originalVersion>2.0.5</debian.originalVersion>
+		<debian.package>libplexus-utils2-java</debian.package>
+	</properties>
+	
+	<name>Plexus Common Utilities</name>
+	<description>A collection of various utility classes to ease working with strings, files, command lines, XML and more.</description>
+	<url>http://plexus.codehaus.org/plexus-utils</url>
+	<scm>
+		<connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5</connection>
+		<developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5</developerConnection>
+		<url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-2.0.5</url>
+	</scm>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/PLXUTILS</url>
+	</issueManagement>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<!-- surefire requires plexus-utils to be jdk 1.3 compatible -->
+					<source>1.3</source>
+					<target>1.3</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<configuration>
+					<!-- required to ensure the test classes are used, not surefire's plexus-utils -->
+					<childDelegation>true</childDelegation>
+					<excludes>
+						<exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+						<exclude>**/Test*.java</exclude>
+					</excludes>
+					<systemProperties>
+						<property>
+							<name>JAVA_HOME</name>
+							<value>${JAVA_HOME}</value>
+						</property>
+						<property>
+							<name>M2_HOME</name>
+							<value>${M2_HOME}</value>
+						</property>
+					</systemProperties>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.2/antlr-master-3.2.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.2/antlr-master-3.2.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.2/antlr-master-3.2.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+	<groupId>org.antlr</groupId>
+	<artifactId>antlr-master</artifactId>
+	<version>3.2</version>
+	<packaging>pom</packaging>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.originalVersion>3.2</debian.originalVersion>
+		<debian.package>libantlr3-java</debian.package>
+		<debian.mavenRules>org.antlr antlr-master * s/3\..*/3.x/ *</debian.mavenRules>
+	</properties>
+	
+	<name>ANTLR Master build control POM</name>
+	<url>http://maven.apache.org</url>
+	<!--
+    What version of ANTLR are we building? This sets the 
+    the version number for all other things that are built
+    as part of an ANTLR release, unless they override or
+    ignore it. We do this via a properites file for this
+    pom.
+    -->
+	<!--
+     This is the master pom for building the ANTLR
+     toolset and runtime (Java) at the specific level
+     defined above. Hence we specify here the modules that
+     this pom will build when we build this pom
+    -->
+	<modules>
+		<module>runtime/Java</module>
+		<module>tool</module>
+		<module>antlr3-maven-plugin</module>
+	</modules>
+	<!--
+
+    Define where the ANTLR releated jars are deployed both for
+    the main ANTLR repository, which syncs with the maven main
+    repository, and the snapshot repository, which can be
+    used by developers that need the latest development version of
+    something, but is used here to show maven where to deploy
+    snapshots and releases.
+    -->
+	<distributionManagement>
+		<repository>
+			<id>antlr-repo</id>
+			<name>ANTLR Testing repository</name>
+			<url>scpexe://antlr.org/home/mavensync/antlr-repo</url>
+		</repository>
+		<snapshotRepository>
+			<id>antlr-snapshot</id>
+			<name>ANTLR Testing Snapshot Repository</name>
+			<url>scpexe://antlr.org/home/mavensync/antlr-snapshot</url>
+		</snapshotRepository>
+	</distributionManagement>
+	<!--
+  
+    Inform Maven of the ANTLR snapshot repository, which it will
+    need to consult to get the latest snapshot build of the runtime
+    if it was not built and installed locally.
+    -->
+	<repositories>
+		<!--
+        This is the ANTLR repository.
+        -->
+		<repository>
+			<id>antlr-snapshot</id>
+			<name>ANTLR Testing Snapshot Repository</name>
+			<url>http://antlr.org/antlr-snapshot</url>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>always</updatePolicy>
+			</snapshots>
+		</repository>
+	</repositories>
+	<!--
+
+    Tell Maven which other artifacts we need in order to
+    build, run and test the ANTLR jars.
+    This is the master pom, and so it only contains those
+    dependencies that are common to all the modules below
+    or are just included for test
+    -->
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>junit</groupId>
+				<artifactId>junit</artifactId>
+				<version>4.x</version>
+				<scope>test</scope>
+			</dependency>
+			<dependency>
+				<groupId>antlr</groupId>
+				<artifactId>antlr</artifactId>
+				<version>2.x</version>
+				<scope>compile</scope>
+			</dependency>
+			<dependency>
+				<groupId>org.antlr</groupId>
+				<artifactId>stringtemplate</artifactId>
+				<version>3.x</version>
+				<scope>compile</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+	<build>
+		<defaultGoal>install</defaultGoal>
+		<!--
+            The following filter definition means that both the master
+            project and the sub projects will read in a file in the same
+            directory as the pom.xml is located and set any properties
+            that are defined there in the standard x=y format. These
+            properties can then be referenced via ${x} in any resource
+            file specified in any pom. So, there is a master antlr.config
+            file in the same location as this pom.xml file and here you can
+            define anything that is relevant to all the modules that we
+            build here. However each module also has an antlr.config file
+            where you can override property values from the master file or
+            define things that are only relevant to that module. 
+          -->
+		<filters>
+			<filter>antlr.config</filter>
+		</filters>
+		<resources>
+			<resource>
+				<directory>src/main/resources</directory>
+				<filtering>true</filtering>
+			</resource>
+		</resources>
+		<plugins>
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.5</source>
+					<target>jsr14</target>
+					<sourceDirectory>src</sourceDirectory>
+				</configuration>
+			</plugin>
+			<plugin>
+				<artifactId>maven-surefire-plugin</artifactId>
+			</plugin>
+		</plugins>
+		<extensions>
+		</extensions>
+	</build>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.x/antlr-master-3.x.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.x/antlr-master-3.x.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/antlr/antlr-master/3.x/antlr-master-3.x.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+	<groupId>org.antlr</groupId>
+	<artifactId>antlr-master</artifactId>
+	<version>3.x</version>
+	<packaging>pom</packaging>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.originalVersion>3.2</debian.originalVersion>
+		<debian.package>libantlr3-java</debian.package>
+		<debian.mavenRules>org.antlr antlr-master * s/3\..*/3.x/ *</debian.mavenRules>
+	</properties>
+	
+	<name>ANTLR Master build control POM</name>
+	<url>http://maven.apache.org</url>
+	<!--
+    What version of ANTLR are we building? This sets the 
+    the version number for all other things that are built
+    as part of an ANTLR release, unless they override or
+    ignore it. We do this via a properites file for this
+    pom.
+    -->
+	<!--
+     This is the master pom for building the ANTLR
+     toolset and runtime (Java) at the specific level
+     defined above. Hence we specify here the modules that
+     this pom will build when we build this pom
+    -->
+	<modules>
+		<module>runtime/Java</module>
+		<module>tool</module>
+		<module>antlr3-maven-plugin</module>
+	</modules>
+	<!--
+
+    Define where the ANTLR releated jars are deployed both for
+    the main ANTLR repository, which syncs with the maven main
+    repository, and the snapshot repository, which can be
+    used by developers that need the latest development version of
+    something, but is used here to show maven where to deploy
+    snapshots and releases.
+    -->
+	<distributionManagement>
+		<repository>
+			<id>antlr-repo</id>
+			<name>ANTLR Testing repository</name>
+			<url>scpexe://antlr.org/home/mavensync/antlr-repo</url>
+		</repository>
+		<snapshotRepository>
+			<id>antlr-snapshot</id>
+			<name>ANTLR Testing Snapshot Repository</name>
+			<url>scpexe://antlr.org/home/mavensync/antlr-snapshot</url>
+		</snapshotRepository>
+	</distributionManagement>
+	<!--
+  
+    Inform Maven of the ANTLR snapshot repository, which it will
+    need to consult to get the latest snapshot build of the runtime
+    if it was not built and installed locally.
+    -->
+	<repositories>
+		<!--
+        This is the ANTLR repository.
+        -->
+		<repository>
+			<id>antlr-snapshot</id>
+			<name>ANTLR Testing Snapshot Repository</name>
+			<url>http://antlr.org/antlr-snapshot</url>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>always</updatePolicy>
+			</snapshots>
+		</repository>
+	</repositories>
+	<!--
+
+    Tell Maven which other artifacts we need in order to
+    build, run and test the ANTLR jars.
+    This is the master pom, and so it only contains those
+    dependencies that are common to all the modules below
+    or are just included for test
+    -->
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>junit</groupId>
+				<artifactId>junit</artifactId>
+				<version>4.x</version>
+				<scope>test</scope>
+			</dependency>
+			<dependency>
+				<groupId>antlr</groupId>
+				<artifactId>antlr</artifactId>
+				<version>2.x</version>
+				<scope>compile</scope>
+			</dependency>
+			<dependency>
+				<groupId>org.antlr</groupId>
+				<artifactId>stringtemplate</artifactId>
+				<version>3.x</version>
+				<scope>compile</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+	<build>
+		<defaultGoal>install</defaultGoal>
+		<!--
+            The following filter definition means that both the master
+            project and the sub projects will read in a file in the same
+            directory as the pom.xml is located and set any properties
+            that are defined there in the standard x=y format. These
+            properties can then be referenced via ${x} in any resource
+            file specified in any pom. So, there is a master antlr.config
+            file in the same location as this pom.xml file and here you can
+            define anything that is relevant to all the modules that we
+            build here. However each module also has an antlr.config file
+            where you can override property values from the master file or
+            define things that are only relevant to that module. 
+          -->
+		<filters>
+			<filter>antlr.config</filter>
+		</filters>
+		<resources>
+			<resource>
+				<directory>src/main/resources</directory>
+				<filtering>true</filtering>
+			</resource>
+		</resources>
+		<plugins>
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.5</source>
+					<target>jsr14</target>
+					<sourceDirectory>src</sourceDirectory>
+				</configuration>
+			</plugin>
+			<plugin>
+				<artifactId>maven-surefire-plugin</artifactId>
+			</plugin>
+		</plugins>
+		<extensions>
+		</extensions>
+	</build>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,190 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.doxia</groupId>
+	<artifactId>doxia</artifactId>
+	<version>1.1.2</version>
+	<packaging>pom</packaging>
+	
+	<name>Doxia</name>
+	<description>Doxia is a content generation framework that provides powerful techniques for generating static and dynamic content, supporting a variety of markup languages.</description>
+	<url>http://maven.apache.org/doxia/doxia</url>
+	<inceptionYear>2005</inceptionYear>
+	<mailingLists>
+		<mailingList>
+			<name>Doxia Developer List</name>
+			<post>doxia-dev at maven.apache.org</post>
+			<subscribe>doxia-dev-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>doxia-dev-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/doxia-dev@maven.apache.org</otherArchive>
+				<otherArchive>http://www.nabble.com/Doxia---dev-f11816.html</otherArchive>
+				<otherArchive>http://maven.doxia.dev.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Doxia User List</name>
+			<post>doxia-users at maven.apache.org</post>
+			<subscribe>doxia-users-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>doxia-users-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-users/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/doxia-users@maven.apache.org</otherArchive>
+				<otherArchive>http://www.nabble.com/Doxia---Users-f14483.html</otherArchive>
+				<otherArchive>http://maven.doxia.users.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Doxia Commits List</name>
+			<subscribe>doxia-commits-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>doxia-commits-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/doxia-commits@maven.apache.org</otherArchive>
+				<otherArchive>http://maven.doxia.commits.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Maven Issues List</name>
+			<subscribe>issues-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>issues-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
+				<otherArchive>http://www.nabble.com/Maven---Issues-f15573.html</otherArchive>
+				<otherArchive>http://maven.issues.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+	</mailingLists>
+	<modules>
+		<module>doxia-logging-api</module>
+		<module>doxia-sink-api</module>
+		<module>doxia-test-docs</module>
+		<module>doxia-core</module>
+		<module>doxia-modules</module>
+		<module>doxia-book</module>
+		<module>doxia-maven-plugin</module>
+	</modules>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.1.2</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.1.2</developerConnection>
+		<url>http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia/tags/doxia-1.1.2</url>
+	</scm>
+	<issueManagement>
+		<system>jira</system>
+		<url>http://jira.codehaus.org/browse/DOXIA</url>
+	</issueManagement>
+	<properties>
+		<projectVersion>${project.version}</projectVersion>
+		<debian.originalVersion>1.1.2</debian.originalVersion>
+		<debian.package>libdoxia-java</debian.package>
+	</properties>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-sink-api</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-logging-api</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-test-docs</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-core</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-apt</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-confluence</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-docbook-simple</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-fml</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-fo</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-latex</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-itext</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-rtf</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-twiki</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-xdoc</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-xhtml</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-book</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-maven-plugin</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.codehaus.plexus</groupId>
+				<artifactId>plexus-container-default</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.codehaus.plexus</groupId>
+				<artifactId>plexus-utils</artifactId>
+				<version>debian</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+	<dependencies>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>3.x</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/debian/doxia-debian.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/debian/doxia-debian.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia/debian/doxia-debian.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,190 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.doxia</groupId>
+	<artifactId>doxia</artifactId>
+	<version>debian</version>
+	<packaging>pom</packaging>
+	
+	<name>Doxia</name>
+	<description>Doxia is a content generation framework that provides powerful techniques for generating static and dynamic content, supporting a variety of markup languages.</description>
+	<url>http://maven.apache.org/doxia/doxia</url>
+	<inceptionYear>2005</inceptionYear>
+	<mailingLists>
+		<mailingList>
+			<name>Doxia Developer List</name>
+			<post>doxia-dev at maven.apache.org</post>
+			<subscribe>doxia-dev-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>doxia-dev-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/doxia-dev@maven.apache.org</otherArchive>
+				<otherArchive>http://www.nabble.com/Doxia---dev-f11816.html</otherArchive>
+				<otherArchive>http://maven.doxia.dev.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Doxia User List</name>
+			<post>doxia-users at maven.apache.org</post>
+			<subscribe>doxia-users-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>doxia-users-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-users/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/doxia-users@maven.apache.org</otherArchive>
+				<otherArchive>http://www.nabble.com/Doxia---Users-f14483.html</otherArchive>
+				<otherArchive>http://maven.doxia.users.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Doxia Commits List</name>
+			<subscribe>doxia-commits-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>doxia-commits-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/doxia-commits@maven.apache.org</otherArchive>
+				<otherArchive>http://maven.doxia.commits.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Maven Issues List</name>
+			<subscribe>issues-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>issues-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
+				<otherArchive>http://www.nabble.com/Maven---Issues-f15573.html</otherArchive>
+				<otherArchive>http://maven.issues.markmail.org/</otherArchive>
+			</otherArchives>
+		</mailingList>
+	</mailingLists>
+	<modules>
+		<module>doxia-logging-api</module>
+		<module>doxia-sink-api</module>
+		<module>doxia-test-docs</module>
+		<module>doxia-core</module>
+		<module>doxia-modules</module>
+		<module>doxia-book</module>
+		<module>doxia-maven-plugin</module>
+	</modules>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.1.2</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.1.2</developerConnection>
+		<url>http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia/tags/doxia-1.1.2</url>
+	</scm>
+	<issueManagement>
+		<system>jira</system>
+		<url>http://jira.codehaus.org/browse/DOXIA</url>
+	</issueManagement>
+	<properties>
+		<projectVersion>${project.version}</projectVersion>
+		<debian.originalVersion>1.1.2</debian.originalVersion>
+		<debian.package>libdoxia-java</debian.package>
+	</properties>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-sink-api</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-logging-api</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-test-docs</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-core</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-apt</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-confluence</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-docbook-simple</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-fml</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-fo</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-latex</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-itext</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-rtf</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-twiki</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-xdoc</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-module-xhtml</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-book</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.maven.doxia</groupId>
+				<artifactId>doxia-maven-plugin</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.codehaus.plexus</groupId>
+				<artifactId>plexus-container-default</artifactId>
+				<version>debian</version>
+			</dependency>
+			<dependency>
+				<groupId>org.codehaus.plexus</groupId>
+				<artifactId>plexus-utils</artifactId>
+				<version>debian</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+	<dependencies>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>3.x</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.doxia</groupId>
+	<artifactId>doxia-modules</artifactId>
+	<version>1.1.2</version>
+	<packaging>pom</packaging>
+	<parent>
+		<groupId>org.apache.maven.doxia</groupId>
+		<artifactId>doxia</artifactId>
+		<version>1.1.2</version>
+	</parent>
+	<properties>
+		<debian.originalVersion>1.1.2</debian.originalVersion>
+		<debian.package>libdoxia-java</debian.package>
+	</properties>
+	
+	<name>Doxia :: Modules</name>
+	<description>Doxia modules for several markup languages.</description>
+	<modules>
+		<module>doxia-module-apt</module>
+		<module>doxia-module-confluence</module>
+		<module>doxia-module-docbook-simple</module>
+		<module>doxia-module-fml</module>
+		<module>doxia-module-fo</module>
+		<module>doxia-module-itext</module>
+		<module>doxia-module-latex</module>
+		<module>doxia-module-rtf</module>
+		<module>doxia-module-twiki</module>
+		<module>doxia-module-xdoc</module>
+		<module>doxia-module-xhtml</module>
+	</modules>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-sink-api</artifactId>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/debian/doxia-modules-debian.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/debian/doxia-modules-debian.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/doxia/doxia-modules/debian/doxia-modules-debian.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.doxia</groupId>
+	<artifactId>doxia-modules</artifactId>
+	<version>debian</version>
+	<packaging>pom</packaging>
+	<parent>
+		<groupId>org.apache.maven.doxia</groupId>
+		<artifactId>doxia</artifactId>
+		<version>debian</version>
+	</parent>
+	<properties>
+		<debian.originalVersion>1.1.2</debian.originalVersion>
+		<debian.package>libdoxia-java</debian.package>
+	</properties>
+	
+	<name>Doxia :: Modules</name>
+	<description>Doxia modules for several markup languages.</description>
+	<modules>
+		<module>doxia-module-apt</module>
+		<module>doxia-module-confluence</module>
+		<module>doxia-module-docbook-simple</module>
+		<module>doxia-module-fml</module>
+		<module>doxia-module-fo</module>
+		<module>doxia-module-itext</module>
+		<module>doxia-module-latex</module>
+		<module>doxia-module-rtf</module>
+		<module>doxia-module-twiki</module>
+		<module>doxia-module-xdoc</module>
+		<module>doxia-module-xhtml</module>
+	</modules>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-sink-api</artifactId>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3/maven-clean-plugin-2.3.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3/maven-clean-plugin-2.3.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-clean-plugin/2.3/maven-clean-plugin-2.3.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-clean-plugin</artifactId>
+	<version>2.3</version>
+	<packaging>maven-plugin</packaging>
+	<properties>
+		<debian.originalVersion>2.3</debian.originalVersion>
+		<debian.package>libmaven-clean-plugin-java</debian.package>
+	</properties>
+	
+	<name>Maven Clean Plugin</name>
+	<description>The Maven Clean Plugin is a plugin that removes files generated at build-time in a project's directory.</description>
+	<inceptionYear>2001</inceptionYear>
+	<contributors>
+		<contributor>
+			<name>Jesse McConnell</name>
+		</contributor>
+	</contributors>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.3</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.3</developerConnection>
+		<url>http://svn.apache.org/viewvc/maven/plugins/tags/maven-clean-plugin-2.3</url>
+	</scm>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/MCLEAN</url>
+	</issueManagement>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.shared</groupId>
+			<artifactId>file-management</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-compiler-plugin</artifactId>
+	<version>2.0.2</version>
+	<packaging>maven-plugin</packaging>
+	<properties>
+		<debian.originalVersion>2.0.2</debian.originalVersion>
+		<debian.package>libmaven-compiler-plugin-java</debian.package>
+	</properties>
+	
+	<name>Maven Compiler Plugin</name>
+	<inceptionYear>2001</inceptionYear>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/MCOMPILER</url>
+	</issueManagement>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-compiler-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-compiler-manager</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-compiler-javac</artifactId>
+			<version>debian</version>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-artifact</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+	<scm>
+		<connection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-compiler-plugin-2.0.2</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-compiler-plugin-2.0.2</developerConnection>
+		<url>https://svn.apache.org/repos/asf/maven/plugins/tags/maven-compiler-plugin-2.0.2</url>
+	</scm>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,92 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-jar-plugin</artifactId>
+	<version>2.2</version>
+	<packaging>maven-plugin</packaging>
+	<properties>
+		<debian.originalVersion>2.2</debian.originalVersion>
+		<debian.package>libmaven-jar-plugin-java</debian.package>
+	</properties>
+	
+	<name>Maven Jar Plugin</name>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/MJAR</url>
+	</issueManagement>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-jar-plugin-2.2</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-jar-plugin-2.2</developerConnection>
+		<url>http://svn.apache.org/viewvc/maven/plugins/tags/maven-jar-plugin-2.2</url>
+	</scm>
+	<contributors>
+		<contributor>
+			<name>Jerome Lacoste</name>
+			<email>jerome at coffeebreaks.org</email>
+			<organization>CoffeeBreaks</organization>
+			<organizationUrl>http://www.coffeebreaks.org</organizationUrl>
+			<timezone>+1</timezone>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+		</contributor>
+	</contributors>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-archiver</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-archiver</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-container-default</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-component-api</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-io</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-container-default</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-component-api</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>commons-lang</groupId>
+			<artifactId>commons-lang</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3/maven-resources-plugin-2.3.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3/maven-resources-plugin-2.3.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-resources-plugin/2.3/maven-resources-plugin-2.3.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-resources-plugin</artifactId>
+	<version>2.3</version>
+	<packaging>maven-plugin</packaging>
+	<properties>
+		<debian.originalVersion>2.3</debian.originalVersion>
+		<debian.package>libmaven-resources-plugin-java</debian.package>
+	</properties>
+	
+	<name>Maven Resources Plugin</name>
+	<description>The Resources Plugin handles the copying of project resources to the output
+    directory. There are two different kinds of resources: main resources and test resources. The
+    difference is that the main resources are the resources associated to the main
+    source code while the test resources are associated to the test source code.
+    Thus, this allows the separation of resources for the main source code and its
+    unit tests.</description>
+	<inceptionYear>2001</inceptionYear>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-resources-plugin-2.3</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-resources-plugin-2.3</developerConnection>
+		<url>http://svn.apache.org/viewvc/maven/plugins/tags/maven-resources-plugin-2.3</url>
+	</scm>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/MRESOURCES</url>
+	</issueManagement>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.shared</groupId>
+			<artifactId>maven-filtering</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1/maven-shade-plugin-1.2.1.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1/maven-shade-plugin-1.2.1.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-shade-plugin/1.2.1/maven-shade-plugin-1.2.1.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-shade-plugin</artifactId>
+	<version>1.2.1</version>
+	<packaging>maven-plugin</packaging>
+	
+	<name>Maven Shade Plugin</name>
+	<description>Repackages the project classes together with their dependencies into a single uber-jar, optionally renaming classes.</description>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-shade-plugin-1.2.1</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-shade-plugin-1.2.1</developerConnection>
+		<url>http://svn.apache.org/viewvc/maven/plugins/tags/maven-shade-plugin-1.2.1</url>
+	</scm>
+	<issueManagement>
+		<system>jira</system>
+		<url>http://jira.codehaus.org/browse/MSHADE</url>
+	</issueManagement>
+	<properties>
+		<mavenVersion>2.0.6</mavenVersion>
+		<currentVersion>${project.version}</currentVersion>
+		<debian.originalVersion>1.2.1</debian.originalVersion>
+		<debian.package>libmaven-shade-plugin-java</debian.package>
+	</properties>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-model</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-artifact</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-container-default</artifactId>
+			<version>1.0-alpha</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>asm</groupId>
+			<artifactId>asm</artifactId>
+			<version>3.x</version>
+		</dependency>
+		<dependency>
+			<groupId>asm</groupId>
+			<artifactId>asm-commons</artifactId>
+			<version>3.x</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jdom</groupId>
+			<artifactId>jdom</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.shared</groupId>
+			<artifactId>maven-dependency-tree</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,296 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-site-plugin</artifactId>
+	<version>2.1</version>
+	<packaging>maven-plugin</packaging>
+	
+	<name>Maven Site Plugin</name>
+	<description>The Maven Site Plugin is a plugin that generates a site for the current project.</description>
+	<contributors>
+		<contributor>
+			<name>Naoki Nose</name>
+			<email>ikkoan at mail.goo.ne.jp</email>
+			<roles>
+				<role>Japanese translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Michael Wechner</name>
+			<email>michael.wechner at wyona.com</email>
+			<roles>
+				<role>German translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Christian Schulte</name>
+			<email>cs at schulte.it</email>
+			<roles>
+				<role>German translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Piotr Bzdyl</name>
+			<email>piotr at bzdyl.net</email>
+			<roles>
+				<role>Polish translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Domingos Creado</name>
+			<email>dcreado at users.sf.net</email>
+			<roles>
+				<role>Brazilian Portuguese translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>John Allen</name>
+			<email>john_h_allen at hotmail.com</email>
+		</contributor>
+		<contributor>
+			<name>Laszlo Hornyak Kocka</name>
+			<email>laszlo.hornyak at gmail.com</email>
+			<roles>
+				<role>Hungarian translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Hermod Opstvedt</name>
+			<email>hermod.opstvedt at dnbnor.no</email>
+			<roles>
+				<role>Norwegian translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Yue Ni</name>
+			<email>ni2yue4 at gmail.com</email>
+			<roles>
+				<role>Chinese translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Arturo Vazquez</name>
+			<email>vaz at root.com.mx</email>
+			<roles>
+				<role>Spanish translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Woonsan Ko</name>
+			<email>woon_san at yahoo.com</email>
+			<roles>
+				<role>Korean translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Martin Vysny</name>
+			<email>mvy at whitestein.com</email>
+			<roles>
+				<role>Slovak translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Petr Ferschmann</name>
+			<email>pferschmann at softeu.com</email>
+			<roles>
+				<role>Czech translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Kristian Mandrup</name>
+			<email>kristian at mandrup.dk</email>
+			<roles>
+				<role>Danish translator</role>
+			</roles>
+		</contributor>
+		<contributor>
+			<name>Samuel Santos</name>
+			<email>samaxes at gmail.com</email>
+			<roles>
+				<role>Portuguese translator</role>
+			</roles>
+		</contributor>
+	</contributors>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-site-plugin-2.1</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-site-plugin-2.1</developerConnection>
+		<url>http://svn.apache.org/viewvc/maven/plugins/tags/maven-site-plugin-2.1</url>
+	</scm>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://jira.codehaus.org/browse/MSITE</url>
+	</issueManagement>
+	<properties>
+		<doxiaVersion>1.1.2</doxiaVersion>
+		<doxiaSitetoolsVersion>1.1.2</doxiaSitetoolsVersion>
+		<mavenVersion>2.0.6</mavenVersion>
+		<wagonVersion>1.0-beta-4</wagonVersion>
+		<debian.originalVersion>2.1</debian.originalVersion>
+		<debian.package>libmaven-site-plugin-java</debian.package>
+	</properties>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-artifact</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-artifact-manager</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-model</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-settings</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.reporting</groupId>
+			<artifactId>maven-reporting-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-module-xhtml</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-sink-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-logging-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-module-apt</artifactId>
+			<version>debian</version>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-module-xdoc</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-module-fml</artifactId>
+			<version>debian</version>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-decoration-model</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-component-api</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-container-default</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.doxia</groupId>
+			<artifactId>doxia-site-renderer</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-component-api</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-container-default</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.shared</groupId>
+			<artifactId>maven-doxia-tools</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.wagon</groupId>
+			<artifactId>wagon-provider-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-archiver</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-container-default</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-i18n</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-component-api</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-velocity</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<exclusion>
+					<groupId>commons-collections</groupId>
+					<artifactId>commons-collections</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-component-api</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>velocity</groupId>
+					<artifactId>velocity</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.velocity</groupId>
+			<artifactId>velocity</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.mortbay.jetty</groupId>
+			<artifactId>jetty</artifactId>
+			<version>6.x</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,108 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-surefire-plugin</artifactId>
+	<version>2.4.3</version>
+	<packaging>maven-plugin</packaging>
+	<!--parent>
+		<groupId>org.apache.maven.surefire</groupId>
+		<artifactId>surefire</artifactId>
+		<version>debian</version>
+	</parent-->
+	<properties>
+		<debian.originalVersion>2.4.3</debian.originalVersion>
+		<debian.package>libsurefire-java</debian.package>
+	</properties>
+	
+	<name>Maven Surefire Plugin</name>
+	<mailingLists>
+		<mailingList>
+			<name>Maven User List</name>
+			<subscribe>users-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>users-unsubscribe at maven.apache.org</unsubscribe>
+			<post>users at maven.apache.org</post>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+			<otherArchives>
+				<otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
+				<otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive>
+			</otherArchives>
+		</mailingList>
+		<mailingList>
+			<name>Maven Developer List</name>
+			<subscribe>dev-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>dev-unsubscribe at maven.apache.org</unsubscribe>
+			<post>dev at maven.apache.org</post>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+		</mailingList>
+		<mailingList>
+			<name>Maven Commits List</name>
+			<subscribe>commits-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>commits-unsubscribe at maven.apache.org</unsubscribe>
+			<post>commits at maven.apache.org</post>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+		</mailingList>
+		<mailingList>
+			<name>Maven Announcements List</name>
+			<post>announce at maven.apache.org</post>
+			<subscribe>announce-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>announce-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+		</mailingList>
+		<mailingList>
+			<name>Maven Issues List</name>
+			<post>issues at maven.apache.org</post>
+			<subscribe>issues-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>issues-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+		</mailingList>
+		<mailingList>
+			<name>Maven Notifications List</name>
+			<post>notifications at maven.apache.org</post>
+			<subscribe>notifications-subscribe at maven.apache.org</subscribe>
+			<unsubscribe>notifications-unsubscribe at maven.apache.org</unsubscribe>
+			<archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+		</mailingList>
+	</mailingLists>
+	<contributors>
+		<contributor>
+			<name>Joakim Erdfelt</name>
+			<email>joakim at erdfelt.com</email>
+		</contributor>
+	</contributors>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.surefire</groupId>
+			<artifactId>surefire-booter</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-artifact</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-core</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-toolchain</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3/maven-surefire-report-plugin-2.4.3.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3/maven-surefire-report-plugin-2.4.3.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/apache/maven/plugins/maven-surefire-report-plugin/2.4.3/maven-surefire-report-plugin-2.4.3.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-surefire-report-plugin</artifactId>
+	<version>2.4.3</version>
+	<packaging>maven-plugin</packaging>
+	<!--parent>
+		<groupId>org.apache.maven.surefire</groupId>
+		<artifactId>surefire</artifactId>
+		<version>debian</version>
+	</parent-->
+	<properties>
+		<debian.originalVersion>2.4.3</debian.originalVersion>
+		<debian.package>libsurefire-java</debian.package>
+	</properties>
+	
+	<name>Maven Surefire Report Plugin</name>
+	<developers>
+		<developer>
+			<id>jruiz</id>
+			<name>Johnny Ruiz III</name>
+			<email>jruiz at exist.com</email>
+		</developer>
+	</developers>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven.reporting</groupId>
+			<artifactId>maven-reporting-api</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.reporting</groupId>
+			<artifactId>maven-reporting-impl</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1/modello-maven-plugin-1.1.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1/modello-maven-plugin-1.1.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/modello/modello-maven-plugin/1.1/modello-maven-plugin-1.1.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.codehaus.modello</groupId>
+	<artifactId>modello-maven-plugin</artifactId>
+	<version>1.1</version>
+	<packaging>maven-plugin</packaging>
+	<!--parent>
+		<groupId>org.codehaus.modello</groupId>
+		<artifactId>modello</artifactId>
+		<version>1.1</version>
+	</parent-->
+	<properties>
+		<debian.originalVersion>1.1</debian.originalVersion>
+		<debian.package>libmodello-maven-plugin-java</debian.package>
+	</properties>
+	
+	<name>Modello Maven Plugin</name>
+	<description>Modello Maven Plugin enables the use of Modello in Maven builds.</description>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-container-default</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-converters</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-dom4j</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-java</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-jdom</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-stax</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-xdoc</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-xpp3</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.modello</groupId>
+			<artifactId>modello-plugin-xsd</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.sonatype.plexus</groupId>
+			<artifactId>plexus-build-api</artifactId>
+		</dependency>
+	</dependencies>
+</project>

Added: trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1/antlr-maven-plugin-2.1.pom
===================================================================
--- trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1/antlr-maven-plugin-2.1.pom	                        (rev 0)
+++ trunk/maven-repo-helper/src/test/resources/repository/org/codehaus/mojo/antlr-maven-plugin/2.1/antlr-maven-plugin-2.1.pom	2010-10-29 23:11:15 UTC (rev 13041)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+	<groupId>org.codehaus.mojo</groupId>
+	<artifactId>antlr-maven-plugin</artifactId>
+	<version>2.1</version>
+	<packaging>maven-plugin</packaging>
+	<properties>
+		<debian.org.apache.maven.maven-plugin-api.originalVersion>2.0.2</debian.org.apache.maven.maven-plugin-api.originalVersion>
+		<debian.org.apache.maven.maven-project.originalVersion>2.0.2</debian.org.apache.maven.maven-project.originalVersion>
+		<debian.org.apache.maven.reporting.maven-reporting-impl.originalVersion>2.0.2</debian.org.apache.maven.reporting.maven-reporting-impl.originalVersion>
+		<debian.org.apache.maven.shared.maven-plugin-testing-harness.originalVersion>1.1</debian.org.apache.maven.shared.maven-plugin-testing-harness.originalVersion>
+		<debian.org.apache.maven.wagon.wagon-provider-api.originalVersion>1.0-beta-1</debian.org.apache.maven.wagon.wagon-provider-api.originalVersion>
+		<debian.org.codehaus.plexus.plexus-i18n.originalVersion>1.0-beta-6</debian.org.codehaus.plexus.plexus-i18n.originalVersion>
+		<debian.org.codehaus.plexus.plexus-utils.originalVersion>1.4.1</debian.org.codehaus.plexus.plexus-utils.originalVersion>
+		<debian.originalVersion>2.1</debian.originalVersion>
+		<debian.package>libantlr-maven-plugin-java</debian.package>
+	</properties>
+	
+	<name>Maven ANTLR Plugin</name>
+	<description>Maven Plugin for Antlr v2</description>
+	<inceptionYear>2004</inceptionYear>
+	<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>
+	<!--  Different from the parent -->
+	<scm>
+		<connection>scm:svn:https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</connection>
+		<developerConnection>scm:svn:https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</developerConnection>
+		<url>https://svn.codehaus.org/mojo/tags/antlr-maven-plugin-2.1</url>
+	</scm>
+	<issueManagement>
+		<system>jira</system>
+		<url>http://jira.codehaus.org/browse/MANTLR</url>
+	</issueManagement>
+	<developers>
+		<developer>
+			<id>vsiveton</id>
+			<name>Vincent Siveton</name>
+			<email>vsiveton at apache.org</email>
+			<organization>ASF</organization>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+			<timezone>-5</timezone>
+		</developer>
+	</developers>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-project</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
+				<exclusion>
+					<groupId>plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven.reporting</groupId>
+			<artifactId>maven-reporting-impl</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
+				<exclusion>
+					<groupId>plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-plugin-api</artifactId>
+			<version>debian</version>
+			<exclusions>
+				<!-- Using org.codehaus.plexus:plexus-utils instead of -->
+				<exclusion>
+					<groupId>plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-i18n</artifactId>
+			<version>debian</version>
+		</dependency>
+		<dependency>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>debian</version>
+		</dependency>
+		<!-- For Maven 2.0.2 -->
+		<dependency>
+			<groupId>org.apache.maven.wagon</groupId>
+			<artifactId>wagon-provider-api</artifactId>
+			<version>debian</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Modified: trunk/maven-repo-helper/src/test/resources/servlet-api.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/servlet-api.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/servlet-api.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,16 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>javax.servlet</groupId>
-  <artifactId>servlet-api</artifactId>
-  <version>2.5</version>
-  <packaging>jar</packaging>
+<!--
+  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
 
-  <properties>
-    <debian.originalVersion>2.5</debian.originalVersion>
-    <debian.package>libservlet2.5-java</debian.package>
-    <debian.mavenRules><![CDATA[s/org.apache.tomcat/javax.servlet/ servlet-api jar s/.*/2.5/ * *]]></debian.mavenRules>
-  </properties>
+      http://www.apache.org/licenses/LICENSE-2.0
 
-  <description>javax.servlet package</description>
+  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/xsd/maven-4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>javax.servlet</groupId>
+	<artifactId>servlet-api</artifactId>
+	<version>2.5</version>
+	<packaging>jar</packaging>
+	<properties>
+		<debian.hasPackageVersion/>
+		<debian.mavenRules>s/org.apache.tomcat/javax.servlet/ servlet-api jar s/.*/2.5/ * *</debian.mavenRules>
+		<debian.originalVersion>2.5</debian.originalVersion>
+		<debian.package>libservlet2.5-java</debian.package>
+	</properties>
+	
+	<description>javax.servlet package</description>
 </project>

Modified: trunk/maven-repo-helper/src/test/resources/slf4j.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/slf4j.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/slf4j.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4_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-4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.slf4j</groupId>
 	<artifactId>slf4j-parent</artifactId>
 	<version>debian</version>
 	<packaging>pom</packaging>
 	<properties>
+		<debian.hasPackageVersion/>
+		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
 		<debian.originalVersion>1.5.6</debian.originalVersion>
 		<debian.package>libslf4j-java</debian.package>
-		<debian.junit.junit.originalVersion>3.8.1</debian.junit.junit.originalVersion>
 	</properties>
-
+	
 	<name>SLF4J</name>
 	<url>http://www.slf4j.org</url>
 	<organization>

Modified: trunk/maven-repo-helper/src/test/resources/wagon-http-lightweight.cleaned
===================================================================
--- trunk/maven-repo-helper/src/test/resources/wagon-http-lightweight.cleaned	2010-10-29 21:05:35 UTC (rev 13040)
+++ trunk/maven-repo-helper/src/test/resources/wagon-http-lightweight.cleaned	2010-10-29 23:11:15 UTC (rev 13041)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4_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-4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.apache.maven.wagon</groupId>
 	<artifactId>wagon-http-lightweight</artifactId>
@@ -11,11 +11,12 @@
 		<version>debian</version>
 	</parent>
 	<properties>
+		<debian.hasPackageVersion/>
+		<debian.org.apache.maven.wagon.wagon-http-shared.originalVersion>1.0-beta-5</debian.org.apache.maven.wagon.wagon-http-shared.originalVersion>
 		<debian.originalVersion>1.0-beta-5</debian.originalVersion>
 		<debian.package>libwagon-java</debian.package>
-		<debian.org.apache.maven.wagon.wagon-http-shared.originalVersion>1.0-beta-5</debian.org.apache.maven.wagon.wagon-http-shared.originalVersion>
 	</properties>
-
+	
 	<name>Maven Wagon Lightweight HTTP Provider</name>
 	<description>Wagon that gets and puts artifacts through http using standard Java library</description>
 	<dependencies>




More information about the pkg-java-commits mailing list