releasing 1.0.0-alpha-2
git-svn-id: https://svn.apache.org/repos/asf/maven/mercury/tags/mercury-1.0.0-alpha-2@723536 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/mercury-1.0.0-alpha-2/CodingRulesReadme.txt b/mercury-1.0.0-alpha-2/CodingRulesReadme.txt
new file mode 100644
index 0000000..bc9a88a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/CodingRulesReadme.txt
@@ -0,0 +1,2 @@
+* all dependencies are declared in the depManagement section of the parent POM
+*
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/header.txt b/mercury-1.0.0-alpha-2/mercury-artifact/header.txt
new file mode 100644
index 0000000..cc70b20
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/header.txt
@@ -0,0 +1,16 @@
+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.
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/notes.txt b/mercury-1.0.0-alpha-2/mercury-artifact/notes.txt
new file mode 100644
index 0000000..eabb663
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/notes.txt
@@ -0,0 +1,134 @@
+====
+ 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.
+====
+Maven Artifact is supposed to be a general artifact mechanism for retrieving, installing, and deploying artifacts
+to repositories. Maven Artifact was originally decoupled from Maven proper and as such carries a lot of baggage
+which prevents it from being used generally and carries many notions that are very specific to Maven itself. Artifacts
+currently have a notion of scope, classifiers, and behavioral attributes such as whether scopes should be inherited.
+For any mechanism to work generally these baked in notions need to be removed, vetted, and then made compatible with
+notions currently in Maven. A list of things that should not be in the Artifact:
+
+ * scope
+ * classifier
+ * dependency filter
+ * dependency trail
+ * resolved
+ * released
+ * optional
+ * available versions
+
+These are all attributes of the target system
+
+*Removal of the ArtifactFactory
+
+ 3 February 2008 (Sunday)
+
+ I have removed the factory and left only a small set of constructors (which I would like to reduce to one) so that you
+ have a valid artifact after construction. I have also started to hide the VersionRange creation. You just pass in
+ a string and the constructor for the DefaultArtifact will do the right thing. This will ultimately need to be more
+ pluggable as different versioning strategies happen. But variations of the theme like Maven, OSGi, will have their
+ own subclasses and tools to operate on the graphs of dependencies.
+
+ 4 February 2008 (Monday)
+
+ John:
+ Some notes about classifiers taken from the mailing list in a discussion with John about classifiers:
+ I'd tend to disagree about classifier not being a 'core' part of the artifact system...it distinguishes a main
+ artifact from one of its derivatives, and serves as a pretty foundational part of how we retrieve artifacts from existing
+ remote repositories. Without it, I doubt that you can reconstruct the path to some existing artifacts (like sources or javadocs)
+ reliably without bastardizing the version string.
+
+ We can see that the artifact system has certain inescapable identity attributes. Scope is obviously more related
+ to how an artifact is used, since you can't see any trace of scope in the artifact as it's been deployed on a remote
+ repository. Classifier, however, doesn't fit this criteria...it's not a usage marker, but an identity marker.
+
+ The rest I agree with.
+
+ Jason:
+ This is where I think you've already baked in what you think about Maven. Look at how we deploy our derivative
+ artifacts right now. We don't track any of it in the metadata when we deploy. We toss it up there and things hope
+ they are there. Like javadocs, or sources. I think what's more important is that the coordinate be unique and we
+ have a way to associate what ever artifacts together in a scalable way. So you say "I want to associate this artifact
+ with that one, this is how I would like to record that relationship in the metadata.". Subsequently you can query
+ the metadata and know these relationships. We currently don't do this. It generally boils down to a bunch of
+ coordinates in the repository. How we choose to relate them via the metadata. We have all sort of problems with
+ classifiers currently because it was an adhoc method of association. A general model of association would be a
+ superset of what we currently do for classifiers. I agree we need an mechanism for association, I don't think
+ classifiers have worked all that well.
+
+ 5 February 2008 (Tuesday)
+
+ The rework of the artifact resolution mechanism is an attempt to entirely separate 1) the process of metadata retrieval into
+ a tree, 2) converting the tree to a graph by a process of conflict resolution, and 3) retrieving the complete set
+ of artifacts, and ultimately 4) Doing something in a particular fashion withe the retrieved set like make a classpath.
+ Currently we have an incremental processing model that doesn't let a complete graph be formed for analysis
+ which greatly complicates the process whereas having a graph and using standard graph analysis techniques and graph
+ optimization is the only reasonable way forward. There should be no doubt about what needs to be retrieved once the
+ analysis is complete. We could actually create an aggregrate request where instructions are sent to retrieve everything
+ required. The server could send a stream all the artifacts back in one shot.
+
+ What Oleg is attempting to do is create a working solution for 1) and 2) above. Along with the implementation we also
+ have a visualization tool that will help us determine what exactly the correct analysis is. The beauty of this is that
+ regardless of the analysis we arrive at a representation of the complete set can be modeled and we can start working on
+ the optimized retrieval mechanism. We still need to do some work to separate out 4) as we're doing some classpath
+ calculations already which we will need to further decouple but that should be relatively straight forward.
+
+ 7 February 2008 (Friday)
+
+ The number of methods in the artifact factory is simply insane, for each type that we ended up with in Maven just started
+ being effectively hard-coded in the factory which is totally unscalable, any new types with handlers become a nightmare
+ to maintain. I have reduced everything to two constructors in the DefaultArtifact and I would like to reduce it to being
+ one. Right now I have to account for needing to use a version string, or creating a range which is completely confusing
+ to anyone using the API. You should just need one constructor with a version string and everything else should be taken
+ care of for you. Right now there are bits of code all over the place that do the if/else versionRange detection.
+
+ inheritedScope goes away entirely from the model when a graph is used because the scope selected will be a function of
+ how the graph is processed.
+
+ 24 May 2008
+
+ 1. Retrieval & Storage
+
+ There is the task of retrieving a set of resources from a data source atomically. Simple, and safe retrieval. Period. This has nothing to do with
+ dependency management per se, but is the basis of any safe and reliable dependency management system. We need to deal with repository corruption
+ and recovery as well. The method employed by GIT with hierarchical checksums provides an efficient means to detect where in a repository corruption
+ has occured to make sure the problem can be correct, shunted around, or simply bring it to the users attention.
+
+ 2. Representation Processing
+
+ There is the task of processing the representation of an artifact. In the case of Maven an artifact's representation is encapsulated in
+ a POM. If the representation refers to other representations i.e. dependencies then these have to be taken into account as well. The system
+ may allow transitive processing and this is where the real power of a dependency management system comes into play. The representations are
+ gathered into a tree structure where the flavour of the system imparts special processing on this tree to yield a graph.
+
+ Once the representation has been processed and we have a graph, we fall back to the retrieval mechanism to place the desired artifacts in
+ the storage system. Ultimately from this graph, according to the desired purpose we have set of artifacts that we can do something with.
+
+Processing
+
+I have come to the conclusion that providing the necessary support for version ranges cannot be done without a SAT solver, as we are
+approaching an NP complete problem and we're going to end up with an approximation and all the heavy lifting is being done already by SAT4J.
+
+The Quality of providers
+
+The new processing model will allow the complete manipulation of the resultant set either in memory, or in a location that does not pollute the
+local repository. So any provider must guarantee the safe retrieval of the set the artifacts from remote sources, but must also guarantee the safe
+placement of that set into the local repository and if the user aborts, or the machine crashes that the provider supplies a means to the
+process to clean up anything half-baked. We need to provide a single place where a journal can be written which can be easily
+detected and any action taken if partially complete operations have been detected. We know what can go wrong and every possible measure
+needs to make sure the repository cannot be corrupted.
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/pom.xml b/mercury-1.0.0-alpha-2/mercury-artifact/pom.xml
new file mode 100644
index 0000000..fedf469
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/pom.xml
@@ -0,0 +1,13 @@
+<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>
+ <artifactId>mercury-artifact</artifactId>
+ <name>Mercury Artifact</name>
+ <description />
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
new file mode 100644
index 0000000..c17cf8e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
@@ -0,0 +1,104 @@
+package org.apache.maven.mercury.artifact;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.regex.Pattern;
+
+
+/*
+ * Description of an artifact.
+ *
+ * @todo do we really need an interface here?
+ *
+ * @todo get rid of the multiple states we can have (project, parent, etc artifacts, file == null,
+ * snapshot, etc) - construct subclasses and use accordingly?
+ */
+public interface Artifact
+extends Comparable<Artifact>
+{
+ String LATEST_VERSION = "LATEST";
+
+ String SNAPSHOT_VERSION = "SNAPSHOT";
+
+ String RELEASE_VERSION = "RELEASE";
+
+ Pattern VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
+
+ // TODO: into artifactScope handler
+
+ String SCOPE_COMPILE = ArtifactScopeEnum.compile.toString();
+
+ String SCOPE_TEST = ArtifactScopeEnum.test.toString();
+
+ String SCOPE_RUNTIME = ArtifactScopeEnum.runtime.toString();
+
+ String SCOPE_PROVIDED = ArtifactScopeEnum.provided.toString();
+
+ String SCOPE_SYSTEM = ArtifactScopeEnum.system.toString();
+
+ String getGroupId();
+
+ String getArtifactId();
+
+ String getVersion();
+
+ void setVersion( String version );
+
+ /**
+ * Get the artifactScope of the artifact. If the artifact is a standalone rather than a dependency, it's artifactScope will be
+ * <code>null</code>. The artifactScope may not be the same as it was declared on the original dependency, as this is the
+ * result of combining it with the main project artifactScope.
+ *
+ * @return the artifactScope
+ */
+ String getScope();
+
+ String getType();
+
+ String getClassifier();
+
+ // only providing this since classifier is *very* optional...
+ boolean hasClassifier();
+
+ File getFile();
+
+ // in case binary is supplied as a Stream, not a File
+ InputStream getStream();
+
+ void setFile( File destination );
+
+ byte [] getPomBlob();
+
+ void setPomBlob( byte [] pomBlob );
+
+ String getBaseName();
+
+ String getBaseName( String classifier );
+
+ // ----------------------------------------------------------------------
+
+ String getId();
+
+ void setGroupId( String groupId );
+
+ void setArtifactId( String artifactId );
+
+ boolean isResolved();
+
+ void setResolved( boolean resolved );
+}
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
new file mode 100644
index 0000000..4fca16b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
@@ -0,0 +1,466 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.version.VersionException;
+import org.apache.maven.mercury.artifact.version.VersionRange;
+import org.apache.maven.mercury.artifact.version.VersionRangeFactory;
+
+
+/**
+ * this is the most primitive metadata there is, usually used to query repository for "real" metadata.
+ * It holds everything a project.dependencies.dependency element can have
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactBasicMetadata
+{
+ public static final String DEFAULT_ARTIFACT_TYPE = "jar";
+
+ /**
+ * standard glorified artifact coordinates
+ */
+ protected String groupId;
+
+ protected String artifactId;
+
+ protected String version;
+
+ /**
+ * relocation chain after processing by
+ * ProjectBuilder
+ */
+ protected List<ArtifactCoordinates> relocations;
+ protected ArtifactCoordinates effectiveCoordinates;
+
+ // This is Maven specific. jvz/
+ protected String classifier;
+
+ protected String type = DEFAULT_ARTIFACT_TYPE;
+
+ protected ArtifactScopeEnum artifactScope;
+
+ protected String scope;
+
+ protected boolean optional;
+
+ protected Collection<ArtifactBasicMetadata> inclusions;
+
+ protected Collection<ArtifactBasicMetadata> exclusions;
+
+ /**
+ * transient helper objects, used by DependencyBuilder.
+ */
+ transient Object tracker;
+ transient Boolean local = false;
+
+ //------------------------------------------------------------------
+ public ArtifactBasicMetadata()
+ {
+ }
+ //------------------------------------------------------------------
+ /**
+ * create basic out of <b>group:artifact:version:classifier:type</b> string, use
+ * empty string to specify missing component - for instance query for common-1.3.zip
+ * can be specified as ":common:1.3::zip" - note missing groupId and classifier.
+ */
+ public ArtifactBasicMetadata( String query )
+ {
+ if( query == null )
+ return;
+
+ String [] tokens = query.split(":");
+
+ if( tokens == null || tokens.length < 1 )
+ return;
+
+ int count = tokens.length;
+
+ this.groupId = nullify( tokens[0] );
+
+ if( count > 1 )
+ this.artifactId = nullify( tokens[1] );
+
+ if( count > 2 )
+ this.version = nullify( tokens[2] );
+
+ if( count > 3 )
+ this.classifier = nullify( tokens[3] );
+
+ if( count > 4 )
+ this.type = nullify( tokens[4] );
+
+ if( this.type == null || this.type.length() < 1 )
+ this.type = DEFAULT_ARTIFACT_TYPE;
+ }
+ //------------------------------------------------------------------
+ /**
+ * create basic out of <b>group:artifact:version:classifier:type</b> string, use
+ * empty string to specify missing component - for instance query for common-1.3.zip
+ * can be specified as ":common:1.3::zip" - note missing groupId and classifier.
+ */
+ public static ArtifactBasicMetadata create( String query )
+ {
+ ArtifactBasicMetadata mdq = new ArtifactBasicMetadata( query );
+
+ return mdq;
+ }
+ //---------------------------------------------------------------------------
+ private static final String nullify( String s )
+ {
+ if( s == null || s.length() < 1 )
+ return null;
+ return s;
+ }
+ //---------------------------------------------------------------------
+ public boolean sameGAV( ArtifactBasicMetadata md )
+ {
+ if( md == null )
+ return false;
+
+ return
+ sameGA( md )
+ && version != null
+ && version.equals( md.getVersion() )
+ ;
+ }
+ //---------------------------------------------------------------------
+ public boolean sameGA( ArtifactBasicMetadata md )
+ {
+ if( md == null )
+ return false;
+
+ return
+ groupId != null
+ && artifactId != null
+ && groupId.equals( md.getGroupId() )
+ && artifactId.equals( md.getArtifactId() )
+ ;
+ }
+
+ public String getGA()
+ {
+ return toDomainString();
+ }
+
+ public String getGAV()
+ {
+ return toString();
+ }
+
+ private static final String nvl( String val, String dflt )
+ {
+ return val == null ? dflt : val;
+ }
+ private static final String nvl( String val )
+ {
+ return nvl(val,"");
+ }
+
+ @Override
+ public String toString()
+ {
+ return nvl(groupId) + ":" + nvl(artifactId) + ":" + nvl(version) + ":" + nvl(classifier) + ":" + nvl(type,DEFAULT_ARTIFACT_TYPE);
+ }
+
+ public String toScopedString()
+ {
+ return toString()+"-scope:"+getArtifactScope();
+ }
+
+ public String toDomainString()
+ {
+ return groupId + ":" + artifactId;
+ }
+
+ public String getBaseName()
+ {
+ return artifactId + "-" + version + (classifier == null ? "" :"-"+classifier);
+ }
+
+ public String getBaseName( String classifier )
+ {
+ return artifactId + "-" + version + ((classifier == null||classifier.length()<1) ? "" :"-"+classifier);
+ }
+
+ public String getCheckedType()
+ {
+ return type == null ? "jar" : type;
+ }
+ //---------------------------------------------------------------------------
+ public String getGroupId()
+ {
+ return groupId;
+ }
+ public void setGroupId(
+ String groupId )
+ {
+ this.groupId = groupId;
+ }
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+ public void setArtifactId(
+ String artifactId )
+ {
+ this.artifactId = artifactId;
+ }
+ public String getVersion()
+ {
+ return version;
+ }
+ public boolean hasVersion()
+ {
+ return version != null && version.length() > 0;
+ }
+
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+
+ public String getClassifier()
+ {
+ return classifier;
+ }
+
+ public void setClassifier(
+ String classifier )
+ {
+ this.classifier = classifier;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+ public void setType(
+ String type )
+ {
+ this.type = type;
+ }
+
+ public String getScope()
+ {
+ return getArtifactScope().getScope();
+ }
+
+ public ArtifactScopeEnum getScopeAsEnum()
+ {
+ return artifactScope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : artifactScope;
+ }
+
+ public ArtifactScopeEnum getArtifactScope()
+ {
+ return artifactScope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : artifactScope;
+ }
+
+ public void setArtifactScope( ArtifactScopeEnum artifactScope )
+ {
+ this.artifactScope = artifactScope;
+ }
+
+ public void setScope( String scope )
+ {
+ this.artifactScope = scope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scope );
+ }
+ public boolean isOptional()
+ {
+ return optional;
+ }
+ public void setOptional(boolean optional)
+ {
+ this.optional = optional;
+ }
+ public void setOptional(String optional)
+ {
+ this.optional = "true".equals(optional) ? true : false;
+ }
+
+ public Object getTracker()
+ {
+ return tracker;
+ }
+
+ public void setTracker( Object tracker )
+ {
+ this.tracker = tracker;
+ }
+
+ public boolean hasClassifier()
+ {
+ return classifier != null && classifier.length() > 0;
+ }
+
+ public Boolean isLocal()
+ {
+ return local;
+ }
+
+ public void setLocal( Boolean local )
+ {
+ this.local = local;
+ }
+
+ public ArtifactCoordinates getEffectiveCoordinates()
+ {
+ if( relocations == null || relocations.isEmpty() )
+ return new ArtifactCoordinates( groupId, artifactId, version );
+
+ return relocations.get( relocations.size() - 1 );
+ }
+
+ public ArtifactBasicMetadata addRelocation( ArtifactCoordinates coord )
+ {
+ if( coord == null )
+ return this;
+
+ if( relocations == null )
+ relocations = new ArrayList<ArtifactCoordinates>(2);
+
+ if( coord.getGroupId() == null )
+ coord.setGroupId( groupId );
+
+ if( coord.getArtifactId() == null )
+ coord.setArtifactId( artifactId );
+
+ if( coord.getVersion() == null )
+ coord.setVersion( version );
+
+ relocations.add( coord );
+ effectiveCoordinates = coord;
+
+ return this;
+ }
+
+ public String getEffectiveGroupId()
+ {
+ return effectiveCoordinates == null ? groupId: effectiveCoordinates.getGroupId();
+ }
+
+ public String getEffectiveArtifactId()
+ {
+ return effectiveCoordinates == null ? artifactId: effectiveCoordinates.getArtifactId();
+ }
+
+ public String getEffectiveersion()
+ {
+ return effectiveCoordinates == null ? version: effectiveCoordinates.getVersion();
+ }
+
+ public boolean hasInclusions()
+ {
+ return inclusions == null ? false : ! inclusions.isEmpty();
+ }
+ public Collection<ArtifactBasicMetadata> getInclusions()
+ {
+ return inclusions;
+ }
+ public void setInclusions( Collection<ArtifactBasicMetadata> inclusions )
+ {
+ this.inclusions = inclusions;
+ }
+
+ public boolean hasExclusions()
+ {
+ return exclusions == null ? false : ! exclusions.isEmpty();
+ }
+ public Collection<ArtifactBasicMetadata> getExclusions()
+ {
+ return exclusions;
+ }
+ public void setExclusions( Collection<ArtifactBasicMetadata> exclusions )
+ {
+ this.exclusions = exclusions;
+ }
+
+ /**
+ * run dependency through inclusion/exclusion filters. Inclusion filter
+ * is always a "hole"-filter, which is then enhanced by exclusion "cork"-filter
+ *
+ * @param dep dependency to vet
+ * @return vet result
+ * @throws VersionException
+ */
+ public boolean allowDependency( ArtifactBasicMetadata dep )
+ throws VersionException
+ {
+ boolean includeDependency = true;
+ if( hasInclusions() )
+ includeDependency = ! passesFilter( inclusions, dep );
+
+ if( !includeDependency )
+ return false;
+
+ if( !hasExclusions() )
+ return true;
+
+ if( passesFilter( exclusions, dep ) )
+ return true;
+
+ return false;
+
+ }
+
+ private boolean passesFilter( Collection<ArtifactBasicMetadata> filter, ArtifactBasicMetadata dep )
+ throws VersionException
+ {
+ for( ArtifactBasicMetadata filterMd : filter )
+ {
+ if( filterMd.sameGA( dep ) )
+ {
+ if( !filterMd.hasVersion() )
+ return false; // no version in the filter - catch by GA
+ VersionRange vr = VersionRangeFactory.create( filterMd.getVersion() );
+ if( vr.includes( dep.getVersion() ))
+ return false; // catch by version query
+ }
+ }
+
+ return true;
+ }
+
+
+ @Override
+ public boolean equals( Object obj )
+ {
+ if( obj == null || !( obj instanceof ArtifactBasicMetadata ) )
+ return false;
+
+ return toString().equals( obj.toString() );
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return toString().hashCode();
+ }
+
+
+ //---------------------------------------------------------------------------
+ //---------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java
new file mode 100644
index 0000000..f6069aa
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java
@@ -0,0 +1,94 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactCoordinates
+{
+ /**
+ * standard glorified artifact coordinates
+ */
+ protected String groupId;
+
+ protected String artifactId;
+
+ protected String version;
+
+ /**
+ * @param groupId
+ * @param artifactId
+ * @param version
+ */
+ public ArtifactCoordinates(
+ String groupId,
+ String artifactId,
+ String version
+ )
+ {
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ this.version = version;
+ }
+
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ public void setGroupId( String groupId )
+ {
+ this.groupId = groupId;
+ }
+
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ public void setArtifactId( String artifactId )
+ {
+ this.artifactId = artifactId;
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return groupId+":"+artifactId+":"+version;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactExclusionList.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactExclusionList.java
new file mode 100644
index 0000000..394f798
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactExclusionList.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.Collection;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactExclusionList
+ extends ArtifactMetadataList
+{
+
+ /**
+ * @param md
+ */
+ public ArtifactExclusionList( ArtifactBasicMetadata... md )
+ {
+ super( md );
+ }
+
+ /**
+ * @param md
+ */
+ public ArtifactExclusionList( Collection<ArtifactBasicMetadata> md )
+ {
+ super( md );
+ }
+
+ /**
+ * @param mds
+ */
+ public ArtifactExclusionList( String... mds )
+ {
+ super( mds );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactInclusionList.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactInclusionList.java
new file mode 100644
index 0000000..5431d8f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactInclusionList.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.Collection;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactInclusionList
+ extends ArtifactMetadataList
+{
+
+ /**
+ * @param md
+ */
+ public ArtifactInclusionList( ArtifactBasicMetadata... md )
+ {
+ super( md );
+ }
+
+ /**
+ * @param md
+ */
+ public ArtifactInclusionList( Collection<ArtifactBasicMetadata> md )
+ {
+ super( md );
+ }
+
+ /**
+ * @param mds
+ */
+ public ArtifactInclusionList( String... mds )
+ {
+ super( mds );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
new file mode 100644
index 0000000..5c1b35c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
@@ -0,0 +1,232 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.List;
+
+
+
+/**
+ * Artifact Metadata that is resolved independent of Artifact itself. It's
+ * built on top of ArtifactBasicMetadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class ArtifactMetadata
+extends ArtifactBasicMetadata
+{
+ // in addition to basic coordinates
+
+ private boolean release;
+
+ /**
+ * explanation: why this MD was chosen over it's siblings
+ * in the resulting structure (classpath for now)
+ */
+ protected String why;
+
+ /** dependencies of the artifact behind this metadata */
+ protected List<ArtifactBasicMetadata> dependencies;
+
+ /** is metadata found anywhere */
+ protected boolean resolved = false;
+
+ /** does the actual artifact for this metadata exists */
+ protected boolean artifactExists = false;
+
+ /** artifact URI */
+ protected String artifactUri;
+
+ /** error message */
+ private String error;
+
+ /**
+ * for testing - required for mock MetadataSource
+ */
+ public ArtifactMetadata()
+ {
+ }
+ //------------------------------------------------------------------
+ /**
+ * group:artifact:version:classifier:packaging
+ */
+ public ArtifactMetadata( String name )
+ {
+ if( name == null )
+ return;
+
+ String [] tokens = name.split(":");
+
+ if( tokens == null || tokens.length < 1 )
+ return;
+
+ int count = tokens.length;
+
+ this.groupId = nullify( tokens[0] );
+
+ if( count > 1 )
+ this.artifactId = nullify( tokens[1] );
+
+ if( count > 2 )
+ this.version = nullify( tokens[2] );
+
+ if( count > 3 )
+ this.classifier = nullify( tokens[3] );
+
+ if( count > 4 )
+ this.type = nullify( tokens[4] );
+ }
+ private static final String nullify( String s )
+ {
+ if( s == null || s.length() < 1 )
+ return null;
+ return s;
+ }
+ public ArtifactMetadata( String groupId, String name, String version )
+ {
+ this( groupId, name, version, null );
+ }
+
+ public ArtifactMetadata( String groupId, String name, String version, String type )
+ {
+ this( groupId, name, version, type, null );
+ }
+
+ public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope )
+ {
+ this( groupId, name, version, type, artifactScope, null );
+ }
+
+ public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope, String classifier )
+ {
+ this( groupId, name, version, type, artifactScope, classifier, null );
+ }
+
+ public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope, String classifier, String artifactUri )
+ {
+ this( groupId, name, version, type, artifactScope, classifier, artifactUri, null, true, null );
+ }
+
+ public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope, String classifier, String artifactUri, String why, boolean resolved,
+ String error )
+ {
+ this.groupId = groupId;
+ this.artifactId = name;
+ this.version = version;
+ this.type = type;
+ this.artifactScope = artifactScope;
+ this.classifier = classifier;
+ this.artifactUri = artifactUri;
+ this.why = why;
+ this.resolved = resolved;
+ this.error = error;
+ }
+
+ public ArtifactMetadata( ArtifactBasicMetadata bmd )
+ {
+ this( bmd.getGroupId(), bmd.getArtifactId(), bmd.getVersion(), bmd.getType(), null, bmd.getClassifier() );
+ }
+
+ public ArtifactMetadata( String groupId, String name, String version, String type, String scopeString, String classifier, String artifactUri, String why, boolean resolved, String error )
+ {
+ this( groupId, name, version, type, scopeString == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scopeString ), classifier, artifactUri, why, resolved, error );
+ }
+
+ public ArtifactMetadata( Artifact af )
+ {
+ }
+
+ public boolean isResolved()
+ {
+ return resolved;
+ }
+
+ public void setResolved( boolean resolved )
+ {
+ this.resolved = resolved;
+ }
+
+ public boolean isArtifactExists()
+ {
+ return artifactExists;
+ }
+
+ public void setArtifactExists( boolean artifactExists )
+ {
+ this.artifactExists = artifactExists;
+ }
+
+ public List<ArtifactBasicMetadata> getDependencies()
+ {
+ return dependencies;
+ }
+
+ public void setDependencies( List<ArtifactBasicMetadata> dependencies )
+ {
+ this.dependencies = dependencies;
+ }
+
+ public String getArtifactUri()
+ {
+ return artifactUri;
+ }
+
+ public void setArtifactUri( String artifactUri )
+ {
+ this.artifactUri = artifactUri;
+ }
+
+ public String getWhy()
+ {
+ return why;
+ }
+
+ public void setWhy( String why )
+ {
+ this.why = why;
+ }
+
+ public String getError()
+ {
+ return error;
+ }
+
+ public void setError( String error )
+ {
+ this.error = error;
+ }
+
+ public boolean isError()
+ {
+ return error == null;
+ }
+
+ public void setRelease( boolean release )
+ {
+ this.release = release;
+ }
+
+ public boolean isRelease()
+ {
+ return release;
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadataList.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadataList.java
new file mode 100644
index 0000000..d0ae419
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadataList.java
@@ -0,0 +1,93 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class ArtifactMetadataList
+{
+ List<ArtifactBasicMetadata> _artifacts = new ArrayList<ArtifactBasicMetadata>(8);
+
+ public ArtifactMetadataList( ArtifactBasicMetadata... md )
+ {
+ for( ArtifactBasicMetadata m : md )
+ add( m );
+ }
+
+ public ArtifactMetadataList( Collection<ArtifactBasicMetadata> md )
+ {
+ add( md );
+ }
+
+ public ArtifactMetadataList( String... mds )
+ {
+ for( String m : mds )
+ add( new ArtifactBasicMetadata(m) );
+ }
+
+ public void add( ArtifactBasicMetadata md )
+ {
+ _artifacts.add( md );
+ }
+
+ public void add( Collection<ArtifactBasicMetadata> md )
+ {
+ _artifacts.addAll( md );
+ }
+
+ public void addGav( String md )
+ {
+ _artifacts.add( new ArtifactBasicMetadata(md) );
+ }
+
+ public void addByGav( Collection<String> mds )
+ {
+ for( String m : mds )
+ _artifacts.add( new ArtifactBasicMetadata(m) );
+ }
+
+ public List<ArtifactBasicMetadata> getMetadataList()
+ {
+ return _artifacts;
+ }
+
+ public int size()
+ {
+ return _artifacts.size();
+ }
+
+ public boolean isEmpty()
+ {
+ return _artifacts.isEmpty();
+ }
+
+ public void clear()
+ {
+ _artifacts.clear();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactQueryList.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactQueryList.java
new file mode 100644
index 0000000..28f7535
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactQueryList.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.Collection;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactQueryList
+ extends ArtifactMetadataList
+{
+
+ /**
+ * @param md
+ */
+ public ArtifactQueryList( ArtifactBasicMetadata... md )
+ {
+ super( md );
+ }
+
+ /**
+ * @param md
+ */
+ public ArtifactQueryList( Collection<ArtifactBasicMetadata> md )
+ {
+ super( md );
+ }
+
+ /**
+ * @param mds
+ */
+ public ArtifactQueryList( String... mds )
+ {
+ super( mds );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java
new file mode 100644
index 0000000..c27b465
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java
@@ -0,0 +1,127 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+/**
+ * Type safe reincarnation of Artifact scope. Also supplies the <code>DEFAULT_SCOPE<code> as well
+ * as convenience method to deal with scope relationships.
+ *
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ *
+ */
+public enum ArtifactScopeEnum
+{
+ compile( 1 ), test( 2 ), runtime( 3 ), provided( 4 ), system( 5 ), none(-1);
+
+ public static final ArtifactScopeEnum DEFAULT_SCOPE = compile;
+
+ private int id;
+
+ // Constructor
+ ArtifactScopeEnum( int id )
+ {
+ this.id = id;
+ }
+
+ int getId()
+ {
+ return id;
+ }
+
+
+ /**
+ * Helper method to simplify null processing
+ *
+ * @return
+ */
+ public static final ArtifactScopeEnum checkScope( ArtifactScopeEnum scope )
+ {
+ return scope == null ? DEFAULT_SCOPE : scope;
+ }
+
+ /**
+ *
+ * @return unsafe String representation of this scope.
+ */
+ public String getScope()
+ {
+ if ( id == 1 )
+ {
+ return Artifact.SCOPE_COMPILE;
+ }
+ else if ( id == 2 )
+ {
+ return Artifact.SCOPE_TEST;
+
+ }
+ else if ( id == 3 )
+ {
+ return Artifact.SCOPE_RUNTIME;
+
+ }
+ else if ( id == 4 )
+ {
+ return Artifact.SCOPE_PROVIDED;
+ }
+ else if ( id == 5 )
+ {
+ return Artifact.SCOPE_SYSTEM;
+ }
+ else
+ {
+ return Artifact.SCOPE_SYSTEM;
+ }
+ }
+
+ private static final ArtifactScopeEnum [][][] _compliancySets = {
+ { { compile }, { compile, provided, system } }
+ , { { test }, { compile, test, provided, system } }
+ , { { runtime }, { compile, runtime, system } }
+ , { { provided }, { compile, test, provided } }
+ };
+
+ /**
+ * scope relationship function. Used by the graph conflict resolution policies
+ *
+ * @param scope
+ * @return true is supplied scope is an inclusive sub-scope of current one.
+ */
+ public boolean encloses( ArtifactScopeEnum scope )
+ {
+ final ArtifactScopeEnum s = checkScope(scope);
+
+ // system scope is historic only - and simple
+ if( id == system.id )
+ return scope.id == system.id;
+
+ for( ArtifactScopeEnum[][] set : _compliancySets )
+ {
+ if( id == set[0][0].id )
+ {
+ for( ArtifactScopeEnum ase : set[1] )
+ {
+ if( s.id == ase.id )
+ return true;
+ }
+ break;
+ }
+ }
+ return false;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ConflictException.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ConflictException.java
new file mode 100644
index 0000000..848f4e4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ConflictException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ConflictException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public ConflictException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public ConflictException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public ConflictException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public ConflictException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java
new file mode 100644
index 0000000..c22ea64
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java
@@ -0,0 +1,349 @@
+package org.apache.maven.mercury.artifact;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.InputStream;
+
+/**
+ * @author Jason van Zyl
+ *
+ * @version $Id$
+ */
+public class DefaultArtifact
+extends ArtifactMetadata
+implements Artifact
+{
+ private File file;
+
+ private InputStream stream;
+
+ private String downloadUrl;
+
+ private String inheritedScope;
+
+ private byte [] pomBlob;
+
+ public DefaultArtifact( String groupId, String artifactId, String version, String type, String classifier, boolean optional, String scope, String inheritedScope )
+ {
+ if ( version == null )
+ {
+ throw new IllegalArgumentException( "Version cannot be null." );
+ }
+
+ initialize( groupId, artifactId, version, type, classifier, optional, scope, inheritedScope );
+ }
+
+ public DefaultArtifact( ArtifactBasicMetadata bmd )
+ {
+ if ( bmd.getVersion() == null )
+ {
+ throw new IllegalArgumentException( "Version cannot be null." );
+ }
+
+ initialize( bmd.getGroupId(), bmd.getArtifactId(), bmd.getVersion(), bmd.getType()
+ , bmd.getClassifier(), bmd.isOptional(), bmd.getScope(), bmd.getScope()
+ );
+ }
+
+ public String getInheritedScope()
+ {
+ return inheritedScope;
+ }
+
+ private void initialize( String groupId, String artifactId, String version, String type, String classifier, boolean optional, String scope, String inheritedScope )
+ {
+ this.inheritedScope = inheritedScope;
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ this.version = version;
+ //this.scope = scope;
+ this.type = type;
+ this.classifier = classifier;
+ this.optional = optional;
+
+ String desiredScope = Artifact.SCOPE_RUNTIME;
+
+ boolean calc = true;
+
+ if ( inheritedScope == null )
+ {
+ desiredScope = scope;
+ }
+ else if ( Artifact.SCOPE_TEST.equals( scope ) || Artifact.SCOPE_PROVIDED.equals( scope ) )
+ {
+ desiredScope = scope;
+ //calc = false;
+ }
+ else if ( Artifact.SCOPE_COMPILE.equals( scope ) && Artifact.SCOPE_COMPILE.equals( inheritedScope ) )
+ {
+ // added to retain compile artifactScope. Remove if you want compile inherited as runtime
+ desiredScope = Artifact.SCOPE_COMPILE;
+ }
+
+ if ( calc )
+ {
+ if ( Artifact.SCOPE_TEST.equals( inheritedScope ) )
+ {
+ desiredScope = Artifact.SCOPE_TEST;
+ }
+
+ if ( Artifact.SCOPE_PROVIDED.equals( inheritedScope ) )
+ {
+ desiredScope = Artifact.SCOPE_PROVIDED;
+ }
+
+ if ( Artifact.SCOPE_SYSTEM.equals( scope ) )
+ {
+ // system scopes come through unchanged...
+ desiredScope = Artifact.SCOPE_SYSTEM;
+ }
+ }
+
+ this.scope = desiredScope;
+
+ validateIdentity();
+ }
+
+ private void validateIdentity()
+ {
+ if ( empty( groupId ) )
+ {
+ throw new IllegalArgumentException( "The groupId cannot be empty." );
+ }
+
+ if ( artifactId == null )
+ {
+ throw new IllegalArgumentException( "The artifactId cannot be empty." );
+ }
+
+ if ( type == null )
+ {
+ throw new IllegalArgumentException( "The type cannot be empty." );
+ }
+
+ if ( ( version == null ) )
+ {
+ throw new IllegalArgumentException( "The version cannot be empty." );
+ }
+ }
+
+ private boolean empty( String value )
+ {
+ return ( value == null ) || ( value.trim().length() < 1 );
+ }
+
+ public void setFile( File file )
+ {
+ this.file = file;
+ }
+
+ public File getFile()
+ {
+ return file;
+ }
+
+ public void setStream( InputStream stream )
+ {
+ this.stream = stream;
+ }
+
+ public InputStream getStream()
+ {
+ return stream;
+ }
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ public String getId()
+ {
+ return getDependencyConflictId() + ":" + getVersion();
+ }
+
+ public String getDependencyConflictId()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.append( getGroupId() );
+ sb.append( ":" );
+ appendArtifactTypeClassifierString( sb );
+ return sb.toString();
+ }
+
+ private void appendArtifactTypeClassifierString( StringBuilder sb )
+ {
+ sb.append( getArtifactId() );
+ sb.append( ":" );
+ sb.append( getType() );
+ if ( hasClassifier() )
+ {
+ sb.append( ":" );
+ sb.append( getClassifier() );
+ }
+ }
+
+ public void setPomBlob( byte [] pomBlob )
+ {
+ this.pomBlob = pomBlob;
+ }
+
+ public byte [] getPomBlob()
+ {
+ return pomBlob;
+ }
+
+ // ----------------------------------------------------------------------
+ // Object overrides
+ // ----------------------------------------------------------------------
+ @Override
+ public String toString()
+ {
+ StringBuilder sb = new StringBuilder();
+ if ( getGroupId() != null )
+ {
+ sb.append( getGroupId() );
+ sb.append( ":" );
+ }
+ appendArtifactTypeClassifierString( sb );
+ sb.append( ":" );
+
+ if ( getVersion() != null )
+ {
+ sb.append( getVersion() );
+ }
+
+ if ( scope != null )
+ {
+ sb.append( ":" );
+ sb.append( scope );
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = 17;
+ result = 37 * result + groupId.hashCode();
+ result = 37 * result + artifactId.hashCode();
+ result = 37 * result + type.hashCode();
+ if ( version != null )
+ {
+ result = 37 * result + version.hashCode();
+ }
+ result = 37 * result + ( classifier != null ? classifier.hashCode() : 0 );
+ return result;
+ }
+
+ @Override
+ public boolean equals( Object o )
+ {
+ if ( o == this )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof Artifact ) )
+ {
+ return false;
+ }
+
+ Artifact a = (Artifact) o;
+
+ if ( !a.getGroupId().equals( groupId ) )
+ {
+ return false;
+ }
+ else if ( !a.getArtifactId().equals( artifactId ) )
+ {
+ return false;
+ }
+ else if ( !a.getVersion().equals( version ) )
+ {
+ return false;
+ }
+ else if ( !a.getType().equals( type ) )
+ {
+ return false;
+ }
+ else if ( a.getClassifier() == null ? classifier != null : !a.getClassifier().equals( classifier ) )
+ {
+ return false;
+ }
+
+ // We don't consider the version range in the comparison, just the resolved version
+
+ return true;
+ }
+
+ public int compareTo( Artifact o )
+ {
+ Artifact a = (Artifact) o;
+
+ int result = groupId.compareTo( a.getGroupId() );
+ if ( result == 0 )
+ {
+ result = artifactId.compareTo( a.getArtifactId() );
+ if ( result == 0 )
+ {
+ result = type.compareTo( a.getType() );
+ if ( result == 0 )
+ {
+ if ( classifier == null )
+ {
+ if ( a.getClassifier() != null )
+ {
+ result = 1;
+ }
+ }
+ else
+ {
+ if ( a.getClassifier() != null )
+ {
+ result = classifier.compareTo( a.getClassifier() );
+ }
+ else
+ {
+ result = -1;
+ }
+ }
+ if ( result == 0 )
+ {
+ // We don't consider the version range in the comparison, just the resolved version
+ result = version.compareTo( a.getVersion() );
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ public String getDownloadUrl()
+ {
+ return downloadUrl;
+ }
+
+ public void setDownloadUrl( String downloadUrl )
+ {
+ this.downloadUrl = downloadUrl;
+ }
+
+ public void setResolvedVersion( String version )
+ {
+ this.version = version;
+ // retain baseVersion
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Messages.properties b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Messages.properties
new file mode 100644
index 0000000..4471127
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Messages.properties
@@ -0,0 +1,18 @@
+#
+# 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.
+#
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Quality.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Quality.java
new file mode 100644
index 0000000..4643222
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Quality.java
@@ -0,0 +1,178 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class Quality
+implements Comparable<Quality>
+{
+ public static final int DEFAULT_QUANTITY = 0;
+ public static final int SNAPSHOT_TS_QUANTITY = 1;
+
+ public static final int FIXED_RELEASE_QUANTITY = -2;
+ public static final int FIXED_LATEST_QUANTITY = -3;
+
+ public static final Quality UNKNOWN_QUALITY = new Quality( QualityEnum.unknown, -1 );
+ public static final Quality SNAPSHOT_QUALITY = new Quality( QualityEnum.snapshot, DEFAULT_QUANTITY );
+ public static final Quality SNAPSHOT_TS_QUALITY = new Quality( QualityEnum.snapshot, SNAPSHOT_TS_QUANTITY );
+ public static final Quality ALPHA_QUALITY = new Quality( QualityEnum.alpha, DEFAULT_QUANTITY );
+ public static final Quality BETA_QUALITY = new Quality( QualityEnum.beta, DEFAULT_QUANTITY );
+ public static final Quality RELEASE_QUALITY = new Quality( QualityEnum.release, DEFAULT_QUANTITY );
+
+ public static final Quality FIXED_RELEASE_QUALITY = new Quality( QualityEnum.unknown, FIXED_RELEASE_QUANTITY );
+ public static final Quality FIXED_LATEST_QUALITY = new Quality( QualityEnum.unknown, FIXED_LATEST_QUANTITY );
+
+ private static final String snExp = ".+-(SNAPSHOT|\\d{8}\\.\\d{6}-\\d+)";
+ private static final String alphaExp = ".+-alpha-\\d+";
+ private static final String betaExp = ".+-beta-\\d+";
+
+ protected QualityEnum quality;
+ protected int quantity;
+
+ public Quality( QualityEnum quality, int quantity )
+ {
+ this.quality = quality;;
+ this.quantity = quantity;
+ }
+
+ public Quality( String version )
+ {
+ if( version == null || version.length() < 1 )
+ {
+ quality = QualityEnum.unknown;
+ quantity = -1;
+ return;
+ }
+
+ if( Artifact.RELEASE_VERSION.equals( version ) )
+ {
+ quality = QualityEnum.unknown;
+ quantity = FIXED_RELEASE_QUANTITY;
+ return;
+ }
+
+ if( Artifact.LATEST_VERSION.equals( version ) )
+ {
+ quality = QualityEnum.unknown;
+ quantity = FIXED_LATEST_QUANTITY;
+ return;
+ }
+
+ if( version.matches( snExp ) )
+ {
+ quality = QualityEnum.snapshot;
+ if( version.endsWith( Artifact.SNAPSHOT_VERSION ) )
+ quantity = DEFAULT_QUANTITY;
+ else
+ quantity = SNAPSHOT_TS_QUANTITY;
+ return;
+ }
+
+ if( version.matches( alphaExp ) )
+ {
+ quality = QualityEnum.alpha;
+ quantity = Integer.parseInt( version.substring( version.lastIndexOf( '-' )+1 ) );
+ return;
+ }
+
+ if( version.matches( betaExp ) )
+ {
+ quality = QualityEnum.beta;
+ quantity = Integer.parseInt( version.substring( version.lastIndexOf( '-' )+1 ) );
+ return;
+ }
+
+ quality = QualityEnum.release;
+ quantity = DEFAULT_QUANTITY;
+
+ }
+
+ public int compareTo( Quality q )
+ {
+ if( q == null )
+ return quality == null ? 0 : 1;
+
+ int ql = (quality == null ? QualityEnum.unknown : quality).getId();
+ int ql2 = (q.quality == null ? QualityEnum.unknown : q.quality).getId();
+
+ if( ql == ql2 )
+ {
+ // snapshots are always equal
+ if( ql == QualityEnum.snapshot.getId() )
+ return 0;
+ else
+ return quantity - q.quantity;
+ }
+
+ // unknown is less'n anyone
+// if( ql1 == QualityEnum.unknown.getId() )
+// return -1;
+
+ return sign(ql - ql2);
+ }
+
+ private static int sign( int i )
+ {
+ return i<0 ? -1:1;
+ }
+
+ @Override
+ public boolean equals( Object obj )
+ {
+ if( obj == null )
+ {
+ return false;
+ }
+
+ if( obj.getClass().isAssignableFrom( Quality.class ))
+ return this.compareTo( (Quality)obj ) == 0;
+ else if( obj.getClass().isAssignableFrom( QualityEnum.class ))
+ return this.compareTo( (QualityEnum)obj ) == 0;
+
+ return super.equals( obj );
+ }
+
+ public int compareTo( QualityEnum qe )
+ {
+ if( qe == null )
+ return quality == null ? 0 : 1;
+
+ int ql1 = (quality == null ? QualityEnum.unknown : quality).getId();
+
+ return sign(ql1 - qe.getId());
+ }
+
+ public QualityEnum getQuality()
+ {
+ return quality;
+ }
+
+ public int getQuantity()
+ {
+ return quantity;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityEnum.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityEnum.java
new file mode 100644
index 0000000..3b89718
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityEnum.java
@@ -0,0 +1,52 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public enum QualityEnum
+{
+ unknown(-1)
+ , snapshot(1)
+ , alpha(2)
+ , beta(3)
+ , release(10)
+ ;
+
+ public static final QualityEnum DEFAULT_QUALITY = unknown;
+
+ private int id;
+
+ // Constructor
+ QualityEnum( int id )
+ {
+ this.id = id;
+ }
+
+ int getId()
+ {
+ return id;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java
new file mode 100644
index 0000000..9fd5239
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java
@@ -0,0 +1,77 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class QualityRange
+{
+ public static final QualityRange SNAPSHOTS_ONLY = new QualityRange( Quality.SNAPSHOT_QUALITY, true, Quality.SNAPSHOT_TS_QUALITY, true );
+ public static final QualityRange ALPHA_ONLY = new QualityRange( Quality.SNAPSHOT_QUALITY, false, Quality.BETA_QUALITY, false );
+ public static final QualityRange BETA_ONLY = new QualityRange( Quality.ALPHA_QUALITY, false, Quality.RELEASE_QUALITY, false );
+ public static final QualityRange RELEASES_ONLY = new QualityRange( Quality.RELEASE_QUALITY, true, Quality.RELEASE_QUALITY, true );
+ public static final QualityRange ALL = new QualityRange( Quality.SNAPSHOT_QUALITY, true, Quality.RELEASE_QUALITY, true );
+
+ protected Quality qualityFrom = Quality.SNAPSHOT_QUALITY;
+ protected boolean fromInclusive = true;
+ protected Quality qualityTo = Quality.RELEASE_QUALITY;
+ protected boolean toInclusive = true;
+
+ /**
+ * @param qualityFrom
+ * @param fromInclusive
+ * @param qualityTo
+ * @param toInclusive
+ */
+ public QualityRange(
+ Quality qualityFrom,
+ boolean fromInclusive,
+ Quality qualityTo,
+ boolean toInclusive )
+ {
+ this.qualityFrom = qualityFrom;
+ this.fromInclusive = fromInclusive;
+
+ this.qualityTo = qualityTo;
+ this.toInclusive = toInclusive;
+ }
+
+ //---------------------------------------------------------------------------
+ public boolean isAcceptedQuality( Quality quality )
+ {
+ if( quality == null )
+ return false;
+
+ int from = quality.compareTo( qualityFrom );
+ if( from == 0 )
+ return fromInclusive;
+
+ int to = quality.compareTo( qualityTo );
+ if( to == 0 )
+ return toInclusive;
+
+ return from > 0 && to < 0;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/ArtifactListProcessor.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/ArtifactListProcessor.java
new file mode 100644
index 0000000..5c2237e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/ArtifactListProcessor.java
@@ -0,0 +1,55 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.api;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ * generic interface to be implemented by helper components
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface ArtifactListProcessor
+{
+ /** named functions - used to help processing in various parts of the system */
+ public static final String [] FUNCTIONS = new String []
+ {
+ "tp" // transaction processing function, future use
+ };
+ public static final String FUNCTION_TP = FUNCTIONS[0];
+
+ /** initialize it if required
+ * @throws ArtifactListProcessorException */
+ public void init( Map<String, String> env )
+ throws ArtifactListProcessorException;
+
+ /** configure it if required */
+ public void configure( Object config )
+ throws ArtifactListProcessorException;
+
+ /** actually do that
+ * @throws ArtifactListProcessorException */
+ public List<ArtifactBasicMetadata> process( List<ArtifactBasicMetadata> artifacts )
+ throws ArtifactListProcessorException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/ArtifactListProcessorException.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/ArtifactListProcessorException.java
new file mode 100644
index 0000000..302af34
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/ArtifactListProcessorException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactListProcessorException
+extends Exception
+{
+
+ /**
+ *
+ */
+ public ArtifactListProcessorException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public ArtifactListProcessorException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public ArtifactListProcessorException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public ArtifactListProcessorException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/Configurable.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/Configurable.java
new file mode 100644
index 0000000..7c5f125
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/api/Configurable.java
@@ -0,0 +1,38 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.api;
+
+/**
+ * provides a way to configure an object instance, if that object supports the idea
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface Configurable
+{
+
+ /**
+ * configure this instance
+ *
+ * @param name of the configurable property
+ * @param val configuration value
+ */
+ public void setOption( String name, String val );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java
new file mode 100644
index 0000000..7c2690d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java
@@ -0,0 +1,38 @@
+package org.apache.maven.mercury.artifact.version;
+
+import org.apache.maven.mercury.artifact.Quality;
+
+/*
+ * 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.
+ */
+
+public interface ArtifactVersion
+ extends Comparable
+{
+ int getMajorVersion();
+
+ int getMinorVersion();
+
+ int getIncrementalVersion();
+
+ int getBuildNumber();
+
+ String getQualifier();
+
+ Quality getQuality();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/AttributeQuery.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/AttributeQuery.java
new file mode 100644
index 0000000..866a6ed
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/AttributeQuery.java
@@ -0,0 +1,54 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class AttributeQuery
+{
+ public static final char EXRP_START = '{';
+ public static final char EXRP_STOP = '}';
+
+ private String expr;
+
+ public AttributeQuery( String query )
+ {
+ if( query == null || query.indexOf( EXRP_START ) == -1 )
+ return;
+ int from = query.indexOf( EXRP_START );
+ int to = query.indexOf( EXRP_STOP );
+ }
+
+ public static String stripExpression( String query )
+ {
+ if( query == null || query.indexOf( EXRP_START ) == -1 )
+ return query;
+
+ int from = query.indexOf( EXRP_START );
+ if( from == 0 )
+ return null;
+
+ return query.substring( 0, from );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/AttributeQueryException.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/AttributeQueryException.java
new file mode 100644
index 0000000..e1df794
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/AttributeQueryException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class AttributeQueryException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public AttributeQueryException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public AttributeQueryException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public AttributeQueryException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public AttributeQueryException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ComparableVersion.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ComparableVersion.java
new file mode 100644
index 0000000..5d62d46
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ComparableVersion.java
@@ -0,0 +1,437 @@
+package org.apache.maven.mercury.artifact.version;
+
+/*
+ * 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.Stack;
+
+/*
+ * Generic implementation of version comparison.
+ *
+ * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
+ *
+ * @author <a href="mailto:hboutemy@apache.org">Herve Boutemy</a>
+ *
+ * @version $Id$
+ */
+public class ComparableVersion
+ implements Comparable
+{
+ private String value;
+
+ private String canonical;
+
+ private ListItem items;
+
+ private interface Item
+ {
+ public static final int INTEGER_ITEM = 0;
+
+ public static final int STRING_ITEM = 1;
+
+ public static final int LIST_ITEM = 2;
+
+ public int compareTo( Item item );
+
+ public int getType();
+
+ public boolean isNull();
+ }
+
+ /**
+ * Represents a numeric item in the version item list.
+ */
+ private static class IntegerItem
+ implements Item
+ {
+ private Integer value;
+
+ public IntegerItem( Integer i )
+ {
+ this.value = i;
+ }
+
+ public int getType()
+ {
+ return INTEGER_ITEM;
+ }
+
+ public boolean isNull()
+ {
+ return ( value == 0 );
+ }
+
+ public int compareTo( Item item )
+ {
+ if ( item == null )
+ {
+ return value == 0 ? 0 : 1; // 1.0 == 1, 1.1 > 1
+ }
+
+ switch ( item.getType() )
+ {
+ case INTEGER_ITEM:
+ return value.compareTo( ( (IntegerItem) item ).value );
+
+ case STRING_ITEM:
+ return 1; // 1.1 > 1-sp
+
+ case LIST_ITEM:
+ return 1; // 1.1 > 1-1
+
+ default:
+ throw new RuntimeException( "invalid item: " + item.getClass() );
+ }
+ }
+
+ public String toString()
+ {
+ return value.toString();
+ }
+ }
+
+ /**
+ * Represents a string in the version item list, usually a qualifier.
+ */
+ private static class StringItem
+ implements Item
+ {
+ private final static String[] QUALIFIERS = { "snapshot", "alpha", "beta", "milestone", "rc", "", "sp" };
+
+ private final static List _QUALIFIERS = Arrays.asList( QUALIFIERS );
+
+ private final static Properties ALIASES = new Properties();
+ static
+ {
+ ALIASES.put( "ga", "" );
+ ALIASES.put( "final", "" );
+ ALIASES.put( "cr", "rc" );
+ }
+
+ /**
+ * A comparable for the empty-string qualifier. This one is used to determine if a given qualifier makes the
+ * version older than one without a qualifier, or more recent.
+ */
+ private static Comparable RELEASE_VERSION_INDEX = String.valueOf( _QUALIFIERS.indexOf( "" ) );
+
+ private String value;
+
+ public StringItem( String value, boolean followedByDigit )
+ {
+ if ( followedByDigit && value.length() == 1 )
+ {
+ // a1 = alpha-1, b1 = beta-1, m1 = milestone-1
+ switch ( value.charAt( 0 ) )
+ {
+ case 'a':
+ value = "alpha";
+ break;
+ case 'b':
+ value = "beta";
+ break;
+ case 'm':
+ value = "milestone";
+ break;
+ }
+ }
+ this.value = ALIASES.getProperty( value, value );
+ }
+
+ public int getType()
+ {
+ return STRING_ITEM;
+ }
+
+ public boolean isNull()
+ {
+ return ( comparableQualifier( value ).compareTo( RELEASE_VERSION_INDEX ) == 0 );
+ }
+
+ /**
+ * Returns a comparable for a qualifier.
+ *
+ * This method both takes into account the ordering of known qualifiers as well as lexical ordering for unknown
+ * qualifiers.
+ *
+ * just returning an Integer with the index here is faster, but requires a lot of if/then/else to check for -1
+ * or QUALIFIERS.size and then resort to lexical ordering. Most comparisons are decided by the first character,
+ * so this is still fast. If more characters are needed then it requires a lexical sort anyway.
+ *
+ * @param qualifier
+ * @return
+ */
+ public static Comparable comparableQualifier( String qualifier )
+ {
+ int i = _QUALIFIERS.indexOf( qualifier );
+
+ return i == -1 ? _QUALIFIERS.size() + "-" + qualifier : String.valueOf( i );
+ }
+
+ public int compareTo( Item item )
+ {
+ if ( item == null )
+ {
+ // 1-rc < 1, 1-ga > 1
+ return comparableQualifier( value ).compareTo( RELEASE_VERSION_INDEX );
+ }
+ switch ( item.getType() )
+ {
+ case INTEGER_ITEM:
+ return -1; // 1.any < 1.1 ?
+
+ case STRING_ITEM:
+ return comparableQualifier( value ).compareTo( comparableQualifier( ( (StringItem) item ).value ) );
+
+ case LIST_ITEM:
+ return -1; // 1.any < 1-1
+
+ default:
+ throw new RuntimeException( "invalid item: " + item.getClass() );
+ }
+ }
+
+ public String toString()
+ {
+ return value;
+ }
+ }
+
+ /**
+ * Represents a version list item. This class is used both for the global item list and for sub-lists (which start
+ * with '-(number)' in the version specification).
+ */
+ private static class ListItem
+ extends ArrayList
+ implements Item
+ {
+ public int getType()
+ {
+ return LIST_ITEM;
+ }
+
+ public boolean isNull()
+ {
+ return ( size() == 0 );
+ }
+
+ void normalize()
+ {
+ for ( ListIterator iterator = listIterator( size() ); iterator.hasPrevious(); )
+ {
+ Item item = (Item) iterator.previous();
+ if ( item.isNull() )
+ {
+ iterator.remove(); // remove null trailing items: 0, "", empty list
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+
+ public int compareTo( Item item )
+ {
+ if ( item == null )
+ {
+ if ( size() == 0 )
+ {
+ return 0; // 1-0 = 1- (normalize) = 1
+ }
+ Item first = (Item) get( 0 );
+ return first.compareTo( null );
+ }
+
+ switch ( item.getType() )
+ {
+ case INTEGER_ITEM:
+ return -1; // 1-1 < 1.0.x
+
+ case STRING_ITEM:
+ return 1; // 1-1 > 1-sp
+
+ case LIST_ITEM:
+ Iterator left = iterator();
+ Iterator right = ( (ListItem) item ).iterator();
+
+ while ( left.hasNext() || right.hasNext() )
+ {
+ Item l = left.hasNext() ? (Item) left.next() : null;
+ Item r = right.hasNext() ? (Item) right.next() : null;
+
+ // if this is shorter, then invert the compare and mul with -1
+ int result = l == null ? -1 * r.compareTo( l ) : l.compareTo( r );
+
+ if ( result != 0 )
+ {
+ return result;
+ }
+ }
+
+ return 0;
+
+ default:
+ throw new RuntimeException( "invalid item: " + item.getClass() );
+ }
+ }
+
+ public String toString()
+ {
+ StringBuffer buffer = new StringBuffer( "(" );
+ for ( Iterator iter = iterator(); iter.hasNext(); )
+ {
+ buffer.append( iter.next() );
+ if ( iter.hasNext() )
+ {
+ buffer.append( ',' );
+ }
+ }
+ buffer.append( ')' );
+ return buffer.toString();
+ }
+ }
+
+ public ComparableVersion( String version )
+ {
+ parseVersion( version );
+ }
+
+ public final void parseVersion( String version )
+ {
+ this.value = version;
+
+ items = new ListItem();
+
+ version = version.toLowerCase( Locale.ENGLISH );
+
+ ListItem list = items;
+
+ Stack stack = new Stack();
+ stack.push( list );
+
+ boolean isDigit = false;
+
+ int startIndex = 0;
+
+ for ( int i = 0; i < version.length(); i++ )
+ {
+ char c = version.charAt( i );
+
+ if ( c == '.' )
+ {
+ if ( i == startIndex )
+ {
+ list.add( new IntegerItem( 0 ) );
+ }
+ else
+ {
+ list.add( parseItem( isDigit, version.substring( startIndex, i ) ) );
+ }
+ startIndex = i + 1;
+ }
+ else if ( c == '-' )
+ {
+ if ( i == startIndex )
+ {
+ list.add( new IntegerItem( 0 ) );
+ }
+ else
+ {
+ list.add( parseItem( isDigit, version.substring( startIndex, i ) ) );
+ }
+ startIndex = i + 1;
+
+ if ( isDigit )
+ {
+ list.normalize(); // 1.0-* = 1-*
+
+ if ( ( i + 1 < version.length() ) && Character.isDigit( version.charAt( i + 1 ) ) )
+ {
+ // new ListItem only if previous were digits and new char is a digit,
+ // ie need to differentiate only 1.1 from 1-1
+ list.add( list = new ListItem() );
+
+ stack.push( list );
+ }
+ }
+ }
+ else if ( Character.isDigit( c ) )
+ {
+ if ( !isDigit && i > startIndex )
+ {
+ list.add( new StringItem( version.substring( startIndex, i ), true ) );
+ startIndex = i;
+ }
+
+ isDigit = true;
+ }
+ else
+ {
+ if ( isDigit && i > startIndex )
+ {
+ list.add( parseItem( true, version.substring( startIndex, i ) ) );
+ startIndex = i;
+ }
+
+ isDigit = false;
+ }
+ }
+
+ if ( version.length() > startIndex )
+ {
+ list.add( parseItem( isDigit, version.substring( startIndex ) ) );
+ }
+
+ while ( !stack.isEmpty() )
+ {
+ list = (ListItem) stack.pop();
+ list.normalize();
+ }
+
+ canonical = items.toString();
+ }
+
+ private static Item parseItem( boolean isDigit, String buf )
+ {
+ return isDigit ? new IntegerItem( new Integer( buf ) ) : new StringItem( buf, false );
+ }
+
+ public int compareTo( Object o )
+ {
+ return items.compareTo( ( (ComparableVersion) o ).items );
+ }
+
+ public String toString()
+ {
+ return value;
+ }
+
+ public boolean equals( Object o )
+ {
+ return ( o instanceof ComparableVersion ) && canonical.equals( ( (ComparableVersion) o ).canonical );
+ }
+
+ public int hashCode()
+ {
+ return canonical.hashCode();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersion.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersion.java
new file mode 100644
index 0000000..bd920d1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersion.java
@@ -0,0 +1,273 @@
+package org.apache.maven.mercury.artifact.version;
+
+/*
+ * 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.
+ */
+
+import java.util.StringTokenizer;
+
+import org.apache.maven.mercury.artifact.Quality;
+
+
+/*
+ * Default implementation of artifact versioning.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ *
+ * @version $Id$
+ */
+public class DefaultArtifactVersion
+ implements ArtifactVersion
+{
+ private String version;
+
+ private Integer majorVersion;
+
+ private Integer minorVersion;
+
+ private Integer incrementalVersion;
+
+ private Integer buildNumber;
+
+ private String base;
+
+ private String qualifier;
+
+ private ComparableVersion comparable;
+
+ private Quality quality = Quality.UNKNOWN_QUALITY;
+
+ public DefaultArtifactVersion( String version )
+ {
+ this.version = version;
+ parseVersion( version );
+ parseQuality( version );
+ }
+
+ public String getBase()
+ {
+ return base;
+ }
+
+ public boolean sameBase( DefaultArtifactVersion v )
+ {
+ return base.equals( v.base );
+ }
+
+ public boolean sameBase( String vs )
+ {
+ DefaultArtifactVersion v = new DefaultArtifactVersion(vs);
+ return base.equals( v.base );
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return 11 + comparable.hashCode();
+ }
+
+ @Override
+ public boolean equals( Object other )
+ {
+ return compareTo( other ) == 0;
+ }
+
+ public int compareTo( Object o )
+ {
+ DefaultArtifactVersion otherVersion = (DefaultArtifactVersion) o;
+ return this.comparable.compareTo( otherVersion.comparable );
+ }
+
+ public int getMajorVersion()
+ {
+ return majorVersion != null ? majorVersion : 0;
+ }
+
+ public int getMinorVersion()
+ {
+ return minorVersion != null ? minorVersion : 0;
+ }
+
+ public int getIncrementalVersion()
+ {
+ return incrementalVersion != null ? incrementalVersion : 0;
+ }
+
+ public int getBuildNumber()
+ {
+ return buildNumber != null ? buildNumber : 0;
+ }
+
+ public String getQualifier()
+ {
+ return qualifier;
+ }
+
+ public final void parseVersion( String version )
+ {
+ comparable = new ComparableVersion( version );
+
+ int index = version.indexOf( "-" );
+
+ String part1;
+ String part2 = null;
+
+ if ( index < 0 )
+ {
+ part1 = version;
+ }
+ else
+ {
+ part1 = version.substring( 0, index );
+ part2 = version.substring( index + 1 );
+ }
+
+ if ( part2 != null )
+ {
+ try
+ {
+ if ( ( part2.length() == 1 ) || !part2.startsWith( "0" ) )
+ {
+ buildNumber = Integer.valueOf( part2 );
+ }
+ else
+ {
+ qualifier = part2;
+ }
+ }
+ catch ( NumberFormatException e )
+ {
+ qualifier = part2;
+ }
+ }
+
+ if ( ( part1.indexOf( "." ) < 0 ) && !part1.startsWith( "0" ) )
+ {
+ try
+ {
+ majorVersion = Integer.valueOf( part1 );
+ }
+ catch ( NumberFormatException e )
+ {
+ // qualifier is the whole version, including "-"
+ qualifier = version;
+ buildNumber = null;
+ }
+ }
+ else
+ {
+ boolean fallback = false;
+ StringTokenizer tok = new StringTokenizer( part1, "." );
+ try
+ {
+ majorVersion = getNextIntegerToken( tok );
+ if ( tok.hasMoreTokens() )
+ {
+ minorVersion = getNextIntegerToken( tok );
+ }
+ if ( tok.hasMoreTokens() )
+ {
+ incrementalVersion = getNextIntegerToken( tok );
+ }
+ if ( tok.hasMoreTokens() )
+ {
+ fallback = true;
+ }
+ }
+ catch ( NumberFormatException e )
+ {
+ fallback = true;
+ }
+
+ if ( fallback )
+ {
+ // qualifier is the whole version, including "-"
+ qualifier = version;
+ base = "";
+ majorVersion = null;
+ minorVersion = null;
+ incrementalVersion = null;
+ buildNumber = null;
+ }
+ }
+
+ if( base == null )
+ {
+ if( qualifier == null )
+ base = version;
+ else
+ {
+ int ind = version.indexOf( qualifier );
+ if( ind == 0 )
+ base = qualifier;
+ else
+ base = version.substring( 0, version.indexOf( qualifier )-1 );
+ }
+ }
+ }
+
+ private static Integer getNextIntegerToken( StringTokenizer tok )
+ {
+ String s = tok.nextToken();
+ if ( ( s.length() > 1 ) && s.startsWith( "0" ) )
+ {
+ throw new NumberFormatException( "Number part has a leading 0: '" + s + "'" );
+ }
+ return Integer.valueOf( s );
+ }
+
+ private void parseQuality( String version )
+ {
+ quality = new Quality( version );
+ }
+
+ @Override
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ if ( majorVersion != null )
+ {
+ buf.append( majorVersion );
+ }
+ if ( minorVersion != null )
+ {
+ buf.append( "." );
+ buf.append( minorVersion );
+ }
+ if ( incrementalVersion != null )
+ {
+ buf.append( "." );
+ buf.append( incrementalVersion );
+ }
+ if ( buildNumber != null )
+ {
+ buf.append( "-" );
+ buf.append( buildNumber );
+ }
+ else if ( qualifier != null )
+ {
+ if ( buf.length() > 0 )
+ {
+ buf.append( "-" );
+ }
+ buf.append( qualifier );
+ }
+ return buf.toString();
+ }
+
+ public Quality getQuality()
+ {
+ return quality;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/MavenVersionRange.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/MavenVersionRange.java
new file mode 100644
index 0000000..ac93f1f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/MavenVersionRange.java
@@ -0,0 +1,230 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.QualityEnum;
+import org.apache.maven.mercury.artifact.QualityRange;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * Single range implementation, similar to OSGi specification:
+ *
+ * [1.2.3, 4.5.6) 1.2.3 <= x < 4.5.6
+ * [1.2.3, 4.5.6] 1.2.3 <= x <= 4.5.6
+ * (1.2.3, 4.5.6) 1.2.3 < x < 4.5.6
+ * (1.2.3, 4.5.6] 1.2.3 < x <= 4.5.6
+ * 1.2.3 1.2.3 <= x - this one is configurable nowadays
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+class MavenVersionRange
+implements VersionRange
+{
+ public static final String SYSTEM_PARAMETER_OSGI_VERSION = "maven.mercury.osgi.version";
+ public static final String SYSTEM_PARAMETER_OSGI_VERSION_DEFAULT = "false";
+ private boolean _osgiVersion = Boolean.parseBoolean( System.getProperty( SYSTEM_PARAMETER_OSGI_VERSION, SYSTEM_PARAMETER_OSGI_VERSION_DEFAULT ) );
+
+ private static final DefaultArtifactVersion ZERO_VERSION = new DefaultArtifactVersion("0.0.0");
+ private static final Language _lang = new DefaultLanguage( MavenVersionRange.class );
+
+ QualityRange _toQualityRange = QualityRange.ALL;
+
+ DefaultArtifactVersion _fromVersion = ZERO_VERSION;
+ boolean _fromInclusive = true;
+
+ DefaultArtifactVersion _toVersion;
+ boolean _toInclusive = false;
+
+ boolean _singleton = false;
+
+ //--------------------------------------------------------------------------------------------
+ protected MavenVersionRange( final String range, final QualityRange qRange )
+ throws VersionException
+ {
+ this( range );
+ setToQualityRange( qRange );
+ }
+ //--------------------------------------------------------------------------------------------
+ protected MavenVersionRange( final String rangeIn )
+ throws VersionException
+ {
+ String range = AttributeQuery.stripExpression( rangeIn );
+
+ if( range == null || range.length() < 1 )
+ return;
+
+ if( range.indexOf(',') > 0 )
+ {
+ if( range.startsWith("[") )
+ _fromInclusive = true;
+ else if( range.startsWith("(") )
+ _fromInclusive = false;
+ else
+ throw new VersionException( _lang.getMessage( "invalid.maven.version.range", range ) );
+
+ if( range.endsWith("]") )
+ _toInclusive = true;
+ else if( range.endsWith(")") )
+ _toInclusive = false;
+ else
+ throw new VersionException( _lang.getMessage( "invalid.maven.version.range", range ) );
+
+ int ind = range.indexOf(',');
+
+ String sFrom = range.substring(1,ind);
+ if( sFrom != null && sFrom.length() > 0 )
+ {
+ String sFromT = sFrom.trim();
+ if( sFromT != null && sFromT.length() > 0 )
+ {
+ checkForValidCharacters( sFromT );
+ // TODO og: look for LATEST,RELEASE and SNAPSHOT
+ Quality vq = new Quality( sFromT );
+ if( vq.getQuality().equals( QualityEnum.snapshot )
+ || vq.getQuality().equals( QualityEnum.unknown )
+ )
+ throw new VersionException( _lang.getMessage( "bad.version.sn", sFromT ) );
+
+ _fromVersion = new DefaultArtifactVersion( sFromT );
+ }
+ }
+
+ String sTo = range.substring( ind+1, range.length()-1 );
+ if( sTo != null && sTo.length() > 0 )
+ {
+ String sToT = sTo.trim();
+ if( sToT != null && sToT.length() > 0 )
+ {
+ checkForValidCharacters( sToT );
+ _toVersion = new DefaultArtifactVersion( sToT );
+ }
+ }
+
+ if( _fromVersion == null && _fromInclusive )
+ throw new VersionException( _lang.getMessage( "invalid.maven.version.range.bad.from", range ) );
+
+ if( _toVersion == null && _toInclusive )
+ throw new VersionException( _lang.getMessage( "invalid.maven.version.range.bad.to", range ) );
+
+ }
+ else
+ {
+
+ checkForValidCharacters(range);
+ _fromVersion = new DefaultArtifactVersion( range );
+
+ _singleton = true;
+
+ // good old maven version interpretation
+ if( !_osgiVersion )
+ {
+ _toVersion = _fromVersion;
+ _fromInclusive = true;
+ _toInclusive = true;
+ }
+ }
+ }
+ //--------------------------------------------------------------------------------------------
+ protected void setToQualityRange( QualityRange qRange )
+ {
+ this._toQualityRange = qRange;
+ }
+ //--------------------------------------------------------------------------------------------
+ private void checkForValidCharacters( String v )
+ throws VersionException
+ {
+ if( v == null || v.length() < 1 )
+ throw new VersionException("empty version");
+
+ int len = v.length();
+
+ for( int i=0; i<len; i++ )
+ {
+ char c = v.charAt(0);
+
+ if( c >= '0' && c <= '9' )
+ continue;
+
+ if( c >= 'A' && c <= 'Z' )
+ continue;
+
+ if( c >= 'a' && c <= 'z' )
+ continue;
+
+ if( c == '-' || c == '_' )
+ continue;
+
+ throw new VersionException( _lang.getMessage( "invalid.character", ""+c, v ) );
+ }
+ }
+ //--------------------------------------------------------------------------------------------
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.artifact.version.VersionRange#includes(java.lang.String)
+ */
+ public boolean includes( String version )
+ {
+ DefaultArtifactVersion ver = new DefaultArtifactVersion( version );
+
+ int cmp1 = ver.compareTo( _fromVersion );
+
+ if( cmp1 < 0 )
+ return false;
+
+ if( cmp1 == 0 )
+ return _fromInclusive;
+
+ if( _toVersion == null ) // eternity
+ return true;
+
+ int cmp2 = ver.compareTo( _toVersion );
+
+ if( cmp2 < 0 )
+ {
+ if( ver.sameBase( _toVersion ) )
+ {
+ if( _toQualityRange.isAcceptedQuality( ver.getQuality() ) )
+ return true;
+ return false;
+ }
+ return true;
+ }
+
+ if( cmp2 == 0 )
+ return _toInclusive;
+
+ return false;
+ }
+
+ public void setOption( String name, String val )
+ {
+ if( SYSTEM_PARAMETER_OSGI_VERSION.equals( name ) )
+ _osgiVersion = Boolean.parseBoolean( System.getProperty( val, SYSTEM_PARAMETER_OSGI_VERSION_DEFAULT ) );
+ }
+
+ public boolean isSingleton()
+ {
+ return _singleton;
+ }
+
+ //--------------------------------------------------------------------------------------------
+ //--------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties
new file mode 100644
index 0000000..1d0f57a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties
@@ -0,0 +1,24 @@
+#
+# 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.
+#
+bad.version.sn=version range cannot include SNAPSHOT, LATEST or RELEASE versions, found: {0}
+null.version.to.compare=one of the versions is null: {0} vs {1}, cannot compare
+invalid.maven.version.range=invalid range: {0}
+invalid.maven.version.range.bad.from=invalid range: {0} - from infinity cannot be inclusive
+invalid.maven.version.range.bad.to=invalid range: {0} - to infinity cannot be inclusive
+invalid.character="invalid character '{0}' in version {1}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/MetadataVersionComparator.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/MetadataVersionComparator.java
new file mode 100644
index 0000000..f509de1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/MetadataVersionComparator.java
@@ -0,0 +1,50 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import java.util.Comparator;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * version comparator used elsewhere to keep version collections sorted
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataVersionComparator
+implements Comparator<ArtifactBasicMetadata>
+{
+ private static final Language _lang = new DefaultLanguage( MetadataVersionComparator.class );
+
+ public int compare( ArtifactBasicMetadata v1, ArtifactBasicMetadata v2 )
+ {
+ if( v1 == null || v2 == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.version.to.compare", v1 == null ? "null" : v1.toString(), v2 == null ? "null" : v2.toString() ) );
+
+ DefaultArtifactVersion av1 = new DefaultArtifactVersion( v1.getVersion() );
+ DefaultArtifactVersion av2 = new DefaultArtifactVersion( v2.getVersion() );
+
+ return av1.compareTo( av2 );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java
new file mode 100644
index 0000000..7022453
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import java.util.Comparator;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * version comparator used elsewhere to keep version collections sorted
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class VersionComparator
+implements Comparator<String>
+{
+ private static final Language _lang = new DefaultLanguage( VersionComparator.class );
+
+ public int compare( String v1, String v2 )
+ {
+ if( v1 == null || v2 == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.version.to.compare", v1,v2 ) );
+
+ DefaultArtifactVersion av1 = new DefaultArtifactVersion( v1 );
+ DefaultArtifactVersion av2 = new DefaultArtifactVersion( v2 );
+
+ return av1.compareTo( av2 );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionException.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionException.java
new file mode 100644
index 0000000..87ff9ae
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionException.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class VersionException
+ extends Exception
+{
+
+ public VersionException()
+ {
+ }
+
+ public VersionException(String message)
+ {
+ super(message);
+ }
+
+ public VersionException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public VersionException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionQuery.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionQuery.java
new file mode 100644
index 0000000..a051f20
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionQuery.java
@@ -0,0 +1,63 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import java.util.StringTokenizer;
+
+/**
+ * multiple ranges. Not sure if we need need it - will delete later ..
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class VersionQuery
+{
+ String [] _ranges;
+
+ public VersionQuery( String query )
+ {
+
+ }
+
+ private void parseRange( String query )
+ {
+ if( query == null || query.length() < 1 )
+ return;
+
+ StringTokenizer st = new StringTokenizer( query, "," );
+ int nRanges = st.countTokens();
+ if( nRanges < 1 )
+ return;
+
+ _ranges = new String [ nRanges ];
+ int count = 0;
+
+ while( st.hasMoreTokens() )
+ _ranges[ count ++ ] = st.nextToken();
+
+ }
+
+ /**
+ *
+ */
+ public boolean within( String version )
+ {
+ return false;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRange.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRange.java
new file mode 100644
index 0000000..e3e6b53
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRange.java
@@ -0,0 +1,44 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import org.apache.maven.mercury.artifact.api.Configurable;
+
+/**
+ * interface to the version range processor. To be implemented for various syntaxes/interpreters
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface VersionRange
+extends Configurable
+{
+ /**
+ * returns true if the supplied version fits into the range
+ *
+ * @param version to test
+ * @return
+ */
+ public boolean includes( String version );
+ /**
+ * @return true if the range is good old single version, not a true range
+ */
+ public boolean isSingleton();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRangeFactory.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRangeFactory.java
new file mode 100644
index 0000000..a48df1e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRangeFactory.java
@@ -0,0 +1,85 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import java.util.Collection;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.QualityRange;
+
+/**
+ * lack of IoC container makes me throw this class in.
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class VersionRangeFactory
+{
+
+ public static VersionRange create( final String version )
+ throws VersionException
+ {
+ return new MavenVersionRange( version );
+ }
+
+ public static VersionRange create( final String version, final QualityRange qRange )
+ throws VersionException
+ {
+ return new MavenVersionRange( version, qRange );
+ }
+ //--------------------------------------------------------------------------------------------
+ /**
+ * helpful latest version calculator
+ *
+ * @param versions
+ * @param noSnapshots
+ * @return
+ */
+ public static final String findLatest( final Collection<String> versions, final boolean noSnapshots )
+ {
+ DefaultArtifactVersion tempDav = null;
+ DefaultArtifactVersion tempDav2 = null;
+ String version = null;
+
+ // find latest
+ for( String vn : versions )
+ {
+ // RELEASE?
+ if( noSnapshots && vn.endsWith( Artifact.SNAPSHOT_VERSION ))
+ continue;
+
+ if( version == null )
+ {
+ version = vn;
+ tempDav = new DefaultArtifactVersion( vn );
+ continue;
+ }
+
+ tempDav2 = new DefaultArtifactVersion( vn );
+ if( tempDav2.compareTo( tempDav ) > 0 )
+ {
+ version = vn;
+ tempDav = tempDav2;
+ }
+ }
+ return version;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-artifact/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/DependencyFilterTest.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/DependencyFilterTest.java
new file mode 100644
index 0000000..5fdea5e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/DependencyFilterTest.java
@@ -0,0 +1,108 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import java.util.ArrayList;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.version.VersionException;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DependencyFilterTest
+ extends TestCase
+{
+ ArtifactBasicMetadata a1;
+ ArtifactBasicMetadata a2;
+ ArtifactBasicMetadata a3;
+ ArtifactBasicMetadata a4;
+
+ ArrayList<ArtifactBasicMetadata> inc;
+ ArrayList<ArtifactBasicMetadata> exc;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ a1 = new ArtifactBasicMetadata("a:a:1.1");
+ a2 = new ArtifactBasicMetadata("a:a:2.1");
+ a3 = new ArtifactBasicMetadata("a:a:3.1");
+ a4 = new ArtifactBasicMetadata("a:a:4.1");
+
+ inc = new ArrayList<ArtifactBasicMetadata>();
+ inc.add( new ArtifactBasicMetadata("a:a") );
+ inc.add( new ArtifactBasicMetadata("b:b:2.0.0") );
+
+ exc = new ArrayList<ArtifactBasicMetadata>();
+ exc.add( new ArtifactBasicMetadata("c:c") );
+ exc.add( new ArtifactBasicMetadata("b:b:2.0.1") );
+
+ a2.setInclusions( inc );
+
+ a3.setExclusions( exc );
+
+ a4.setInclusions( inc );
+ a4.setExclusions( exc );
+ }
+
+ public void testNoFilter()
+ throws VersionException
+ {
+ assertTrue( a1.allowDependency( new ArtifactBasicMetadata("a:a:2.0.0") ) );
+ assertTrue( a1.allowDependency( new ArtifactBasicMetadata("b:b:1.0.0") ) );
+ assertTrue( a1.allowDependency( new ArtifactBasicMetadata("c:c:1.0.0") ) );
+ }
+
+ public void testInclusionsFilter()
+ throws VersionException
+ {
+ assertTrue( a2.allowDependency( new ArtifactBasicMetadata("a:a:2.0.0") ) );
+ assertFalse( a2.allowDependency( new ArtifactBasicMetadata("b:b:1.0.0") ) );
+ assertTrue( a2.allowDependency( new ArtifactBasicMetadata("b:b:2.0.0") ) );
+ assertFalse( a2.allowDependency( new ArtifactBasicMetadata("b:b:2.0.1") ) );
+ assertFalse( a2.allowDependency( new ArtifactBasicMetadata("c:c:1.0.0") ) );
+ }
+
+ public void testExclusionsFilter()
+ throws VersionException
+ {
+ assertTrue( a3.allowDependency( new ArtifactBasicMetadata("a:a:2.0.0") ) );
+ assertTrue( a3.allowDependency( new ArtifactBasicMetadata("b:b:1.0.0") ) );
+ assertFalse( a3.allowDependency( new ArtifactBasicMetadata("b:b:2.0.1") ) );
+ assertFalse( a3.allowDependency( new ArtifactBasicMetadata("c:c:1.0.0") ) );
+ }
+
+ public void testInclusionsExclusionsFilter()
+ throws VersionException
+ {
+ assertTrue( a4.allowDependency( new ArtifactBasicMetadata("a:a:2.0.0") ) );
+ assertFalse( a4.allowDependency( new ArtifactBasicMetadata("b:b:1.0.0") ) );
+ assertTrue( a4.allowDependency( new ArtifactBasicMetadata("b:b:2.0.0") ) );
+ assertFalse( a4.allowDependency( new ArtifactBasicMetadata("b:b:2.0.1") ) );
+ assertFalse( a4.allowDependency( new ArtifactBasicMetadata("b:b:3.0.1") ) );
+ assertFalse( a4.allowDependency( new ArtifactBasicMetadata("c:c:1.0.0") ) );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java
new file mode 100644
index 0000000..a37e715
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java
@@ -0,0 +1,116 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class QualityTest
+ extends TestCase
+{
+
+ public void testParser()
+ {
+ Quality q = new Quality("a-b_a-1");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.release, q.getQuality() );
+ assertEquals( Quality.DEFAULT_QUANTITY, q.getQuantity() );
+ }
+
+ public void testSn1()
+ {
+ Quality q = new Quality("5.5-SNAPSHOT");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.snapshot, q.getQuality() );
+ assertEquals( Quality.DEFAULT_QUANTITY, q.getQuantity() );
+ }
+
+ public void testSn2()
+ {
+ Quality q = new Quality("5.5-20080815.231708-12");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.snapshot, q.getQuality() );
+ assertEquals( Quality.SNAPSHOT_TS_QUANTITY, q.getQuantity() );
+ }
+
+ public void testSn3()
+ {
+ Quality q = new Quality("5.5-20080815.231708-");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.release, q.getQuality() );
+ }
+
+ public void testSn4()
+ {
+ Quality q = new Quality("5.5-20080815.23-15");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.release, q.getQuality() );
+ }
+
+ public void testAlpha()
+ {
+ Quality q = new Quality("5.5-alpha-12");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.alpha, q.getQuality() );
+ assertEquals( 12, q.getQuantity() );
+ }
+
+ public void testBeta()
+ {
+ Quality q = new Quality("5.5-beta-1");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.beta, q.getQuality() );
+ assertEquals( 1, q.getQuantity() );
+ }
+
+ public void testCompateQ()
+ {
+ Quality u = Quality.UNKNOWN_QUALITY;
+ Quality sn = new Quality("5.5-SNAPSHOT");
+ Quality snts = new Quality("5.5-5.5-20080815.231708-12");
+ Quality a1 = new Quality("5.5-5.5-alpha-1");
+ Quality a2 = new Quality("5.5-5.5-alpha-20");
+ Quality b1 = new Quality("5.5-5.5-beta-1");
+ Quality b2 = new Quality("5.5-5.5-beta-10");
+ Quality r = new Quality("5.5");
+
+ assertTrue( u.compareTo( sn ) < 0 );
+ assertTrue( sn.compareTo( snts ) == 0 );
+ assertTrue( snts.compareTo( a1 ) < 0 );
+ assertEquals( 0, a1.compareTo( a1 ) );
+ assertTrue( a1.compareTo( a2 ) < 0 );
+ assertTrue( a2.compareTo( b1 ) < 0 );
+ assertTrue( b1.compareTo( b2 ) < 0 );
+ assertTrue( b2.compareTo( r ) < 0 );
+ assertEquals( 0, r.compareTo( r ) );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/MavenVersionRangeTest.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/MavenVersionRangeTest.java
new file mode 100644
index 0000000..27da852
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/MavenVersionRangeTest.java
@@ -0,0 +1,133 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.QualityRange;
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class MavenVersionRangeTest
+ extends TestCase
+{
+ MavenVersionRange range;
+
+ public void testSimple()
+ throws VersionException
+ {
+ String rangeS = "[ 1.2.3 , 2.0.0 )";
+ range = new MavenVersionRange( rangeS );
+
+ assertTrue( "1.2.4 did not match the range "+rangeS, range.includes( "1.2.4" ) );
+ assertTrue( "1.3.1 did not match the range "+rangeS, range.includes( "1.3.1" ) );
+ assertTrue( "1.2.3 did not match the range "+rangeS, range.includes( "1.2.3" ) );
+ assertFalse( "1.2.2 did matches the range "+rangeS, range.includes( "1.2.2" ) );
+ assertFalse( "2.0.0 did matches the range "+rangeS, range.includes( "2.0.0" ) );
+ assertFalse( "3.1.0 did matches the range "+rangeS, range.includes( "3.1.0" ) );
+ }
+
+ public void testEternity()
+ throws VersionException
+ {
+ String rangeS = "[ 1.2.3 , )";
+ range = new MavenVersionRange( rangeS );
+
+ assertTrue( "1.2.4 did not match the range "+rangeS, range.includes( "1.2.4" ) );
+ assertTrue( "1.3.1 did not match the range "+rangeS, range.includes( "1.3.1" ) );
+ assertTrue( "1.2.3 did not match the range "+rangeS, range.includes( "1.2.3" ) );
+ assertFalse( "1.2.2 does matches the range "+rangeS, range.includes( "1.2.2" ) );
+ assertTrue( "2.0.0 does matches the range "+rangeS, range.includes( "2.0.0" ) );
+ assertTrue( "3.1.0 does matches the range "+rangeS, range.includes( "3.1.0" ) );
+ }
+
+ public void test6Digits()
+ throws VersionException
+ {
+ String rangeS = "[ 1.0.0.1.2.1 , )";
+ range = new MavenVersionRange( rangeS );
+
+ assertTrue( "1.0.0.1.2.1 did not match the range "+rangeS, range.includes( "1.0.0.1.2.1" ) );
+ assertTrue( "1.0.0.1.2.2 did not match the range "+rangeS, range.includes( "1.0.0.1.2.2" ) );
+ assertTrue( "1.0.0.1.3.0 did not match the range "+rangeS, range.includes( "1.0.0.1.3.0" ) );
+ assertFalse( "1.0.0.1.2.0 does matches the range "+rangeS, range.includes( "1.0.0.1.2.0" ) );
+ assertFalse( "1.0.0.1.2.1-alpha-1 does match the range "+rangeS, range.includes( "1.0.0.1.2.1-alpha-1" ) );
+ assertTrue( "1.0.0.1.2.2-alpha-1 does not match the range "+rangeS, range.includes( "1.0.0.1.2.2-alpha-1" ) );
+ }
+
+ public void testAlphaNumeric()
+ throws VersionException
+ {
+ String rangeS = "[1.0.0.0.22,)";
+ range = new MavenVersionRange( rangeS );
+
+ assertFalse( "1.0.0.0.9 does match the range "+rangeS, range.includes( "1.0.0.0.9" ) );
+ }
+
+ public void testEdge()
+ throws VersionException
+ {
+ String rangeS = "[1.0,2.0)";
+ range = new MavenVersionRange( rangeS );
+
+ assertFalse( range.includes( "1.0-SNAPSHOT" ) );
+ assertTrue( range.includes( "1.1-SNAPSHOT" ) );
+ assertTrue( range.includes( "2.0-SNAPSHOT" ) );
+ assertFalse( range.includes( "2.0-20080815.235653-15" ) ); // this is still considered a release :(
+ assertTrue( range.includes( "2.0-alpha-1" ) );
+ assertFalse( range.includes( "2.0" ) );
+ }
+
+ public void testBetaEdge()
+ throws VersionException
+ {
+ String rangeS = "[1.0,2.0)";
+ range = new MavenVersionRange( rangeS );
+ range.setToQualityRange( new QualityRange( Quality.BETA_QUALITY, true, Quality.RELEASE_QUALITY, true ) );
+
+ assertFalse( range.includes( "1.0-SNAPSHOT" ) );
+ assertTrue( range.includes( "1.1-SNAPSHOT" ) );
+ assertFalse( range.includes( "2.0-SNAPSHOT" ) );
+ assertFalse( range.includes( "2.0-20080815.235653-15" ) );
+ assertFalse( range.includes( "2.0-alpha-35" ) );
+ assertTrue( range.includes( "2.0-beta-1" ) );
+ assertFalse( range.includes( "2.0" ) );
+ }
+
+ public void testAlphaEdge()
+ throws VersionException
+ {
+ String rangeS = "[1.0,2.0)";
+ range = new MavenVersionRange( rangeS );
+ range.setToQualityRange( new QualityRange( Quality.ALPHA_QUALITY, true, Quality.RELEASE_QUALITY, true ) );
+
+ assertFalse( range.includes( "1.0-SNAPSHOT" ) );
+ assertTrue( range.includes( "1.1-SNAPSHOT" ) );
+ assertFalse( range.includes( "2.0-SNAPSHOT" ) );
+ assertFalse( range.includes( "2.0-20080815.235653-15" ) );
+ assertTrue( range.includes( "2.0-alpha-35" ) );
+ assertTrue( range.includes( "2.0-beta-1" ) );
+ assertFalse( range.includes( "2.0" ) );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/QualityTest.java b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/QualityTest.java
new file mode 100644
index 0000000..473f995
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/QualityTest.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.artifact.version;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Quality;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class QualityTest
+ extends TestCase
+{
+ Quality q;
+
+ public void testEquality()
+ {
+ q = new Quality("LATEST");
+ assertTrue( q.equals( Quality.FIXED_LATEST_QUALITY ) );
+
+ q = new Quality("RELEASE");
+ assertTrue( q.equals( Quality.FIXED_RELEASE_QUALITY ) );
+
+ q = new Quality("1.1-SNAPSHOT");
+ assertTrue( q.equals( Quality.SNAPSHOT_QUALITY ) );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/pom.xml b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/pom.xml
new file mode 100644
index 0000000..ecf85f2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/pom.xml
@@ -0,0 +1,12 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <artifactId>mercury-crypto-api</artifactId>
+ <name>Mercury Crypto APIs</name>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/AbstractStreamVerifier.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/AbstractStreamVerifier.java
new file mode 100644
index 0000000..264ef5d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/AbstractStreamVerifier.java
@@ -0,0 +1,45 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractStreamVerifier
+{
+ protected StreamVerifierAttributes attributes;
+
+ /**
+ * @param attributes
+ */
+ public AbstractStreamVerifier( StreamVerifierAttributes attributes )
+ {
+ this.attributes = attributes;
+ }
+
+ public StreamVerifierAttributes getAttributes()
+ {
+ return attributes;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/AbstractStreamVerifierFactory.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/AbstractStreamVerifierFactory.java
new file mode 100644
index 0000000..a6b5de2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/AbstractStreamVerifierFactory.java
@@ -0,0 +1,45 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+/**
+ * Helper for implementing stream verifier factories, takes care of attributes
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractStreamVerifierFactory
+{
+ protected StreamVerifierAttributes attributes;
+
+ /**
+ * @param attributes
+ */
+ public AbstractStreamVerifierFactory( StreamVerifierAttributes attributes )
+ {
+ this.attributes = attributes;
+ }
+
+ public StreamVerifierAttributes getAttributes()
+ {
+ return attributes == null ? new StreamVerifierAttributes() : attributes;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserver.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserver.java
new file mode 100644
index 0000000..ab598c1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserver.java
@@ -0,0 +1,35 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+public interface StreamObserver
+{
+ void byteReady(int b)
+ throws StreamObserverException;
+
+ void bytesReady(byte[]b, int off, int len)
+ throws StreamObserverException;
+
+ void setLength(long length);
+ long getLength();
+
+ void setLastModified(String time);
+ String getLastModified();
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverException.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverException.java
new file mode 100644
index 0000000..2bd6825
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class StreamObserverException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public StreamObserverException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public StreamObserverException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public StreamObserverException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public StreamObserverException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java
new file mode 100644
index 0000000..f4a3e05
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java
@@ -0,0 +1,25 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+public interface StreamObserverFactory
+{
+ public StreamObserver newInstance()
+ throws StreamObserverException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifier.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifier.java
new file mode 100644
index 0000000..178a2e7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifier.java
@@ -0,0 +1,40 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+
+public interface StreamVerifier
+extends StreamObserver
+{
+ public StreamVerifierAttributes getAttributes();
+
+ public String getSignature()
+ throws StreamVerifierException;
+
+ // to verify stream: initSignature( InputStream signatureStream ), process stream, then verifySignature()
+ public void initSignature( String signatureStream )
+ throws StreamVerifierException;
+
+ public boolean verifySignature()
+ throws StreamVerifierException;
+
+// public boolean verifySignature( String signature )
+// throws StreamVerifierException;
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierAttributes.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierAttributes.java
new file mode 100644
index 0000000..90e2d33
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierAttributes.java
@@ -0,0 +1,73 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class StreamVerifierAttributes
+{
+ protected boolean isLenient = true;
+ protected boolean isSufficient = false;
+ protected String extension = "none";
+ protected String digestAlgorithm = "SHA-1";
+
+ /**
+ *
+ */
+ public StreamVerifierAttributes( String extension, boolean isLenient, boolean isSufficient)
+ {
+ this.extension = extension;
+ this.isLenient = isLenient;
+ this.isSufficient = isSufficient;
+ }
+
+ /**
+ *
+ */
+ public StreamVerifierAttributes()
+ {
+ }
+
+ public boolean isLenient()
+ {
+ return isLenient;
+ }
+
+ public boolean isSufficient()
+ {
+ return isSufficient;
+ }
+
+ public String getExtension()
+ {
+ return extension == null
+ ? extension
+ : extension.startsWith( "." )
+ ? extension
+ : "."+extension
+ ;
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierException.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierException.java
new file mode 100644
index 0000000..8a95d50
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierException.java
@@ -0,0 +1,70 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class StreamVerifierException
+extends StreamObserverException
+{
+
+ /**
+ *
+ */
+ public StreamVerifierException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public StreamVerifierException( String message )
+ {
+ super( message );
+ }
+
+ /**
+ * @param cause
+ */
+ public StreamVerifierException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public StreamVerifierException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierFactory.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierFactory.java
new file mode 100644
index 0000000..a41e1ff
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamVerifierFactory.java
@@ -0,0 +1,27 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.api;
+
+public interface StreamVerifierFactory
+{
+ public StreamVerifier newInstance()
+ throws StreamVerifierException;
+
+ public String getDefaultExtension();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-api/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/pom.xml b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/pom.xml
new file mode 100644
index 0000000..b57c758
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/pom.xml
@@ -0,0 +1,31 @@
+<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>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <name>Mercury Crypto Basics</name>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcprov-jdk15</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcpg-jdk15</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/basic/ChecksumCalculator.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/basic/ChecksumCalculator.java
new file mode 100644
index 0000000..cc7c7ef
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/basic/ChecksumCalculator.java
@@ -0,0 +1,42 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.crypto.basic;
+
+
+
+public class ChecksumCalculator
+{
+ private static final byte[] __HEX_DIGITS = "0123456789abcdef".getBytes();
+
+ public static String encodeToAsciiHex( byte[] bytes )
+ {
+ int l = bytes.length;
+
+ byte[] raw = new byte[l * 2];
+
+ for ( int i = 0, j = 0; i < l; i++ )
+ {
+ raw[j++] = __HEX_DIGITS[ ( 0xF0 & bytes[i] ) >>> 4 ];
+ raw[j++] = __HEX_DIGITS[ 0x0F & bytes[i] ];
+ }
+
+ return new String( raw );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/Messages.properties b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/Messages.properties
new file mode 100644
index 0000000..0e9829e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/Messages.properties
@@ -0,0 +1,41 @@
+#
+# 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.
+#
+null.input.stream=input stream should not be null
+bad.key.id=bad hex key id: {0}
+
+no.secret.key=no secret key {0} in the specified keyring
+no.public.key=no public key {0} in the specified keyring
+
+null.private.key=supplied key cannot be null
+
+null.verify.signature=out of sequence call to verify signature: verifier has not been initialized yet
+
+bad.verify.signature.state=out of sequence call to produce signature: verifier has not been initialized yet
+
+no.signatures.in.stream=no signatures found in the input streamn
+no.objects.in.stream=no pgp objects found in the input streamn
+
+bad.factory.init.verify=cannot initialize signature verification factory without trusted ring
+bad.factory.init.verify.empty=trusted ring read in is null, cannot proceed
+bad.factory.init.generate=cannot initialize signature generation factory without secret key
+
+no.stream.processor=neither signature generator nor signature verifier has been initialized. Don't know what to do.
+no.trusted.ring=trusted ring seem to be empty. There is no one I can trust, so signature verification is pointless.
+no.signature.string=there is signature supplied, so signature verification is pointless.
+
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpHelper.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpHelper.java
new file mode 100644
index 0000000..ed2f5e9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpHelper.java
@@ -0,0 +1,170 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.pgp;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigInteger;
+import java.security.Security;
+import java.util.Iterator;
+
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.openpgp.PGPCompressedData;
+import org.bouncycastle.openpgp.PGPException;
+import org.bouncycastle.openpgp.PGPObjectFactory;
+import org.bouncycastle.openpgp.PGPSecretKey;
+import org.bouncycastle.openpgp.PGPSecretKeyRing;
+import org.bouncycastle.openpgp.PGPSecretKeyRingCollection;
+import org.bouncycastle.openpgp.PGPSignature;
+import org.bouncycastle.openpgp.PGPSignatureList;
+import org.bouncycastle.openpgp.PGPUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * PGP helper - collection of utility methods, loosely based on one of the
+ * Bouncy Castle's SignedFileProcessor.java
+ *
+ */
+public class PgpHelper
+{
+ public static final String PROVIDER = "BC";
+ public static final String EXTENSION = "asc";
+
+ private static final Language lang = new DefaultLanguage( PgpHelper.class );
+ //---------------------------------------------------------------------------------
+ static
+ {
+ Security.addProvider( new BouncyCastleProvider() );
+ }
+ //---------------------------------------------------------------------------------
+ /**
+ * load a key ring stream and find the secret key by hex id
+ *
+ * @param in PGP keystore
+ * @param hexId key id
+ * @return
+ * @throws IOException
+ * @throws PGPException
+ */
+ public static PGPSecretKeyRing readKeyRing( InputStream in, String hexId )
+ throws IOException, PGPException
+ {
+ if( in == null )
+ throw new IllegalArgumentException( lang.getMessage( "null.input.stream" ) );
+
+ if( hexId == null || hexId.length() < 16 )
+ throw new IllegalArgumentException( lang.getMessage( "bad.key.id", hexId ) );
+
+ long id = hexToId( hexId );
+
+ in = PGPUtil.getDecoderStream( in );
+
+ PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection( in );
+
+ Iterator<PGPSecretKeyRing> ringIt = pgpSec.getKeyRings();
+
+ while( ringIt.hasNext() )
+ {
+ PGPSecretKeyRing keyRing = ringIt.next();
+ PGPSecretKey key = keyRing.getSecretKey( id );
+ if( key != null )
+ return keyRing;
+ }
+
+ throw new IllegalArgumentException( lang.getMessage( "no.secret.key", hexId ) );
+ }
+ //---------------------------------------------------------------------------------
+ public static long hexToId( String hexId )
+ {
+ BigInteger bi = new BigInteger( hexId, 16 );
+ return bi.longValue();
+ }
+ //---------------------------------------------------------------------------------
+ public static PGPSignature readSignature( InputStream inS )
+ throws IOException, PGPException
+ {
+ if( inS == null )
+ throw new IllegalArgumentException( "null.input.stream" );
+
+ InputStream in = inS;
+ in = PGPUtil.getDecoderStream( in );
+
+ PGPObjectFactory pgpObjectFactory = new PGPObjectFactory( in );
+ PGPSignatureList sigList = null;
+
+ Object pgpObject = pgpObjectFactory.nextObject();
+
+ if( pgpObject == null )
+ throw new PGPException( lang.getMessage( "no.objects.in.stream" ) );
+
+ if( pgpObject instanceof PGPCompressedData )
+ {
+ PGPCompressedData cd = (PGPCompressedData)pgpObject;
+
+ pgpObjectFactory = new PGPObjectFactory( cd.getDataStream() );
+
+ sigList = (PGPSignatureList)pgpObjectFactory.nextObject();
+ }
+ else
+ {
+ sigList = (PGPSignatureList)pgpObject;
+ }
+
+ if( sigList.size() < 1 )
+ throw new PGPException( lang.getMessage( "no.signatures.in.stream" ) );
+
+ PGPSignature sig = sigList.get(0);
+
+ return sig;
+ }
+ //---------------------------------------------------------------------------------
+ public static String streamToString( InputStream in )
+ throws IOException
+ {
+ if( in == null )
+ return null;
+
+ ByteArrayOutputStream ba = new ByteArrayOutputStream();
+ int b = 0;
+ while( (b = in.read()) != -1 )
+ ba.write( b );
+
+ return ba.toString();
+ }
+ //---------------------------------------------------------------------------------
+ public static String fileToString( String fileName )
+ throws IOException
+ {
+ FileInputStream fis = null;
+ try
+ {
+ fis = new FileInputStream( fileName );
+ return streamToString( fis );
+ }
+ finally
+ {
+ if( fis != null ) try { fis.close(); } catch( Exception any ) {}
+ }
+ }
+ //---------------------------------------------------------------------------------
+ //---------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifier.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifier.java
new file mode 100644
index 0000000..7538269
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifier.java
@@ -0,0 +1,242 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.pgp;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.security.SignatureException;
+
+import org.apache.maven.mercury.crypto.api.AbstractStreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.bouncycastle.bcpg.ArmoredOutputStream;
+import org.bouncycastle.bcpg.BCPGOutputStream;
+import org.bouncycastle.openpgp.PGPPrivateKey;
+import org.bouncycastle.openpgp.PGPPublicKeyRingCollection;
+import org.bouncycastle.openpgp.PGPSignature;
+import org.bouncycastle.openpgp.PGPSignatureGenerator;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * lightweight pgp stream encoder, created one per stream
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class PgpStreamVerifier
+extends AbstractStreamVerifier
+implements StreamVerifier
+{
+ private static final Language lang = new DefaultLanguage( PgpStreamVerifier.class );
+
+ private PGPPublicKeyRingCollection trustedPublicKeyRing;
+
+ private PGPSignatureGenerator signatureGenerator;
+
+ private PGPSignature signature;
+
+ private String signatureString;
+
+ private long length = -1;
+
+ private String lastModified;
+
+ //-----------------------------------------------------------------------------------
+ public PgpStreamVerifier( StreamVerifierAttributes attributes )
+ {
+ super( attributes );
+ }
+ //-----------------------------------------------------------------------------------
+ public void init( PGPPublicKeyRingCollection trustedPublicKeyRing )
+ {
+ this.trustedPublicKeyRing = trustedPublicKeyRing;
+ }
+ //-----------------------------------------------------------------------------------
+ public void init( PGPPrivateKey privateKey, int algorithm, int digestAlgorithm )
+ throws StreamVerifierException
+ {
+ if( privateKey == null )
+ throw new IllegalArgumentException( lang.getMessage( "null.private.key" ));
+
+ try
+ {
+ signatureGenerator = new PGPSignatureGenerator( algorithm
+ , digestAlgorithm
+ , PgpHelper.PROVIDER
+ );
+ signatureGenerator.initSign( PGPSignature.BINARY_DOCUMENT, privateKey );
+
+ signatureString = null;
+ }
+ catch( Exception e )
+ {
+ throw new StreamVerifierException(e);
+ }
+ }
+
+ //-----------------------------------------------------------------------------------
+ public void byteReady( int b )
+ throws StreamObserverException
+ {
+ try
+ {
+ if( signature == null )
+ {
+ if( signatureGenerator == null )
+ throw new StreamVerifierException( lang.getMessage( "no.stream.processor" ) );
+ signatureGenerator.update( (byte)b );
+ }
+ else
+ signature.update( (byte)b );
+ }
+ catch( SignatureException e )
+ {
+ throw new StreamObserverException(e);
+ }
+ }
+
+ //-----------------------------------------------------------------------------------
+ public void bytesReady( byte[] b, int off, int len )
+ throws StreamObserverException
+ {
+ try
+ {
+ if( signature == null )
+ {
+ if( signatureGenerator == null )
+ throw new StreamVerifierException( lang.getMessage( "no.stream.processor" ) );
+ signatureGenerator.update( b, off, len );
+ }
+ else
+ signature.update( b, off, len );
+ }
+ catch( SignatureException e )
+ {
+ throw new StreamObserverException(e);
+ }
+ }
+ //-----------------------------------------------------------------------------------
+ public void initSignature( String signatureString )
+ throws StreamVerifierException
+ {
+ try
+ {
+ if( trustedPublicKeyRing == null )
+ throw new StreamVerifierException( lang.getMessage( "no.trusted.ring" ) );
+
+ if( signatureString == null || signatureString.length() < 1 )
+ throw new StreamVerifierException( lang.getMessage( "no.signature.string" ) );
+
+ signature = PgpHelper.readSignature( new ByteArrayInputStream( signatureString.getBytes() ) );
+
+ if( signature == null )
+ throw new StreamVerifierException( "no.signatures.in.stream" );
+
+ signature.initVerify( trustedPublicKeyRing.getPublicKey( signature.getKeyID() ), PgpHelper.PROVIDER );
+ }
+ catch( Exception e )
+ {
+ throw new StreamVerifierException(e);
+ }
+
+ if( signature == null )
+ throw new StreamVerifierException("no.signatures.in.stream");
+
+ }
+ //-----------------------------------------------------------------------------------
+ public boolean verifySignature()
+ throws StreamVerifierException
+ {
+
+ if( signature == null )
+ throw new StreamVerifierException( lang.getMessage( "null.verify.signature" ));
+
+ try
+ {
+ boolean res = signature.verify();
+ return res;
+ }
+ catch( Exception e )
+ {
+ throw new StreamVerifierException( e );
+ }
+ }
+
+ //-----------------------------------------------------------------------------------
+ public String getSignature()
+ throws StreamVerifierException
+ {
+ if( signatureString != null )
+ return signatureString;
+
+ if( signatureGenerator == null )
+ throw new StreamVerifierException("bad.verify.signature.state");
+
+ BCPGOutputStream signaturePgpBytes = null;
+ try
+ {
+ ByteArrayOutputStream signatureBytes = new ByteArrayOutputStream();
+ ArmoredOutputStream aos = new ArmoredOutputStream( signatureBytes );
+ signaturePgpBytes = new BCPGOutputStream( aos );
+ signatureGenerator.generate().encode( signaturePgpBytes );
+ signaturePgpBytes.finish();
+ aos.flush();
+ aos.close();
+ signatureString = signatureBytes.toString();
+ }
+ catch( Exception e )
+ {
+ throw new StreamVerifierException( e );
+ }
+ finally
+ {
+ if( signaturePgpBytes != null ) try { signaturePgpBytes.close(); } catch( Exception any ) {}
+ }
+
+ signatureGenerator = null;
+
+ return signatureString;
+ }
+ //-----------------------------------------------------------------------------------
+ public long getLength()
+ {
+ return length;
+ }
+ //-----------------------------------------------------------------------------------
+ public void setLength(long length)
+ {
+ this.length = length;
+
+ }
+ //-----------------------------------------------------------------------------------
+ public String getLastModified()
+ {
+ return lastModified;
+ }
+ //-----------------------------------------------------------------------------------
+ public void setLastModified(String time)
+ {
+ lastModified = time;
+
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierFactory.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierFactory.java
new file mode 100644
index 0000000..8b0abf0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierFactory.java
@@ -0,0 +1,146 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.pgp;
+
+import java.io.InputStream;
+
+import org.apache.maven.mercury.crypto.api.AbstractStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.bouncycastle.openpgp.PGPPrivateKey;
+import org.bouncycastle.openpgp.PGPPublicKeyRingCollection;
+import org.bouncycastle.openpgp.PGPSecretKey;
+import org.bouncycastle.openpgp.PGPSecretKeyRing;
+import org.bouncycastle.openpgp.PGPUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class PgpStreamVerifierFactory
+extends AbstractStreamVerifierFactory
+implements StreamVerifierFactory
+{
+
+ public static final String DEFAULT_EXTENSION = PgpHelper.EXTENSION;
+
+ private static final Language lang = new DefaultLanguage( PgpStreamVerifierFactory.class );
+
+ private PGPPublicKeyRingCollection trustedPublicKeyRing;
+
+ private PGPPrivateKey privateKey;
+
+ private int algorithm = 0;
+
+ private int digestAlgorithm = PGPUtil.SHA1;
+
+ //--------------------------------------------------------------------------------------------
+ public PgpStreamVerifierFactory( StreamVerifierAttributes attributes
+ , InputStream trustedPublicKeyRingStream
+ )
+ throws StreamVerifierException
+ {
+ super( attributes );
+ init( trustedPublicKeyRingStream );
+
+ }
+ //--------------------------------------------------------------------------------------------
+ public PgpStreamVerifierFactory( StreamVerifierAttributes attributes
+ , InputStream secretKeyRingStream
+ , String secretKeyId
+ , String secretKeyPass
+ )
+ throws StreamVerifierException
+ {
+ super( attributes );
+ init( secretKeyRingStream, secretKeyId, secretKeyPass );
+ }
+ //--------------------------------------------------------------------------------------------
+ public void init( InputStream trustedPublicKeyRingStream )
+ throws StreamVerifierException
+ {
+ try
+ {
+ if( trustedPublicKeyRingStream != null )
+ {
+ trustedPublicKeyRing = new PGPPublicKeyRingCollection(PGPUtil.getDecoderStream(trustedPublicKeyRingStream));
+ if( trustedPublicKeyRing == null )
+ throw new StreamVerifierException( lang.getMessage( "bad.factory.init.verify.empty" ) );
+ }
+ else
+ throw new StreamVerifierException( lang.getMessage( "bad.factory.init.verify" ) );
+ }
+ catch( Exception e )
+ {
+ throw new StreamVerifierException(e);
+ }
+ }
+ //--------------------------------------------------------------------------------------------
+ public void init( InputStream secretKeyRingStream
+ , String secretKeyId
+ , String secretKeyPass
+ )
+ throws StreamVerifierException
+ {
+ try
+ {
+ if( secretKeyRingStream != null && secretKeyId != null && secretKeyPass != null )
+ {
+ PGPSecretKeyRing secRing = PgpHelper.readKeyRing( secretKeyRingStream, secretKeyId );
+ PGPSecretKey secKey = secRing.getSecretKey( PgpHelper.hexToId( secretKeyId ) );
+ privateKey = secKey.extractPrivateKey( secretKeyPass.toCharArray(), PgpHelper.PROVIDER );
+ algorithm = secKey.getPublicKey().getAlgorithm();
+ }
+ else
+ throw new StreamVerifierException( lang.getMessage( "bad.factory.init.generate" ) );
+ }
+ catch( Exception e )
+ {
+ throw new StreamVerifierException(e);
+ }
+ }
+ //--------------------------------------------------------------------------------------------
+ public String getDefaultExtension()
+ {
+ return DEFAULT_EXTENSION;
+ }
+ //--------------------------------------------------------------------------------------------
+ public StreamVerifier newInstance()
+ throws StreamVerifierException
+ {
+ PgpStreamVerifier sv = new PgpStreamVerifier( attributes );
+
+ if( privateKey != null )
+ sv.init( privateKey, algorithm, digestAlgorithm );
+
+ if( trustedPublicKeyRing != null )
+ sv.init( trustedPublicKeyRing );
+
+ return sv;
+ }
+ //--------------------------------------------------------------------------------------------
+ //--------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/sha/SHA1Verifier.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/sha/SHA1Verifier.java
new file mode 100644
index 0000000..99ab762
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/sha/SHA1Verifier.java
@@ -0,0 +1,130 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.crypto.sha;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+import org.apache.maven.mercury.crypto.api.AbstractStreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.basic.ChecksumCalculator;
+
+
+/**
+ * SHA1Verifier
+ *
+ *
+ */
+public class SHA1Verifier
+extends AbstractStreamVerifier
+implements StreamVerifier
+{
+ public static final String digestAlgorithm = "SHA-1";
+
+ private MessageDigest digest;
+ private byte[] digestBytes;
+ private long length = -1;
+ private String lastModified;
+
+ private String sig;
+
+ public SHA1Verifier( StreamVerifierAttributes attributes )
+ {
+ super( attributes );
+
+ try
+ {
+ digest = MessageDigest.getInstance( digestAlgorithm );
+ }
+ catch (NoSuchAlgorithmException e)
+ {
+ //TODO
+ }
+ }
+
+ private byte[] getSignatureBytes ()
+ {
+ if (digestBytes == null)
+ digestBytes = digest.digest();
+ return digestBytes;
+ }
+
+ public String getSignature()
+ {
+ return ChecksumCalculator.encodeToAsciiHex( getSignatureBytes() );
+ }
+
+ public void initSignature( String signatureString )
+ throws StreamVerifierException
+ {
+ if( signatureString == null || signatureString.length() < 1 )
+ throw new IllegalArgumentException("null signature stream");
+
+ sig = signatureString;
+
+ }
+
+ public boolean verifySignature()
+ {
+ String calculatedSignature = getSignature();
+
+ if (calculatedSignature == null && sig == null)
+ return true;
+
+ if ((calculatedSignature != null) && calculatedSignature.equals(sig))
+ return true;
+
+ return false;
+ }
+
+ public void byteReady(int b)
+ {
+ if (digest != null)
+ digest.update((byte)b);
+ }
+
+ public void bytesReady(byte[] b, int off, int len)
+ {
+ if (digest != null)
+ digest.update(b, off, len);
+ }
+ //-----------------------------------------------------------------------------------
+ public long getLength()
+ {
+ return length;
+ }
+ //-----------------------------------------------------------------------------------
+ public void setLength(long length)
+ {
+ this.length = length;
+ }
+
+ public String getLastModified()
+ {
+ return lastModified;
+ }
+
+ public void setLastModified(String time)
+ {
+ lastModified = time;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/sha/SHA1VerifierFactory.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/sha/SHA1VerifierFactory.java
new file mode 100644
index 0000000..36d60fe
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/main/java/org/apache/maven/mercury/crypto/sha/SHA1VerifierFactory.java
@@ -0,0 +1,53 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.crypto.sha;
+
+import org.apache.maven.mercury.crypto.api.AbstractStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+
+public class SHA1VerifierFactory
+extends AbstractStreamVerifierFactory
+implements StreamVerifierFactory
+{
+ public static final String DEFAULT_EXTENSION = "sha1";
+
+ public SHA1VerifierFactory( StreamVerifierAttributes attrs )
+ {
+ super( attrs );
+ }
+
+ public SHA1VerifierFactory( boolean lenient, boolean satisfactory )
+ {
+ super( new StreamVerifierAttributes( DEFAULT_EXTENSION, lenient, satisfactory ) );
+ }
+
+ public StreamVerifier newInstance()
+ {
+ return new SHA1Verifier( attributes );
+ }
+
+ public String getDefaultExtension()
+ {
+ return DEFAULT_EXTENSION;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java
new file mode 100644
index 0000000..7030426
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java
@@ -0,0 +1,147 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.crypto.pgp;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.bouncycastle.openpgp.PGPPublicKey;
+import org.bouncycastle.openpgp.PGPSecretKey;
+import org.bouncycastle.openpgp.PGPSecretKeyRing;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class PgpStreamVerifierTest
+ extends TestCase
+{
+ private static final String keyId = "0EDB5D91141BC4F2";
+
+ private static final String secretKeyFile = "/secring.gpg";
+ private static final String secretKeyPass = "testKey82";
+
+ private static final String publicKeyFile = "/pubring.gpg";
+
+ private PGPSecretKeyRing secretKeyRing;
+ private PGPSecretKey secretKey;
+ private PGPPublicKey publicKey;
+
+ PgpStreamVerifierFactory svf;
+
+ PgpStreamVerifier sv;
+
+ protected void setUp()
+ throws Exception
+ {
+ InputStream in = getClass().getResourceAsStream( secretKeyFile );
+ assertNotNull( in );
+
+ secretKeyRing = PgpHelper.readKeyRing( in, keyId );
+ assertNotNull( secretKeyRing );
+
+ secretKey = secretKeyRing.getSecretKey( Long.parseLong( keyId, 16 ) );
+ publicKey = secretKeyRing.getPublicKey();
+
+ StreamVerifierAttributes attributes = new StreamVerifierAttributes(PgpStreamVerifierFactory.DEFAULT_EXTENSION, true, true);
+
+ InputStream is = getClass().getResourceAsStream( publicKeyFile );
+ svf = new PgpStreamVerifierFactory( attributes, is );
+ is.close();
+
+ is = getClass().getResourceAsStream( secretKeyFile );
+ svf.init( is, keyId, secretKeyPass );
+ is.close();
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+ //-------------------------------------------------------------------------------------------------
+ public void testGenerateSignature()
+ throws IOException, StreamObserverException
+ {
+ PgpStreamVerifier sv = (PgpStreamVerifier)svf.newInstance();
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+
+ int b;
+ while( (b = in.read()) != -1 )
+ sv.byteReady( b );
+
+ String sig = sv.getSignature();
+
+ assertNotNull( sig );
+
+ assertTrue( sig.length() > 10 );
+
+// System.out.println("Signature is \n"+sig+"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
+ }
+ //-------------------------------------------------------------------------------------------------
+ public void testVerifySignature()
+ throws IOException, StreamObserverException
+ {
+ PgpStreamVerifier sv = (PgpStreamVerifier)svf.newInstance();
+
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+ String sig = PgpHelper.streamToString( getClass().getResourceAsStream( "/file.gif.asc" ) );
+
+ sv.initSignature( sig );
+
+ int b;
+ while( (b = in.read()) != -1 )
+ sv.byteReady( b );
+
+ boolean verified = sv.verifySignature();
+
+ assertTrue( verified );
+
+ System.out.println("BouncyCastle Signature is "+verified);
+ }
+ //-------------------------------------------------------------------------------------------------
+ public void testVerifyExternalSignature()
+ throws IOException, StreamObserverException
+ {
+ PgpStreamVerifier sv = (PgpStreamVerifier)svf.newInstance();
+
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+ String sig = PgpHelper.streamToString( getClass().getResourceAsStream( "/file.gif.asc.external" ) );
+
+ sv.initSignature( sig );
+
+ int b;
+ while( (b = in.read()) != -1 )
+ sv.byteReady( b );
+
+ boolean verified = sv.verifySignature();
+
+ assertTrue( verified );
+
+ System.out.println("3rd Party Signature is "+verified);
+ }
+ //-------------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif
new file mode 100644
index 0000000..94f1892
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif.asc b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif.asc
new file mode 100644
index 0000000..429fef1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkiguzcACgkQDttdkRQbxPI9tQCfTDlQcKNkF4U0m+2L0ZaZT8nA
+/E4Anjn8kCp39KK1b9O/2LxhzAPKuuzw
+=PeVJ
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif.asc.external b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif.asc.external
new file mode 100644
index 0000000..a9ce4a9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/file.gif.asc.external
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.8 (Darwin)
+
+iEYEABECAAYFAkigvoMACgkQDttdkRQbxPLhFwCghZLUaMz+qy3cKtVZOYg5KBBY
+uCUAoIqb0ZdxJ/S43xueswROsaVFrwR5
+=KqLx
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/secring.gpg b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/mercury-crypto-basic/src/test/resources/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/pom.xml b/mercury-1.0.0-alpha-2/mercury-crypto/pom.xml
new file mode 100644
index 0000000..1a6afa2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/pom.xml
@@ -0,0 +1,20 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <artifactId>mercury-crypto</artifactId>
+ <name>Mercury Crypto</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>mercury-crypto-api</module>
+ <module>mercury-crypto-basic</module>
+ </modules>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-crypto/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-crypto/src/site/site.xml
new file mode 100644
index 0000000..58a5b5a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-crypto/src/site/site.xml
@@ -0,0 +1,34 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="modules"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-event/pom.xml b/mercury-1.0.0-alpha-2/mercury-event/pom.xml
new file mode 100644
index 0000000..f0b22fb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/pom.xml
@@ -0,0 +1,20 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-event</artifactId>
+ <name>Mercury Event Framework</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/AbstractMercuryEvent.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/AbstractMercuryEvent.java
new file mode 100644
index 0000000..172d8b4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/AbstractMercuryEvent.java
@@ -0,0 +1,156 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractMercuryEvent
+implements MercuryEvent
+{
+ EventTypeEnum _type;
+
+ String _name;
+
+ String _tag;
+
+ String _info;
+
+ String _result;
+
+ long _start;
+
+ long _duration;
+
+ Map<String, Object> _payload;
+
+ public AbstractMercuryEvent()
+ {
+ start();
+ }
+
+ public AbstractMercuryEvent( EventTypeEnum type, String name )
+ {
+ this();
+ this._type = type;
+ this._name = name;
+ }
+
+ public AbstractMercuryEvent( EventTypeEnum type, String name, String info )
+ {
+ this( type, name );
+ this._info = info;
+ }
+
+ public long getDuration()
+ {
+ return _duration;
+ }
+
+ public Map<String, Object> getPayload()
+ {
+ return null;
+ }
+
+ public long getStart()
+ {
+ return _start;
+ }
+
+ public EventTypeEnum getType()
+ {
+ return _type;
+ }
+
+ public String getName()
+ {
+ return _name;
+ }
+
+ public String getInfo()
+ {
+ return _info;
+ }
+
+ public String getTag()
+ {
+ return _tag;
+ }
+
+ public String getResult()
+ {
+ return _result;
+ }
+
+ public void setResult( String result )
+ {
+ this._result = result;
+ }
+
+ public void setTag( String tag )
+ {
+ this._tag = tag;
+ }
+
+ public void setInfo( String info )
+ {
+ this._info = info;
+ }
+
+ public boolean hasResult()
+ {
+ return _result != null;
+ }
+
+ public Object getPayload( String name )
+ {
+ return _payload == null ? null : _payload.get( name );
+ }
+
+ public void setPayload( Map<String, Object> payload )
+ {
+ this._payload = payload;
+ }
+
+ public void setPayload( String name, Object value )
+ {
+ if( _payload == null )
+ _payload = new HashMap<String, Object>(4);
+
+ _payload.put( name, value );
+ }
+
+ public void start()
+ {
+ this._start = System.currentTimeMillis();
+ }
+
+ public void stop()
+ {
+ _duration = System.currentTimeMillis() - _start;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/DumbListener.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/DumbListener.java
new file mode 100644
index 0000000..e7508ef
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/DumbListener.java
@@ -0,0 +1,69 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import org.apache.maven.mercury.event.MercuryEvent.EventMask;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DumbListener
+implements MercuryEventListener
+{
+
+ Writer wr;
+
+ public DumbListener()
+ {
+ this( System.out );
+ }
+
+ public DumbListener( OutputStream os )
+ {
+ wr = new OutputStreamWriter( os );
+ }
+
+ public void fire( MercuryEvent event )
+ {
+ try
+ {
+ wr.write( "mercury event: "+EventManager.toString( event )+"\n" );
+ wr.flush();
+ }
+ catch( IOException e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public EventMask getMask()
+ {
+ return null;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventGenerator.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventGenerator.java
new file mode 100644
index 0000000..8b7d5fe
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventGenerator.java
@@ -0,0 +1,52 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+/**
+ *
+ * this component generates events
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface EventGenerator
+{
+ /**
+ * register event listener
+ *
+ * @param listener
+ */
+ void register( MercuryEventListener listener );
+
+ /**
+ * remove particular event listener
+ *
+ * @param listener
+ */
+ void unRegister( MercuryEventListener listener );
+
+ /**
+ * set entire event manager
+ *
+ * @param eventManager
+ */
+ void setEventManager( EventManager eventManager );
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventManager.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventManager.java
new file mode 100644
index 0000000..889d0e8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventManager.java
@@ -0,0 +1,208 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * event queue dispatcher. It registers/unregisters listeners, dispatches events
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class EventManager
+{
+ public static final int THREAD_COUNT = 4;
+
+ /**
+ * this property may contain comma separated list of bit numbers defined in MercuryEvent.EventTypeEnum. It supersedes
+ * any bits set by the appropriate EventManager constructor by OR operation with those
+ */
+ public static final String SYSTEM_PROPERTY_EVENT_MASK = "maven.mercury.events";
+ public static final String systemPropertyEventMask = System.getProperty( SYSTEM_PROPERTY_EVENT_MASK, null );
+
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( EventManager.class );
+ private static final Language _lang = new DefaultLanguage( EventManager.class );
+
+ final List<MercuryEventListener> _listeners = new ArrayList<MercuryEventListener>(8);
+
+ final LinkedBlockingQueue<UnitOfWork> _queue = new LinkedBlockingQueue<UnitOfWork>( 512 );
+
+ private ExecutorService _execService;
+
+ private MercuryEvent.EventMask _eventMask;
+
+ /**
+ * default initialization - create thread pool
+ */
+ public EventManager()
+ {
+ _execService = Executors.newFixedThreadPool( THREAD_COUNT );
+
+ for( int i = 0; i < THREAD_COUNT; i++ )
+ _execService.execute( new Runner( _queue ) );
+
+ processSystemOptions();
+ }
+
+ /**
+ * default initialization - create thread pool
+ */
+ public EventManager( MercuryEvent.EventMask eventMask )
+ {
+ this();
+
+ this._eventMask = eventMask;
+
+ processSystemOptions();
+ }
+
+ private final void processSystemOptions()
+ {
+ if( systemPropertyEventMask == null )
+ return;
+
+ if( _eventMask == null )
+ _eventMask = new MercuryEvent.EventMask( systemPropertyEventMask );
+ else
+ _eventMask.setBits( systemPropertyEventMask );
+ }
+
+ /**
+ * add listener only if it meets the criteria
+ *
+ * @param listener
+ */
+ public void register( MercuryEventListener listener )
+ {
+ MercuryEvent.EventMask lMask = listener.getMask();
+
+ if( lMask == null || _eventMask == null || _eventMask.intersects( lMask ) )
+ _listeners.add( listener );
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ _listeners.remove( listener );
+ }
+
+ public List<MercuryEventListener> getListeners()
+ {
+ return _listeners;
+ }
+
+ public void fireEvent( MercuryEvent event )
+ {
+ for( MercuryEventListener listener : _listeners )
+ _queue.add( new UnitOfWork( listener, event ) );
+ }
+
+ public static final String toString( MercuryEvent event )
+ {
+ return new Date( event.getStart() )+", dur: "+ event.getDuration()+" millis :"
+ + " ["+ event.getType()+":"+event.getName()+"] "
+ + ( isEmpty( event.getTag() ) ? "" : ", tag: "+event.getTag() )
+ + ( isEmpty( event.getInfo() ) ? "" : ", info: "+event.getInfo() )
+ + ( isEmpty( event.getResult() ) ? "" : ", result: "+event.getResult() )
+ ;
+ }
+
+ public static final boolean isEmpty( String o )
+ {
+ return o == null || o.length() < 1;
+ }
+
+
+ class UnitOfWork
+ {
+ MercuryEventListener listener;
+ MercuryEvent event;
+
+ public UnitOfWork( MercuryEventListener listener, MercuryEvent event )
+ {
+ this.listener = listener;
+ this.event = event;
+ }
+
+ void execute()
+ {
+ try
+ {
+ MercuryEvent.EventMask lMask = listener.getMask();
+
+ if( _eventMask != null )
+ {
+ if( lMask == null )
+ lMask = _eventMask;
+ else
+ lMask.and( _eventMask );
+ }
+
+
+ if( lMask == null || lMask.get( event.getType().bitNo ) )
+ listener.fire( event );
+ }
+ catch( Throwable th )
+ {
+ _log.error( _lang.getMessage( "listener.error", th.getMessage() ) );
+ }
+ }
+ }
+
+ class Runner
+ implements Runnable
+ {
+ final LinkedBlockingQueue<UnitOfWork> queue;
+
+ public Runner( LinkedBlockingQueue<UnitOfWork> queue )
+ {
+ this.queue = queue;
+ }
+
+ public void run()
+ {
+ UnitOfWork uow;
+
+ for(;;)
+ try
+ {
+ uow = queue.take();
+ uow.execute();
+ }
+ catch( InterruptedException e )
+ {
+ return;
+ }
+ }
+
+ }
+
+}
+
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventTypeEnum.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventTypeEnum.java
new file mode 100644
index 0000000..84060f1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/EventTypeEnum.java
@@ -0,0 +1,53 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public enum EventTypeEnum
+{
+ dependencyBuilder(0)
+ , satSolver(1)
+
+ , virtualRepositoryReader(2)
+
+ , localRepository(3)
+ , localRepositoryReader(4)
+ , localRepositoryWriter(5)
+
+ , remoteRepository(6)
+ , remoteRepositoryReader(7)
+ , remoteRepositoryWriter(8)
+
+ , cache(9)
+ , fsCache(10)
+ ;
+
+ int bitNo;
+
+ EventTypeEnum( int bitNo )
+ {
+ this.bitNo = bitNo;
+ }
+ }
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/GenericEvent.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/GenericEvent.java
new file mode 100644
index 0000000..393934b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/GenericEvent.java
@@ -0,0 +1,42 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class GenericEvent
+extends AbstractMercuryEvent
+{
+
+ public GenericEvent( EventTypeEnum type, String name )
+ {
+ super(type, name);
+ }
+
+ public GenericEvent( EventTypeEnum type, String name, String tag )
+ {
+ super( type, name, tag );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/MercuryEvent.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/MercuryEvent.java
new file mode 100644
index 0000000..8c69043
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/MercuryEvent.java
@@ -0,0 +1,165 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+import java.util.BitSet;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface MercuryEvent
+{
+
+ @SuppressWarnings("serial")
+ class EventMask
+ extends BitSet
+ {
+ public EventMask( EventTypeEnum... bits )
+ {
+ super();
+
+ for( EventTypeEnum bit : bits )
+ set( bit.bitNo );
+ }
+
+ public EventMask( String bits )
+ {
+ super();
+
+ setBits( bits );
+ }
+
+ public final void setBits( String bits )
+ {
+ if( bits == null )
+ return;
+
+ StringTokenizer st = new StringTokenizer( bits, ",");
+
+ while( st.hasMoreTokens() )
+ {
+ String bit = st.nextToken();
+
+ int bitNo = Integer.valueOf( bit );
+
+ set( bitNo, true );
+ }
+ }
+ }
+
+ /**
+ * event type
+ *
+ * @return
+ */
+ EventTypeEnum getType();
+
+ /**
+ * event name inside type
+ *
+ * @return
+ */
+ String getName();
+
+ /**
+ * aggregation tag of this event. Used to trace event propagation in the system
+ *
+ * @return
+ */
+ String getTag();
+ void setTag( String tag );
+
+ /**
+ * information for this event. Used to trace event propagation in the system
+ *
+ * @return
+ */
+ String getInfo();
+ void setInfo( String info );
+
+ /**
+ * get the event start time as UTC timestapm
+ *
+ * @return start time as UTC timestamp
+ */
+ long getStart();
+
+ /**
+ * start the event
+ */
+ void start();
+
+ /**
+ * stop the event and calculate the duration
+ */
+ void stop();
+
+
+ /**
+ * result field
+ *
+ * @return
+ */
+ public String getResult();
+
+ public void setResult( String result );
+
+ public boolean hasResult();
+
+ /**
+ * duration of this event in millis
+ *
+ * @return duration of this event
+ */
+ long getDuration();
+
+ /**
+ * event's payload
+ *
+ * @return results, associated with this event
+ */
+ Map<String,Object> getPayload();
+
+ /**
+ * get one of payload values
+ *
+ * @param name element name
+ * @return results, associated with this event
+ */
+ Object getPayload( String name );
+
+ /**
+ * set the whole payload
+ * @param payload
+ */
+ void setPayload( Map<String,Object> payload );
+
+ /**
+ * set the whole payload
+ * @param name
+ * @param value
+ */
+ void setPayload( String name, Object value );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/MercuryEventListener.java b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/MercuryEventListener.java
new file mode 100644
index 0000000..e994cc4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/MercuryEventListener.java
@@ -0,0 +1,43 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface MercuryEventListener
+{
+ /**
+ * identifies what events this listrener is interested in.
+ *
+ * @return the mask - BitSet of event type bits, or null, if this listener wants to be notified of all events
+ */
+ MercuryEvent.EventMask getMask();
+
+ /**
+ * this is called when an event matching the listener mask is generated
+ *
+ * @param event
+ */
+ void fire( MercuryEvent event );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/Messages.properties b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/Messages.properties
new file mode 100644
index 0000000..dad6f74
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/main/java/org/apache/maven/mercury/event/Messages.properties
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+listener.error=event listener threw an exception: {0}
diff --git a/mercury-1.0.0-alpha-2/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java b/mercury-1.0.0-alpha-2/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
new file mode 100644
index 0000000..619e310
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
@@ -0,0 +1,213 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.event;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.event.EventGenerator;
+import org.apache.maven.mercury.event.EventManager;
+import org.apache.maven.mercury.event.EventTypeEnum;
+import org.apache.maven.mercury.event.GenericEvent;
+import org.apache.maven.mercury.event.MercuryEvent;
+import org.apache.maven.mercury.event.MercuryEventListener;
+import org.apache.maven.mercury.event.MercuryEvent.EventMask;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class EventFrameworkTest
+extends TestCase
+{
+ static final int THREAD_COUNT = 5;
+ static final int EVENT_COUNT = 10;
+
+ ExecutorService es;
+
+ EventManager em;
+
+ Listener listener;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ es = Executors.newFixedThreadPool( THREAD_COUNT );
+ }
+
+ public void testListenAllEvents()
+ throws Exception
+ {
+ runTest( null, null, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT );
+ }
+
+ public void testListenMaskedListenerEvents()
+ throws Exception
+ {
+ runTest( null
+ , new MercuryEvent.EventMask(EventTypeEnum.localRepository)
+ , THREAD_COUNT * EventFrameworkTest.EVENT_COUNT
+ , 0
+ );
+ }
+
+ public void testListenMaskedManagerEvents()
+ throws Exception
+ {
+ runTest( new MercuryEvent.EventMask(EventTypeEnum.remoteRepository)
+ , null
+ , 0
+ , THREAD_COUNT * EventFrameworkTest.EVENT_COUNT
+ );
+ }
+
+ public void testListenMismatchedMaskEvents()
+ throws Exception
+ {
+ runTest( new MercuryEvent.EventMask(EventTypeEnum.remoteRepository)
+ , new MercuryEvent.EventMask(EventTypeEnum.localRepository)
+ , 0
+ , 0
+ );
+ }
+ //-------------------------------------------------------------------------------------------------------------------------------
+ private void runTest( MercuryEvent.EventMask emMask, MercuryEvent.EventMask listenerMask, int expectedLocal, int expectedRemote )
+ throws Exception
+ {
+ em = new EventManager( emMask );
+
+ listener = new Listener( listenerMask );
+
+ em.register( listener );
+
+ for( int i=0; i<THREAD_COUNT; i++ )
+ {
+ es.execute( new Generator( em, EventTypeEnum.localRepository, ""+i ) );
+ }
+
+ for( int i=0; i<THREAD_COUNT; i++ )
+ {
+ es.execute( new Generator( em, EventTypeEnum.remoteRepository, ""+i ) );
+ }
+
+ es.awaitTermination( 2, TimeUnit.SECONDS );
+
+ assertEquals( expectedLocal, listener.localRepoCount );
+ assertEquals( expectedRemote, listener.remoteRepoCount );
+ }
+}
+
+//===================== helper classes =====================
+class Listener
+implements MercuryEventListener
+{
+ MercuryEvent.EventMask _mask;
+
+ int localRepoCount = 0;
+
+ int remoteRepoCount = 0;
+
+ public Listener( MercuryEvent.EventMask mask )
+ {
+ _mask = mask;
+ }
+
+ public void fire( MercuryEvent event )
+ {
+// System.out.println( EventManager.toString( event ) );
+// System.out.flush();
+
+ if( event.getType().equals( EventTypeEnum.localRepository ) )
+ ++localRepoCount;
+ else
+ if( event.getType().equals( EventTypeEnum.remoteRepository ) )
+ ++remoteRepoCount;
+ }
+
+ public EventMask getMask()
+ {
+ return _mask;
+ }
+
+}
+
+class Generator
+implements Runnable, EventGenerator
+{
+
+ EventManager _eventManager;
+
+ String _msg;
+
+ EventTypeEnum _myType;
+
+ public Generator( EventManager em, EventTypeEnum type, String msg )
+ {
+ _eventManager = em;
+ _msg = msg;
+ _myType = type;
+ }
+
+ public void run()
+ {
+ for( int i=0; i< EventFrameworkTest.EVENT_COUNT; i++ )
+ try
+ {
+ GenericEvent event = new GenericEvent( _myType, _msg );
+ Thread.sleep( (int)(100.0*Math.random()) );
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ catch( InterruptedException e )
+ {
+ return;
+ }
+ }
+
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ if( _eventManager == null )
+ _eventManager = eventManager;
+ else
+ _eventManager.getListeners().addAll( eventManager.getListeners() );
+
+ }
+}
+
diff --git a/mercury-1.0.0-alpha-2/mercury-external/pom.xml b/mercury-1.0.0-alpha-2/mercury-external/pom.xml
new file mode 100644
index 0000000..8ac9d3a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-external/pom.xml
@@ -0,0 +1,21 @@
+<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.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <name>Mercury External Dependencies</name>
+ <description />
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ </dependency>
+
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/DependencyProcessor.java b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/DependencyProcessor.java
new file mode 100644
index 0000000..7c789b5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/DependencyProcessor.java
@@ -0,0 +1,45 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.builder.api;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+public interface DependencyProcessor
+{
+
+ public static final DependencyProcessor NULL_PROCESSOR =
+ new DependencyProcessor() {
+ public List<ArtifactBasicMetadata> getDependencies(
+ ArtifactBasicMetadata bmd
+ , MetadataReader mdReader
+ , Map env
+ , Map sysProps
+ )
+ throws MetadataReaderException, DependencyProcessorException
+ {
+ return null;
+ }
+ };
+
+ public List<ArtifactBasicMetadata> getDependencies( ArtifactBasicMetadata bmd, MetadataReader mdReader, Map env, Map sysProps )
+ throws MetadataReaderException, DependencyProcessorException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/DependencyProcessorException.java b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/DependencyProcessorException.java
new file mode 100644
index 0000000..9eb03c6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/DependencyProcessorException.java
@@ -0,0 +1,64 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.builder.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DependencyProcessorException
+extends Exception
+{
+
+ /**
+ *
+ */
+ public DependencyProcessorException()
+ {
+ }
+
+ /**
+ * @param message
+ */
+ public DependencyProcessorException( String message )
+ {
+ super( message );
+ }
+
+ /**
+ * @param cause
+ */
+ public DependencyProcessorException( Throwable cause )
+ {
+ super( cause );
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public DependencyProcessorException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java
new file mode 100644
index 0000000..a36b3a6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java
@@ -0,0 +1,55 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.builder.api;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ * This interface implementation is supplied to MetadataProcessor to simplify it's access to remote repositories
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface MetadataReader
+{
+ /**
+ * read content pointed by bmd. It will return POM bytes regardless of actual bmd type
+ *
+ * @param bmd coordinates
+ * @param classifier - replaces the getClassifier() from bmd if not null
+ * @param type - replaces the getType() from bmd if not null
+ * @return
+ * @throws MetadataReaderException
+ * @throws RepositoryException
+ */
+ public byte [] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
+ throws MetadataReaderException;
+
+ /**
+ * read metadata for the artifact, pointed by bmd. It will return POM bytes regardless of actual bmd type
+ *
+ * @param bmd
+ * @return
+ * @throws MetadataReaderException
+ */
+ public byte [] readMetadata( ArtifactBasicMetadata bmd )
+ throws MetadataReaderException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReaderException.java b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReaderException.java
new file mode 100644
index 0000000..c6f7021
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReaderException.java
@@ -0,0 +1,64 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.builder.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataReaderException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public MetadataReaderException()
+ {
+ }
+
+ /**
+ * @param message
+ */
+ public MetadataReaderException( String message )
+ {
+ super( message );
+ }
+
+ /**
+ * @param cause
+ */
+ public MetadataReaderException( Throwable cause )
+ {
+ super( cause );
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public MetadataReaderException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-external/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-external/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-external/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/pom.xml b/mercury-1.0.0-alpha-2/mercury-it/pom.xml
new file mode 100644
index 0000000..d0d9c27
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/pom.xml
@@ -0,0 +1,273 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>mercury-it</artifactId>
+ <name>Mercury Integration Tests</name>
+ <description>Mercury Integration Tests</description>
+
+ <properties>
+ <maven.version>3.0-SNAPSHOT</maven.version>
+
+ <nexus.version>1.0.1</nexus.version>
+ <nexus.client.version>1.1-M1</nexus.client.version>
+
+ <nexus-security-enabled>false</nexus-security-enabled>
+
+ <bundle-expanded-dir>target</bundle-expanded-dir>
+ <config-expanded-dir>target/test-nexus-config</config-expanded-dir>
+
+ <nexus-relative-basedir>${bundle-expanded-dir}/nexus-webapp-${nexus.version}</nexus-relative-basedir>
+ <nexus-abs-basedir>${project.build.directory}/nexus-webapp-${nexus.version}</nexus-abs-basedir>
+
+ <config-target-dir>${nexus-abs-basedir}/runtime/apps/nexus/conf</config-target-dir>
+ <work-target-dir>${nexus-abs-basedir}/runtime/work</work-target-dir>
+ <nexus-plexus-config-file>${nexus-abs-basedir}/conf/plexus.xml</nexus-plexus-config-file>
+
+ <nexus-application-protocol>http</nexus-application-protocol>
+ <nexus-application-host>localhost</nexus-application-host>
+ <nexus-application-name>nexus</nexus-application-name>
+ <nexus-application-port>8091</nexus-application-port>
+ <jetty-application-host>0.0.0.0</jetty-application-host>
+
+ <nexus-base-url>${nexus-application-protocol}://${nexus-application-host}:${nexus-application-port}/${nexus-application-name}/</nexus-base-url>
+
+ <nexus-control-port>33002</nexus-control-port>
+
+ </properties>
+
+ <build>
+
+ <filters>
+ <filter>src/test/filters/filter.txt</filter>
+ </filters>
+
+ <testResources>
+
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
+ <excludes>
+ <exclude>pgp/**</exclude>
+ <exclude>repo/**</exclude>
+ </excludes>
+ </testResource>
+
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>pgp/**</include>
+ <include>repo/**</include>
+ </includes>
+ </testResource>
+
+ <testResource>
+ <directory>src/test/nexus</directory>
+ <filtering>false</filtering>
+ <excludes>
+ <exclude>work/conf/**</exclude>
+ </excludes>
+ <targetPath>../nexus-webapp-${nexus.version}/runtime</targetPath>
+ </testResource>
+
+ <testResource>
+ <directory>src/test/nexus</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>work/conf/**</include>
+ </includes>
+ <targetPath>../nexus-webapp-${nexus.version}/runtime</targetPath>
+ </testResource>
+
+ <testResource>
+ <directory>src/test/nexus</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>log4j.properties</include>
+ </includes>
+ <targetPath>../nexus-webapp-${nexus.version}/runtime/apps/nexus/conf</targetPath>
+ </testResource>
+
+ <testResource>
+ <directory>src/test/nexus/conf</directory>
+ <filtering>true</filtering>
+ <targetPath>../nexus-webapp-${nexus.version}/conf</targetPath>
+ </testResource>
+
+ </testResources>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>unpack-bundle</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack-dependencies</goal>
+ </goals>
+ <configuration>
+ <includeArtifactIds>nexus-webapp</includeArtifactIds>
+ <outputDirectory>${bundle-expanded-dir}</outputDirectory>
+ <excludes>**/conf/plexus.properties</excludes>
+ </configuration>
+ </execution>
+
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-event</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <classifier>tests</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-plexus</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sonatype.appbooter</groupId>
+ <artifactId>plexus-forked-app-booter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-rest-api</artifactId>
+ <version>${nexus.client.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-rest-client-java</artifactId>
+ <version>${nexus.client.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-webapp</artifactId>
+ <version>${nexus.version}</version>
+ <classifier>bundle</classifier>
+ <type>zip</type>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>servlet-api-2.5</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-servlet-tester</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-it/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/filters/filter.txt b/mercury-1.0.0-alpha-2/mercury-it/src/test/filters/filter.txt
new file mode 100644
index 0000000..a854b84
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/filters/filter.txt
@@ -0,0 +1,21 @@
+====
+ 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.
+====
+nexus.working.directory=${basedir}/target/nexus-webapp-${nexus.version}/runtime/work/nexus
+nexus.log.directory=${basedir}/target/runtime/apps/nexus/logs
+nexus.conf.directory=${basedir}/target/nexus-webapp-${nexus.version}/runtime/apps/nexus/conf
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
new file mode 100644
index 0000000..dd2ddf8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
@@ -0,0 +1,278 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.dependency.tests;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeSet;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.event.DumbListener;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.metadata.DependencyBuilder;
+import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
+import org.apache.maven.mercury.metadata.MetadataTreeException;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryUpdateIntervalPolicy;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.transport.api.Server;
+
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class DependencyTreeBuilderTest
+extends TestCase
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DependencyTreeBuilderTest.class );
+
+ String repoUrl = "http://repo1.maven.org/maven2";
+// String repoUrl = "http://repository.sonatype.org/content/groups/public";
+// String repoUrl = "http://nexus:8081/nexus/content/groups/public";
+
+ File repoDir;
+
+ DependencyBuilder depBuilder;
+ LocalRepositoryM2 localRepo;
+ RemoteRepositoryM2 remoteRepo;
+ List<Repository> reps;
+
+ VirtualRepositoryReader vReader;
+
+ //----------------------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+
+ Logger.getLogger("").setLevel(Level.ALL);
+
+ repoDir = new File( "./target/local");
+// repoDir = File.createTempFile( "local-repo-","-it");
+ repoDir.delete();
+ repoDir.mkdirs();
+
+ _log.info( "temporary local repository at "+repoDir );
+
+ reps = new ArrayList<Repository>();
+
+ localRepo = new LocalRepositoryM2( "testLocalRepo", repoDir, new MavenDependencyProcessor() );
+ reps.add( localRepo );
+
+ Server server = new Server( "testRemoteRepo", new URL(repoUrl) );
+ remoteRepo = new RemoteRepositoryM2(server, new MavenDependencyProcessor());
+ reps.add( remoteRepo );
+
+// Server central = new Server("central", new URL("http://repo1.maven.org/maven2") );
+// RemoteRepositoryM2 centralRepo = new RemoteRepositoryM2(central);
+// reps.add(centralRepo);
+
+ depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, reps, null, null, null );
+ depBuilder.register( new DumbListener() );
+
+ vReader = new VirtualRepositoryReader( reps );
+ }
+ //----------------------------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+ //----------------------------------------------------------------------------------------------
+ private static boolean assertHasArtifact( List<ArtifactMetadata> res, String gav )
+ {
+ ArtifactMetadata gavMd = new ArtifactMetadata(gav);
+
+ for( ArtifactMetadata md : res )
+ if( md.sameGAV( gavMd ) )
+ return true;
+
+ return false;
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testDummy()
+ throws MetadataTreeException
+ {
+ }
+ //----------------------------------------------------------------------------------------------
+ /**
+ * this test relies on MavenVersionRange maven.mercury.osgi.version being set to false, it's default value.
+ * <strong>Do not</strong> run maven with -Dmaven.mercury.osgi.version=true
+ */
+ public void testResolveConflicts()
+ throws Exception
+ {
+// String artifactId = "org.testng:testng:5.7";
+ String artifactId = "asm:asm-xml:3.0";
+// String artifactId = "org.apache.maven:maven-core:2.0.9";
+// String artifactId = "qdox:qdox:1.6.1";
+
+
+ ArtifactMetadata md = new ArtifactMetadata( artifactId );
+
+ MetadataTreeNode root = depBuilder.buildTree( md, ArtifactScopeEnum.compile );
+
+ assertNotNull( "null tree built", root );
+
+// assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
+
+ List<ArtifactMetadata> res = depBuilder.resolveConflicts( root );
+
+ assertNotNull( res );
+
+ assertTrue( res.size() > 1 );
+
+ System.out.println("\n---------------------------------\nclasspath: "+res);
+ System.out.println("---------------------------------");
+ for( ArtifactMetadata amd : res )
+ {
+ System.out.println(amd + ( amd.getTracker() == null ? " [no tracker]" : " ["+((RepositoryReader)amd.getTracker()).getRepository().getId()+"]" ) );
+ }
+ System.out.println("---------------------------------");
+
+
+ assertEquals( 4, res.size() );
+
+ assertTrue( assertHasArtifact( res, "asm:asm-xml:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-util:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-tree:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm:3.0" ) );
+
+ ArtifactResults aRes = vReader.readArtifacts( res );
+
+ assertNotNull( aRes );
+
+ assertFalse( aRes.hasExceptions() );
+
+ assertTrue( aRes.hasResults() );
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+
+ for( ArtifactBasicMetadata abm : aRes.getResults().keySet() )
+ artifacts.addAll( aRes.getResults(abm) );
+
+ localRepo.getWriter().writeArtifacts( artifacts );
+
+ System.out.println("Saved "+artifacts.size()+" artifacts to "+localRepo.getDirectory() );
+
+ }
+ //----------------------------------------------------------------------------------------------
+ private static void showClasspath( List<ArtifactMetadata> cp )
+ {
+ TreeSet<String> scp = new TreeSet<String>();
+
+ for( ArtifactMetadata m : cp )
+ scp.add( m.getArtifactId()+"-"+m.getVersion()+"."+m.getType() );
+
+ System.out.println("\n========> Classpath: "+cp.size()+" elements");
+ for( String s : scp )
+ {
+ System.out.println(s);
+ }
+ System.out.println("<======== Classpath\n");
+
+ }
+ //----------------------------------------------------------------------------------------------
+ /**
+ * this test relies on MavenVersionRange maven.mercury.osgi.version being set to false, it's default value.
+ * <strong>Do not</strong> run maven with -Dmaven.mercury.osgi.version=true
+ */
+ public void testResolvePlugin()
+ throws Exception
+ {
+ String centralUrl = "http://repo1.maven.org/maven2";
+
+ String artifactId = "org.apache.maven.plugins:maven-clean-plugin:2.2";
+
+ reps.clear();
+
+ File pluginRepo = new File( "./target/repoPlugin" );
+ localRepo = new LocalRepositoryM2( "testLocalPluginRepo", pluginRepo, new MavenDependencyProcessor() );
+ reps.add( localRepo );
+
+ Server server = new Server( "id", new URL(centralUrl) );
+ remoteRepo = new RemoteRepositoryM2(server, new MavenDependencyProcessor());
+ remoteRepo.setUpdatePolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_NEVER );
+ reps.add( remoteRepo );
+
+ depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, reps, null, null, null );
+// depBuilder.register( new DumbListener() );
+
+ ArtifactMetadata md = new ArtifactMetadata( artifactId );
+
+ MetadataTreeNode root = depBuilder.buildTree( md, ArtifactScopeEnum.compile );
+
+ assertNotNull( "null tree built", root );
+
+// assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
+
+ List<ArtifactMetadata> res = depBuilder.resolveConflicts( root );
+
+ assertNotNull( res );
+
+ assertTrue( res.size() > 1 );
+
+ showClasspath( res );
+
+ artifactId = "org.apache.maven.plugins:maven-compiler-plugin:2.0.2";
+ md = new ArtifactMetadata( artifactId );
+ root = depBuilder.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ res = depBuilder.resolveConflicts( root );
+ showClasspath( res );
+
+ ArtifactResults ar = vReader.readArtifacts( res );
+
+ assertNotNull( ar );
+
+ assertFalse( ar.hasExceptions() );
+
+ assertTrue( ar.hasResults() );
+
+ Map<ArtifactBasicMetadata, List<Artifact>> arts = ar.getResults();
+
+ for( List<Artifact> al : arts.values() )
+ {
+ for( Artifact a : al )
+ System.out.println( a.toString()+" -> "+a.getFile() );
+ }
+ }
+ //----------------------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------------------
+}
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
new file mode 100644
index 0000000..6dcbcf7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
@@ -0,0 +1,256 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactExclusionList;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactQueryList;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id: DefaultPlexusMercuryTest.java 723125 2008-12-03 23:19:50Z ogusakov $
+ */
+public class DefaultPlexusMercuryTest
+extends PlexusTestCase
+{
+ PlexusMercury pm;
+
+ RemoteRepositoryM2 remoteRepo;
+ LocalRepositoryM2 localRepo;
+
+ List<Repository> repos;
+
+ Artifact a;
+
+ protected static final String keyId = "0EDB5D91141BC4F2";
+
+ protected static final String secretKeyFile = "/pgp/secring.gpg";
+ protected static final String publicKeyFile = "/pgp/pubring.gpg";
+ protected static final String secretKeyPass = "testKey82";
+
+// public static final String SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_URL = "plexus.mercury.test.url";
+// private String remoteServerUrl = System.getProperty( SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_URL, null );
+ static String remoteServerUrl = "http://people.apache.org/~ogusakov/repos/test";
+ String artifactCoord = "org.apache.maven.mercury:mercury-repo-virtual:1.0.0-alpha-2-SNAPSHOT";
+
+ private File localRepoDir;
+
+ public static final String SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_USER = "plexus.mercury.test.user";
+ static String remoteServerUser = System.getProperty( SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_USER, "admin" );
+
+ public static final String SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_PASS = "plexus.mercury.test.pass";
+ static String remoteServerPass = System.getProperty( SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_PASS, "admin123" );
+
+ PgpStreamVerifierFactory pgpRF;
+ PgpStreamVerifierFactory pgpWF;
+
+ SHA1VerifierFactory sha1F;
+ HashSet<StreamVerifierFactory> vFacSha1;
+
+ VirtualRepositoryReader vrr;
+
+ PlexusContainer plexus;
+
+ //-------------------------------------------------------------------------------------
+// @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ // prep. Artifact
+ File artifactBinary = File.createTempFile( "test-repo-writer", "bin" );
+ FileUtil.writeRawData( artifactBinary, getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+
+ a = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven.mercury:mercury-core:2.0.9") );
+
+ a.setPomBlob( FileUtil.readRawData( getClass().getResourceAsStream( "/maven-core-2.0.9.pom" ) ) );
+ a.setFile( artifactBinary );
+
+ // prep Repository
+ pm = getContainer().lookup( PlexusMercury.class );
+
+ pgpRF = pm.createPgpReaderFactory( true, true, getClass().getResourceAsStream( publicKeyFile ) );
+ pgpWF = pm.createPgpWriterFactory( true, true, getClass().getResourceAsStream( secretKeyFile ), keyId, secretKeyPass );
+
+ sha1F = new SHA1VerifierFactory( true, false );
+
+ remoteRepo = pm.constructRemoteRepositoryM2( "testRepo"
+ , new URL(remoteServerUrl), remoteServerUser, remoteServerPass
+ , null, null, null
+ , null, FileUtil.vSet( pgpRF, sha1F )
+ , null, FileUtil.vSet( pgpWF, sha1F )
+ );
+
+// localRepoDir = File.createTempFile( "local-", "-repo" );
+ localRepoDir = new File( "./target/local" );
+ localRepoDir.delete();
+ localRepoDir.mkdir();
+
+ localRepo = new LocalRepositoryM2( "testLocalRepo", localRepoDir, pm.findDependencyProcessor() );
+
+ repos = new ArrayList<Repository>();
+ repos.add( localRepo );
+ repos.add( remoteRepo );
+
+ vrr = new VirtualRepositoryReader(repos);
+
+ }
+ //-------------------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ if( remoteServerUrl == null )
+ return;
+
+ super.tearDown();
+ }
+ //----------------------------------------------------------------------------------------------
+ private static boolean assertHasArtifact( List<ArtifactMetadata> res, String gav )
+ {
+ ArtifactMetadata gavMd = new ArtifactMetadata(gav);
+
+ for( ArtifactBasicMetadata md : res )
+ if( md.sameGAV( gavMd ) )
+ return true;
+
+ return false;
+ }
+ //-------------------------------------------------------------------------------------
+ public void testDummy()
+ {
+ System.out.println("Have to disable plexus tests - need to fix maven-mercury first");
+ }
+ //-------------------------------------------------------------------------------------
+ public void testWrite()
+ throws RepositoryException
+ {
+ pm.write( localRepo, a );
+
+ File af = new File( localRepoDir, "org/apache/maven/mercury/mercury-core/2.0.9/mercury-core-2.0.9.jar" );
+
+ assertTrue( af.exists() );
+ }
+ //-------------------------------------------------------------------------------------
+ public void testRead()
+ throws RepositoryException
+ {
+ ArtifactMetadata bmd = new ArtifactMetadata(artifactCoord);
+
+ Collection<Artifact> res = pm.read( repos, bmd );
+
+ assertNotNull( res );
+
+ assertFalse( res.isEmpty() );
+
+ Artifact a = res.toArray( new Artifact[1] )[0];
+
+ assertNotNull( a );
+
+ File fBin = a.getFile();
+
+ assertNotNull( fBin );
+
+ assertTrue( fBin.exists() );
+
+ byte [] pomBytes = a.getPomBlob();
+
+ assertNotNull( pomBytes );
+
+ assertTrue( pomBytes.length > 10 );
+ }
+ //-------------------------------------------------------------------------------------
+ public void testResolve()
+ throws Exception
+ {
+ Server central = new Server( "central", new URL("http://repo1.maven.org/maven2") );
+// Server central = new Server( "central", new URL("http://repository.sonatype.org/content/groups/public") );
+
+ repos.add( new RemoteRepositoryM2(central, pm.findDependencyProcessor()) );
+
+ String artifactId = "asm:asm-xml:3.0";
+
+ List<ArtifactMetadata> res = pm.resolve( repos, ArtifactScopeEnum.compile, new ArtifactQueryList(artifactId), null, null );
+
+ System.out.println("Resolved as "+res);
+
+ assertEquals( 4, res.size() );
+
+ assertTrue( assertHasArtifact( res, "asm:asm-xml:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-util:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-tree:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm:3.0" ) );
+ }
+ //-------------------------------------------------------------------------------------
+ @SuppressWarnings("unchecked")
+ public void ntestResolveWithExclusion()
+ throws Exception
+ {
+ Server central = new Server( "central", new URL("http://repo1.maven.org/maven2") );
+// Server central = new Server( "central", new URL("http://repository.sonatype.org/content/groups/public") );
+
+ repos.add( new RemoteRepositoryM2(central, pm.findDependencyProcessor()) );
+
+ String artifactId = "asm:asm-xml:3.0";
+
+ List<ArtifactMetadata> res = pm.resolve( repos
+ , ArtifactScopeEnum.compile
+ , new ArtifactQueryList(artifactId)
+ , null
+ , new ArtifactExclusionList("asm:asm:3.0")
+ );
+
+ System.out.println("Resolved as "+res);
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( assertHasArtifact( res, "asm:asm-xml:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-util:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-tree:3.0" ) );
+ assertFalse( assertHasArtifact( res, "asm:asm:3.0" ) );
+ }
+ //-------------------------------------------------------------------------------------
+ //-------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/AbstractRepositoryReaderM2Test.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/AbstractRepositoryReaderM2Test.java
new file mode 100644
index 0000000..9bfc04e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/AbstractRepositoryReaderM2Test.java
@@ -0,0 +1,512 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.QualityRange;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.transport.api.Server;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractRepositoryReaderM2Test
+extends TestCase
+{
+ Repository repo;
+ DependencyProcessor mdProcessor;
+ RepositoryReader reader;
+ List<ArtifactBasicMetadata> query;
+
+ ArtifactBasicMetadata bmd;
+
+ private static final String publicKeyFile = "/pgp/pubring.gpg";
+ private static final String secretKeyFile = "/pgp/secring.gpg";
+
+ boolean goodOs = false;
+
+ Server server;
+ HashSet<StreamVerifierFactory> factories;
+
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ String os = System.getProperty("os.name");
+ if( "Mac OS X".equals( os ) )
+ goodOs = true;
+ }
+ //------------------------------------------------------------------------------
+ public void testReadReleaseVersion()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:[3,3]");
+ query.add( bmd );
+
+ ArtifactBasicResults res = reader.readVersions( query );
+
+ assertNotNull( res );
+ assertFalse( res.hasExceptions() );
+ assertTrue( res.hasResults() );
+
+ assertEquals( 1, res.getResults().size() );
+
+ List<ArtifactBasicMetadata> ror = res.getResult( bmd );
+
+ assertNotNull( ror );
+
+ if( res.hasExceptions() )
+ System.out.println( res.getExceptions() );
+
+ assertEquals( 1, ror.size() );
+
+// System.out.println(qr);
+ }
+ //------------------------------------------------------------------------------
+ public void testReadReleaseRange()
+ throws IllegalArgumentException, RepositoryException
+ {
+ repo.setRepositoryQualityRange( QualityRange.RELEASES_ONLY );
+
+ bmd = new ArtifactBasicMetadata("a:a:[3,)");
+ query.add( bmd );
+
+ ArtifactBasicResults res = reader.readVersions( query );
+
+ assertNotNull( res );
+
+ if( res.hasExceptions() )
+ System.out.println( res.getExceptions() );
+
+ assertFalse( res.hasExceptions() );
+ assertTrue( res.hasResults() );
+
+ assertEquals( 1, res.getResults().size() );
+
+ List<ArtifactBasicMetadata> qr = res.getResult( bmd );
+
+ assertNotNull( qr );
+ assertTrue( qr.size() > 1 );
+
+ assertFalse( qr.contains( new ArtifactBasicMetadata("a:a:5-SNAPSHOT") ) );
+
+ System.out.println("query "+bmd+"->"+qr);
+
+ ArtifactBasicResults depRes = reader.readDependencies( qr );
+
+ assertNotNull( depRes );
+ assertFalse( depRes.hasExceptions() );
+ assertTrue( depRes.hasResults() );
+
+ ArtifactBasicMetadata a3 = new ArtifactBasicMetadata("a:a:3");
+
+ assertTrue( depRes.hasResults( a3 ) );
+
+ List<ArtifactBasicMetadata> deps = depRes.getResult( a3 );
+ assertNotNull( deps );
+ assertFalse( deps.isEmpty() );
+
+ System.out.println(deps);
+
+ assertTrue( deps.contains( new ArtifactBasicMetadata("b:b:2") ) );
+ assertTrue( deps.contains( new ArtifactBasicMetadata("c:c:(1,)") ) );
+
+ }
+ //------------------------------------------------------------------------------
+ public void testReadArtifacts()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:3");
+ query.add( bmd );
+
+ ArtifactResults ror = reader.readArtifacts( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ System.out.println( ror.getExceptions() );
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<Artifact> res = ror.getResults(bmd);
+
+ assertNotNull( res );
+ assertEquals( 1, res.size() );
+
+ Artifact da = res.get( 0 );
+
+ assertNotNull( da );
+ assertNotNull( da.getFile() );
+ assertTrue( da.getFile().exists() );
+ assertNotNull( da.getPomBlob() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadSnapshot()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:5-SNAPSHOT");
+ query.add( bmd );
+
+ ArtifactResults ror = reader.readArtifacts( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ System.out.println( ror.getExceptions() );
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<Artifact> res = ror.getResults(bmd);
+
+ assertNotNull( res );
+ assertEquals( 1, res.size() );
+
+ Artifact da = res.get( 0 );
+
+ assertNotNull( da );
+ assertNotNull( da.getFile() );
+ assertTrue( da.getFile().exists() );
+ assertEquals( 159630, da.getFile().length() );
+ assertNotNull( da.getPomBlob() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadSnapshotTS()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:5-20080807.234713-11");
+ query.add( bmd );
+
+ ArtifactResults ror = reader.readArtifacts( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ System.out.println( ror.getExceptions() );
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<Artifact> res = ror.getResults(bmd);
+
+ assertNotNull( res );
+ assertEquals( 1, res.size() );
+
+ Artifact da = res.get( 0 );
+
+ assertNotNull( da );
+ assertNotNull( da.getFile() );
+ assertTrue( da.getFile().exists() );
+ assertEquals( 14800, da.getFile().length() );
+ assertNotNull( da.getPomBlob() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadVersionsLatest()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:LATEST");
+ query.add( bmd );
+
+ ArtifactBasicResults ror = reader.readVersions( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ {
+ Map<ArtifactBasicMetadata, Exception> exs = ror.getExceptions();
+
+ for( ArtifactBasicMetadata bmd : exs.keySet() )
+ {
+ System.out.println( "\n==========> "+bmd.toString());
+ exs.get( bmd ).printStackTrace();
+ }
+ }
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<ArtifactBasicMetadata> deps = ror.getResult(bmd);
+
+ assertNotNull( deps );
+ assertEquals( 1, deps.size() );
+ assertTrue( deps.contains( new ArtifactBasicMetadata("a:a:5-SNAPSHOT") ) );
+
+ }
+ //------------------------------------------------------------------------------
+ public void testReadVersionsRelease()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:RELEASE");
+ query.add( bmd );
+
+ ArtifactBasicResults ror = reader.readVersions( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ System.out.println( ror.getExceptions() );
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<ArtifactBasicMetadata> deps = ror.getResult(bmd);
+
+ assertNotNull( deps );
+ assertEquals( 1, deps.size() );
+ assertTrue( deps.contains( new ArtifactBasicMetadata("a:a:4") ) );
+
+ }
+ //------------------------------------------------------------------------------
+ public void testReadLatest()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:LATEST");
+ query.add( bmd );
+
+ ArtifactResults ror = reader.readArtifacts( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ System.out.println( ror.getExceptions() );
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<Artifact> res = ror.getResults(bmd);
+
+ assertNotNull( res );
+ assertEquals( 1, res.size() );
+
+ Artifact da = res.get( 0 );
+
+ assertNotNull( da );
+ assertEquals( "5-SNAPSHOT", da.getVersion() );
+
+ assertNotNull( da.getFile() );
+ assertTrue( da.getFile().exists() );
+ assertEquals( 159630, da.getFile().length() );
+ assertNotNull( da.getPomBlob() );
+
+ }
+ //------------------------------------------------------------------------------
+ public void testReadRelease()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:RELEASE");
+ query.add( bmd );
+
+ ArtifactResults ror = reader.readArtifacts( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ System.out.println( ror.getExceptions() );
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<Artifact> res = ror.getResults(bmd);
+
+ assertNotNull( res );
+ assertEquals( 1, res.size() );
+
+ Artifact da = res.get( 0 );
+
+ assertNotNull( da );
+ assertEquals( "4", da.getVersion() );
+
+ assertNotNull( da.getFile() );
+ assertTrue( da.getFile().exists() );
+ assertEquals( 14800, da.getFile().length() );
+ assertNotNull( da.getPomBlob() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadAndVerifyGoodArtifact()
+ throws IllegalArgumentException, RepositoryException, StreamVerifierException
+ {
+ // verifiers
+ factories = new HashSet<StreamVerifierFactory>();
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+ factories.add( new SHA1VerifierFactory( true, false ) );
+
+ if( goodOs )
+ server.setReaderStreamVerifierFactories(factories);
+
+ bmd = new ArtifactBasicMetadata("a:a:4");
+ query.add( bmd );
+
+ ArtifactResults ror = reader.readArtifacts( query );
+
+ assertNotNull( ror );
+
+ if( ror.hasExceptions() )
+ {
+ System.out.println("===> unexpected Exceptions");
+ for( Exception e : ror.getExceptions().values() )
+ System.out.println( e.getClass().getName()+": "+e.getMessage() );
+ System.out.println("<=== unexpected Exceptions");
+ }
+
+ assertFalse( ror.hasExceptions() );
+ assertTrue( ror.hasResults() );
+
+ List<Artifact> res = ror.getResults(bmd);
+
+ assertNotNull( res );
+ assertEquals( 1, res.size() );
+
+ Artifact da = res.get( 0 );
+
+ assertNotNull( da );
+ assertNotNull( da.getFile() );
+ assertTrue( da.getFile().exists() );
+ assertNotNull( da.getPomBlob() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadAndVerifyArtifactNoSig()
+ throws IllegalArgumentException, StreamVerifierException
+ {
+ // verifiers
+ factories = new HashSet<StreamVerifierFactory>();
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+
+ server.setReaderStreamVerifierFactories(factories);
+
+ bmd = new ArtifactBasicMetadata("a:a:3");
+ query.add( bmd );
+
+ ArtifactResults ror = null;
+ try
+ {
+ ror = reader.readArtifacts( query );
+ }
+ catch( RepositoryException e )
+ {
+ System.out.println( "Expected exception: "+e.getMessage() );
+ return;
+ }
+ assertNotNull( ror );
+ if( !ror.hasExceptions() )
+ fail( "Artifact a:a:3 does not have .asc signature, PGP verifier is not lenient, but this did not cause a RepositoryException" );
+
+ System.out.println("Expected Exceptions: "+ror.getExceptions() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadAndVerifyArtifactBadSig()
+ throws IllegalArgumentException, StreamVerifierException
+ {
+ // verifiers
+ factories = new HashSet<StreamVerifierFactory>();
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+ server.setReaderStreamVerifierFactories(factories);
+
+ bmd = new ArtifactBasicMetadata("a:a:2");
+ query.add( bmd );
+
+ ArtifactResults ror = null;
+ try
+ {
+ ror = reader.readArtifacts( query );
+ }
+ catch( RepositoryException e )
+ {
+ System.out.println( "Expected exception: "+e.getMessage() );
+ return;
+ }
+ assertNotNull( ror );
+ if( !ror.hasExceptions() )
+ fail( "Artifact a:a:2 does have a bad .asc (PGP) signature, PGP verifier is not lenient, but this did not cause a RepositoryException" );
+
+ System.out.println("Expected Exceptions: "+ror.getExceptions() );
+ }
+ //------------------------------------------------------------------------------
+ public void testReadAndVerifyArtifactNoSigLenientVerifier()
+ throws IllegalArgumentException, StreamVerifierException
+ {
+ // verifiers
+ factories = new HashSet<StreamVerifierFactory>();
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, true, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+ if( goodOs )
+ {
+ factories.add( new SHA1VerifierFactory(true,false) );
+ server.setReaderStreamVerifierFactories(factories);
+ }
+
+ bmd = new ArtifactBasicMetadata("a:a:3");
+ query.add( bmd );
+
+ ArtifactResults ror = null;
+ try
+ {
+ ror = reader.readArtifacts( query );
+ }
+ catch( RepositoryException e )
+ {
+ fail( "Artifact a:a:3 does not have .asc signature, PGP verifier is lenient, but still caused a RepositoryException: "+e.getMessage() );
+ }
+ if( ror.hasExceptions() )
+ fail( "Artifact a:a:3 does not have .asc signature, PGP verifier is lenient, but still caused exceptions: "+ror.getExceptions() );
+ }
+ //------------------------------------------------------------------------------
+ //------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/AbstractRepositoryWriterM2Test.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/AbstractRepositoryWriterM2Test.java
new file mode 100644
index 0000000..42f9e4a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/AbstractRepositoryWriterM2Test.java
@@ -0,0 +1,424 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractRepositoryWriterM2Test
+extends PlexusTestCase
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( AbstractRepositoryWriterM2Test.class );
+
+ Repository repo;
+
+ File targetDirectory;
+
+ DependencyProcessor mdProcessor;
+
+ RepositoryReader reader;
+ RepositoryWriter writer;
+
+ List<ArtifactBasicMetadata> query;
+
+ ArtifactBasicMetadata bmd;
+
+ String pomBlob;
+
+ protected static final String keyId = "0EDB5D91141BC4F2";
+
+ protected static final String secretKeyFile = "/pgp/secring.gpg";
+ protected static final String publicKeyFile = "/pgp/pubring.gpg";
+ protected static final String secretKeyPass = "testKey82";
+
+ PgpStreamVerifierFactory pgpF;
+ SHA1VerifierFactory sha1F;
+ HashSet<StreamVerifierFactory> vFacPgp;
+ HashSet<StreamVerifierFactory> vFacSha1;
+
+ Server server;
+ HashSet<StreamVerifierFactory> factories;
+
+ File f;
+
+ File artifactBinary;
+ long binarySize = -1L;
+
+ File artifactPom;
+ long pomSize = -1L;
+ byte [] pomBytes;
+
+ static PlexusContainer plexus;
+
+ /** current test works with snapshots
+ * @throws Exception */
+ abstract void setReleases() throws Exception;
+ /** current test works with releases */
+ abstract void setSnapshots() throws Exception;
+
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ if( plexus == null )
+ plexus = getContainer();
+
+ pgpF = new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ );
+ sha1F = new SHA1VerifierFactory( false, false );
+
+ vFacPgp = new HashSet<StreamVerifierFactory>(1);
+ vFacSha1 = new HashSet<StreamVerifierFactory>(1);
+
+ vFacPgp.add( pgpF );
+ vFacSha1.add( sha1F );
+
+ artifactBinary = File.createTempFile( "test-repo-writer", "bin" );
+ FileUtil.writeRawData( artifactBinary, getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+ binarySize = artifactBinary.length();
+
+ _log.info( "Binary size is "+binarySize+" bytes" );
+
+ artifactPom = File.createTempFile( "test-repo-writer", "pom" );
+ FileUtil.writeRawData( artifactPom, getClass().getResourceAsStream( "/maven-core-2.0.9.pom" ) );
+ pomSize = artifactPom.length();
+ pomBytes = FileUtil.readRawData( artifactPom );
+ }
+
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+
+ public void testWriteArtifact()
+ throws Exception
+ {
+ setReleases();
+
+ File af = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar");
+
+ assertFalse( af.exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar.asc").exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar.sha1").exists() );
+
+ File ap = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom");
+ assertFalse( ap.exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.asc").exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1").exists() );
+
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/"+repo.getMetadataName()).exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/"+repo.getMetadataName()+".asc").exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/"+repo.getMetadataName()+".sha1").exists() );
+
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/"+repo.getMetadataName()).exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/"+repo.getMetadataName()+".asc").exists() );
+ assertFalse( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/"+repo.getMetadataName()+".sha1").exists() );
+
+ Set<Artifact> artifacts = new HashSet<Artifact>(3);
+ DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven:maven-core:2.0.9") );
+
+ da.setPomBlob( pomBytes );
+ da.setFile( artifactBinary );
+ artifacts.add( da );
+
+ writer.writeArtifacts( artifacts );
+
+ f = new File( targetDirectory, "/org/apache/maven/maven-core/"+repo.getMetadataName());
+ assertTrue( f.exists() );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/"+repo.getMetadataName()+".asc").exists() );
+ FileUtil.verify( f, vFacPgp, false, true );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/"+repo.getMetadataName()+".sha1").exists() );
+ FileUtil.verify( f, vFacSha1, false, true );
+
+ f = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/"+repo.getMetadataName());
+ assertTrue( f.exists() );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/"+repo.getMetadataName()+".asc").exists() );
+ FileUtil.verify( f, vFacPgp, false, true );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/"+repo.getMetadataName()+".sha1").exists() );
+ FileUtil.verify( f, vFacSha1, false, true );
+
+ assertTrue( af.exists() );
+ assertEquals( binarySize, af.length() );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar.asc").exists() );
+ FileUtil.verify( af, vFacPgp, false, true );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar.sha1").exists() );
+ FileUtil.verify( af, vFacSha1, false, true );
+
+ assertTrue( ap.exists() );
+ assertEquals( pomSize, ap.length() );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.asc").exists() );
+ FileUtil.verify( ap, vFacPgp, false, true );
+ assertTrue( new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1").exists() );
+ FileUtil.verify( ap, vFacSha1, false, true );
+ }
+
+ public void testWriteSnapshotAsTS()
+ throws Exception
+ {
+ setSnapshots();
+
+ Set<Artifact> artifacts = new HashSet<Artifact>(3);
+ DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven:maven-core:2.0.9-20080805.215925-8") );
+ da.setPomBlob( pomBytes );
+ da.setFile( artifactBinary );
+ artifacts.add( da );
+
+ writer.writeArtifacts( artifacts );
+
+ File af = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20080805.215925-8.jar");
+ assertTrue( af.exists() );
+ assertEquals( binarySize, af.length() );
+
+ File ap = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20080805.215925-8.pom");
+ assertTrue( ap.exists() );
+ assertEquals( pomSize, ap.length() );
+ }
+
+ public void testWriteSnapshot()
+ throws Exception
+ {
+ setSnapshots();
+
+ Set<Artifact> set = new HashSet<Artifact>(3);
+ DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven:maven-core:2.0.9-SNAPSHOT") );
+ da.setPomBlob( pomBytes );
+ da.setFile( artifactBinary );
+ set.add( da );
+
+ writer.writeArtifacts( set );
+
+ File af = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar");
+ assertTrue( af.exists() );
+ assertEquals( binarySize, af.length() );
+
+ File ap = new File( targetDirectory, "/org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.pom");
+ assertTrue( ap.exists() );
+ assertEquals( pomSize, ap.length() );
+ }
+
+ public void testWriteContentionSingleArtifact()
+ throws Exception
+ {
+ setSnapshots();
+
+ Set<Artifact> set = new HashSet<Artifact>(40);
+
+ // prep. artifacts
+ for( int i=0; i<20; i++ )
+ {
+ String si = ""+i;
+
+ DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven:maven-core:2.0.9-20080805.215925-"+si) );
+ da.setPomBlob( pomBytes );
+ File ab = File.createTempFile( "test-core-", "-bin" );
+ FileUtil.writeRawData( ab, getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+ da.setFile( ab );
+ set.add( da );
+ }
+
+ assertEquals( 20, set.size() );
+
+ long start = System.currentTimeMillis();
+ // write 'em
+ writer.writeArtifacts( set );
+
+ System.out.println("Took "+(System.currentTimeMillis()-start)+" millis to write "+set.size()+" artifacts");
+ System.out.flush();
+
+ // check if the showed up in the repo
+ for( int i=0; i<20; i++ )
+ {
+ String si = ""+i;
+
+ String fn = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20080805.215925-"+si+".jar";
+ File af = new File( fn );
+ assertTrue( fn+" does not exist", af.exists() );
+ assertEquals( binarySize, af.length() );
+
+ // is pom there also?
+ fn = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20080805.215925-"+si+".pom";
+ File ap = new File( fn );
+ assertTrue( fn+" does not exist", ap.exists() );
+ assertEquals( pomSize, ap.length() );
+ }
+
+ // check GAV metadata has all versions
+ String mdFile = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-core/2.0.9-SNAPSHOT/"+repo.getMetadataName();
+ byte [] mdBytes = FileUtil.readRawData( new File(mdFile) );
+ Metadata md = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) );
+
+ assertNotNull( md );
+ assertNotNull( md.getVersioning() );
+ assertNotNull( md.getVersioning().getVersions() );
+ assertFalse( md.getVersioning().getVersions().isEmpty() );
+
+ List<String> versions = md.getVersioning().getVersions();
+ System.out.println( versions.size()+" versions: " + versions );
+
+ assertEquals( 20, versions.size() );
+
+ for( int i=0; i<20;i++ )
+ {
+ String v = "2.0.9-20080805.215925-"+i;
+ assertTrue( "Did not find "+v+" in GAV metadata "+mdFile+"\n"+new String(mdBytes), versions.contains( v ) );
+ }
+ }
+
+
+ public void testWriteContentionMultipleArtifacts()
+ throws Exception
+ {
+ setSnapshots();
+
+ Set<Artifact> set = new HashSet<Artifact>(40);
+
+ // prep. artifacts
+ for( int i=0; i<20; i++ )
+ {
+ String si = ""+i;
+
+ DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven:maven-core:2.0."+si+"-SNAPSHOT") );
+ da.setPomBlob( pomBytes );
+ File ab = File.createTempFile( "test-core-", "-bin" );
+ FileUtil.writeRawData( ab, getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+ da.setFile( ab );
+ set.add( da );
+
+ da = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven:maven-mercury:2.0."+si+"-SNAPSHOT") );
+ da.setPomBlob( pomBytes );
+ ab = File.createTempFile( "test-mercury-", "-bin" );
+ FileUtil.writeRawData( ab, getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+ da.setFile( ab );
+ set.add( da );
+ }
+
+ assertEquals( 40, set.size() );
+
+ long start = System.currentTimeMillis();
+ // write 'em
+ writer.writeArtifacts( set );
+
+ System.out.println("Took "+(System.currentTimeMillis()-start)+" millis to write "+set.size()+" artifacts");
+ System.out.flush();
+
+ // check if the showed up in the repo
+ for( int i=0; i<20; i++ )
+ {
+ String si = ""+i;
+
+ String fn = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-core/2.0."+si+"-SNAPSHOT/maven-core-2.0."+si+"-SNAPSHOT.jar";
+ File af = new File( targetDirectory, "/org/apache/maven/maven-core/2.0."+si+"-SNAPSHOT/maven-core-2.0."+si+"-SNAPSHOT.jar" );
+ assertTrue( fn+" does not exist", af.exists() );
+ assertEquals( binarySize, af.length() );
+
+ fn = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-core/2.0."+si+"-SNAPSHOT/maven-core-2.0."+si+"-SNAPSHOT.pom";
+ File ap = new File( targetDirectory, "/org/apache/maven/maven-core/2.0."+si+"-SNAPSHOT/maven-core-2.0."+si+"-SNAPSHOT.pom");
+ assertTrue( fn+" does not exist", ap.exists() );
+ assertEquals( pomSize, ap.length() );
+
+ fn = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-mercury/2.0."+si+"-SNAPSHOT/maven-mercury-2.0."+i+"-SNAPSHOT.jar";
+ af = new File( targetDirectory, "/org/apache/maven/maven-mercury/2.0."+si+"-SNAPSHOT/maven-mercury-2.0."+i+"-SNAPSHOT.jar");
+ assertTrue( fn+" does not xist", af.exists() );
+ assertEquals( binarySize, af.length() );
+
+ fn = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-mercury/2.0."+si+"-SNAPSHOT/maven-mercury-2.0."+i+"-SNAPSHOT.pom";
+ ap = new File( targetDirectory, "/org/apache/maven/maven-mercury/2.0."+si+"-SNAPSHOT/maven-mercury-2.0."+i+"-SNAPSHOT.pom");
+ assertTrue( ap.exists() );
+ assertEquals( pomSize, ap.length() );
+ }
+
+ // check GA metadata has all versions
+ String mdFile = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-mercury/"+repo.getMetadataName();
+ byte [] mdBytes = FileUtil.readRawData( new File(mdFile) );
+ Metadata md = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) );
+
+ assertNotNull( md );
+ assertNotNull( md.getVersioning() );
+ assertNotNull( md.getVersioning().getVersions() );
+ assertFalse( md.getVersioning().getVersions().isEmpty() );
+
+ List<String> versions = md.getVersioning().getVersions();
+
+ assertEquals( 20, versions.size() );
+
+ for( int i=0; i<20;i++ )
+ {
+ String v = "2.0."+i+"-SNAPSHOT";
+ assertTrue( "Did not find "+v+" in GA metadata "+mdFile+"\n"+new String(mdBytes), versions.contains( v ) );
+ }
+
+ mdFile = targetDirectory.getAbsolutePath()+"/org/apache/maven/maven-core/"+repo.getMetadataName();
+ mdBytes = FileUtil.readRawData( new File(mdFile) );
+ md = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) );
+
+ assertNotNull( md );
+ assertNotNull( md.getVersioning() );
+ assertNotNull( md.getVersioning().getVersions() );
+ assertFalse( md.getVersioning().getVersions().isEmpty() );
+
+ versions = md.getVersioning().getVersions();
+
+ assertEquals( 20, versions.size() );
+
+ for( int i=0; i<20;i++ )
+ {
+ String v = "2.0."+i+"-SNAPSHOT";
+ assertTrue( "Did not find "+v+" in GA metadata "+mdFile+"\n"+new String(mdBytes), versions.contains( v ) );
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/LocalRepositoryReaderM2Test.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/LocalRepositoryReaderM2Test.java
new file mode 100644
index 0000000..3d36e22
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/LocalRepositoryReaderM2Test.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.File;
+import java.util.ArrayList;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.transport.api.Server;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class LocalRepositoryReaderM2Test
+extends AbstractRepositoryReaderM2Test
+{
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ mdProcessor = new MetadataProcessorMock();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+
+ server = new Server( "test", new File("./target/test-classes/repo").toURL() );
+
+ repo = new LocalRepositoryM2( server, new MavenDependencyProcessor() );
+ repo.setDependencyProcessor( mdProcessor );
+ reader = repo.getReader();
+
+ super.setUp();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/LocalRepositoryWriterM2Test.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/LocalRepositoryWriterM2Test.java
new file mode 100644
index 0000000..185f341
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/LocalRepositoryWriterM2Test.java
@@ -0,0 +1,117 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class LocalRepositoryWriterM2Test
+extends AbstractRepositoryWriterM2Test
+{
+ public static final String SYSTEM_PARAMETER_SKIP_LOCK_TESTS = "maven.mercury.tests.skip.lock";
+ boolean skipLockTests = Boolean.parseBoolean( System.getProperty( SYSTEM_PARAMETER_SKIP_LOCK_TESTS, "true" ) );
+
+ //------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ targetDirectory = new File("./target/test-classes/tempRepo");
+ FileUtil.copy( new File("./target/test-classes/repo"), targetDirectory, true );
+ FileUtil.delete( new File(targetDirectory, "org") );
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+
+ server = new Server( "test", targetDirectory.toURL() );
+ // verifiers
+ factories = new HashSet<StreamVerifierFactory>();
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( secretKeyFile )
+ , keyId
+ , secretKeyPass
+ )
+ );
+ factories.add( new SHA1VerifierFactory(false,false) );
+ server.setWriterStreamVerifierFactories(factories);
+
+ repo = new LocalRepositoryM2( server, new MavenDependencyProcessor() );
+ mdProcessor = new MetadataProcessorMock();
+ repo.setDependencyProcessor( mdProcessor );
+
+ reader = repo.getReader();
+ writer = repo.getWriter();
+ }
+
+ @Override
+ void setReleases()
+ throws MalformedURLException
+ {
+ }
+
+ @Override
+ void setSnapshots()
+ throws MalformedURLException
+ {
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ public void testWriteContentionMultipleArtifacts()
+ throws Exception
+ {
+ if( skipLockTests )
+ System.out.println("skipping");
+ else
+ super.testWriteContentionMultipleArtifacts();
+ }
+
+ @Override
+ public void testWriteContentionSingleArtifact()
+ throws Exception
+ {
+ if( skipLockTests )
+ System.out.println("skipping");
+ else
+ super.testWriteContentionSingleArtifact();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/Nexus.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/Nexus.java
new file mode 100644
index 0000000..c9071f5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/Nexus.java
@@ -0,0 +1,142 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.sonatype.appbooter.ForkedAppBooter;
+import org.sonatype.appbooter.ctl.AppBooterServiceException;
+import org.sonatype.nexus.client.NexusClient;
+import org.sonatype.nexus.client.rest.NexusRestClient;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class Nexus
+{
+ public static final String TEST_NEXUS_ROLE = ForkedAppBooter.ROLE;
+ public static final String TEST_NEXUS_HINT = "NexusForkedAppBooter";
+
+ public static String nexusTestUrl = "http://localhost:8091/nexus";
+ public static String nexusTestUser = "admin";
+ public static String nexusTestPass = "admin123";
+
+ private static ForkedAppBooter nexusForkedAppBooter;
+ //------------------------------------------------------------------------------
+ private static void checkAppBooter( final PlexusContainer plexus )
+ throws AppBooterServiceException, ComponentLookupException
+ {
+ if( nexusForkedAppBooter != null )
+ return;
+
+ nexusForkedAppBooter = (ForkedAppBooter)plexus.lookup( TEST_NEXUS_ROLE, TEST_NEXUS_HINT );
+
+ nexusForkedAppBooter.start();
+
+ Runtime.getRuntime().addShutdownHook
+ (
+ new Thread()
+ {
+ PlexusContainer plx = plexus;
+ private ForkedAppBooter nexusFAB;
+
+ public void run()
+ {
+ try
+ {
+ nexusFAB = (ForkedAppBooter)plx.lookup( TEST_NEXUS_ROLE, TEST_NEXUS_HINT );
+ nexusFAB.shutdown();
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ return;
+ }
+ }
+ }
+ );
+ }
+ //------------------------------------------------------------------------------
+ public static void start( PlexusContainer plexus )
+ throws Exception
+ {
+ checkAppBooter( plexus );
+
+ NexusClient client = new NexusRestClient();
+
+ client.connect( nexusTestUrl, nexusTestUser, nexusTestPass );
+
+ try
+ {
+ client.startNexus();
+ Thread.sleep( 3000L );
+ }
+ catch( Exception any ) {}
+
+ if( !client.isNexusStarted( true ) )
+ {
+ throw new Exception("Cannot start Nexus");
+ }
+
+ client.disconnect();
+ }
+ //------------------------------------------------------------------------------
+ public static void stop()
+ throws Exception
+ {
+ NexusClient client = new NexusRestClient();
+
+ client.connect( nexusTestUrl, nexusTestUser, nexusTestPass );
+
+ try
+ {
+ if( client.isNexusStarted( false ) )
+ {
+ client.stopNexus();
+ }
+ }
+ catch( Exception any ) {}
+
+ client.disconnect();
+
+ Thread.sleep( 3000L );
+ }
+ //------------------------------------------------------------------------------
+ public static void shutdown( PlexusContainer plexus )
+ throws Exception
+ {
+
+ if( nexusForkedAppBooter == null )
+ nexusForkedAppBooter = (ForkedAppBooter)plexus.lookup( TEST_NEXUS_ROLE, TEST_NEXUS_HINT );
+
+ try // if it was running before
+ {
+ nexusForkedAppBooter.shutdown();
+ Thread.sleep( 3000L );
+ }
+ catch( Exception e ) {}
+
+ }
+ //------------------------------------------------------------------------------
+ //------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
new file mode 100644
index 0000000..a694192
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
@@ -0,0 +1,184 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryWriterM2;
+import org.apache.maven.mercury.spi.http.server.HttpTestServer;
+import org.apache.maven.mercury.transport.api.Server;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ReadWriteTest
+extends TestCase
+{
+ private static final IMercuryLogger log = MercuryLoggerManager.getLogger( ReadWriteTest.class );
+
+ File remoteRepoBase = new File("./target/test-classes/repo");
+ public String port;
+ HttpTestServer httpServer;
+
+ RemoteRepository rr;
+ LocalRepository lr;
+
+ DependencyProcessor mdProcessor;
+ RepositoryReader reader;
+
+ File localRepoBase;
+ RepositoryWriter writer;
+
+ List<ArtifactBasicMetadata> query;
+
+ ArtifactBasicMetadata bmd;
+
+ Server server;
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp()
+ throws Exception
+ {
+ httpServer = new HttpTestServer( remoteRepoBase, "/repo" );
+ httpServer.start();
+ port = String.valueOf( httpServer.getPort() );
+
+ server = new Server( "test", new URL("http://localhost:"+port+"/repo") );
+ rr = new RemoteRepositoryM2( "testRepo", server, new MavenDependencyProcessor() );
+
+ mdProcessor = new MetadataProcessorMock();
+ rr.setDependencyProcessor( mdProcessor );
+ reader = rr.getReader();
+
+ localRepoBase = File.createTempFile( "local", "repo" );
+ localRepoBase.delete();
+ localRepoBase.mkdir();
+ log.info("local repo is in "+localRepoBase);
+
+ lr = new LocalRepositoryM2( "lr", localRepoBase, new MavenDependencyProcessor() );
+ writer = lr.getWriter();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ httpServer.stop();
+ httpServer.destroy();
+ }
+
+ public void testOneArtifact()
+ throws IllegalArgumentException, RepositoryException
+ {
+ bmd = new ArtifactBasicMetadata("a:a:4");
+ query.add( bmd );
+
+ ArtifactResults res = reader.readArtifacts( query );
+
+ assertTrue( res != null );
+ assertFalse( res.hasExceptions() );
+ assertTrue( res.hasResults() );
+
+ Map< ArtifactBasicMetadata, List<Artifact>> resMap = res.getResults();
+
+ assertNotNull( resMap );
+ assertFalse( resMap.isEmpty() );
+
+ List<Artifact> al = resMap.get( bmd );
+
+ assertNotNull( al );
+ assertFalse( al.isEmpty() );
+
+ Artifact a = al.get( 0 );
+
+ writer.writeArtifacts( al );
+
+ File aBin = new File( localRepoBase, "a/a/4/a-4.jar" );
+ assertTrue( aBin.exists() );
+
+ File aPom = new File( localRepoBase, "a/a/4/a-4.pom" );
+ assertTrue( aPom.exists() );
+
+ assertNotNull( a.getPomBlob() );
+ assertTrue( a.getPomBlob().length > 10 );
+ log.info( a+" - pom length is "+a.getPomBlob().length );
+ }
+
+ public void testOneArtifactWithClassifier()
+ throws IllegalArgumentException, RepositoryException
+ {
+ ArtifactBasicMetadata bm = new ArtifactBasicMetadata("a:a:4:sources");
+ query.add( bm );
+
+ ArtifactResults res = reader.readArtifacts( query );
+
+ assertTrue( res != null );
+ assertFalse( res.hasExceptions() );
+ assertTrue( res.hasResults() );
+
+ Map< ArtifactBasicMetadata, List<Artifact>> resMap = res.getResults();
+
+ assertNotNull( resMap );
+ assertFalse( resMap.isEmpty() );
+
+ List<Artifact> al = resMap.get( bm );
+
+ assertNotNull( al );
+ assertFalse( al.isEmpty() );
+
+ Artifact a = al.get( 0 );
+
+ writer.writeArtifacts( al );
+
+ File aBin = new File( localRepoBase, "a/a/4/a-4-sources.jar" );
+ assertTrue( aBin.exists() );
+
+ log.info( a+" - pom length is "+a.getPomBlob().length );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java
new file mode 100644
index 0000000..fc1c8eb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java
@@ -0,0 +1,207 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryMetadataCache;
+import org.apache.maven.mercury.repository.api.RepositoryUpdateIntervalPolicy;
+import org.apache.maven.mercury.repository.api.RepositoryUpdatePolicy;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.server.HttpTestServer;
+import org.apache.maven.mercury.transport.api.Server;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+public class RemoteRepositoryCachingReaderM2Test
+extends AbstractRepositoryReaderM2Test
+{
+ MetadataXpp3Reader _xpp3Reader;
+ File _testBase;
+ DefaultRetriever _retriever;
+ public String _port;
+ HttpTestServer _server;
+ DefaultRetrievalRequest _request;
+
+ RepositoryMetadataCache _mdCache;
+ File _cacheBase;
+
+ //-------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ _retriever = new DefaultRetriever();
+
+ _testBase = new File("./target/test-classes/repo");
+ _testBase.mkdirs();
+
+ _server = new HttpTestServer( _testBase, "/repo" );
+ _server.start();
+ _port = String.valueOf( _server.getPort() );
+
+ _xpp3Reader = new MetadataXpp3Reader();
+ _request = new DefaultRetrievalRequest();
+
+ mdProcessor = new MetadataProcessorMock();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+
+ server = new Server( "test", new URL("http://localhost:"+_port+"/repo") );
+
+ RepositoryUpdatePolicy up = new RepositoryUpdateIntervalPolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_NAME_DAILY );
+
+ repo = new RemoteRepositoryM2( "testRepo", server, new MavenDependencyProcessor() );
+ ((RemoteRepository)repo).setUpdatePolicy( up );
+
+ repo.setDependencyProcessor( new MetadataProcessorMock() );
+ reader = repo.getReader();
+
+ _cacheBase = new File( _testBase, VirtualRepositoryReader.METADATA_CACHE_DIR );
+ _cacheBase.delete();
+ _cacheBase.mkdirs();
+
+ _mdCache = VirtualRepositoryReader.getCache( _testBase );
+
+ reader.setMetadataCache( _mdCache );
+
+ super.setUp();
+
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ _server.stop();
+ _server.destroy();
+ }
+ //-------------------------------------------------------------------------
+ private void validateMmd( Metadata mmd )
+ {
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertTrue( versions.size() > 3 );
+ }
+ //-------------------------------------------------------------------------
+ public void testReadMd()
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ FileInputStream fis = new FileInputStream( new File( _testBase, "a/a/maven-metadata.xml") );
+ Metadata mmd = _xpp3Reader.read( fis );
+ fis.close();
+ validateMmd( mmd );
+ }
+ //-------------------------------------------------------------------------
+ public void testReadRemoteMdViaRepositoryReader()
+ throws FileNotFoundException, IOException, XmlPullParserException, RepositoryException, MetadataReaderException
+ {
+
+ byte [] mmBuf = reader.readRawData( "a/a/maven-metadata.xml" );
+
+ assertNotNull( mmBuf );
+ assertTrue( mmBuf.length > 1 );
+
+ ByteArrayInputStream bais = new ByteArrayInputStream( mmBuf );
+ Metadata mmd = _xpp3Reader.read( bais );
+ bais.close();
+
+ validateMmd( mmd );
+
+ String mdFileName = "a/a/"+"meta-ga-"+repo.getId()+".xml";
+ File cachedMd = new File( _cacheBase, mdFileName );
+
+ try
+ {
+ File dir = new File( _cacheBase, "a/a" );
+ File [] files = dir.listFiles();
+ System.out.println("=====> Files in "+dir.getCanonicalPath() );
+ System.out.flush();
+ if( files != null && files.length > 0)
+ for( File f : files )
+ {
+ System.out.println("found file: "+f.getCanonicalPath() );
+ System.out.flush();
+ }
+ else
+ {
+ System.out.println("empty folder" );
+ System.out.flush();
+ }
+
+ System.out.println("<=====" );
+ System.out.flush();
+ }
+ catch( Throwable e ) {}
+
+ if( goodOs )
+ assertTrue( "cached metadata "+cachedMd.getCanonicalPath()+" does not exist", cachedMd.exists() );
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ public void testReadLatest()
+ throws IllegalArgumentException,
+ RepositoryException
+ {
+ super.testReadLatest();
+
+ File cachedMd = new File( _cacheBase, "a/a/"+"meta-ga-"+repo.getId()+".xml" );
+
+ assertTrue( cachedMd.exists() );
+
+ File cachedVMd = new File( _cacheBase, "a/a/a-5-SNAPSHOT/"+"meta-gav-"+repo.getId()+".xml" );
+
+ assertTrue( cachedVMd.exists() );
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ public void testReadRelease()
+ throws IllegalArgumentException,
+ RepositoryException
+ {
+ super.testReadRelease();
+ }
+ //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java
new file mode 100644
index 0000000..e67770d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java
@@ -0,0 +1,158 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.client.retrieve.RetrievalResponse;
+import org.apache.maven.mercury.spi.http.server.HttpTestServer;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+public class RemoteRepositoryReaderM2Test
+extends AbstractRepositoryReaderM2Test
+{
+ MetadataXpp3Reader _reader;
+ File _testBase;
+ DefaultRetriever _retriever;
+ public String _port;
+ HttpTestServer _server;
+ DefaultRetrievalRequest _request;
+
+ //-------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ _testBase = new File("./target/test-classes/repo");
+ FileUtil.copy( new File("src/test/resources/repo"), _testBase, false );
+
+ _retriever = new DefaultRetriever();
+ _server = new HttpTestServer( _testBase, "/repo" );
+ _server.start();
+ _port = String.valueOf( _server.getPort() );
+
+ _reader = new MetadataXpp3Reader();
+ _request = new DefaultRetrievalRequest();
+
+ mdProcessor = new MetadataProcessorMock();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+
+ server = new Server( "test", new URL("http://localhost:"+_port+"/repo") );
+ repo = new RemoteRepositoryM2( "testRepo", server, new MavenDependencyProcessor() );
+ repo.setDependencyProcessor( mdProcessor );
+ reader = repo.getReader();
+
+ super.setUp();
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ _server.stop();
+ _server.destroy();
+ }
+ //-------------------------------------------------------------------------
+ private void validateMmd( Metadata mmd )
+ {
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertTrue( versions.size() > 3 );
+ }
+ //-------------------------------------------------------------------------
+ public void testReadMd()
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ FileInputStream fis = new FileInputStream( new File( _testBase, "a/a/maven-metadata.xml") );
+ Metadata mmd = _reader.read( fis );
+ fis.close();
+ validateMmd( mmd );
+ }
+ //-------------------------------------------------------------------------
+ public void testReadRemoteMdViaHttpClient()
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ File temp = new File("./target/maven-metadata.temp" );
+ HashSet<Binding> bindings = new HashSet<Binding>();
+
+ Binding aaMdBinding = new Binding( new URL("http://localhost:"+_port+"/repo/a/a/maven-metadata.xml"), temp);
+ bindings.add( aaMdBinding );
+
+ _request.setBindings(bindings);
+
+ RetrievalResponse response = _retriever.retrieve(_request);
+
+ if( response.hasExceptions() )
+ fail("retrieval exceptions: "+response.getExceptions()+"\nReading from "+aaMdBinding.getRemoteResource() );
+
+ Metadata mmd = _reader.read( new FileInputStream( temp ) );
+ temp.delete();
+
+ validateMmd( mmd );
+
+ }
+ //-------------------------------------------------------------------------
+ public void testReadRemoteMdViaRepositoryReader()
+ throws FileNotFoundException, IOException, XmlPullParserException, RepositoryException, MetadataReaderException
+ {
+
+ byte [] mmBuf = reader.readRawData( "a/a/maven-metadata.xml" );
+
+ assertNotNull( mmBuf );
+ assertTrue( mmBuf.length > 1 );
+
+ ByteArrayInputStream bais = new ByteArrayInputStream( mmBuf );
+ Metadata mmd = _reader.read( bais );
+ bais.close();
+
+ validateMmd( mmd );
+ }
+ //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2NexusTest.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2NexusTest.java
new file mode 100644
index 0000000..e63d8ec
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2NexusTest.java
@@ -0,0 +1,144 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RemoteRepositoryWriterM2NexusTest
+extends AbstractRepositoryWriterM2Test
+{
+ protected boolean needNexus = false;
+
+ String nexusReleasesTestDir = "./target/nexus-webapp-1.0.1/runtime/work/storage/releases";
+ String nexusReleasesTestUrl = Nexus.nexusTestUrl+"/content/repositories/releases";
+
+ String nexusSnapshotsTestDir = "./target/nexus-webapp-1.0.1/runtime/work/storage/snapshots";
+ String nexusSnapshotsTestUrl = Nexus.nexusTestUrl+"/content/repositories/snapshots";
+
+ //------------------------------------------------------------------------------
+ @Override
+ void setReleases()
+ throws Exception
+ {
+ Nexus.stop();
+ targetDirectory = new File(nexusReleasesTestDir);
+ FileUtil.delete( new File( targetDirectory, "org" ) );
+ server.setURL( new URL(nexusReleasesTestUrl) );
+ Nexus.start( plexus );
+ }
+ //------------------------------------------------------------------------------
+ @Override
+ void setSnapshots()
+ throws Exception
+ {
+ Nexus.stop();
+ targetDirectory = new File( nexusSnapshotsTestDir );
+ FileUtil.delete( new File( targetDirectory, "org" ) );
+ server.setURL( new URL( nexusSnapshotsTestUrl ) );
+ Nexus.start( plexus );
+ }
+ //------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ needNexus = true;
+
+ super.setUp();
+
+ mdProcessor = new MetadataProcessorMock();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+
+ Credentials user = new Credentials( Nexus.nexusTestUser, Nexus.nexusTestPass );
+
+ server = new Server( "nexusTest", new URL(nexusSnapshotsTestUrl), false, false, user );
+
+ repo = new RemoteRepositoryM2( "testNexusRepo", server, new MavenDependencyProcessor() );
+
+ mdProcessor = new MetadataProcessorMock();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+
+ // verifiers
+ factories = new HashSet<StreamVerifierFactory>();
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, false )
+ , getClass().getResourceAsStream( secretKeyFile )
+ , keyId
+ , secretKeyPass
+ )
+ );
+ factories.add( new SHA1VerifierFactory(false,false) );
+ server.setWriterStreamVerifierFactories(factories);
+
+ repo.setDependencyProcessor( mdProcessor );
+ reader = repo.getReader();
+ writer = repo.getWriter();
+
+ setSnapshots();
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ public void testWriteContentionMultipleArtifacts()
+ throws Exception
+ {
+ System.out.println("Mutliple Artifacts contention test fails for remote repo. Currently there is no way to synchronize those writes");
+ }
+
+ @Override
+ public void testWriteContentionSingleArtifact()
+ throws Exception
+ {
+ System.out.println("Single Artifacts contention test fails for remote repo. Currently there is no way to synchronize those writes");
+ }
+
+ //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/THelper.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/THelper.java
new file mode 100644
index 0000000..9e71294
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/THelper.java
@@ -0,0 +1,39 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class THelper
+{
+ public static List<ArtifactBasicMetadata> toList( ArtifactBasicMetadata... bmds)
+ {
+ return Arrays.asList( bmds );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java
new file mode 100644
index 0000000..07f9c31
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java
@@ -0,0 +1,187 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryUpdateIntervalPolicy;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.metadata.AddVersionOperation;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.repository.metadata.StringOperand;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.spi.http.server.HttpTestServer;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+
+public class VirtualRepositoryReaderIntegratedTest
+extends TestCase
+{
+ File _testBase;
+ File _localRepoBase;
+
+ public String _port;
+ HttpTestServer _server;
+
+ List<ArtifactBasicMetadata> _query;
+
+ RemoteRepositoryM2 _remoteRepo;
+ LocalRepositoryM2 _localRepo;
+
+
+ VirtualRepositoryReader _vr;
+
+ //-------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ _testBase = new File("./target/test-classes/repoVr");
+ _localRepoBase = new File("./target/localRepo");
+
+ FileUtil.delete( _localRepoBase );
+ _localRepoBase.mkdirs();
+
+ _server = new HttpTestServer( _testBase, "/repo" );
+ _server.start();
+ _port = String.valueOf( _server.getPort() );
+
+ _query = new ArrayList<ArtifactBasicMetadata>();
+
+ DependencyProcessor mdProcessor = new MetadataProcessorMock();
+
+ Server server = new Server( "testRemoteRepo", new URL("http://localhost:"+_port+"/repo") );
+ _remoteRepo = new RemoteRepositoryM2( server, new MavenDependencyProcessor() );
+ _remoteRepo.setUpdatePolicy( new RepositoryUpdateIntervalPolicy("interval2").setInterval( 2000L ) );
+ _remoteRepo.setDependencyProcessor( mdProcessor );
+
+ _localRepo = new LocalRepositoryM2( "testLocalRepo", _localRepoBase, new MavenDependencyProcessor() );
+ _localRepo.setDependencyProcessor( mdProcessor );
+
+ List<Repository> reps = new ArrayList<Repository>();
+ reps.add( _remoteRepo );
+ reps.add( _localRepo );
+
+ _vr = new VirtualRepositoryReader( reps );
+ }
+ //-------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ _server.stop();
+ _server.destroy();
+ }
+ //-------------------------------------------------------------------------
+ public void testReadArtifact()
+ throws Exception
+ {
+ try
+ {
+ ArtifactBasicMetadata bmd = new ArtifactBasicMetadata("a:a:[1,)");
+ List<ArtifactBasicMetadata> q = THelper.toList( bmd );
+
+ ArtifactBasicResults vres = _vr.readVersions( q );
+
+ assertNotNull( vres );
+
+ assertFalse( vres.hasExceptions() );
+
+ assertTrue( vres.hasResults() );
+
+ assertTrue( vres.hasResults(bmd) );
+
+ List<ArtifactBasicMetadata> versions = vres.getResult( bmd );
+
+ assertNotNull( versions );
+
+ assertEquals( 5, versions.size() );
+
+ // add version 6 to GA metadata
+ File mdf = new File( _testBase, "a/a/maven-metadata.xml");
+ Metadata md = MetadataBuilder.getMetadata( FileUtil.readRawData( mdf ) );
+
+ byte [] newBytes = MetadataBuilder.changeMetadata( md, new AddVersionOperation(new StringOperand("6")) );
+
+ FileUtil.writeRawData( mdf, newBytes );
+
+ // repository policy is 2 sec, this should be still 5 versions
+ vres = _vr.readVersions( q );
+
+ assertNotNull( vres );
+
+ assertFalse( vres.hasExceptions() );
+
+ assertTrue( vres.hasResults() );
+
+ assertTrue( vres.hasResults(bmd) );
+
+ versions = vres.getResult( bmd );
+
+ assertNotNull( versions );
+
+ assertEquals( 5, versions.size() );
+
+ Thread.sleep( 4000L );
+
+ // repository policy is 2 sec, this should cause VR to re-read metadata
+ // should now have 6 versions
+ vres = _vr.readVersions( q );
+
+ assertNotNull( vres );
+
+ assertFalse( vres.hasExceptions() );
+
+ assertTrue( vres.hasResults() );
+
+ assertTrue( vres.hasResults(bmd) );
+
+ versions = vres.getResult( bmd );
+
+ assertNotNull( versions );
+
+ assertEquals( 6, versions.size() );
+
+ }
+ finally
+ {
+ // restore back 5 versions
+ File mdf = new File( _testBase, "a/a/maven-metadata.xml");
+ InputStream in = VirtualRepositoryReaderIntegratedTest.class.getResourceAsStream( "/repoVr/a.a-maven-metadata.xml" );
+ FileUtil.writeRawData( mdf, in );
+ }
+ }
+ //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/conf/plexus.properties b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/conf/plexus.properties
new file mode 100644
index 0000000..b541a13
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/conf/plexus.properties
@@ -0,0 +1,5 @@
+applicationPort=${nexus-application-port}
+runtime=${basedir}/runtime
+apps=${runtime}/apps
+nexus-work=${basedir}/../sonatype-work/nexus
+webapp=${runtime}/apps/nexus/webapp
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/log4j.properties b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/log4j.properties
new file mode 100644
index 0000000..f24df0e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/log4j.properties
@@ -0,0 +1,19 @@
+log4j.rootLogger=DEBUG, console, logfile
+
+log4j.logger.org.apache.commons=INFO
+log4j.logger.httpclient=INFO
+log4j.logger.org.apache.http=INFO
+log4j.logger.org.jsecurity=WARN
+
+# LOGFILE
+log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.logfile.File=${basedir}/../sonatype-work/nexus/logs/nexus.log
+log4j.appender.logfile.Append=true
+log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.layout.ConversionPattern=%4d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t:%x] - %c: %m%n
+
+# CONSOLE
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/conf/nexus.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/conf/nexus.xml
new file mode 100644
index 0000000..504eb7a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/conf/nexus.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nexusConfiguration>
+ <version>1.0.5</version>
+
+ <security>
+ <enabled>${nexus-security-enabled}</enabled>
+ <anonymousAccessEnabled>false</anonymousAccessEnabled>
+ <realms>
+ <realm>default</realm>
+ </realms>
+ </security>
+
+ <globalConnectionSettings />
+ <restApi />
+ <httpProxy>
+ <enabled>true</enabled>
+ </httpProxy>
+ <routing>
+ <groups />
+ </routing>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Maven Central</name>
+ <artifactMaxAge>-1</artifactMaxAge>
+ <remoteStorage>
+ <url>http://repo1.maven.org/maven2/</url>
+ </remoteStorage>
+ </repository>
+ <repository>
+ <id>apache-snapshots</id>
+ <name>Apache Snapshots</name>
+ <repositoryPolicy>snapshot</repositoryPolicy>
+ <remoteStorage>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ </remoteStorage>
+ </repository>
+ <repository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshots</name>
+ <repositoryPolicy>snapshot</repositoryPolicy>
+ <remoteStorage>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ </remoteStorage>
+ </repository>
+ <repository>
+ <id>releases</id>
+ <name>Releases</name>
+ <allowWrite>true</allowWrite>
+ <indexable>false</indexable>
+ <artifactMaxAge>-1</artifactMaxAge>
+ </repository>
+ <repository>
+ <id>snapshots</id>
+ <name>Snapshots</name>
+ <allowWrite>true</allowWrite>
+ <indexable>false</indexable>
+ <repositoryPolicy>snapshot</repositoryPolicy>
+ </repository>
+ <repository>
+ <id>thirdparty</id>
+ <name>3rd party</name>
+ <allowWrite>true</allowWrite>
+ <indexable>false</indexable>
+ <artifactMaxAge>-1</artifactMaxAge>
+ </repository>
+ <repository>
+ <id>test</id>
+ <name>test</name>
+ <allowWrite>true</allowWrite>
+ <indexable>false</indexable>
+ <checksumPolicy>ignore</checksumPolicy>
+ </repository>
+ </repositories>
+ <repositoryShadows>
+ <repositoryShadow>
+ <id>central-m1</id>
+ <name>Central M1 shadow</name>
+ <shadowOf>central</shadowOf>
+ </repositoryShadow>
+ </repositoryShadows>
+ <repositoryGrouping>
+ <pathMappings>
+ <pathMapping>
+ <id>inhouse-stuff</id>
+ <groupId>*</groupId>
+ <routePattern>.*/(com|org)/somecompany/.*</routePattern>
+ <routeType>inclusive</routeType>
+ <repositories>
+ <repository>snapshots</repository>
+ <repository>releases</repository>
+ </repositories>
+ </pathMapping>
+ <pathMapping>
+ <id>apache-stuff</id>
+ <groupId>*</groupId>
+ <routePattern>.*/org/some-oss/.*</routePattern>
+ <routeType>exclusive</routeType>
+ <repositories>
+ <repository>releases</repository>
+ <repository>snapshots</repository>
+ </repositories>
+ </pathMapping>
+ </pathMappings>
+ <repositoryGroups>
+ <repositoryGroup>
+ <groupId>public</groupId>
+ <name>Public Repositories</name>
+ <repositories>
+ <repository>releases</repository>
+ <repository>snapshots</repository>
+ <repository>thirdparty</repository>
+ <repository>central</repository>
+ </repositories>
+ </repositoryGroup>
+ <repositoryGroup>
+ <groupId>public-snapshots</groupId>
+ <name>Public Snapshot Repositories</name>
+ <repositories>
+ <repository>apache-snapshots</repository>
+ <repository>codehaus-snapshots</repository>
+ </repositories>
+ </repositoryGroup>
+ </repositoryGroups>
+ </repositoryGrouping>
+ <repositoryTargets>
+ <repositoryTarget>
+ <id>1</id>
+ <name>All (Maven2)</name>
+ <contentClass>maven2</contentClass>
+ <patterns>
+ <pattern>.*</pattern>
+ </patterns>
+ </repositoryTarget>
+ <repositoryTarget>
+ <id>2</id>
+ <name>All (Maven1)</name>
+ <contentClass>maven1</contentClass>
+ <patterns>
+ <pattern>.*</pattern>
+ </patterns>
+ </repositoryTarget>
+ <repositoryTarget>
+ <id>3</id>
+ <name>All but sources (Maven2)</name>
+ <contentClass>maven2</contentClass>
+ <patterns>
+ <pattern>(?!.*-sources.*).*</pattern>
+ </patterns>
+ </repositoryTarget>
+ <repositoryTarget>
+ <id>4</id>
+ <name>All Metadata (Maven2)</name>
+ <contentClass>maven2</contentClass>
+ <patterns>
+ <pattern>.*maven-metadata\.xml.*</pattern>
+ </patterns>
+ </repositoryTarget>
+ </repositoryTargets>
+ <smtpConfiguration>
+ <host>smtp-host</host>
+ <port>25</port>
+ <username>smtp-username</username>
+ <password>smtp-password</password>
+ <systemEmailAddress>system@nexus.org</systemEmailAddress>
+ </smtpConfiguration>
+</nexusConfiguration>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/conf/security.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/conf/security.xml
new file mode 100644
index 0000000..9f44fc2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/conf/security.xml
@@ -0,0 +1,798 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nexusSecurity>
+ <version>1.0.0</version>
+ <users>
+ <user>
+ <userId>admin</userId>
+ <name>Administrator</name>
+ <password>f865b53623b121fd34ee5426c792e5c33af8c227</password>
+ <status>active</status>
+ <email>oleg.subscriptions@gmail.com</email>
+ <roles>
+ <role>admin</role>
+ <role>deployment</role>
+ <role>developer</role>
+ </roles>
+ </user>
+ <user>
+ <userId>deployment</userId>
+ <name>Deployment User</name>
+ <password>b2a0e378437817cebdf753d7dff3dd75483af9e0</password>
+ <status>active</status>
+ <email>oleg.subscriptions@gmail.com</email>
+ <roles>
+ <role>deployment</role>
+ </roles>
+ </user>
+ <user>
+ <userId>anonymous</userId>
+ <name>Nexus Anonynmous User</name>
+ <password>0a92fab3230134cca6eadd9898325b9b2ae67998</password>
+ <status>active</status>
+ <email>oleg.subscriptions@gmail.com</email>
+ <roles>
+ <role>anonymous</role>
+ </roles>
+ </user>
+ </users>
+ <roles>
+ <role>
+ <id>admin</id>
+ <name>Nexus Administrator Role</name>
+ <description>Administration role for Nexus</description>
+ <sessionTimeout>30</sessionTimeout>
+ <privileges>
+ <privilege>1000</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>deployment</id>
+ <name>Nexus Deployment Role</name>
+ <description>Deployment role for Nexus</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>T1</privilege>
+ <privilege>T2</privilege>
+ <privilege>T3</privilege>
+ <privilege>T4</privilege>
+ <privilege>T5</privilege>
+ <privilege>T6</privilege>
+ <privilege>T7</privilege>
+ <privilege>T8</privilege>
+ <privilege>64</privilege>
+ </privileges>
+ <roles>
+ <role>anonymous</role>
+ </roles>
+ </role>
+ <role>
+ <id>anonymous</id>
+ <name>Nexus Anonymous Role</name>
+ <description>Anonymous role for Nexus</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>1</privilege>
+ <privilege>6</privilege>
+ <privilege>14</privilege>
+ <privilege>17</privilege>
+ <privilege>19</privilege>
+ <privilege>44</privilege>
+ <privilege>54</privilege>
+ <privilege>55</privilege>
+ <privilege>56</privilege>
+ <privilege>57</privilege>
+ <privilege>58</privilege>
+ <privilege>64</privilege>
+ <privilege>T1</privilege>
+ <privilege>T2</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>developer</id>
+ <name>Nexus Developer Role</name>
+ <description>Developer role for Nexus</description>
+ <sessionTimeout>30</sessionTimeout>
+ <privileges>
+ <privilege>2</privilege>
+ </privileges>
+ <roles>
+ <role>anonymous</role>
+ <role>deployment</role>
+ </roles>
+ </role>
+ <role>
+ <id>ui-search</id>
+ <name>UI: Search</name>
+ <description>Gives access to the Search screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>17</privilege>
+ <privilege>19</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-repo-browser</id>
+ <name>UI: Repository Browser</name>
+ <description>Gives access to the Repository Browser screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>6</privilege>
+ <privilege>14</privilege>
+ <privilege>55</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-system-feeds</id>
+ <name>UI: System Feeds</name>
+ <description>Gives access to the System Feeds screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>44</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-logs-config-files</id>
+ <name>UI: Logs and Config Files</name>
+ <description>Gives access to the Logs and Config Files screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>42</privilege>
+ <privilege>43</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-server-admin</id>
+ <name>UI: Server Administration</name>
+ <description>Gives access to the Server Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>3</privilege>
+ <privilege>4</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-repository-admin</id>
+ <name>UI: Repository Administration</name>
+ <description>Gives access to the Repository Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>5</privilege>
+ <privilege>6</privilege>
+ <privilege>7</privilege>
+ <privilege>8</privilege>
+ <privilege>10</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-group-admin</id>
+ <name>UI: Group Administration</name>
+ <description>Gives access to the Group Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>6</privilege>
+ <privilege>13</privilege>
+ <privilege>14</privilege>
+ <privilege>15</privilege>
+ <privilege>16</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-routing-admin</id>
+ <name>UI: Routing Administration</name>
+ <description>Gives access to the Routing Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>6</privilege>
+ <privilege>14</privilege>
+ <privilege>22</privilege>
+ <privilege>23</privilege>
+ <privilege>24</privilege>
+ <privilege>25</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-scheduled-tasks-admin</id>
+ <name>UI: Scheduled Task Administration</name>
+ <description>Gives access to the Scheduled Task Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>6</privilege>
+ <privilege>14</privilege>
+ <privilege>26</privilege>
+ <privilege>27</privilege>
+ <privilege>28</privilege>
+ <privilege>29</privilege>
+ <privilege>69</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-repository-targets-admin</id>
+ <name>UI: Repository Target Administration</name>
+ <description>Gives access to the Repository Target Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>45</privilege>
+ <privilege>46</privilege>
+ <privilege>47</privilege>
+ <privilege>48</privilege>
+ <privilege>56</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-users-admin</id>
+ <name>UI: User Administration</name>
+ <description>Gives access to the User Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>35</privilege>
+ <privilege>38</privilege>
+ <privilege>39</privilege>
+ <privilege>40</privilege>
+ <privilege>41</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-roles-admin</id>
+ <name>UI: Role Administration</name>
+ <description>Gives access to the Role Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>31</privilege>
+ <privilege>34</privilege>
+ <privilege>35</privilege>
+ <privilege>36</privilege>
+ <privilege>37</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-privileges-admin</id>
+ <name>UI: Privilege Administration</name>
+ <description>Gives access to the Privilege Administration screen in Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>6</privilege>
+ <privilege>14</privilege>
+ <privilege>30</privilege>
+ <privilege>31</privilege>
+ <privilege>32</privilege>
+ <privilege>33</privilege>
+ <privilege>46</privilege>
+ </privileges>
+ </role>
+ <role>
+ <id>ui-basic</id>
+ <name>UI: Base UI Privileges</name>
+ <description>Generic privileges for users in the Nexus UI</description>
+ <sessionTimeout>60</sessionTimeout>
+ <privileges>
+ <privilege>1</privilege>
+ <privilege>2</privilege>
+ <privilege>64</privilege>
+ </privileges>
+ </role>
+ </roles>
+ <repositoryTargetPrivileges>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>1</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T1</id>
+ <name>All M2 Repositories - (read)</name>
+ <description>Give permission to read any content in any Maven 2 type repositories.</description>
+ <method>read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>2</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T2</id>
+ <name>All M1 Repositories - (read)</name>
+ <description>Give permission to read any content in any Maven 1 type repositories.</description>
+ <method>read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>1</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T3</id>
+ <name>All M2 Repositories - (update)</name>
+ <description>Give permission to update any content in any Maven 2 type repositories.</description>
+ <method>update,read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>2</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T4</id>
+ <name>All M1 Repositories - (update)</name>
+ <description>Give permission to update any content in any Maven 1 type repositories.</description>
+ <method>update,read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>1</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T5</id>
+ <name>All M2 Repositories - (create)</name>
+ <description>Give permission to create any content in any Maven 2 type repositories.</description>
+ <method>create,read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>2</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T6</id>
+ <name>All M1 Repositories - (create)</name>
+ <description>Give permission to create any content in any Maven 1 type repositories.</description>
+ <method>create,read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>1</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T7</id>
+ <name>All M2 Repositories - (delete)</name>
+ <description>Give permission to delete any content in any Maven 2 type repositories.</description>
+ <method>delete,read</method>
+ </repositoryTargetPrivilege>
+ <repositoryTargetPrivilege>
+ <repositoryTargetId>2</repositoryTargetId>
+ <repositoryId></repositoryId>
+ <groupId></groupId>
+ <id>T8</id>
+ <name>All M1 Repositories - (delete)</name>
+ <description>Give permission to delete any content in any Maven 1 type repositories.</description>
+ <method>delete,read</method>
+ </repositoryTargetPrivilege>
+ </repositoryTargetPrivileges>
+ <applicationPrivileges>
+ <applicationPrivilege>
+ <permission>nexus:*</permission>
+ <id>1000</id>
+ <name>Administrator privilege (ALL)</name>
+ <description>Give permission to everything available in nexus.</description>
+ <method>*</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:status</permission>
+ <id>1</id>
+ <name>Status - (read)</name>
+ <description>Give permission to query the nexus server for it's status. This privilege is required by the anonymous user so that the UI can retrieve anonymous permissions on startup.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:authentication</permission>
+ <id>2</id>
+ <name>Login to UI</name>
+ <description>Give permission to allow a user to login to nexus.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:settings</permission>
+ <id>3</id>
+ <name>Server Settings - (read)</name>
+ <description>Give permission to read the nexus server settings.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:settings</permission>
+ <id>4</id>
+ <name>Server Settings - (update,read)</name>
+ <description>Give permission to update,read the nexus server settings.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repositories</permission>
+ <id>5</id>
+ <name>Repositories - (create,read)</name>
+ <description>Give permission to create,read new repositories.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repositories</permission>
+ <id>6</id>
+ <name>Repositories - (read)</name>
+ <description>Give permission to read existing repository configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repositories</permission>
+ <id>7</id>
+ <name>Repositories - (update,read)</name>
+ <description>Give permission to update,read existing repository configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repositories</permission>
+ <id>8</id>
+ <name>Repositories - (delete,read)</name>
+ <description>Give permission to delete,read existing repositories.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repotemplates</permission>
+ <id>9</id>
+ <name>Repository Templates - (create,read)</name>
+ <description>Give permission to create,read new repository templates. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repotemplates</permission>
+ <id>10</id>
+ <name>Repository Templates - (read)</name>
+ <description>Give permission to read existing repository template configuration. This privilege is required to add a new Repository in the UI, as the default values are retrieved from the template on the server.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repotemplates</permission>
+ <id>11</id>
+ <name>Repository Templates - (update,read)</name>
+ <description>Give permission to update,read existing repository template configuration. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repotemplates</permission>
+ <id>12</id>
+ <name>Repository Templates - (delete,read)</name>
+ <description>Give permission to delete,read existing repository templates. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repogroups</permission>
+ <id>13</id>
+ <name>Repository Groups - (create,read)</name>
+ <description>Give permission to create,read new repository groups.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repogroups</permission>
+ <id>14</id>
+ <name>Repository Groups - (read)</name>
+ <description>Give permission to read existing repository group configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repogroups</permission>
+ <id>15</id>
+ <name>Repository Groups - (update,read)</name>
+ <description>Give permission to update,read existing repository group configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repogroups</permission>
+ <id>16</id>
+ <name>Repository Groups - (delete,read)</name>
+ <description>Give permission to delete,read existing repository groups.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:index</permission>
+ <id>17</id>
+ <name>Search Repositories</name>
+ <description>Give permission to perform searches of repository content.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:index</permission>
+ <id>18</id>
+ <name>Reindex</name>
+ <description>Give permission to Reindex repository content. The extents of this privilege are related to the allowed targets.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:identify</permission>
+ <id>19</id>
+ <name>Checksum Search</name>
+ <description>Give permission to perform checksum type searches of repository content. The extents of this privilege are related to the allowed targets.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:attributes</permission>
+ <id>20</id>
+ <name>Rebuild Repository Attributes</name>
+ <description>Give permission to rebuild the attributes of repository content. The extents of this privilege are related to the allowed targets.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:cache</permission>
+ <id>21</id>
+ <name>Clear Repository Cache</name>
+ <description>Give permission to clear the content of a repositories not found cache. The extents of this privilege are related to the allowed targets.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:routes</permission>
+ <id>22</id>
+ <name>Repository Routes - (create,read)</name>
+ <description>Give permission to create,read repository routes.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:routes</permission>
+ <id>23</id>
+ <name>Repository Routes - (read)</name>
+ <description>Give permission to read existing repository route configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:routes</permission>
+ <id>24</id>
+ <name>Repository Routes - (update,read)</name>
+ <description>Give permission to update,read existing repository route configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:routes</permission>
+ <id>25</id>
+ <name>Repository Routes - (delete,read)</name>
+ <description>Give permission to delete,read existing repository routes.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:tasks</permission>
+ <id>26</id>
+ <name>Scheduled Tasks - (create,read)</name>
+ <description>Give permission to create,read scheduled tasks.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:tasks</permission>
+ <id>27</id>
+ <name>Scheduled Tasks - (read)</name>
+ <description>Give permission to read existing scheduled task configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:tasks</permission>
+ <id>28</id>
+ <name>Scheduled Tasks - (update,read)</name>
+ <description>Give permission to update,read existing scheduled task configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:tasks</permission>
+ <id>29</id>
+ <name>Scheduled Tasks - (delete,read)</name>
+ <description>Give permission to delete,read existing scheduled tasks.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:privileges</permission>
+ <id>30</id>
+ <name>User Privileges - (create,read)</name>
+ <description>Give permission to create,read privileges.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:privileges</permission>
+ <id>31</id>
+ <name>User Privileges - (read)</name>
+ <description>Give permission to read existing privilege configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:privileges</permission>
+ <id>32</id>
+ <name>User Privileges - (update,read)</name>
+ <description>Give permission to update,read existing privilege configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:privileges</permission>
+ <id>33</id>
+ <name>User Privileges - (delete,read)</name>
+ <description>Give permission to delete,read existing privileges.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:roles</permission>
+ <id>34</id>
+ <name>User Roles - (create,read)</name>
+ <description>Give permission to create,read user roles.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:roles</permission>
+ <id>35</id>
+ <name>User Roles - (read)</name>
+ <description>Give permission to read existing user role configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:roles</permission>
+ <id>36</id>
+ <name>User Roles - (update,read)</name>
+ <description>Give permission to update,read existing user role configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:roles</permission>
+ <id>37</id>
+ <name>User Roles - (delete,read)</name>
+ <description>Give permission to delete,read existing user roles.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:users</permission>
+ <id>38</id>
+ <name>Users - (create,read)</name>
+ <description>Give permission to create,read users.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:users</permission>
+ <id>39</id>
+ <name>Users - (read)</name>
+ <description>Give permission to read existing user configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:users</permission>
+ <id>40</id>
+ <name>Users - (update,read)</name>
+ <description>Give permission to update,read existing user configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:users</permission>
+ <id>41</id>
+ <name>Users - (delete,read)</name>
+ <description>Give permission to delete,read existing users.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:logs</permission>
+ <id>42</id>
+ <name>Logs - (read)</name>
+ <description>Give permission to retrieve the nexus log files.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:configuration</permission>
+ <id>43</id>
+ <name>Configuration File - (read)</name>
+ <description>Give permission to retrieve the nexus.xml configuration file.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:feeds</permission>
+ <id>44</id>
+ <name>RSS Feeds - (read)</name>
+ <description>Give permission to view the different RSS feeds. The extents of this privilege are related to the allowed targets.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:targets</permission>
+ <id>45</id>
+ <name>Repository Targets - (create,read)</name>
+ <description>Give permission to create,read repository targets.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:targets</permission>
+ <id>46</id>
+ <name>Repository Targets - (read)</name>
+ <description>Give permission to read existing repository target configuration.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:targets</permission>
+ <id>47</id>
+ <name>Repository Targets - (update,read)</name>
+ <description>Give permission to update,read existing repository target configuration.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:targets</permission>
+ <id>48</id>
+ <name>Repository Targets - (delete,read)</name>
+ <description>Give permission to delete,read existing repository targets.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:status</permission>
+ <id>49</id>
+ <name>Server Status - (update,read)</name>
+ <description>Give permission to update,read the status of the nexus server. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:wastebasket</permission>
+ <id>50</id>
+ <name>Wastebasket - (read)</name>
+ <description>Give permission to read the contents of the nexus trash. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:wastebasket</permission>
+ <id>51</id>
+ <name>Wastebasket - (delete,read)</name>
+ <description>Give permission to delete,read the contents of the nexus trash.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:artifact</permission>
+ <id>54</id>
+ <name>Artifact Download</name>
+ <description>Give permission to download artifacts (using /artifact service, not the /content url). The extents of this privilege are related to the allowed targets.. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repostatus</permission>
+ <id>55</id>
+ <name>Read Repository Status</name>
+ <description>Give permission to retrieve the status of a repository.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repocontentclasses</permission>
+ <id>56</id>
+ <name>Repository Content Classes - (read)</name>
+ <description>Give permission to retrieve the list of repository content classes supported by nexus.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:usersforgotpw</permission>
+ <id>57</id>
+ <name>User Forgot Password - (create,read)</name>
+ <description>Give permission to request that a password be generated an emailed to a certain user.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:usersforgotid</permission>
+ <id>58</id>
+ <name>User Forgot User Id - (create,read)</name>
+ <description>Give permission to request that a username be emailed to a certain email address.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:usersreset</permission>
+ <id>59</id>
+ <name>User Reset Password - (delete,read)</name>
+ <description>Give permission to reset any user's password.</description>
+ <method>delete,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:userschangepw</permission>
+ <id>64</id>
+ <name>User Change Password - (create,read)</name>
+ <description>Give permission to change a user's password.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:artifact</permission>
+ <id>65</id>
+ <name>Artifact Upload</name>
+ <description>Give permission to upload artifacts (using /artifact service, not the /content service). The extents of this privilege are related to the allowed targets.</description>
+ <method>create,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:command</permission>
+ <id>66</id>
+ <name>Nexus Remote Control</name>
+ <description>Give permission to remotely control nexus server (start, stop, etc.). Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>update,read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:repometa</permission>
+ <id>67</id>
+ <name>Read Repository Metadata</name>
+ <description>Give permission to read the repository metadata. Note that this privilege is not currently invoked by the Nexus UI.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:tasksrun</permission>
+ <id>68</id>
+ <name>Scheduled Tasks - (run)</name>
+ <description>Give permission to run existing scheduled tasks manually.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ <applicationPrivilege>
+ <permission>nexus:tasktypes</permission>
+ <id>69</id>
+ <name>Scheduled Task Types - (read)</name>
+ <description>Give permission to retrieve list of support task types available in nexus.</description>
+ <method>read</method>
+ </applicationPrivilege>
+ </applicationPrivileges>
+</nexusSecurity>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_a.cfs
new file mode 100644
index 0000000..38318df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_b.cfs
new file mode 100644
index 0000000..be9ae0f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/segments_p
new file mode 100644
index 0000000..d983d3e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/timestamp
new file mode 100644
index 0000000..a3eb256
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_a.cfs
new file mode 100644
index 0000000..38318df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_b.cfs
new file mode 100644
index 0000000..be9ae0f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/segments_p
new file mode 100644
index 0000000..64a4254
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/timestamp
new file mode 100644
index 0000000..6a9fcb0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/apache-snapshots-remote/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_a.cfs
new file mode 100644
index 0000000..76b5690
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_b.cfs
new file mode 100644
index 0000000..32ca269
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/segments_p
new file mode 100644
index 0000000..dfd55b2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/timestamp
new file mode 100644
index 0000000..e015ad0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_a.cfs
new file mode 100644
index 0000000..da4d9a6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_b.cfs
new file mode 100644
index 0000000..97c3f5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/segments_p
new file mode 100644
index 0000000..50212e8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/timestamp
new file mode 100644
index 0000000..bb4811d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-m1-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_a.cfs
new file mode 100644
index 0000000..76b5690
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_b.cfs
new file mode 100644
index 0000000..32ca269
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/segments_p
new file mode 100644
index 0000000..32cedad
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/timestamp
new file mode 100644
index 0000000..2ced46c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/central-remote/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_a.cfs
new file mode 100644
index 0000000..7cb7ef8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_b.cfs
new file mode 100644
index 0000000..4e81302
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/segments_p
new file mode 100644
index 0000000..cf18c7e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/timestamp
new file mode 100644
index 0000000..770a401
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_a.cfs
new file mode 100644
index 0000000..7cb7ef8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_b.cfs
new file mode 100644
index 0000000..4e81302
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/segments_p
new file mode 100644
index 0000000..59e963b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/timestamp
new file mode 100644
index 0000000..cd71792
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/codehaus-snapshots-remote/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_a.cfs
new file mode 100644
index 0000000..c677b91
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_b.cfs
new file mode 100644
index 0000000..c2b62c0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/segments_p
new file mode 100644
index 0000000..450fa47
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/timestamp
new file mode 100644
index 0000000..274cbf9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-merged/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_a.cfs
new file mode 100644
index 0000000..240e436
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_b.cfs
new file mode 100644
index 0000000..520c6de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/segments_p
new file mode 100644
index 0000000..8456d81
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/timestamp
new file mode 100644
index 0000000..b332bb2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/public-snapshots-merged/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_a.cfs
new file mode 100644
index 0000000..8a11b33
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_b.cfs
new file mode 100644
index 0000000..d3ec157
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/segments_p
new file mode 100644
index 0000000..f94b040
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/timestamp
new file mode 100644
index 0000000..3453a0e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/releases-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_a.cfs
new file mode 100644
index 0000000..dfdf192
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_b.cfs
new file mode 100644
index 0000000..a2d9810
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/segments_p
new file mode 100644
index 0000000..da72943
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/timestamp
new file mode 100644
index 0000000..7b331d3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/snapshots-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/_0.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/_0.cfs
new file mode 100644
index 0000000..9db73c2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/_0.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/segments.gen
new file mode 100644
index 0000000..e9fa600
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/segments_3 b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/segments_3
new file mode 100644
index 0000000..a541ce1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/segments_3
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/test-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_a.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_a.cfs
new file mode 100644
index 0000000..dda94a5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_a.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_a_1.del b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_a_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_a_1.del
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_b.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_b.cfs
new file mode 100644
index 0000000..41e29fc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/_b.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/segments.gen
new file mode 100644
index 0000000..58d0276
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/segments_p b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/segments_p
new file mode 100644
index 0000000..90af8a7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/segments_p
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/timestamp b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/timestamp
new file mode 100644
index 0000000..7b44e6d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/timestamp
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/indexer/thirdparty-local/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_hosted_release.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_hosted_release.xml
new file mode 100644
index 0000000..bc91329
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_hosted_release.xml
@@ -0,0 +1,19 @@
+<org.sonatype.nexus.configuration.model.CRepository>
+ <id>default_hosted_release</id>
+ <name></name>
+ <localStatus>inService</localStatus>
+ <proxyMode>allow</proxyMode>
+ <type>maven2</type>
+ <allowWrite>true</allowWrite>
+ <browseable>true</browseable>
+ <indexable>true</indexable>
+ <notFoundCacheTTL>1440</notFoundCacheTTL>
+ <artifactMaxAge>-1</artifactMaxAge>
+ <metadataMaxAge>1440</metadataMaxAge>
+ <maintainProxiedRepositoryMetadata>false</maintainProxiedRepositoryMetadata>
+ <repositoryPolicy>release</repositoryPolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ <downloadRemoteIndexes>false</downloadRemoteIndexes>
+ <modelVersion>1.0.5</modelVersion>
+ <modelEncoding>UTF-8</modelEncoding>
+</org.sonatype.nexus.configuration.model.CRepository>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_hosted_snapshot.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_hosted_snapshot.xml
new file mode 100644
index 0000000..6470118
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_hosted_snapshot.xml
@@ -0,0 +1,19 @@
+<org.sonatype.nexus.configuration.model.CRepository>
+ <id>default_hosted_snapshot</id>
+ <name></name>
+ <localStatus>inService</localStatus>
+ <proxyMode>allow</proxyMode>
+ <type>maven2</type>
+ <allowWrite>true</allowWrite>
+ <browseable>true</browseable>
+ <indexable>true</indexable>
+ <notFoundCacheTTL>1440</notFoundCacheTTL>
+ <artifactMaxAge>1440</artifactMaxAge>
+ <metadataMaxAge>1440</metadataMaxAge>
+ <maintainProxiedRepositoryMetadata>false</maintainProxiedRepositoryMetadata>
+ <repositoryPolicy>snapshot</repositoryPolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ <downloadRemoteIndexes>false</downloadRemoteIndexes>
+ <modelVersion>1.0.5</modelVersion>
+ <modelEncoding>UTF-8</modelEncoding>
+</org.sonatype.nexus.configuration.model.CRepository>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_proxy_release.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_proxy_release.xml
new file mode 100644
index 0000000..7adc179
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_proxy_release.xml
@@ -0,0 +1,24 @@
+<org.sonatype.nexus.configuration.model.CRepository>
+ <id>default_proxy_release</id>
+ <name></name>
+ <localStatus>inService</localStatus>
+ <proxyMode>allow</proxyMode>
+ <type>maven2</type>
+ <allowWrite>false</allowWrite>
+ <browseable>true</browseable>
+ <indexable>true</indexable>
+ <notFoundCacheTTL>1440</notFoundCacheTTL>
+ <artifactMaxAge>-1</artifactMaxAge>
+ <metadataMaxAge>1440</metadataMaxAge>
+ <maintainProxiedRepositoryMetadata>false</maintainProxiedRepositoryMetadata>
+ <repositoryPolicy>release</repositoryPolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ <downloadRemoteIndexes>true</downloadRemoteIndexes>
+ <remoteStorage>
+ <provider>apacheHttpClient3x</provider>
+ <url>http://some-remote-repository/repo-root</url>
+ <modelEncoding>UTF-8</modelEncoding>
+ </remoteStorage>
+ <modelVersion>1.0.5</modelVersion>
+ <modelEncoding>UTF-8</modelEncoding>
+</org.sonatype.nexus.configuration.model.CRepository>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_proxy_snapshot.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_proxy_snapshot.xml
new file mode 100644
index 0000000..9f5fe46
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repository-default_proxy_snapshot.xml
@@ -0,0 +1,24 @@
+<org.sonatype.nexus.configuration.model.CRepository>
+ <id>default_proxy_snapshot</id>
+ <name></name>
+ <localStatus>inService</localStatus>
+ <proxyMode>allow</proxyMode>
+ <type>maven2</type>
+ <allowWrite>false</allowWrite>
+ <browseable>true</browseable>
+ <indexable>true</indexable>
+ <notFoundCacheTTL>1440</notFoundCacheTTL>
+ <artifactMaxAge>1440</artifactMaxAge>
+ <metadataMaxAge>1440</metadataMaxAge>
+ <maintainProxiedRepositoryMetadata>false</maintainProxiedRepositoryMetadata>
+ <repositoryPolicy>snapshot</repositoryPolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ <downloadRemoteIndexes>true</downloadRemoteIndexes>
+ <remoteStorage>
+ <provider>apacheHttpClient3x</provider>
+ <url>http://some-remote-repository/repo-root</url>
+ <modelEncoding>UTF-8</modelEncoding>
+ </remoteStorage>
+ <modelVersion>1.0.5</modelVersion>
+ <modelEncoding>UTF-8</modelEncoding>
+</org.sonatype.nexus.configuration.model.CRepository>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repositoryShadow-default_virtual.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repositoryShadow-default_virtual.xml
new file mode 100644
index 0000000..fa1c046
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/template-store/repositoryShadow-default_virtual.xml
@@ -0,0 +1,9 @@
+<org.sonatype.nexus.configuration.model.CRepositoryShadow>
+ <id>default_virtual</id>
+ <name></name>
+ <localStatus>inService</localStatus>
+ <type>maven1</type>
+ <syncAtStartup>false</syncAtStartup>
+ <modelVersion>1.0.5</modelVersion>
+ <modelEncoding>UTF-8</modelEncoding>
+</org.sonatype.nexus.configuration.model.CRepositoryShadow>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_h.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_h.cfs
new file mode 100644
index 0000000..540b2fc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_h.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_i.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_i.cfs
new file mode 100644
index 0000000..ed639c8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_i.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_j.cfs b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_j.cfs
new file mode 100644
index 0000000..34df4dc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/_j.cfs
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/segments.gen b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/segments.gen
new file mode 100644
index 0000000..34e4d8d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/segments.gen
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/segments_15 b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/segments_15
new file mode 100644
index 0000000..d6e919f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/segments_15
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/write.lock b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/nexus/work/timeline/write.lock
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/META-INF/plexus/components.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000..3164ce9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/META-INF/plexus/components.xml
@@ -0,0 +1,42 @@
+<component-set>
+ <components>
+
+ <component>
+ <role>org.sonatype.appbooter.ForkedAppBooter</role>
+ <role-hint>NexusForkedAppBooter</role-hint>
+ <implementation>org.sonatype.appbooter.DefaultForkedAppBooter</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <description></description>
+ <isolated-realm>false</isolated-realm>
+ <configuration>
+ <disable-blocking>true</disable-blocking>
+ <debug>false</debug>
+ <java-cmd>java</java-cmd>
+ <debug-port>5005</debug-port>
+ <debug-suspend>true</debug-suspend>
+ <debug-java-cmd>java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=@DEBUG_SUSPEND@,address=@DEBUG_PORT@ -Djava.compiler=NONE</debug-java-cmd>
+ <launcher-class>org.sonatype.appbooter.PlexusContainerHost</launcher-class>
+ <configuration>${nexus-plexus-config-file}</configuration>
+ <basedir>${nexus-abs-basedir}</basedir>
+ <temp-dir>${project.build.directory}/appbooter.tmp/</temp-dir>
+ <control-port>${nexus-control-port}</control-port>
+ <platform-file>${nexus-abs-basedir}/lib/plexus-platform-jsw-*.jar</platform-file>
+ <class-path-elements elements="java.lang.String">
+ <class-path-element>${nexus-abs-basedir}/runtime/apps/nexus/conf</class-path-element>
+ <class-path-element>${nexus-abs-basedir}/runtime/apps/nexus/lib/*.jar</class-path-element>
+ </class-path-elements>
+ <sleep-after-start>6000</sleep-after-start>
+ <systemProperties>
+ <plexus.application-port>${nexus-application-port}</plexus.application-port>
+ <plexus.application-host>${jetty-application-host}</plexus.application-host>
+ <plexus.runtime>${nexus-abs-basedir}/runtime</plexus.runtime>
+ <plexus.apps>${nexus-abs-basedir}/runtime/apps</plexus.apps>
+ <plexus.nexus-work>${nexus-abs-basedir}/runtime/work</plexus.nexus-work>
+ <plexus.webapp>${nexus-abs-basedir}/runtime/apps/nexus/webapp</plexus.webapp>
+ <plexus.webapp-context-path>/nexus</plexus.webapp-context-path>
+ </systemProperties>
+ </configuration>
+ </component>
+
+ </components>
+</component-set>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-assembly-plugin-2.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-assembly-plugin-2.1.pom
new file mode 100644
index 0000000..96fb116
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-assembly-plugin-2.1.pom
@@ -0,0 +1,118 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>maven-plugins</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <version>1</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <name>Maven Assembly Plugin</name>
+ <version>2.1</version>
+ <prerequisites>
+ <maven>2.0.4</maven>
+ </prerequisites>
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.1</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.1</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.1</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/BasicAbstractAssemblyMojoFeaturesTest*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>descriptor</id>
+ <goals>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/descriptor.mdo</model>
+ <version>1.0.0</version>
+ </configuration>
+ </execution>
+ <execution>
+ <id>component</id>
+ <goals>
+ <goal>xpp3-reader</goal>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/component.mdo</model>
+ <version>1.0.0</version>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-archiver</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.0-beta-1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-clean-plugin-2.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-clean-plugin-2.2.pom
new file mode 100644
index 0000000..ebae1e3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-clean-plugin-2.2.pom
@@ -0,0 +1,103 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <version>10</version>
+ </parent>
+
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.2</version>
+ <packaging>maven-plugin</packaging>
+ <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>
+
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+
+ <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>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <!-- Test -->
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <contributors>
+ <contributor>
+ <name>Jesse McConnell</name>
+ </contributor>
+ </contributors>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.4</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.2</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/plugins/tags/maven-clean-plugin-2.2</url>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-compiler-plugin-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-compiler-plugin-2.0.2.pom
new file mode 100644
index 0000000..ab7ac19
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-compiler-plugin-2.0.2.pom
@@ -0,0 +1,65 @@
+<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>
+ <artifactId>maven-plugins</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <version>8</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <name>Maven Compiler Plugin</name>
+ <version>2.0.2</version>
+ <inceptionYear>2001</inceptionYear>
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+ <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>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-manager</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-javac</artifactId>
+ <version>1.5.3</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.0-beta-1</version>
+ <scope>test</scope>
+ </dependency>
+ </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
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.jar.sha1
new file mode 100644
index 0000000..9206b49
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.jar.sha1
@@ -0,0 +1 @@
+e1003a0a66dae77515259c5e591ea1cfd73c2859
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.pom
new file mode 100644
index 0000000..08d0c39
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.pom
@@ -0,0 +1,234 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.9</version>
+ </parent>
+
+ <artifactId>maven-core</artifactId>
+ <name>Maven Core</name>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>apache.snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-error-diagnostics</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.0</version>
+ <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>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-4</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-utils</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ </dependency>
+ </dependencies>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>l10n-maven-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <configuration>
+ <locales>
+ <locale>el</locale>
+ <locale>de</locale>
+ <locale>es</locale>
+ <locale>fr</locale>
+ <locale>ja</locale>
+ <locale>nl</locale>
+ <locale>no</locale>
+ <locale>pl</locale>
+ <locale>zh_CN</locale>
+ </locales>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <profiles>
+ <profile>
+ <id>include-site</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-scm-plugin</artifactId>
+ <configuration>
+ <connectionUrl>scm:svn:http://svn.apache.org/repos/asf/maven/site/trunk</connectionUrl>
+ <checkoutDirectory>${project.build.directory}/maven-site</checkoutDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>initialize</phase>
+ <goals>
+ <goal>checkout</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-invoker-plugin</artifactId>
+ <configuration>
+ <projectsDirectory>${project.build.directory}/maven-site</projectsDirectory>
+ <pom>${project.build.directory}/maven-site/pom.xml</pom>
+ <goals>
+ <goal>clean</goal>
+ <goal>site</goal>
+ </goals>
+ </configuration>
+ <executions>
+ <execution>
+ <id>initialize</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.pom.sha1
new file mode 100644
index 0000000..fdc4bf1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/maven-core-2.0.9.pom.sha1
@@ -0,0 +1 @@
+25da75e747afa1c361f003aed72de2e48dd190a7
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/org/apache/maven/mercury/plexus/DefaultPlexusMercury.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/org/apache/maven/mercury/plexus/DefaultPlexusMercury.xml
new file mode 100644
index 0000000..d564170
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/org/apache/maven/mercury/plexus/DefaultPlexusMercury.xml
@@ -0,0 +1,31 @@
+<plexus>
+ <components>
+
+ <component>
+ <role>org.apache.maven.mercury.builder.api.DependencyProcessor</role>
+ <role-hint>maven</role-hint>
+ <implementation>org.apache.maven.mercury.MavenDependencyProcessor</implementation>
+ <isolated-realm>false</isolated-realm>
+ </component>
+
+ <component>
+ <role>org.apache.maven.mercury.plexus.PlexusMercury</role>
+ <role-hint>default</role-hint>
+ <implementation>org.apache.maven.mercury.plexus.DefaultPlexusMercury</implementation>
+ <isolated-realm>false</isolated-realm>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.mercury.builder.api.DependencyProcessor</role>
+ <role-hint>maven</role-hint>
+ <field-name>dependencyProcessor</field-name>
+ </requirement>
+ <requirement>
+ <role>org.codehaus.plexus.PlexusContainer</role>
+ <role-hint>default</role-hint>
+ <field-name>plexus</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ </components>
+</plexus>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom
new file mode 100644
index 0000000..61cd0de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom.asc
new file mode 100644
index 0000000..c2e0eb4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPI6twCeI7VvcHQG6U3WZzIISSvB5sAY
+kcgAn2jHpt7cn7mYtjdjzusCCoz4N4rP
+=kmbj
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom.sha1
new file mode 100644
index 0000000..b18a158
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/1/a-1.pom.sha1
@@ -0,0 +1 @@
+091dbc096cec514c31de4d1e0b119c7d2e0639f5
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar.asc
new file mode 100644
index 0000000..a7a5c9f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLK3gCfZgHnx0PXnKJ2gfnzGEDjsrUE
+VQcAniRHqGSUAkO1trEIrC5098seLbXP
+=cUku
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar.sha1
new file mode 100644
index 0000000..2e434d4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.jar.sha1
@@ -0,0 +1 @@
+94247cc72a3afe798ebc4a6986e8e654f5f4c8da
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom
new file mode 100644
index 0000000..b09ea5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>[1,2]</version>
+ </dependency>
+
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3)</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom.asc
new file mode 100644
index 0000000..a7a5c9f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLK3gCfZgHnx0PXnKJ2gfnzGEDjsrUE
+VQcAniRHqGSUAkO1trEIrC5098seLbXP
+=cUku
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom.sha1
new file mode 100644
index 0000000..c2faf61
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/2/a-2.pom.sha1
@@ -0,0 +1 @@
+1a540985f7b334ed063608752662c0a4b5506b09
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.jar.sha1
new file mode 100644
index 0000000..2e434d4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.jar.sha1
@@ -0,0 +1 @@
+94247cc72a3afe798ebc4a6986e8e654f5f4c8da
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom
new file mode 100644
index 0000000..dcb5695
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>3</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>(1,)</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom.asc
new file mode 100644
index 0000000..cf98bf7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLrhACfTT5GHrb3bpLQ4Bx49TU5rQNc
+6uwAn3vJD8rBzum6GA2ZHTEu+ZYGyTAX
+=RyHy
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom.sha1
new file mode 100644
index 0000000..cb884bb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/3/a-3.pom.sha1
@@ -0,0 +1 @@
+61aab4a3ea7b2d8c7402ebee529b600162c3334a
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4-sources.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4-sources.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4-sources.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar.asc
new file mode 100644
index 0000000..0a7f215
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLJ3QCfVu2lPz7TQBOt0R3jeljxpI7L
+kSMAnj+dp10qoRNw3HExpkI79Y+dUVvT
+=AaQS
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar.sha1
new file mode 100644
index 0000000..95f6d9d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.jar.sha1
@@ -0,0 +1 @@
+c35fe6fb7d71197acbf7c47c194c45082e4b65f2
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom.asc
new file mode 100644
index 0000000..fd408b6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLkcgCfaFp/ZufMccd2eSS2NhbXtFyi
+cccAn0UGf+mvbAUBNOEQ5M7f2BorXEi1
+=EqoA
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/a-4.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml
new file mode 100644
index 0000000..174ac2b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <versions>
+ <version>4</version>
+ </versions>
+ <lastUpdated>20080821193939</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml.asc
new file mode 100644
index 0000000..b0297c3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPIxRACfRTKjSYX27YAz1XZTqC8RSyDA
+BakAn2TRgECjpYvu2RuHj3G+fwjNwJEy
+=0wlt
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml.sha1
new file mode 100644
index 0000000..2a11780
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/4/maven-metadata-local.xml.sha1
@@ -0,0 +1 @@
+f5f5a0b359ebce47bad0a406a39fbced3d3add91
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.asc
new file mode 100644
index 0000000..0bafd8f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLJ3QCbBte1m0QE7cvfUPmYEDERg8Cd
+6pIAn3PosmuzEIlhU7Ea9wNFV9RxtFuK
+=afk8
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.sha1
new file mode 100644
index 0000000..95f6d9d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.sha1
@@ -0,0 +1 @@
+c35fe6fb7d71197acbf7c47c194c45082e4b65f2
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.asc
new file mode 100644
index 0000000..3362ad7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLkcgCfW0Fjgvf1jVQ094b3Oaq7sIO5
+h7gAn2IklccPWbhUJbAb5tqyuCaPHU66
+=aEkc
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.asc
new file mode 100644
index 0000000..800d065
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPJuQgCfbLCJldGo59ggjxNyIbRbIqcs
+OrwAnih+uOC4Elw5UJ2Wekdjl37jJbak
+=i1JE
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.sha1
new file mode 100644
index 0000000..9206b49
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.sha1
@@ -0,0 +1 @@
+e1003a0a66dae77515259c5e591ea1cfd73c2859
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.asc
new file mode 100644
index 0000000..358ca89
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLkcgCfS8Vl7eW/nEcgKd+GErBgmPbF
+O1sAnROLi/EZj3d8LNGMy+KhpkFCq3sR
+=FH0h
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..f0ee0f3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>5-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>5-20080807.234713-11</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml.asc
new file mode 100644
index 0000000..671b4bf
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPJXbgCdH9sUqHaLM99PX0JzsZnwe40k
+G8QAniQ7pKlICtK3gq+3V9VPNsVJzrR0
+=Bm95
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml.sha1
new file mode 100644
index 0000000..a2aee2e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/5-SNAPSHOT/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+07dc71d2f6227ccdebf424094cd6125c112c7893
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml
new file mode 100644
index 0000000..a93d847
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml.asc
new file mode 100644
index 0000000..579a515
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPL/TwCfR/HaXjKi5MBU5eqpJa42LUjv
+y74AnRmG/hXm6ai9wKzpIhFm8aYtHU7J
+=jJTn
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml.sha1
new file mode 100644
index 0000000..55ae9df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repo/a/a/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+2bf40a377124b5fbee2424614afda29e262a24f5
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/classworlds-1.1-alpha-2/classworlds-1.1-alpha-2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/classworlds-1.1-alpha-2/classworlds-1.1-alpha-2.pom
new file mode 100644
index 0000000..6805b5d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/classworlds-1.1-alpha-2/classworlds-1.1-alpha-2.pom
@@ -0,0 +1,95 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <name>classworlds</name>
+ <version>1.1-alpha-2</version>
+ <description></description>
+ <url>http://classworlds.codehaus.org/</url>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <address>classworlds-scm@lists.codehaus.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>classworlds users</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-user</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-user</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-user/</archive>
+ </mailingList>
+ <mailingList>
+ <name>classworlds developers</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>classworlds commit messages</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-scm</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-scm</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-scm/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>bob</id>
+ <name>bob mcwhirter</name>
+ <email>bob@werken.com</email>
+ <organization>The Werken Company</organization>
+ <roles>
+ <role>Founder</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>ben@walding.com</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:cvs:pserver:anonymous@cvs.codehaus.org:/scm/cvspublic/:classworlds</connection>
+ <url>http://cvs.classworlds.codehaus.org/</url>
+ </scm>
+ <organization>
+ <name>The Codehaus</name>
+ <url>http://codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/java/main</sourceDirectory>
+ <testSourceDirectory>src/java/test</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <site>
+ <id>default</id>
+ <name>Default Site</name>
+ <url>scp://classworlds.codehaus.org//www/classworlds.codehaus.org</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/classworlds-1.1/classworlds-1.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/classworlds-1.1/classworlds-1.1.pom
new file mode 100644
index 0000000..3b5a484
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/classworlds-1.1/classworlds-1.1.pom
@@ -0,0 +1,98 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <name>classworlds</name>
+ <version>1.1</version>
+ <description></description>
+ <url>http://classworlds.codehaus.org/</url>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>classworlds-scm@lists.codehaus.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>classworlds users</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-user</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-user</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-user/</archive>
+ </mailingList>
+ <mailingList>
+ <name>classworlds developers</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>classworlds commit messages</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-scm</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-scm</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-scm/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>bob</id>
+ <name>bob mcwhirter</name>
+ <email>bob@werken.com</email>
+ <organization>The Werken Company</organization>
+ <roles>
+ <role>Founder</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>ben@walding.com</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:cvs:pserver:anonymous@cvs.classworlds.codehaus.org:/home/projects/classworlds/scm/:classworlds</connection>
+ <developerConnection>scm:cvs:ext:brett@cvs.classworlds.codehaus.org:/home/projects/classworlds/scm/:classworlds</developerConnection>
+ <url>http://cvs.classworlds.codehaus.org/</url>
+ </scm>
+ <organization>
+ <name>The Codehaus</name>
+ <url>http://codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/java/main</sourceDirectory>
+ <testSourceDirectory>src/java/test</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>surefire</artifactId>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <site>
+ <id>default</id>
+ <name>Default Site</name>
+ <url>scp://classworlds.codehaus.org//www/classworlds.codehaus.org</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/meta-ga-id.xml
new file mode 100644
index 0000000..9cd3b5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/meta-ga-id.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032452</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>classworlds</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>classworlds</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3.20021217.022420</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-rc1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-rc2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-rc3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20030211.155236</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20030513.195101</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20030905.201339</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20040709.190353</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..068eaf7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/classworlds/classworlds/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174755</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>classworlds</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>classworlds</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3.20021217.022420</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-rc1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-rc2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-rc3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20030211.155236</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20030513.195101</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20030905.201339</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20040709.190353</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/com.jcraft/jsch/jsch-0.1.23/jsch-0.1.23.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/com.jcraft/jsch/jsch-0.1.23/jsch-0.1.23.pom
new file mode 100644
index 0000000..01fe1af
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/com.jcraft/jsch/jsch-0.1.23/jsch-0.1.23.pom
@@ -0,0 +1,18 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.jcraft</groupId>
+ <artifactId>jsch</artifactId>
+ <name>jsch</name>
+ <version>0.1.23</version>
+ <licenses>
+ <license>
+ <name>BSD</name>
+ <url>http://www.jcraft.com/jsch/LICENSE.txt</url>
+ <comments>License information from http://www.jcraft.com/jsch</comments>
+ </license>
+ </licenses>
+ <organization>
+ <name>jcraft</name>
+ <url>http://www.jcraft.com/jsch</url>
+ </organization>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/com.jcraft/jsch/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/com.jcraft/jsch/meta-ga-id.xml
new file mode 100644
index 0000000..1fc58fc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/com.jcraft/jsch/meta-ga-id.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032504</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>com.jcraft</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>jsch</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>0.1.23</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>0.1.24</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>0.1.25</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>0.1.27</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>0.1.29</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/commons-cli-1.0/commons-cli-1.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/commons-cli-1.0/commons-cli-1.0.pom
new file mode 100644
index 0000000..cfc5a04
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/commons-cli-1.0/commons-cli-1.0.pom
@@ -0,0 +1,76 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <name>CLI</name>
+ <version>1.0</version>
+ <description>Commons CLI provides a simple API for working with the command line arguments and options.</description>
+ <inceptionYear>2002</inceptionYear>
+ <developers>
+ <developer>
+ <id>jstrachan</id>
+ <name>James Strachan</name>
+ <email>jstrachan@apache.org</email>
+ <organization>SpiritSoft, Inc.</organization>
+ </developer>
+ <developer>
+ <id>bob</id>
+ <name>bob mcwhirter</name>
+ <email>bob@werken.com</email>
+ <organization>Werken</organization>
+ </developer>
+ <developer>
+ <id>jkeyes</id>
+ <name>John Keyes</name>
+ <email>jbjk@mac.com</email>
+ <organization>integral Source</organization>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>Berin Loritsch</name>
+ <email>bloritsch@apache.org</email>
+ <roles>
+ <role>helped in the Avalon CLI merge</role>
+ </roles>
+ </contributor>
+ <contributor>
+ <name>Peter Maddocks</name>
+ <email>peter_maddocks@hp.com</email>
+ <organization>Hewlett-Packard</organization>
+ <roles>
+ <role>supplied patch</role>
+ </roles>
+ </contributor>
+ </contributors>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>**/*Test*.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.7</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/meta-ga-id.xml
new file mode 100644
index 0000000..7dc674e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/meta-ga-id.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032459</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>commons-cli</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>commons-cli</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2-dev</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2-dev.20021004.111657</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-dev</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-dev.20020710.025055</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-dev.20020727.104720</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20040117.000000</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..6291a08
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-cli/commons-cli/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174802</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>commons-cli</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>commons-cli</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2-dev</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2-dev.20021004.111657</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-dev</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-dev.20020710.025055</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-dev.20020727.104720</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>20040117.000000</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/commons-lang-1.0/commons-lang-1.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/commons-lang-1.0/commons-lang-1.0.pom
new file mode 100644
index 0000000..fc74403
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/commons-lang-1.0/commons-lang-1.0.pom
@@ -0,0 +1,90 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <name>Lang</name>
+ <version>1.0</version>
+ <description>Commons.Lang, a package of Java utility classes for the
+ classes that are in java.lang's hierarchy, or are considered to be so
+ standard as to justify existence in java.lang.</description>
+ <inceptionYear>2001</inceptionYear>
+ <developers>
+ <developer>
+ <id>dlr</id>
+ <name>Daniel Rall</name>
+ <email>dlr@finemaltcoding.com</email>
+ <organization>CollabNet, Inc.</organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>scolebourne</id>
+ <name>Stephen Colebourne</name>
+ <email>scolebourne@joda.org</email>
+ <organization>SITA ATS Ltd</organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bayard</id>
+ <name>Henri Yandell</name>
+ <email>bayard@generationjava.com</email>
+ <organization></organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id></id>
+ <name>Steven Caswell</name>
+ <email>steven@caswell.name</email>
+ <organization></organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>Ringo De Smet</name>
+ <email>ringods@yahoo.co.uk</email>
+ <organization></organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </contributor>
+ <contributor>
+ <name>Steve Downey</name>
+ <email>steve.downey@netfolio.com</email>
+ <organization></organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </contributor>
+ </contributors>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ <include>**/*TestCase.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.7</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/meta-ga-id.xml
new file mode 100644
index 0000000..a8cf107
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/meta-ga-id.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032502</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>commons-lang</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>commons-lang</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..7dc2404
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-lang/commons-lang/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174805</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>commons-lang</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>commons-lang</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/commons-logging-1.0/commons-logging-1.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/commons-logging-1.0/commons-logging-1.0.pom
new file mode 100644
index 0000000..402a9df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/commons-logging-1.0/commons-logging-1.0.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.0</version>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/meta-ga-id.xml
new file mode 100644
index 0000000..417a3c0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/meta-ga-id.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032502</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>commons-logging</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>commons-logging</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1.1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..1d7ecd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/commons-logging/commons-logging/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174805</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>commons-logging</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>commons-logging</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1.1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/doxia-sink-api-1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/doxia-sink-api-1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
new file mode 100644
index 0000000..8c074e3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/doxia-sink-api-1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
@@ -0,0 +1,32 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <name>Doxia Core</name>
+ <version>1.0-alpha-4</version>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/DOXIA</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <notifiers>
+ <notifier>
+ <address>dev@doxia.codehaus.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <scm>
+ <connection>scm:svn://svn.codehaus.org/home/projects/doxia/scm/doxia-sink-api/tags/doxia-sink-api-1.0-alpha-4</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/doxia/doxia-sink-api/tags/doxia-sink-api-1.0-alpha-4</developerConnection>
+ <url>http://svn.doxia.codehaus.org/</url>
+ </scm>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/meta-ga-id.xml
new file mode 100644
index 0000000..94db6e2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/meta-ga-id.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032501</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>doxia</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>doxia-sink-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5-SNAPSHOT</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..5a622e5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/doxia/doxia-sink-api/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174804</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>doxia</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>doxia-sink-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5-SNAPSHOT</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/easymock-1.2_Java1.3/easymock-1.2_Java1.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/easymock-1.2_Java1.3/easymock-1.2_Java1.3.pom
new file mode 100644
index 0000000..57b6fe4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/easymock-1.2_Java1.3/easymock-1.2_Java1.3.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <name>EasyMock 1.2_Java1.3</name>
+ <version>1.2_Java1.3</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/meta-ga-id.xml
new file mode 100644
index 0000000..5579a9f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/meta-ga-id.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032455</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>easymock</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>easymock</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0rc</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1b</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2_Java1.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2_Java1.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2_RC2_Java1.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..d48efca
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/easymock/easymock/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174758</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>easymock</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>easymock</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0rc</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1b</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2_Java1.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2_Java1.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2_RC2_Java1.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/meta-ga-id.xml
new file mode 100644
index 0000000..57d109d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/meta-ga-id.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032500</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>javax.servlet</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>servlet-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.5</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..df5ff07
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174803</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>javax.servlet</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>servlet-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.5</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/servlet-api-2.3/servlet-api-2.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/servlet-api-2.3/servlet-api-2.3.pom
new file mode 100644
index 0000000..0f09004
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/javax.servlet/servlet-api/servlet-api-2.3/servlet-api-2.3.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.3</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/jetty-4.2.10/jetty-4.2.10.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/jetty-4.2.10/jetty-4.2.10.pom
new file mode 100644
index 0000000..2cec1b1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/jetty-4.2.10/jetty-4.2.10.pom
@@ -0,0 +1,14 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>4.2.1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.3</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/meta-ga-id.xml
new file mode 100644
index 0000000..5bb550f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/meta-ga-id.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032500</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>jetty</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>jetty</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>4.1-rc1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.1-rc6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.12</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta11</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta12</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta14</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta15</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta16</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..8165773
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/jetty/jetty/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174803</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>jetty</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>jetty</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>4.1-rc1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.1-rc6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2.12</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta11</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta12</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta14</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta15</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>6.0.0beta16</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/junit-3.7/junit-3.7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/junit-3.7/junit-3.7.pom
new file mode 100644
index 0000000..7873216
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/junit-3.7/junit-3.7.pom
@@ -0,0 +1,26 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.7</version>
+ <name>JUnit</name>
+ <url>http://junit.org</url>
+ <description>
+ JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.
+ </description>
+ <organization>
+ <name>JUnit</name>
+ <url>http://www.junit.org</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>Common Public License Version 1.0</name>
+ <url>http://www.opensource.org/licenses/cpl1.0.txt</url>
+ </license>
+ </licenses>
+ <scm>
+ <url>http://junit.cvs.sourceforge.net/junit/</url>
+ </scm>
+ <dependencies>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/junit-3.8.1/junit-3.8.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/junit-3.8.1/junit-3.8.1.pom
new file mode 100644
index 0000000..2169a65
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/junit-3.8.1/junit-3.8.1.pom
@@ -0,0 +1,29 @@
+<?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>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <name>JUnit</name>
+ <url>http://junit.org</url>
+ <description>
+ JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.
+ </description>
+ <organization>
+ <name>JUnit</name>
+ <url>http://www.junit.org</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>Common Public License Version 1.0</name>
+ <url>http://www.opensource.org/licenses/cpl1.0.txt</url>
+ </license>
+ </licenses>
+ <scm>
+ <url>http://junit.cvs.sourceforge.net/junit/</url>
+ </scm>
+ <dependencies>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/meta-ga-id.xml
new file mode 100644
index 0000000..5a8f9ed
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/meta-ga-id.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>junit</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>junit</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>3.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>3.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>3.8.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>3.8.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.3.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..724de6a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/junit/junit/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174754</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>junit</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>junit</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>3.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>3.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>3.8.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>3.8.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.3.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>4.4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia-sink-api/doxia-sink-api-1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia-sink-api/doxia-sink-api-1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
new file mode 100644
index 0000000..750bf67
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia-sink-api/doxia-sink-api-1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>doxia</artifactId>
+ <groupId>org.apache.maven.doxia</groupId>
+ <version>1.0-alpha-7</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>doxia-sink-api</artifactId>
+ <name>Doxia Sink API</name>
+ <version>1.0-alpha-7</version>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia-sink-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia-sink-api/meta-ga-id.xml
new file mode 100644
index 0000000..f656f6b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia-sink-api/meta-ga-id.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081107001055</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.doxia</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>doxia-sink-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-11</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia/doxia-1.0-alpha-7/doxia-1.0-alpha-7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia/doxia-1.0-alpha-7/doxia-1.0-alpha-7.pom
new file mode 100644
index 0000000..8f6ee85
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.doxia/doxia/doxia-1.0-alpha-7/doxia-1.0-alpha-7.pom
@@ -0,0 +1,109 @@
+<?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.doxia</groupId>
+ <artifactId>doxia</artifactId>
+ <packaging>pom</packaging>
+ <name>Doxia</name>
+ <version>1.0-alpha-7</version>
+ <url>http://maven.apache.org/doxia</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/DOXIA</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <notifiers>
+ <notifier>
+ <address>doxia-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Doxia Developer List</name>
+ <subscribe>doxia-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>doxia-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Doxia User List</name>
+ <subscribe>doxia-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>doxia-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-users/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Doxia Commits List</name>
+ <subscribe>doxia-commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>doxia-commits-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <name>Emmanuel Venisse</name>
+ <email>emmanuel@venisse.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>1</timezone>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/doxia/tags/doxia-1.0-alpha-7</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/doxia/tags/doxia-1.0-alpha-7</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/doxia/tags/doxia-1.0-alpha-7</url>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <modules>
+ <module>doxia-core</module>
+ <module>doxia-sink-api</module>
+ <module>doxia-site-renderer</module>
+ <module>doxia-decoration-model</module>
+ </modules>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/doxia/</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-assembly-plugin/maven-assembly-plugin-2.1/maven-assembly-plugin-2.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-assembly-plugin/maven-assembly-plugin-2.1/maven-assembly-plugin-2.1.pom
new file mode 100644
index 0000000..96fb116
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-assembly-plugin/maven-assembly-plugin-2.1/maven-assembly-plugin-2.1.pom
@@ -0,0 +1,118 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>maven-plugins</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <version>1</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <name>Maven Assembly Plugin</name>
+ <version>2.1</version>
+ <prerequisites>
+ <maven>2.0.4</maven>
+ </prerequisites>
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.1</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.1</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.1</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/BasicAbstractAssemblyMojoFeaturesTest*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>descriptor</id>
+ <goals>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/descriptor.mdo</model>
+ <version>1.0.0</version>
+ </configuration>
+ </execution>
+ <execution>
+ <id>component</id>
+ <goals>
+ <goal>xpp3-reader</goal>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/component.mdo</model>
+ <version>1.0.0</version>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-archiver</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.0-beta-1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-clean-plugin/maven-clean-plugin-2.2/maven-clean-plugin-2.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-clean-plugin/maven-clean-plugin-2.2/maven-clean-plugin-2.2.pom
new file mode 100644
index 0000000..ebae1e3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-clean-plugin/maven-clean-plugin-2.2/maven-clean-plugin-2.2.pom
@@ -0,0 +1,103 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <version>10</version>
+ </parent>
+
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.2</version>
+ <packaging>maven-plugin</packaging>
+ <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>
+
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+
+ <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>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <!-- Test -->
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <contributors>
+ <contributor>
+ <name>Jesse McConnell</name>
+ </contributor>
+ </contributors>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.4</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.2</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/plugins/tags/maven-clean-plugin-2.2</url>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-clean-plugin/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-clean-plugin/meta-ga-id.xml
new file mode 100644
index 0000000..a169f87
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-clean-plugin/meta-ga-id.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032505</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.plugins</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-clean-plugin</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-rc1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.2</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-compiler-plugin/maven-compiler-plugin-2.0.2/maven-compiler-plugin-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-compiler-plugin/maven-compiler-plugin-2.0.2/maven-compiler-plugin-2.0.2.pom
new file mode 100644
index 0000000..ab7ac19
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-compiler-plugin/maven-compiler-plugin-2.0.2/maven-compiler-plugin-2.0.2.pom
@@ -0,0 +1,65 @@
+<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>
+ <artifactId>maven-plugins</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <version>8</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <name>Maven Compiler Plugin</name>
+ <version>2.0.2</version>
+ <inceptionYear>2001</inceptionYear>
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+ <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>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-manager</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-javac</artifactId>
+ <version>1.5.3</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.0-beta-1</version>
+ <scope>test</scope>
+ </dependency>
+ </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
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-1/maven-plugins-1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-1/maven-plugins-1.pom
new file mode 100644
index 0000000..640c7a3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-1/maven-plugins-1.pom
@@ -0,0 +1,88 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>1</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <packaging>pom</packaging>
+ <version>1</version>
+ <name>Maven Plugins</name>
+ <description>Maven Plugins</description>
+ <url>http://maven.apache.org/plugins/</url>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/plugins/</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <modules>
+ <module>maven-ant-plugin</module>
+ <module>maven-antrun-plugin</module>
+ <module>maven-assembly-plugin</module>
+ <module>maven-checkstyle-plugin</module>
+ <module>maven-clean-plugin</module>
+ <module>maven-clover-plugin</module>
+ <module>maven-compiler-plugin</module>
+ <module>maven-deploy-plugin</module>
+ <module>maven-eclipse-plugin</module>
+ <module>maven-ear-plugin</module>
+ <module>maven-ejb-plugin</module>
+ <module>maven-help-plugin</module>
+ <module>maven-idea-plugin</module>
+ <module>maven-install-plugin</module>
+ <module>maven-jar-plugin</module>
+ <module>maven-javadoc-plugin</module>
+ <module>maven-plugin-plugin</module>
+ <module>maven-pmd-plugin</module>
+ <module>maven-project-info-reports-plugin</module>
+ <module>maven-rar-plugin</module>
+ <module>maven-release-plugin</module>
+ <module>maven-repository-plugin</module>
+ <module>maven-resources-plugin</module>
+ <module>maven-site-plugin</module>
+ <module>maven-source-plugin</module>
+ <module>maven-surefire-plugin</module>
+ <module>maven-war-plugin</module>
+ <module>maven-verifier-plugin</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/plugins/trunk/</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/plugins/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-10/maven-plugins-10.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-10/maven-plugins-10.pom
new file mode 100644
index 0000000..7a75516
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-10/maven-plugins-10.pom
@@ -0,0 +1,185 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>7</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <packaging>pom</packaging>
+ <version>10</version>
+ <name>Maven Plugins</name>
+ <description>Maven Plugins</description>
+ <url>http://maven.apache.org/plugins/</url>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@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@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@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@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <!-- duplication from parent pom - temporary until they inherit properly -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/plugins/</url>
+ </site>
+ </distributionManagement>
+ <modules>
+ <module>maven-ant-plugin</module>
+ <module>maven-antrun-plugin</module>
+ <module>maven-assembly-plugin</module>
+ <module>maven-changelog-plugin</module>
+ <module>maven-changes-plugin</module>
+ <module>maven-checkstyle-plugin</module>
+ <module>maven-clean-plugin</module>
+ <module>maven-compiler-plugin</module>
+ <module>maven-dependency-plugin</module>
+ <module>maven-deploy-plugin</module>
+ <module>maven-doap-plugin</module>
+ <module>maven-docck-plugin</module>
+ <module>maven-ear-plugin</module>
+ <module>maven-eclipse-plugin</module>
+ <module>maven-ejb-plugin</module>
+ <module>maven-gpg-plugin</module>
+ <module>maven-help-plugin</module>
+ <module>maven-idea-plugin</module>
+ <module>maven-install-plugin</module>
+ <module>maven-invoker-plugin</module>
+ <module>maven-jar-plugin</module>
+ <module>maven-javadoc-plugin</module>
+ <module>maven-one-plugin</module>
+ <module>maven-plugin-plugin</module>
+ <module>maven-pmd-plugin</module>
+ <module>maven-project-info-reports-plugin</module>
+ <module>maven-rar-plugin</module>
+ <module>maven-remote-resources-plugin</module>
+ <module>maven-repository-plugin</module>
+ <module>maven-resources-plugin</module>
+ <module>maven-site-plugin</module>
+ <module>maven-source-plugin</module>
+ <module>maven-stage-plugin</module>
+ <module>maven-verifier-plugin</module>
+ <module>maven-war-plugin</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-10</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-10</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/plugins/tags/maven-plugins-10</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/plugins/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>2.0-beta-5</version>
+ <configuration>
+ <stagingSiteURL>scp://people.apache.org/www/maven.apache.org/plugins/${artifactId}-${version}</stagingSiteURL>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>ciProfile</id>
+ <activation>
+ <property>
+ <name>enableCiProfile</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-docck-plugin</artifactId>
+ <version>1.0-beta-2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-8/maven-plugins-8.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-8/maven-plugins-8.pom
new file mode 100644
index 0000000..b4c14f1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.plugins/maven-plugins/maven-plugins-8/maven-plugins-8.pom
@@ -0,0 +1,160 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>5</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <packaging>pom</packaging>
+ <version>8</version>
+ <name>Maven Plugins</name>
+ <description>Maven Plugins</description>
+ <url>http://maven.apache.org/plugins/</url>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@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@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@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@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <!-- duplication from parent pom - temporary until they inherit properly -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/plugins/</url>
+ </site>
+ </distributionManagement>
+ <modules>
+ <module>maven-ant-plugin</module>
+ <module>maven-antlr-plugin</module>
+ <module>maven-antrun-plugin</module>
+ <module>maven-assembly-plugin</module>
+ <module>maven-changelog-plugin</module>
+ <module>maven-changes-plugin</module>
+ <module>maven-checkstyle-plugin</module>
+ <module>maven-clean-plugin</module>
+ <module>maven-clover-plugin</module>
+ <module>maven-compiler-plugin</module>
+ <module>maven-dependency-plugin</module>
+ <module>maven-deploy-plugin</module>
+ <module>maven-doap-plugin</module>
+ <module>maven-docck-plugin</module>
+ <module>maven-ear-plugin</module>
+ <module>maven-eclipse-plugin</module>
+ <module>maven-ejb-plugin</module>
+ <module>maven-help-plugin</module>
+ <module>maven-idea-plugin</module>
+ <module>maven-install-plugin</module>
+ <module>maven-jar-plugin</module>
+ <module>maven-javadoc-plugin</module>
+ <module>maven-jxr-plugin</module>
+ <module>maven-one-plugin</module>
+ <module>maven-plugin-plugin</module>
+ <module>maven-pmd-plugin</module>
+ <module>maven-project-info-reports-plugin</module>
+ <module>maven-rar-plugin</module>
+ <module>maven-repository-plugin</module>
+ <module>maven-resources-plugin</module>
+ <module>maven-site-plugin</module>
+ <module>maven-source-plugin</module>
+ <module>maven-war-plugin</module>
+ <module>maven-verifier-plugin</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/plugins/trunk/</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-4</version>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/plugins/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>ciProfile</id>
+ <activation>
+ <property>
+ <name>enableCiProfile</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-docck-plugin</artifactId>
+ <version>1.0-beta-1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/maven-reporting-api-2.0.4/maven-reporting-api-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/maven-reporting-api-2.0.4/maven-reporting-api-2.0.4.pom
new file mode 100644
index 0000000..1ae16ef
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/maven-reporting-api-2.0.4/maven-reporting-api-2.0.4.pom
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven-reporting</artifactId>
+ <groupId>org.apache.maven.reporting</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-reporting-api</artifactId>
+ <name>Maven Reporting API</name>
+ <version>2.0.4</version>
+ <developers>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vincent.siveton@gmail.com</email>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <version>1.0-alpha-7</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/maven-reporting-api-2.0/maven-reporting-api-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/maven-reporting-api-2.0/maven-reporting-api-2.0.pom
new file mode 100644
index 0000000..2d0bf30
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/maven-reporting-api-2.0/maven-reporting-api-2.0.pom
@@ -0,0 +1,41 @@
+<project>
+ <parent>
+ <artifactId>maven-reporting</artifactId>
+ <groupId>org.apache.maven.reporting</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>2.0</version>
+ <developers>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vincent.siveton@gmail.com</email>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <version>1.0-alpha-4</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-utils</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/meta-ga-id.xml
new file mode 100644
index 0000000..a59e74a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032458</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.reporting</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-reporting-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..17deb4c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting-api/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174801</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.reporting</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-reporting-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting/maven-reporting-2.0.4/maven-reporting-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting/maven-reporting-2.0.4/maven-reporting-2.0.4.pom
new file mode 100644
index 0000000..2953fdb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting/maven-reporting-2.0.4/maven-reporting-2.0.4.pom
@@ -0,0 +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/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven Reporting</name>
+ <version>2.0.4</version>
+ <modules>
+ <module>maven-reporting-api</module>
+ <module>maven-reporting-impl</module>
+ </modules>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting/maven-reporting-2.0/maven-reporting-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting/maven-reporting-2.0/maven-reporting-2.0.pom
new file mode 100644
index 0000000..3daaab9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.reporting/maven-reporting/maven-reporting-2.0/maven-reporting-2.0.pom
@@ -0,0 +1,18 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven Reporting</name>
+ <version>2.0</version>
+ <inceptionYear>2005</inceptionYear>
+ <modules>
+ <module>maven-reporting-api</module>
+ <module>maven-reporting-impl</module>
+ </modules>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/file-management-1.2/file-management-1.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/file-management-1.2/file-management-1.2.pom
new file mode 100644
index 0000000..d248752
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/file-management-1.2/file-management-1.2.pom
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <version>8</version>
+ </parent>
+
+ <artifactId>file-management</artifactId>
+ <version>1.2</version>
+ <name>Maven Shared File Management API</name>
+ <description>API to collect files from a given directory using several include/exclude rules.</description>
+
+ <prerequisites>
+ <maven>2.0.6</maven>
+ </prerequisites>
+
+ <contributors>
+ <contributor>
+ <name>Joakim Erdfelt</name>
+ <email>joakim@erdfelt.com</email>
+ </contributor>
+ </contributors>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-17</version>
+ <executions>
+ <execution>
+ <id>fileset</id>
+ <goals>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/fileset.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.1.0</version>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <!-- Maven -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-io</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ </dependency>
+
+ <!-- Test -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/file-management-1.2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/file-management-1.2</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/shared/tags/file-management-1.2</url>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/meta-ga-id.xml
new file mode 100644
index 0000000..0eb35ba
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/meta-ga-id.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032450</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.shared</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>file-management</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..6a8a716
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/file-management/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174753</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.shared</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>file-management</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/maven-plugin-testing-harness-1.1/maven-plugin-testing-harness-1.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/maven-plugin-testing-harness-1.1/maven-plugin-testing-harness-1.1.pom
new file mode 100644
index 0000000..e395541
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/maven-plugin-testing-harness-1.1/maven-plugin-testing-harness-1.1.pom
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <version>7</version>
+ </parent>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.1</version>
+ <name>Maven Plugin Testing Mechanism</name>
+ <mailingLists>
+ <!-- duplication from parent pom - temporary until they inherit properly -->
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@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@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@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@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <!-- duplication from parent pom - temporary until they inherit properly -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>1.0-alpha-7</version>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2se/1.4.2/docs/api/</link>
+ <link>http://maven.apache.org/ref/current/maven-project/apidocs/</link>
+ <link>http://maven.apache.org/ref/current/maven-plugin-api/apidocs/</link>
+ <link>http://maven.apache.org/ref/current/maven-artifact/apidocs/</link>
+ <link>http://plexus.codehaus.org/plexus-utils/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <attach>true</attach>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-plugin-testing-harness-1.1</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-plugin-testing-harness-1.1</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/shared/tags/maven-plugin-testing-harness-1.1</url>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/meta-ga-id.xml
new file mode 100644
index 0000000..8ae68bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/meta-ga-id.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032450</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.shared</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-testing-harness</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..5716af4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-plugin-testing-harness/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174753</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.shared</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-testing-harness</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-components/maven-shared-components-7/maven-shared-components-7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-components/maven-shared-components-7/maven-shared-components-7.pom
new file mode 100644
index 0000000..f9ae3cf
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-components/maven-shared-components-7/maven-shared-components-7.pom
@@ -0,0 +1,63 @@
+<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" xsi:noNamespaceSchemaLocation="http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>5</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <packaging>pom</packaging>
+ <version>7</version>
+ <name>Maven Shared Components</name>
+ <description>Maven shared components</description>
+ <url>http://maven.apache.org/shared/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/shared/</url>
+ </site>
+ </distributionManagement>
+ <modules>
+ <module>maven-ant</module>
+ <module>maven-archiver</module>
+ <module>maven-plugin-tools</module>
+ <module>maven-reporting-impl</module>
+ <module>maven-artifact-converter</module>
+ <module>maven-model-converter</module>
+ <module>maven-shared-io</module>
+ <module>maven-shared-monitor</module>
+ <module>file-management</module>
+ <module>maven-plugin-testing-harness</module>
+ <module>maven-invoker</module>
+ <module>maven-verifier</module>
+ <module>maven-web-ui-tests</module>
+ <module>maven-app-configuration</module>
+ <module>maven-plugin-testing-tools</module>
+ <module>maven-test-tools</module>
+ <module>maven-repository-builder</module>
+ <module>maven-common-artifact-filters</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-7</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-7</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-7</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/shared/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-components/maven-shared-components-8/maven-shared-components-8.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-components/maven-shared-components-8/maven-shared-components-8.pom
new file mode 100644
index 0000000..fb5a997
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-components/maven-shared-components-8/maven-shared-components-8.pom
@@ -0,0 +1,65 @@
+<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" xsi:noNamespaceSchemaLocation="http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>7</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <packaging>pom</packaging>
+ <version>8</version>
+ <name>Maven Shared Components</name>
+ <description>Maven shared components</description>
+ <url>http://maven.apache.org/shared/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/shared/</url>
+ </site>
+ </distributionManagement>
+ <modules>
+ <module>maven-ant</module>
+ <module>maven-archiver</module>
+ <module>maven-plugin-tools</module>
+ <module>maven-reporting-impl</module>
+ <module>maven-model-converter</module>
+ <module>maven-shared-io</module>
+ <module>maven-shared-monitor</module>
+ <module>file-management</module>
+ <module>maven-plugin-testing-harness</module>
+ <module>maven-invoker</module>
+ <module>maven-verifier</module>
+ <module>maven-web-ui-tests</module>
+ <module>maven-app-configuration</module>
+ <module>maven-plugin-testing-tools</module>
+ <module>maven-test-tools</module>
+ <module>maven-repository-builder</module>
+ <module>maven-script</module>
+ <module>maven-common-artifact-filters</module>
+ <module>maven-dependency-analyzer</module>
+ <module>maven-shared-jar</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-8</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-8</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/shared/tags/maven-shared-components-8</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/shared/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/maven-shared-io-1.1/maven-shared-io-1.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/maven-shared-io-1.1/maven-shared-io-1.1.pom
new file mode 100644
index 0000000..0468f43
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/maven-shared-io-1.1/maven-shared-io-1.1.pom
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <version>8</version>
+ </parent>
+
+ <artifactId>maven-shared-io</artifactId>
+ <version>1.1</version>
+ <name>Maven Shared I/O API</name>
+ <description>API for I/O support like logging, download or file scanning.</description>
+
+ <prerequisites>
+ <maven>2.0.6</maven>
+ </prerequisites>
+
+ <contributors>
+ <contributor>
+ <name>Joakim Erdfelt</name>
+ <email>joakim@erdfelt.com</email>
+ </contributor>
+ </contributors>
+
+ <dependencies>
+ <!-- Maven -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ <optional>true</optional>
+ </dependency>
+
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>1.2_Java1.3</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <excludes>
+ <exclude>**/TestUtils*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-io-1.1</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-io-1.1</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/shared/tags/maven-shared-io-1.1</url>
+ </scm>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+ </snapshotRepository>
+ <repository>
+ <id>apache</id>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </repository>
+ </distributionManagement>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/meta-ga-id.xml
new file mode 100644
index 0000000..00d987f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/meta-ga-id.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032454</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.shared</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-shared-io</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..9085a60
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.shared/maven-shared-io/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174757</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.shared</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-shared-io</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/meta-ga-id.xml
new file mode 100644
index 0000000..4f6f8ab
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/meta-ga-id.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032453</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-file</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..7fa2305
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174756</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-file</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/wagon-file-1.0-alpha-5/wagon-file-1.0-alpha-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/wagon-file-1.0-alpha-5/wagon-file-1.0-alpha-5.pom
new file mode 100644
index 0000000..8ea2969
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/wagon-file-1.0-alpha-5/wagon-file-1.0-alpha-5.pom
@@ -0,0 +1,165 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <name>Maven Wagon File Provider</name>
+ <version>1.0-alpha-5</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-providers/wagon-file</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-providers/wagon-file</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/wagon-providers/wagon-file</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ </build>
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/wagon-file-1.0-alpha-6/wagon-file-1.0-alpha-6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/wagon-file-1.0-alpha-6/wagon-file-1.0-alpha-6.pom
new file mode 100644
index 0000000..74ddf71
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-file/wagon-file-1.0-alpha-6/wagon-file-1.0-alpha-6.pom
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>wagon-providers</artifactId>
+ <groupId>org.apache.maven.wagon</groupId>
+ <version>1.0-alpha-6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>wagon-file</artifactId>
+ <name>Maven Wagon File Provider</name>
+ <version>1.0-alpha-6</version>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/meta-ga-id.xml
new file mode 100644
index 0000000..797d203
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/meta-ga-id.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032458</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-http-lightweight</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..074635d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174801</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-http-lightweight</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/wagon-http-lightweight-1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/wagon-http-lightweight-1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom
new file mode 100644
index 0000000..e1e2bdb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-http-lightweight/wagon-http-lightweight-1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom
@@ -0,0 +1,183 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <name>Maven Wagon Lightweight HTTP Provider</name>
+ <version>1.0-alpha-5</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-providers/wagon-http-lightweight</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-providers/wagon-http-lightweight</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/wagon-providers/wagon-http-lightweight</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ </build>
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>servletapi</groupId>
+ <artifactId>servletapi</artifactId>
+ <version>2.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>4.2.10</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-jetty-httpd</artifactId>
+ <version>1.0-beta-1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/meta-ga-id.xml
new file mode 100644
index 0000000..cdf4855
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/meta-ga-id.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032453</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-provider-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5-SNAPSHOT</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..cacf20f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174756</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-provider-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5-SNAPSHOT</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/wagon-provider-api-1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/wagon-provider-api-1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom
new file mode 100644
index 0000000..0c6d60f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/wagon-provider-api-1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom
@@ -0,0 +1,141 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <name>Maven Wagon API</name>
+ <version>1.0-alpha-5</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-provider-api</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-provider-api</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/wagon-provider-api</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ </build>
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/wagon-provider-api-1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/wagon-provider-api-1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
new file mode 100644
index 0000000..694a241
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-api/wagon-provider-api-1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>wagon</artifactId>
+ <groupId>org.apache.maven.wagon</groupId>
+ <version>1.0-alpha-6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>wagon-provider-api</artifactId>
+ <name>Maven Wagon API</name>
+ <version>1.0-alpha-6</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/meta-ga-id.xml
new file mode 100644
index 0000000..30dd3c3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/meta-ga-id.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032453</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-provider-test</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..a8a57e4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174756</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-provider-test</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/wagon-provider-test-1.0-alpha-5/wagon-provider-test-1.0-alpha-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/wagon-provider-test-1.0-alpha-5/wagon-provider-test-1.0-alpha-5.pom
new file mode 100644
index 0000000..0178582
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/wagon-provider-test-1.0-alpha-5/wagon-provider-test-1.0-alpha-5.pom
@@ -0,0 +1,159 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <name>Maven Wagon Provider Test</name>
+ <version>1.0-alpha-5</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-provider-test</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-provider-test</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/wagon-provider-test</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ </build>
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/wagon-provider-test-1.0-alpha-6/wagon-provider-test-1.0-alpha-6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/wagon-provider-test-1.0-alpha-6/wagon-provider-test-1.0-alpha-6.pom
new file mode 100644
index 0000000..a0487e1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-provider-test/wagon-provider-test-1.0-alpha-6/wagon-provider-test-1.0-alpha-6.pom
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>wagon</artifactId>
+ <groupId>org.apache.maven.wagon</groupId>
+ <version>1.0-alpha-6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>wagon-provider-test</artifactId>
+ <name>Maven Wagon Provider Test</name>
+ <version>1.0-alpha-6</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-providers/wagon-providers-1.0-alpha-6/wagon-providers-1.0-alpha-6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-providers/wagon-providers-1.0-alpha-6/wagon-providers-1.0-alpha-6.pom
new file mode 100644
index 0000000..4e20c84
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-providers/wagon-providers-1.0-alpha-6/wagon-providers-1.0-alpha-6.pom
@@ -0,0 +1,33 @@
+<?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">
+ <parent>
+ <artifactId>wagon</artifactId>
+ <groupId>org.apache.maven.wagon</groupId>
+ <version>1.0-alpha-6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>wagon-providers</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven Wagon Providers Parent</name>
+ <version>1.0-alpha-6</version>
+ <modules>
+ <module>wagon-file</module>
+ <module>wagon-ftp</module>
+ <module>wagon-http-lightweight</module>
+ <module>wagon-http</module>
+ <module>wagon-ssh-external</module>
+ <module>wagon-ssh</module>
+ </modules>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>1.0-alpha-6</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/meta-ga-id.xml
new file mode 100644
index 0000000..d851020
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/meta-ga-id.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032459</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-ssh</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..2ee2c4f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174802</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven.wagon</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>wagon-ssh</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-4</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/wagon-ssh-1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/wagon-ssh-1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom
new file mode 100644
index 0000000..cb6718c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon-ssh/wagon-ssh-1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom
@@ -0,0 +1,196 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <name>Maven Wagon SSH Provider</name>
+ <version>1.0-alpha-5</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-providers/wagon-ssh</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-providers/wagon-ssh</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/wagon-providers/wagon-ssh</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/ScpWagon*Test.*</exclude>
+ <exclude>**/SftpWagonTest.*</exclude>
+ <exclude>**/SshCommandExecutorTest.*</exclude>
+ <exclude>**/knownhost/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>com.jcraft</groupId>
+ <artifactId>jsch</artifactId>
+ <version>0.1.23</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.2</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>1.0-alpha-5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon/wagon-1.0-alpha-6/wagon-1.0-alpha-6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon/wagon-1.0-alpha-6/wagon-1.0-alpha-6.pom
new file mode 100644
index 0000000..04bfffb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven.wagon/wagon/wagon-1.0-alpha-6/wagon-1.0-alpha-6.pom
@@ -0,0 +1,179 @@
+<?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.wagon</groupId>
+ <artifactId>wagon</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven Wagon</name>
+ <version>1.0-alpha-6</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/WAGON</url>
+ </issueManagement>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0-alpha-6</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0-alpha-6</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/tags/wagon-1.0-alpha-6</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>wagon-provider-api</module>
+ <module>wagon-provider-test</module>
+ <module>wagon-providers</module>
+ </modules>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-archiver/maven-archiver-2.0.4/maven-archiver-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-archiver/maven-archiver-2.0.4/maven-archiver-2.0.4.pom
new file mode 100644
index 0000000..75d0d38
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-archiver/maven-archiver-2.0.4/maven-archiver-2.0.4.pom
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-archiver</artifactId>
+ <name>Maven Archiver</name>
+ <version>2.0.4</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>1.0-alpha-4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-archiver/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-archiver/meta-ga-id.xml
new file mode 100644
index 0000000..0055dd6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-archiver/meta-ga-id.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081107001050</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-archiver</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.3</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0.2/maven-artifact-manager-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0.2/maven-artifact-manager-2.0.2.pom
new file mode 100644
index 0000000..7b7d021
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0.2/maven-artifact-manager-2.0.2.pom
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <name>Maven Artifact Manager</name>
+ <version>2.0.2</version>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0.4/maven-artifact-manager-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0.4/maven-artifact-manager-2.0.4.pom
new file mode 100644
index 0000000..53c9ae8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0.4/maven-artifact-manager-2.0.4.pom
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <name>Maven Artifact Manager</name>
+ <version>2.0.4</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0/maven-artifact-manager-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0/maven-artifact-manager-2.0.pom
new file mode 100644
index 0000000..cb7c774
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/maven-artifact-manager-2.0/maven-artifact-manager-2.0.pom
@@ -0,0 +1,45 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <name>Maven Artifact Manager</name>
+ <version>2.0</version>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/meta-ga-id.xml
new file mode 100644
index 0000000..3d993ec
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/meta-ga-id.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-artifact-manager</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..57395a5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-manager/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174754</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-artifact-manager</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/maven-artifact-test-2.0/maven-artifact-test-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/maven-artifact-test-2.0/maven-artifact-test-2.0.pom
new file mode 100644
index 0000000..e04dac6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/maven-artifact-test-2.0/maven-artifact-test-2.0.pom
@@ -0,0 +1,42 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-test</artifactId>
+ <name>Maven Artifact Test Helper Library</name>
+ <version>2.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/meta-ga-id.xml
new file mode 100644
index 0000000..7122538
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032450</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-artifact-test</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..2811d3a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact-test/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174753</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-artifact-test</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0.2/maven-artifact-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0.2/maven-artifact-2.0.2.pom
new file mode 100644
index 0000000..b08ef7d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0.2/maven-artifact-2.0.2.pom
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <name>Maven Artifact</name>
+ <version>2.0.2</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0.4/maven-artifact-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0.4/maven-artifact-2.0.4.pom
new file mode 100644
index 0000000..aaeba6d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0.4/maven-artifact-2.0.4.pom
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <name>Maven Artifact</name>
+ <version>2.0.4</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0/maven-artifact-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0/maven-artifact-2.0.pom
new file mode 100644
index 0000000..fda1a27
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/maven-artifact-2.0/maven-artifact-2.0.pom
@@ -0,0 +1,26 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <name>Maven Artifact</name>
+ <version>2.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/meta-ga-id.xml
new file mode 100644
index 0000000..cd24571
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/meta-ga-id.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-artifact</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..2e9a4a4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-artifact/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174754</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-artifact</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/maven-core-2.0.4/maven-core-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/maven-core-2.0.4/maven-core-2.0.4.pom
new file mode 100644
index 0000000..9ecd82b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/maven-core-2.0.4/maven-core-2.0.4.pom
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <name>Maven Core</name>
+ <version>2.0.4</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptor>src/assemble/bin.xml</descriptor>
+ <finalName>maven-2.0.4</finalName>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-error-diagnostics</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-registry</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.0</version>
+ <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>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-4</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-utils</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/m2</url>
+ </site>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/maven-core-2.0/maven-core-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/maven-core-2.0/maven-core-2.0.pom
new file mode 100644
index 0000000..a6e158d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/maven-core-2.0/maven-core-2.0.pom
@@ -0,0 +1,186 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <name>Maven</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.0-beta-1</version>
+ <configuration>
+ <descriptor>src/assemble/bin.xml</descriptor>
+ <finalName>maven-${version}</finalName>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-error-diagnostics</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-registry</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.0</version>
+ <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>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-4</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-utils</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-utils</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-clover-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+ <distributionManagement>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org//www/maven.apache.org/m2</url>
+ </site>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/meta-ga-id.xml
new file mode 100644
index 0000000..17c8bda
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032458</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-core</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..2b3746d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-core/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174801</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-core</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/maven-error-diagnostics-2.0.4/maven-error-diagnostics-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/maven-error-diagnostics-2.0.4/maven-error-diagnostics-2.0.4.pom
new file mode 100644
index 0000000..2bd3e38
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/maven-error-diagnostics-2.0.4/maven-error-diagnostics-2.0.4.pom
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-error-diagnostics</artifactId>
+ <name>Maven Error Diagnostics</name>
+ <version>2.0.4</version>
+ <description>Provides a manager component which will process a given Throwable instance through a set of diagnostic
+ sub-components, and return a String message with user-friendly information about the error and possibly
+ how to fix it.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/maven-error-diagnostics-2.0/maven-error-diagnostics-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/maven-error-diagnostics-2.0/maven-error-diagnostics-2.0.pom
new file mode 100644
index 0000000..3cebb2e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/maven-error-diagnostics-2.0/maven-error-diagnostics-2.0.pom
@@ -0,0 +1,23 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-error-diagnostics</artifactId>
+ <name>Maven Error Diagnostics</name>
+ <version>2.0</version>
+ <description>Provides a manager component which will process a given Throwable instance through a set of diagnostic
+ sub-components, and return a String message with user-friendly information about the error and possibly
+ how to fix it.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/meta-ga-id.xml
new file mode 100644
index 0000000..05e2d8d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/meta-ga-id.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032458</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-error-diagnostics</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..73832d1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-error-diagnostics/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174801</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-error-diagnostics</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/maven-model-2.0.4/maven-model-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/maven-model-2.0.4/maven-model-2.0.4.pom
new file mode 100644
index 0000000..25bb54c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/maven-model-2.0.4/maven-model-2.0.4.pom
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <name>Maven Model</name>
+ <version>2.0.4</version>
+ <description>Maven Model</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-8</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>4.0.0</version>
+ <model>maven.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>all-models</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-8</version>
+ <executions>
+ <execution>
+ <id>v3</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <version>3.0.0</version>
+ <packageWithVersion>true</packageWithVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>all</classifier>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/maven-model-2.0/maven-model-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/maven-model-2.0/maven-model-2.0.pom
new file mode 100644
index 0000000..2b7208a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/maven-model-2.0/maven-model-2.0.pom
@@ -0,0 +1,86 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <name>Maven Model</name>
+ <version>2.0</version>
+ <description>Maven Model</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>4.0.0</version>
+ <model>maven.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>all-models</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>v3</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <version>3.0.0</version>
+ <packageWithVersion>true</packageWithVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>all</classifier>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/meta-ga-id.xml
new file mode 100644
index 0000000..7b880df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-model</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..a3a4a3e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-model/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174754</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-model</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/maven-monitor-2.0.4/maven-monitor-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/maven-monitor-2.0.4/maven-monitor-2.0.4.pom
new file mode 100644
index 0000000..0b0ae40
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/maven-monitor-2.0.4/maven-monitor-2.0.4.pom
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <name>Maven Monitor</name>
+ <version>2.0.4</version>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/maven-monitor-2.0/maven-monitor-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/maven-monitor-2.0/maven-monitor-2.0.pom
new file mode 100644
index 0000000..57cbb3f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/maven-monitor-2.0/maven-monitor-2.0.pom
@@ -0,0 +1,15 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <name>Maven Monitor</name>
+ <version>2.0</version>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/meta-ga-id.xml
new file mode 100644
index 0000000..6e6b355
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032459</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-monitor</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..17a0400
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-monitor/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174802</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-monitor</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-1/maven-parent-1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-1/maven-parent-1.pom
new file mode 100644
index 0000000..8eae38b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-1/maven-parent-1.pom
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>1</version>
+ <relativePath>../asf/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>1</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>
+ Maven is a software project management and comprehension tool. Based on the concept of a project object model
+ (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MPA</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://maven.zones.apache.org:8080/continuum</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>notifications@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>snicoll</id>
+ <name>Stephane Nicoll</name>
+ <email>snicoll@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>fgiust</id>
+ <name>Fabrizio Giustina</name>
+ <email>fgiust@apache.org</email>
+ <organization>openmind</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>epunzalan</id>
+ <name>Edwin Punzalan</name>
+ <email>epunzalan@mergere.com</email>
+ <organization>Mergere</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>mperham</id>
+ <name>Mike Perham</name>
+ <email>mperham@gmail.com</email>
+ <organization>Webify Solutions</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-5/maven-parent-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-5/maven-parent-5.pom
new file mode 100644
index 0000000..b335040
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-5/maven-parent-5.pom
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>3</version>
+ <relativePath>../asf/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>5</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>
+ Maven is a software project management and comprehension tool. Based on the concept of a project object model
+ (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MPA</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://maven.zones.apache.org/continuum</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>notifications@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>snicoll</id>
+ <name>Stephane Nicoll</name>
+ <email>snicoll@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>fgiust</id>
+ <name>Fabrizio Giustina</name>
+ <email>fgiust@apache.org</email>
+ <organization>openmind</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>epunzalan</id>
+ <name>Edwin Punzalan</name>
+ <email>epunzalan@mergere.com</email>
+ <organization>Mergere</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>mperham</id>
+ <name>Mike Perham</name>
+ <email>mperham@gmail.com</email>
+ <organization>IBM</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>carlos</id>
+ <name>Carlos Sanchez</name>
+ <email>carlos@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>dennisl</id>
+ <name>Dennis Lundberg</name>
+ <email>dennisl@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>aheritier</id>
+ <name>Arnaud Heritier</name>
+ <email>aheritier@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>handyande</id>
+ <name>Andrew Williams</name>
+ <email>handyande@apache.org</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>0</timezone>
+ </developer>
+ <developer>
+ <id>jtolentino</id>
+ <name>Ernesto Tolentino Jr.</name>
+ <email>jtolentino@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>joakime</id>
+ <name>Joakim Erdfelt</name>
+ <email>joakime@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>jmcconnell</id>
+ <name>Jesse McConnell</name>
+ <email>jmcconnell@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>wsmoak</id>
+ <name>Wendy Smoak</name>
+ <email>wsmoak@apache.org</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-7</timezone>
+ </developer>
+
+ </developers>
+
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org</url>
+ </site>
+ </distributionManagement>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-4</version>
+ <configuration>
+ <!-- This element will be overriden by children -->
+ <tagBase>https://svn.apache.org/repos/asf/maven/pom/tags</tagBase>
+ <useReleaseProfile>false</useReleaseProfile>
+ <goals>deploy</goals>
+ <arguments>-Prelease</arguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>ci</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>cpd-check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>reporting</id>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml</configLocation>
+ <headerLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt</headerLocation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ </profile>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+ <plugin>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <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>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </configuration>
+ </plugin>
+ <!-- We want to package up license resources in the JARs produced -->
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.0</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.2</version>
+ <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>
+ <version>2.2</version>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5</url>
+ </scm>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-7/maven-parent-7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-7/maven-parent-7.pom
new file mode 100644
index 0000000..7cd1b01
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-parent/maven-parent-7/maven-parent-7.pom
@@ -0,0 +1,670 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>4</version>
+ <relativePath>../asf/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>7</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.</description>
+ <url>http://maven.apache.org/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://maven.zones.apache.org/continuum</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>notifications@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org</url>
+ </site>
+ </distributionManagement>
+ <build>
+ <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>
+ <version>1.0-alpha-6</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.3</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ <!-- START SNIPPET: release-plugin-configuration -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-6</version>
+ <configuration>
+ <!-- This element will be overriden by children -->
+ <tagBase>https://svn.apache.org/repos/asf/maven/pom/tags</tagBase>
+ <useReleaseProfile>false</useReleaseProfile>
+ <goals>deploy</goals>
+ <arguments>-Prelease</arguments>
+ </configuration>
+ </plugin>
+ <!-- END SNIPPET: release-plugin-configuration -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>ci</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>cpd-check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>reporting</id>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml</configLocation>
+ <headerLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt</headerLocation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://commons.apache.org/dbcp/apidocs/</link>
+ <link>http://commons.apache.org/fileupload/apidocs/</link>
+ <link>http://commons.apache.org/httpclient/apidocs/</link>
+ <link>http://commons.apache.org/logging/apidocs/</link>
+ <link>http://commons.apache.org/pool/apidocs/</link>
+ <link>http://junit.sourceforge.net/javadoc/</link>
+ <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ </profile>
+ <!-- START SNIPPET: release-profile -->
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.0-alpha-4</version>
+ <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>
+ <version>2.3</version>
+ <configuration>
+ <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.3</version>
+ <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>
+ <version>2.3</version>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <!-- END SNIPPET: release-profile -->
+ </profiles>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-7</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-7</developerConnection>
+ <url>http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-7</url>
+ </scm>
+ <!-- Developers listed by PMC Chair, PMC, Committers, Contributers, all alphabetical-->
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>aheritier</id>
+ <name>Arnaud Heritier</name>
+ <email>aheritier@apache.org</email>
+ <organization>OCTO Technology</organization>
+ <organizationUrl>http://www.octo.com</organizationUrl>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>brianf</id>
+ <name>Brian Fox</name>
+ <email>brianf@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>carlos</id>
+ <name>Carlos Sanchez</name>
+ <email>carlos@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>dennisl</id>
+ <name>Dennis Lundberg</name>
+ <email>dennisl@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>fgiust</id>
+ <name>Fabrizio Giustina</name>
+ <email>fgiust@apache.org</email>
+ <organization>openmind</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>joakime</id>
+ <name>Joakim Erdfelt</name>
+ <email>joakime@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>jstrachan</id>
+ <name>James Strachan</name>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtolentino</id>
+ <name>Ernesto Tolentino Jr.</name>
+ <email>jtolentino@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>jmcconnell</id>
+ <name>Jesse McConnell</name>
+ <email>jmcconnell@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>ltheussl</id>
+ <name>Lukas Theussl</name>
+ <email>ltheussl@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>mperham</id>
+ <name>Mike Perham</name>
+ <email>mperham@gmail.com</email>
+ <organization>IBM</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>snicoll</id>
+ <name>Stephane Nicoll</name>
+ <email>snicoll@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>wsmoak</id>
+ <name>Wendy Smoak</name>
+ <email>wsmoak@apache.org</email>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-7</timezone>
+ </developer>
+ <!--Committers-->
+ <developer>
+ <id>aramirez</id>
+ <name>Allan Q. Ramirez</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>baerrach</id>
+ <name>Barrie Treloar</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bayard</id>
+ <name>Henri Yandell</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bellingard</id>
+ <name>Fabrice Bellingard</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>chrisjs</id>
+ <name>Chris Stevenson</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dantran</id>
+ <name>Dan Tran</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dblevins</id>
+ <name>David Blevins</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dfabulich</id>
+ <name>Daniel Fabulich</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dkulp</id>
+ <name>Daniel Kulp</name>
+ <email>dkulp@apache.org</email>
+ <organization>IONA</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>dlr</id>
+ <name>Daniel Rall</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>epunzalan</id>
+ <name>Edwin Punzalan</name>
+ <email>epunzalan@mergere.com</email>
+ <organization>Mergere</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>felipeal</id>
+ <name>Felipe Leme</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>handyande</id>
+ <name>Andrew Williams</name>
+ <email>handyande@apache.org</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>0</timezone>
+ </developer>
+ <developer>
+ <id>hboutemy</id>
+ <name>Herve Boutemy</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jjensen</id>
+ <name>Jeff Jensen</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mkleint</id>
+ <name>Milos Kleint</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>oching</id>
+ <name>Maria Odea B. Ching</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>olamy</id>
+ <name>Olivier Lamy</name>
+ <email>olamy@apache.org</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>pschneider</id>
+ <name>Patrick Schneider</name>
+ <email>pschneider@gmail.com</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>rgoers</id>
+ <name>Ralph Goers</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>rinku</id>
+ <name>Rahul Thakur</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>shinobu</id>
+ <name>Shinobu Kuwai</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>smorgrav</id>
+ <name>Torbjorn Eikli Smorgrav</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <!--End Committers-->
+ </developers>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0.4/maven-plugin-api-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0.4/maven-plugin-api-2.0.4.pom
new file mode 100644
index 0000000..f3df05a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0.4/maven-plugin-api-2.0.4.pom
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <name>Maven Plugin API</name>
+ <version>2.0.4</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0.6/maven-plugin-api-2.0.6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0.6/maven-plugin-api-2.0.6.pom
new file mode 100644
index 0000000..c05402a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0.6/maven-plugin-api-2.0.6.pom
@@ -0,0 +1,39 @@
+<?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">
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-plugin-api</artifactId>
+ <name>Maven Plugin API</name>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0/maven-plugin-api-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0/maven-plugin-api-2.0.pom
new file mode 100644
index 0000000..f4ea8d1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/maven-plugin-api-2.0/maven-plugin-api-2.0.pom
@@ -0,0 +1,23 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <name>Maven Plugin API</name>
+ <version>2.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/meta-ga-id.xml
new file mode 100644
index 0000000..9b853c6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032450</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..b86b97d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-api/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174753</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/maven-plugin-descriptor-2.0.4/maven-plugin-descriptor-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/maven-plugin-descriptor-2.0.4/maven-plugin-descriptor-2.0.4.pom
new file mode 100644
index 0000000..6699f2c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/maven-plugin-descriptor-2.0.4/maven-plugin-descriptor-2.0.4.pom
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ <name>Maven Plugin Descriptor Model</name>
+ <version>2.0.4</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <model>src/main/mdo/lifecycle.mdo</model>
+ <version>1.0.0</version>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/maven-plugin-descriptor-2.0/maven-plugin-descriptor-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/maven-plugin-descriptor-2.0/maven-plugin-descriptor-2.0.pom
new file mode 100644
index 0000000..25d4445
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/maven-plugin-descriptor-2.0/maven-plugin-descriptor-2.0.pom
@@ -0,0 +1,52 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ <name>Maven Plugin Descriptor Model</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <model>src/main/mdo/lifecycle.mdo</model>
+ <version>1.0.0</version>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/meta-ga-id.xml
new file mode 100644
index 0000000..947a703
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032459</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-descriptor</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..b55c1d9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-descriptor/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174802</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-descriptor</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/maven-plugin-parameter-documenter-2.0.4/maven-plugin-parameter-documenter-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/maven-plugin-parameter-documenter-2.0.4/maven-plugin-parameter-documenter-2.0.4.pom
new file mode 100644
index 0000000..222f4fb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/maven-plugin-parameter-documenter-2.0.4/maven-plugin-parameter-documenter-2.0.4.pom
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ <name>Maven Plugin Parameter Documenter API</name>
+ <version>2.0.4</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>base</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>xsd</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/paramdoc.mdo</model>
+ <packageWithVersion>false</packageWithVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/maven-plugin-parameter-documenter-2.0/maven-plugin-parameter-documenter-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/maven-plugin-parameter-documenter-2.0/maven-plugin-parameter-documenter-2.0.pom
new file mode 100644
index 0000000..f2545c2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/maven-plugin-parameter-documenter-2.0/maven-plugin-parameter-documenter-2.0.pom
@@ -0,0 +1,54 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ <name>Maven Plugin Parameter Documenter API</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>base</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>xsd</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/paramdoc.mdo</model>
+ <packageWithVersion>false</packageWithVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/meta-ga-id.xml
new file mode 100644
index 0000000..0a819ff
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/meta-ga-id.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032458</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-parameter-documenter</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..afffb69
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-parameter-documenter/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174801</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-parameter-documenter</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/maven-plugin-registry-2.0.4/maven-plugin-registry-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/maven-plugin-registry-2.0.4/maven-plugin-registry-2.0.4.pom
new file mode 100644
index 0000000..cce76db
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/maven-plugin-registry-2.0.4/maven-plugin-registry-2.0.4.pom
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-registry</artifactId>
+ <name>Maven Plugin Registry Model</name>
+ <version>2.0.4</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>plugin-registry.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/maven-plugin-registry-2.0/maven-plugin-registry-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/maven-plugin-registry-2.0/maven-plugin-registry-2.0.pom
new file mode 100644
index 0000000..efd395f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/maven-plugin-registry-2.0/maven-plugin-registry-2.0.pom
@@ -0,0 +1,46 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-registry</artifactId>
+ <name>Maven Plugin Registry Model</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>plugin-registry.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/meta-ga-id.xml
new file mode 100644
index 0000000..3a1a2e5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032459</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-registry</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..057b38d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-plugin-registry/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174802</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-plugin-registry</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/maven-profile-2.0.4/maven-profile-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/maven-profile-2.0.4/maven-profile-2.0.4.pom
new file mode 100644
index 0000000..5ec297f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/maven-profile-2.0.4/maven-profile-2.0.4.pom
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-profile</artifactId>
+ <name>Maven Profile Model</name>
+ <version>2.0.4</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>profiles.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/maven-profile-2.0/maven-profile-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/maven-profile-2.0/maven-profile-2.0.pom
new file mode 100644
index 0000000..3ad062e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/maven-profile-2.0/maven-profile-2.0.pom
@@ -0,0 +1,50 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-profile</artifactId>
+ <name>Maven Profile Model</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>profiles.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/meta-ga-id.xml
new file mode 100644
index 0000000..1679a33
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-profile</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..2542a79
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-profile/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174753</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-profile</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/maven-project-2.0.4/maven-project-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/maven-project-2.0.4/maven-project-2.0.4.pom
new file mode 100644
index 0000000..f21431d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/maven-project-2.0.4/maven-project-2.0.4.pom
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-project</artifactId>
+ <name>Maven Project Builder</name>
+ <version>2.0.4</version>
+ <description>This library is used to not only read Maven project object model files, but to assemble inheritence
+ and to retrieve remote models as required.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-test</artifactId>
+ <version>2.0.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/maven-project-2.0/maven-project-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/maven-project-2.0/maven-project-2.0.pom
new file mode 100644
index 0000000..9a00d07
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/maven-project-2.0/maven-project-2.0.pom
@@ -0,0 +1,52 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-project</artifactId>
+ <name>Maven Project Builder</name>
+ <version>2.0</version>
+ <description>This library is used to not only read Maven project object model files, but to assemble inheritence
+ and to retrieve remote models as required.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-test</artifactId>
+ <version>2.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/meta-ga-id.xml
new file mode 100644
index 0000000..bc08522
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/meta-ga-id.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032450</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-project</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..fe5cfce
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-project/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174752</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-project</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0.2/maven-repository-metadata-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0.2/maven-repository-metadata-2.0.2.pom
new file mode 100644
index 0000000..9aec1c9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0.2/maven-repository-metadata-2.0.2.pom
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <name>Maven Repository Metadata Model</name>
+ <version>2.0.2</version>
+ <description>Maven Plugin Mapping</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0.4/maven-repository-metadata-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0.4/maven-repository-metadata-2.0.4.pom
new file mode 100644
index 0000000..6e62ee5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0.4/maven-repository-metadata-2.0.4.pom
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <name>Maven Repository Metadata Model</name>
+ <version>2.0.4</version>
+ <description>Maven Plugin Mapping</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0/maven-repository-metadata-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0/maven-repository-metadata-2.0.pom
new file mode 100644
index 0000000..db9da23
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/maven-repository-metadata-2.0/maven-repository-metadata-2.0.pom
@@ -0,0 +1,44 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <name>Maven Repository Metadata Model</name>
+ <version>2.0</version>
+ <description>Maven Plugin Mapping</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/meta-ga-id.xml
new file mode 100644
index 0000000..d1a24d7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032453</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-repository-metadata</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..aa4ca28
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-repository-metadata/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174755</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-repository-metadata</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/maven-settings-2.0.4/maven-settings-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/maven-settings-2.0.4/maven-settings-2.0.4.pom
new file mode 100644
index 0000000..dcf959d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/maven-settings-2.0.4/maven-settings-2.0.4.pom
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-settings</artifactId>
+ <name>Maven Local Settings Model</name>
+ <version>2.0.4</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <id>site-xsd</id>
+ <phase>site</phase>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>settings.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/maven-settings-2.0/maven-settings-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/maven-settings-2.0/maven-settings-2.0.pom
new file mode 100644
index 0000000..65ca8a4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/maven-settings-2.0/maven-settings-2.0.pom
@@ -0,0 +1,50 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-settings</artifactId>
+ <name>Maven Local Settings Model</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>settings.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/meta-ga-id.xml
new file mode 100644
index 0000000..5702cf5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/meta-ga-id.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-settings</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..6ceeb70
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven-settings/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174754</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.apache.maven</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>maven-settings</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0-beta-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.0.9</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.2/maven-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.2/maven-2.0.2.pom
new file mode 100644
index 0000000..e2a84c2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.2/maven-2.0.2.pom
@@ -0,0 +1,377 @@
+<?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</groupId>
+ <artifactId>maven</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven</name>
+ <version>2.0.2</version>
+ <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>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>commits@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@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@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@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@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.2</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/tags/maven-2.0.2</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-archiver</module>
+ <module>maven-artifact</module>
+ <module>maven-artifact-manager</module>
+ <module>maven-artifact-test</module>
+ <module>maven-core</module>
+ <module>maven-error-diagnostics</module>
+ <module>maven-model</module>
+ <module>maven-model-converter</module>
+ <module>maven-monitor</module>
+ <module>maven-plugin-api</module>
+ <module>maven-plugin-descriptor</module>
+ <module>maven-plugin-parameter-documenter</module>
+ <module>maven-plugin-registry</module>
+ <module>maven-plugin-tools</module>
+ <module>maven-profile</module>
+ <module>maven-project</module>
+ <module>maven-reporting</module>
+ <module>maven-repository-metadata</module>
+ <module>maven-script</module>
+ <module>maven-settings</module>
+ </modules>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>apache.snapshots</id>
+ <name>Apache Development Repository</name>
+ <url>http://cvs.apache.org/maven-snapshot-repository</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>changelog-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Repository</name>
+ <url>scp://minotaur.apache.org/www/cvs.apache.org/maven-snapshot-repository</url>
+ </snapshotRepository>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.4/maven-2.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.4/maven-2.0.4.pom
new file mode 100644
index 0000000..2111e8a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.4/maven-2.0.4.pom
@@ -0,0 +1,341 @@
+<?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</groupId>
+ <artifactId>maven</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven</name>
+ <version>2.0.4</version>
+ <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>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>notifications@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@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@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@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@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>emmanuel@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.4</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.4</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/tags/maven-2.0.4</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>clean-before-source-assembly</id>
+ <activation>
+ <property>
+ <name>source-assembly</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>clean-before-source-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <modules>
+ <module>maven-archiver</module>
+ <module>maven-artifact</module>
+ <module>maven-artifact-manager</module>
+ <module>maven-artifact-test</module>
+ <module>maven-core</module>
+ <module>maven-error-diagnostics</module>
+ <module>maven-model</module>
+ <module>maven-model-converter</module>
+ <module>maven-monitor</module>
+ <module>maven-plugin-api</module>
+ <module>maven-plugin-descriptor</module>
+ <module>maven-plugin-parameter-documenter</module>
+ <module>maven-plugin-registry</module>
+ <module>maven-plugin-tools</module>
+ <module>maven-profile</module>
+ <module>maven-project</module>
+ <module>maven-reporting</module>
+ <module>maven-repository-metadata</module>
+ <module>maven-script</module>
+ <module>maven-settings</module>
+ </modules>
+ <repositories>
+ <repository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Repository</name>
+ <url>http://cvs.apache.org/maven-snapshot-repository</url>
+ </repository>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Repository</name>
+ <url>http://cvs.apache.org/maven-snapshot-repository</url>
+ </pluginRepository>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>1.0-alpha-7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>1.0-alpha-7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Repository</name>
+ <url>scp://minotaur.apache.org/www/cvs.apache.org/maven-snapshot-repository</url>
+ </snapshotRepository>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/ref/${project.version}</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.6/maven-2.0.6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.6/maven-2.0.6.pom
new file mode 100644
index 0000000..e4622f0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0.6/maven-2.0.6.pom
@@ -0,0 +1,246 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>5</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <artifactId>maven</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven</name>
+ <version>2.0.6</version>
+ <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>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@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>
+ </mailingLists>
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.6</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.6</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.6</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-13</version>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-artifact</module>
+ <module>maven-artifact-manager</module>
+ <module>maven-artifact-test</module>
+ <module>maven-core</module>
+ <module>maven-error-diagnostics</module>
+ <module>maven-model</module>
+ <module>maven-monitor</module>
+ <module>maven-plugin-api</module>
+ <module>maven-plugin-descriptor</module>
+ <module>maven-plugin-parameter-documenter</module>
+ <module>maven-plugin-registry</module>
+ <module>maven-profile</module>
+ <module>maven-project</module>
+ <module>maven-reporting</module>
+ <module>maven-repository-metadata</module>
+ <module>maven-script</module>
+ <module>maven-settings</module>
+ </modules>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <properties>
+ <mavenVersion>2.0.6</mavenVersion>
+ </properties>
+ <dependencyManagement>
+ <dependencies>
+ <!-- Maven -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-test</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-registry</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9-stable-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>1.2_Java1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
+ </site>
+ </distributionManagement>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0/maven-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0/maven-2.0.pom
new file mode 100644
index 0000000..3fe5d31
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache.maven/maven/maven-2.0/maven-2.0.pom
@@ -0,0 +1,264 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven</name>
+ <version>2.0</version>
+ <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/maven2/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>commits@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Developer List</name>
+ <subscribe>dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@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@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/tags/maven-2.0</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-archiver</module>
+ <module>maven-artifact</module>
+ <module>maven-artifact-manager</module>
+ <module>maven-artifact-ant</module>
+ <module>maven-artifact-test</module>
+ <module>maven-core</module>
+ <module>maven-error-diagnostics</module>
+ <module>maven-model</module>
+ <module>maven-monitor</module>
+ <module>maven-plugin-api</module>
+ <module>maven-plugin-descriptor</module>
+ <module>maven-plugin-parameter-documenter</module>
+ <module>maven-plugin-registry</module>
+ <module>maven-plugin-tools</module>
+ <module>maven-profile</module>
+ <module>maven-project</module>
+ <module>maven-reporting</module>
+ <module>maven-repository-metadata</module>
+ <module>maven-script</module>
+ <module>maven-settings</module>
+ </modules>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/maven2/</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-1/apache-1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-1/apache-1.pom
new file mode 100644
index 0000000..94dceea
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-1/apache-1.pom
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- 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 -->
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>1</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>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://svn.apache.org/maven-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <distributionManagement>
+ <!-- Site omitted - each project must provide their own -->
+ <repository>
+ <id>apache.releases</id>
+ <name>Apache Release Distribution Repository</name>
+ <url>scp://minotaur.apache.org/www/www.apache.org/dist/maven-repository</url>
+ </repository>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Snapshot Repository</name>
+ <url>scp://minotaur.apache.org/www/cvs.apache.org/maven-snapshot-repository</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-3/apache-3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-3/apache-3.pom
new file mode 100644
index 0000000..4da5b02
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-3/apache-3.pom
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- 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 -->
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>3</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>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://people.apache.org/repo/m2-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <distributionManagement>
+ <!-- Site omitted - each project must provide their own -->
+ <repository>
+ <id>apache.releases</id>
+ <name>Apache Release Distribution Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </repository>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Snapshot Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-4/apache-4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-4/apache-4.pom
new file mode 100644
index 0000000..fde1015
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.apache/apache/apache-4/apache-4.pom
@@ -0,0 +1,113 @@
+<?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>
+
+ <!-- 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 -->
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>4</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://people.apache.org/repo/m2-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <distributionManagement>
+ <!-- Site omitted - each project must provide their own -->
+ <repository>
+ <id>apache.releases</id>
+ <name>Apache Release Distribution Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </repository>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Snapshot Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+ <properties>
+ <organization.logo>http://www.apache.org/images/asf_logo_wide.gif</organization.logo>
+ </properties>
+ <!--
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <configuration>
+ <artifacts>
+ <artifact>org.apache:apache-distribution-resources:1.0-SNAPSHOT</artifact>
+ </artifacts>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ -->
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-4</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-4</developerConnection>
+ <url>http://svn.apache.org/viewvc/maven/pom/tags/apache-4</url>
+ </scm>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/meta-ga-id.xml
new file mode 100644
index 0000000..6dfe8b0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/meta-ga-id.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032458</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-archiver</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-10</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..4b428cd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174801</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-archiver</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-10</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/plexus-archiver-1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/plexus-archiver-1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
new file mode 100644
index 0000000..b90e437
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-archiver/plexus-archiver-1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus-components</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.1.6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-archiver</artifactId>
+ <name>Plexus Archiver Component</name>
+ <version>1.0-alpha-7</version>
+ <contributors>
+ <contributor>
+ <name>Dan Tran</name>
+ </contributor>
+ <contributor>
+ <name>Richard van der Hoff</name>
+ </contributor>
+ </contributors>
+ <scm>
+ <connection>scm:svn:https://svn.codehaus.org/plexus/tags/plexus-archiver-1.0-alpha-7</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/tags/plexus-archiver-1.0-alpha-7</developerConnection>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.2</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-api/meta-ga-id.xml
new file mode 100644
index 0000000..262b60a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-api/meta-ga-id.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106235957</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-compiler-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.5.3</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-api/plexus-compiler-api-1.5.3/plexus-compiler-api-1.5.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-api/plexus-compiler-api-1.5.3/plexus-compiler-api-1.5.3.pom
new file mode 100644
index 0000000..69de55f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-api/plexus-compiler-api-1.5.3/plexus-compiler-api-1.5.3.pom
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus-compiler</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.5.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-compiler-api</artifactId>
+ <name>Plexus Compiler Api</name>
+ <version>1.5.3</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-manager/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-manager/meta-ga-id.xml
new file mode 100644
index 0000000..d238f39
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-manager/meta-ga-id.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106235957</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-compiler-manager</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.5.3</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-manager/plexus-compiler-manager-1.5.3/plexus-compiler-manager-1.5.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-manager/plexus-compiler-manager-1.5.3/plexus-compiler-manager-1.5.3.pom
new file mode 100644
index 0000000..e2db2ad
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler-manager/plexus-compiler-manager-1.5.3/plexus-compiler-manager-1.5.3.pom
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus-compiler</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.5.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-compiler-manager</artifactId>
+ <name>Plexus Compiler Manager</name>
+ <version>1.5.3</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler/plexus-compiler-1.5.3/plexus-compiler-1.5.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler/plexus-compiler-1.5.3/plexus-compiler-1.5.3.pom
new file mode 100644
index 0000000..b47de92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-compiler/plexus-compiler-1.5.3/plexus-compiler-1.5.3.pom
@@ -0,0 +1,41 @@
+<?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">
+ <parent>
+ <artifactId>plexus-components</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.1.6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-compiler</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus Compiler Parent</name>
+ <version>1.5.3</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <version>1.3.3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>descriptor</goal>
+ <goal>merge-descriptors</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <modules>
+ <module>plexus-compiler-api</module>
+ <module>plexus-compiler-test</module>
+ <module>plexus-compiler-manager</module>
+ <module>plexus-compilers</module>
+ </modules>
+
+ <scm>
+ <connection>scm:svn:https://svn.codehaus.org/plexus/tags/plexus-compiler-1.5.3</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/tags/plexus-compiler-1.5.3</developerConnection>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-components/plexus-components-1.1.6/plexus-components-1.1.6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-components/plexus-components-1.1.6/plexus-components-1.1.6.pom
new file mode 100644
index 0000000..0afa802
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-components/plexus-components-1.1.6/plexus-components-1.1.6.pom
@@ -0,0 +1,60 @@
+<!--
+
+ !!!
+
+ NOTE: If you change this file, you MUST bump the version up from 1.0. That is the version of the POM, and was
+ used for releases of plexus-compiler and plexus-archiver in the past.
+
+ !!!
+
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.8</version>
+ </parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-components</artifactId>
+ <packaging>pom</packaging>
+ <version>1.1.6</version>
+ <name>Plexus Components Parent Project</name>
+ <!--
+ TODO: should this be pushed down to all the dependencies?
+ - a more stable API JAR may be useful, for the interfaces and classes such as AbstractLogEnabled
+ -->
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ </dependency>
+ </dependencies>
+ <modules>
+ <module>plexus-action</module>
+ <module>plexus-archiver</module>
+ <module>plexus-bayesian</module>
+ <module>plexus-command</module>
+ <module>plexus-compiler</module>
+ <module>plexus-drools</module>
+ <module>plexus-formica</module>
+ <module>plexus-formica-web</module>
+ <module>plexus-hibernate</module>
+ <module>plexus-i18n</module>
+ <module>plexus-interactivity</module>
+ <module>plexus-ircbot</module>
+ <module>plexus-jdo</module>
+ <module>plexus-jetty-httpd</module>
+ <module>plexus-jetty</module>
+ <module>plexus-mimetyper</module>
+ <module>plexus-notification</module>
+ <module>plexus-resource</module>
+ <module>plexus-security</module>
+ <module>plexus-summit</module>
+ <module>plexus-taskqueue</module>
+ <module>plexus-velocity</module>
+ <module>plexus-xmlrpc</module>
+ </modules>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/meta-ga-id.xml
new file mode 100644
index 0000000..e5f3fd5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/meta-ga-id.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032451</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-container-default</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9-stable-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-11</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-12</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-13</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-14</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-15</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-16</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-17</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-18</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-19</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-20</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-21</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-22</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-23</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-24</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-25</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-26</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-27</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-28</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-29</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-30</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-31</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-32</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-33</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-34</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-35</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-36</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-37</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-38</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-39</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-40</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-41</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-42</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-43</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-44</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-45</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-46</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-47</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-48</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..d2ae722
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174754</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-container-default</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-9-stable-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-10</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-11</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-12</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-13</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-14</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-15</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-16</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-17</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-18</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-19</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-20</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-21</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-22</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-23</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-24</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-25</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-26</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-27</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-28</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-29</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-30</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-31</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-32</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-33</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-34</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-35</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-36</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-37</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-38</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-39</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-40</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-41</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-42</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-43</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-44</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-45</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-46</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-47</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-48</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom
new file mode 100644
index 0000000..1d64bc8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom
@@ -0,0 +1,47 @@
+<project>
+ <parent>
+ <artifactId>plexus-containers</artifactId>
+ <groupId>plexus</groupId>
+ <version>1.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-7</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.0-beta-1</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
new file mode 100644
index 0000000..99e725b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
@@ -0,0 +1,248 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-8</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ <host>irc.codehaus.org</host>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-containers/plexus-container-default</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-containers/plexus-container-default</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ <finalName>plexus-container-default-1.0-alpha-8</finalName>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-2</version>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.0-beta-1</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
new file mode 100644
index 0000000..eec9fd9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-container-default/plexus-container-default-1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
@@ -0,0 +1,45 @@
+<project>
+ <parent>
+ <artifactId>plexus-containers</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-9</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-containers/plexus-containers-1.0.3/plexus-containers-1.0.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-containers/plexus-containers-1.0.3/plexus-containers-1.0.3.pom
new file mode 100644
index 0000000..cf94c7c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-containers/plexus-containers-1.0.3/plexus-containers-1.0.3.pom
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <version>1.0.4</version>
+ </parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-containers</artifactId>
+ <packaging>pom</packaging>
+ <name>Parent Plexus Container POM</name>
+ <version>1.0.3</version>
+ <modules>
+ <module>plexus-container-artifact</module>
+ <module>plexus-container-default</module>
+ </modules>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/meta-ga-id.xml
new file mode 100644
index 0000000..54b049b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/meta-ga-id.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032459</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-interactivity-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..d7eeca2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174802</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-interactivity-api</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
new file mode 100644
index 0000000..7ee1c5c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-interactivity-api/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
@@ -0,0 +1,242 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <name>Plexus Default Interactivity Handler</name>
+ <version>1.0-alpha-4</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ <host>irc.codehaus.org</host>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-components/plexus-interactivity/plexus-interactivity-api</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-components/plexus-interactivity/plexus-interactivity-api</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-7</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.2</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/meta-ga-id.xml
new file mode 100644
index 0000000..3210c86
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/meta-ga-id.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032450</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-utils</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.6</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..ab57f65
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174753</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>org.codehaus.plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-utils</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.6</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.7</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.8</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.4.9</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.5.6</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.0.4/plexus-utils-1.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.0.4/plexus-utils-1.0.4.pom
new file mode 100644
index 0000000..4c60828
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.0.4/plexus-utils-1.0.4.pom
@@ -0,0 +1,235 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.0.4</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ <host>irc.codehaus.org</host>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-utils</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-utils</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>RELEASE</version>
+ <configuration>
+ <excludes>
+ <exclude implementation="java.lang.String">org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude implementation="java.lang.String">**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.1/plexus-utils-1.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.1/plexus-utils-1.1.pom
new file mode 100644
index 0000000..6cf9079
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.1/plexus-utils-1.1.pom
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.1</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.2/plexus-utils-1.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.2/plexus-utils-1.2.pom
new file mode 100644
index 0000000..625116c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.2/plexus-utils-1.2.pom
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.5</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.2</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.4.2/plexus-utils-1.4.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.4.2/plexus-utils-1.4.2.pom
new file mode 100644
index 0000000..9d3413e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.4.2/plexus-utils-1.4.2.pom
@@ -0,0 +1,50 @@
+<?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">
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.11</version>
+ <relativePath>../pom/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.4.2</version>
+ <build>
+ <plugins>
+ <plugin>
+ <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>
+ <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>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.2</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.2</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.2</url>
+ </scm>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.4.6/plexus-utils-1.4.6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.4.6/plexus-utils-1.4.6.pom
new file mode 100644
index 0000000..b903abc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus-utils/plexus-utils-1.4.6/plexus-utils-1.4.6.pom
@@ -0,0 +1,61 @@
+<?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">
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.11</version>
+ <relativePath>../pom/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.4.6</version>
+ <url>http://plexus.codehaus.org/plexus-utils</url>
+ <build>
+ <plugins>
+ <plugin>
+ <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>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.6</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.6</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.6</url>
+ </scm>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.11/plexus-1.0.11.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.11/plexus-1.0.11.pom
new file mode 100644
index 0000000..28ee574
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.11/plexus-1.0.11.pom
@@ -0,0 +1,308 @@
+<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.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.11</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</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>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus User List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/user</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Announce List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/announce</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Commit List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/scm</archive>
+ </mailingList>
+ </mailingLists>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.codehaus.org/browse/PLX</url>
+ </issueManagement>
+
+ <distributionManagement>
+ <repository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Repository</name>
+ <url>dav:https://dav.codehaus.org/repository/plexus</url>
+ </repository>
+ <snapshotRepository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Development Repository</name>
+ <url>dav:https://dav.codehaus.org/snapshots.repository/plexus</url>
+ </snapshotRepository>
+ <site>
+ <id>codehaus.org</id>
+ <url>dav:https://dav.codehaus.org/plexus</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>codehaus.snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email />
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstol</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Carlos Sanchez</name>
+ <id>carlos</id>
+ <email>carlos@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <id>brett</id>
+ <email>brett@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John Casey</name>
+ <id>jdcasey</id>
+ <email>jdcasey@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Andrew Williams</name>
+ <id>handyande</id>
+ <email>andy@handyande.co.uk</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Rahul Thakur</name>
+ <id>rahul</id>
+ <email>rahul.thakur.xdev@gmail.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Joakim Erdfelt</name>
+ <id>joakime</id>
+ <email>joakim@erdfelt.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Olivier Lamy</name>
+ <id>olamy</id>
+ <email>olamy@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/pom/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/pom/trunk/</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/pom/trunk/</url>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ <!--
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0-alpha-2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.1.1-SNAPSHOT</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+ </plugins>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <goals>deploy</goals>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.4/plexus-1.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.4/plexus-1.0.4.pom
new file mode 100644
index 0000000..2cf5d56
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.4/plexus-1.0.4.pom
@@ -0,0 +1,205 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.4</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstøl</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <module>plexus-appserver</module>
+ <module>plexus-archetypes</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-services</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.5/plexus-1.0.5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.5/plexus-1.0.5.pom
new file mode 100644
index 0000000..a0cc021
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.5/plexus-1.0.5.pom
@@ -0,0 +1,206 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.5</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstøl</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:https://svn.codehaus.org/plexus/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <module>plexus-appserver</module>
+ <module>plexus-archetypes</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-services</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.8/plexus-1.0.8.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.8/plexus-1.0.8.pom
new file mode 100644
index 0000000..cba2014
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/org.codehaus.plexus/plexus/plexus-1.0.8/plexus-1.0.8.pom
@@ -0,0 +1,259 @@
+<?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.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.8</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.codehaus.org/browse/PLX</url>
+ </issueManagement>
+
+ <distributionManagement>
+ <repository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Repository</name>
+ <url>dav:https://dav.codehaus.org/repository/plexus</url>
+ </repository>
+ <snapshotRepository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Development Repository</name>
+ <url>dav:https://dav.codehaus.org/snapshots.repository/plexus</url>
+ </snapshotRepository>
+ <site>
+ <id>codehaus.org</id>
+ <url>dav:https://dav.codehaus.org/plexus</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>apache-snapshots</id>
+ <name>Snapshot repository</name>
+ <url>http://people.apache.org/maven-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstol</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Carlos Sanchez</name>
+ <id>carlos</id>
+ <email>carlos@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <id>brett</id>
+ <email>brett@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John Casey</name>
+ <id>jdcasey</id>
+ <email>jdcasey@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <!--
+
+ Until the bug is fixed in Maven which is pulling in the trunk to the
+ appserver build.
+ <module>plexus-appserver</module>
+ -->
+ <module>plexus-archetypes</module>
+ <module>plexus-examples</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-1</version>
+ </extension>
+ </extensions>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-components/plexus-components-1.0/plexus-components-1.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-components/plexus-components-1.0/plexus-components-1.0.pom
new file mode 100644
index 0000000..1666735
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-components/plexus-components-1.0/plexus-components-1.0.pom
@@ -0,0 +1,49 @@
+<!--
+
+ !!!
+
+ NOTE: If you change this file, you MUST bump the version up from 1.0. That is the version of the POM, and was
+ used for releases of plexus-compiler and plexus-archiver in the past.
+
+ !!!
+
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>plexus-root</artifactId>
+ <groupId>plexus</groupId>
+ <version>1.0</version>
+ </parent>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-components</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0</version>
+ <name>Plexus Components Parent Project</name>
+ <!--
+ TODO: should this be pushed down to all the dependencies?
+ - a more stable API JAR may be useful, for the interfaces and classes such as AbstractLogEnabled
+ -->
+ <dependencies>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
+ </dependencies>
+ <modules>
+ <module>plexus-action</module>
+ <module>plexus-archiver</module>
+ <module>plexus-command</module>
+ <module>plexus-formica-web</module>
+ <module>plexus-formica</module>
+ <module>plexus-hibernate</module>
+ <module>plexus-jdo</module>
+ <module>plexus-jetty</module>
+ <module>plexus-mail-sender</module>
+ <module>plexus-summit</module>
+ <module>plexus-velocity</module>
+ <module>plexus-xmlrpc</module>
+ </modules>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/meta-ga-id.xml
new file mode 100644
index 0000000..645ff06
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/meta-ga-id.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032501</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-container-default</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..0a37d36
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174804</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-container-default</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-5</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-6</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/plexus-container-default-1.0-alpha-2/plexus-container-default-1.0-alpha-2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/plexus-container-default-1.0-alpha-2/plexus-container-default-1.0-alpha-2.pom
new file mode 100644
index 0000000..77a1347
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-container-default/plexus-container-default-1.0-alpha-2/plexus-container-default-1.0-alpha-2.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-2</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-containers/plexus-containers-1.0.2/plexus-containers-1.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-containers/plexus-containers-1.0.2/plexus-containers-1.0.2.pom
new file mode 100644
index 0000000..0d1c804
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-containers/plexus-containers-1.0.2/plexus-containers-1.0.2.pom
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-root</artifactId>
+ <version>1.0.3</version>
+ </parent>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-containers</artifactId>
+ <packaging>pom</packaging>
+ <name>Parent Plexus Container POM</name>
+ <version>1.0.2</version>
+ <modules>
+ <module>plexus-container-artifact</module>
+ <module>plexus-container-default</module>
+ </modules>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/meta-ga-id.xml
new file mode 100644
index 0000000..70200d5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/meta-ga-id.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032500</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-jetty-httpd</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..04f68b9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174803</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-jetty-httpd</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/plexus-jetty-httpd-1.0-beta-1/plexus-jetty-httpd-1.0-beta-1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/plexus-jetty-httpd-1.0-beta-1/plexus-jetty-httpd-1.0-beta-1.pom
new file mode 100644
index 0000000..9f985bc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-jetty-httpd/plexus-jetty-httpd-1.0-beta-1/plexus-jetty-httpd-1.0-beta-1.pom
@@ -0,0 +1,24 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-components</artifactId>
+ <version>1.0</version>
+ </parent>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-jetty-httpd</artifactId>
+ <version>1.0-beta-1</version>
+ <name>Plexus Jetty HTTPD Component</name>
+ <dependencies>
+ <dependency>
+ <groupId>jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>4.2.10</version>
+ </dependency>
+ <dependency>
+ <groupId>servletapi</groupId>
+ <artifactId>servletapi</artifactId>
+ <version>2.3</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-root/plexus-root-1.0.3/plexus-root-1.0.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-root/plexus-root-1.0.3/plexus-root-1.0.3.pom
new file mode 100644
index 0000000..dfb4a0b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-root/plexus-root-1.0.3/plexus-root-1.0.3.pom
@@ -0,0 +1,216 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-root</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.3</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2/plugins</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstøl</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <!--
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-4-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ -->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <module>plexus-appserver</module>
+ <module>plexus-archetypes</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-services</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-root/plexus-root-1.0/plexus-root-1.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-root/plexus-root-1.0/plexus-root-1.0.pom
new file mode 100644
index 0000000..dd128de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-root/plexus-root-1.0/plexus-root-1.0.pom
@@ -0,0 +1,180 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-root</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Repository</name>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ </distributionManagement>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstøl</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <!--
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-4-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ -->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <module>plexus-appserver</module>
+ <module>plexus-archetypes</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-services</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-utils/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-utils/meta-ga-id.xml
new file mode 100644
index 0000000..328c146
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-utils/meta-ga-id.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032503</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>plexus</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>plexus-utils</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-alpha-3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0-beta-1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.0</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.1</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>1.0.3</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-utils/plexus-utils-1.0.2/plexus-utils-1.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-utils/plexus-utils-1.0.2/plexus-utils-1.0.2.pom
new file mode 100644
index 0000000..185ff1e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/plexus/plexus-utils/plexus-utils-1.0.2/plexus-utils-1.0.2.pom
@@ -0,0 +1,27 @@
+<project>
+ <parent>
+ <artifactId>plexus-root</artifactId>
+ <groupId>plexus</groupId>
+ <version>1.0.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.0.2</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude implementation="java.lang.String">org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/meta-ga-id.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/meta-ga-id.xml
new file mode 100644
index 0000000..c6583a6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/meta-ga-id.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106032500</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>servletapi</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>servletapi</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4.public_draft</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4-20030804.000000</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4-20040521</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/meta-ga-testRemoteRepo.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/meta-ga-testRemoteRepo.xml
new file mode 100644
index 0000000..d991975
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/meta-ga-testRemoteRepo.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><cachedRawMetadata>
+ <lastUpdated>20081106174803</lastUpdated>
+ <elements>
+ <element>
+ <name>coordinates</name>
+ <attributes>
+ <attribute>
+ <name>groupId</name>
+ <value>servletapi</value>
+ </attribute>
+ <attribute>
+ <name>artifactId</name>
+ <value>servletapi</value>
+ </attribute>
+ </attributes>
+ </element>
+ <element>
+ <name>versions</name>
+ <attributes>
+ <attribute>
+ <name>version</name>
+ <value>2.2</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.3</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4.public_draft</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4-20030804.000000</value>
+ </attribute>
+ <attribute>
+ <name>version</name>
+ <value>2.4-20040521</value>
+ </attribute>
+ </attributes>
+ </element>
+ </elements>
+</cachedRawMetadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/servletapi-2.3/servletapi-2.3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/servletapi-2.3/servletapi-2.3.pom
new file mode 100644
index 0000000..752a37a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/.cache/servletapi/servletapi/servletapi-2.3/servletapi-2.3.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>servletapi</groupId>
+ <artifactId>servletapi</artifactId>
+ <version>2.3</version>
+ <name>Java Servlet Technology</name>
+ <description>
+ Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems.
+ </description>
+ <url>http://java.sun.com/products/servlet/</url>
+ <distributionManagement>
+ <downloadUrl>http://java.sun.com/products/servlet/download.html</downloadUrl>
+ <relocation>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.3</version>
+ </relocation>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
new file mode 100644
index 0000000..6805b5d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
@@ -0,0 +1,95 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <name>classworlds</name>
+ <version>1.1-alpha-2</version>
+ <description></description>
+ <url>http://classworlds.codehaus.org/</url>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <address>classworlds-scm@lists.codehaus.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>classworlds users</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-user</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-user</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-user/</archive>
+ </mailingList>
+ <mailingList>
+ <name>classworlds developers</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>classworlds commit messages</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-scm</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/classworlds-scm</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/classworlds-scm/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>bob</id>
+ <name>bob mcwhirter</name>
+ <email>bob@werken.com</email>
+ <organization>The Werken Company</organization>
+ <roles>
+ <role>Founder</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>ben@walding.com</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:cvs:pserver:anonymous@cvs.codehaus.org:/scm/cvspublic/:classworlds</connection>
+ <url>http://cvs.classworlds.codehaus.org/</url>
+ </scm>
+ <organization>
+ <name>The Codehaus</name>
+ <url>http://codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/java/main</sourceDirectory>
+ <testSourceDirectory>src/java/test</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <site>
+ <id>default</id>
+ <name>Default Site</name>
+ <url>scp://classworlds.codehaus.org//www/classworlds.codehaus.org</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/maven-metadata-local.xml
new file mode 100644
index 0000000..1acc010
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/1.1-alpha-2/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <versioning>
+ <versions>
+ <version>1.1-alpha-2</version>
+ </versions>
+ <lastUpdated>20081106032523</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/maven-metadata-local.xml
new file mode 100644
index 0000000..a761806
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/classworlds/classworlds/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <versioning>
+ <versions>
+ <version>1.1-alpha-2</version>
+ </versions>
+ <lastUpdated>20081106032523</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/junit-3.8.1.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/junit-3.8.1.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/junit-3.8.1.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/junit-3.8.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/junit-3.8.1.pom
new file mode 100644
index 0000000..2169a65
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/junit-3.8.1.pom
@@ -0,0 +1,29 @@
+<?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>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <name>JUnit</name>
+ <url>http://junit.org</url>
+ <description>
+ JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.
+ </description>
+ <organization>
+ <name>JUnit</name>
+ <url>http://www.junit.org</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>Common Public License Version 1.0</name>
+ <url>http://www.opensource.org/licenses/cpl1.0.txt</url>
+ </license>
+ </licenses>
+ <scm>
+ <url>http://junit.cvs.sourceforge.net/junit/</url>
+ </scm>
+ <dependencies>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/maven-metadata-local.xml
new file mode 100644
index 0000000..c6b2424
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/3.8.1/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <versioning>
+ <versions>
+ <version>3.8.1</version>
+ </versions>
+ <lastUpdated>20081106032523</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/maven-metadata-local.xml
new file mode 100644
index 0000000..21a98e2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/junit/junit/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <versioning>
+ <versions>
+ <version>3.8.1</version>
+ </versions>
+ <lastUpdated>20081106032523</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
new file mode 100644
index 0000000..7b7d021
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <name>Maven Artifact Manager</name>
+ <version>2.0.2</version>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-metadata-local.xml
new file mode 100644
index 0000000..ba82c1b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0.2/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0.2</version>
+ <versioning>
+ <versions>
+ <version>2.0.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
new file mode 100644
index 0000000..cb7c774
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
@@ -0,0 +1,45 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <name>Maven Artifact Manager</name>
+ <version>2.0</version>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..155aed4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/maven-metadata-local.xml
new file mode 100644
index 0000000..a6c972b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact-manager/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ <version>2.0.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
new file mode 100644
index 0000000..b08ef7d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <name>Maven Artifact</name>
+ <version>2.0.2</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-metadata-local.xml
new file mode 100644
index 0000000..9e7efd5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0.2/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.2</version>
+ <versioning>
+ <versions>
+ <version>2.0.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
new file mode 100644
index 0000000..fda1a27
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
@@ -0,0 +1,26 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <name>Maven Artifact</name>
+ <version>2.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..3df3527
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/maven-metadata-local.xml
new file mode 100644
index 0000000..25d5be5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-artifact/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0.2</version>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..3eca829
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-model-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-model-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-model-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-model-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-model-2.0.pom
new file mode 100644
index 0000000..2b7208a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/2.0/maven-model-2.0.pom
@@ -0,0 +1,86 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <name>Maven Model</name>
+ <version>2.0</version>
+ <description>Maven Model</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>4.0.0</version>
+ <model>maven.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>all-models</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>v3</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <version>3.0.0</version>
+ <packageWithVersion>true</packageWithVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>all</classifier>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/maven-metadata-local.xml
new file mode 100644
index 0000000..01539a9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-model/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-metadata-local.xml
new file mode 100644
index 0000000..d2b6304
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.6</version>
+ <versioning>
+ <versions>
+ <version>2.0.6</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
new file mode 100644
index 0000000..c05402a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
@@ -0,0 +1,39 @@
+<?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">
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-plugin-api</artifactId>
+ <name>Maven Plugin API</name>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..debf40b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
new file mode 100644
index 0000000..f4ea8d1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
@@ -0,0 +1,23 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <name>Maven Plugin API</name>
+ <version>2.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/maven-metadata-local.xml
new file mode 100644
index 0000000..5973041
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-plugin-api/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0.6</version>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..e382656
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
new file mode 100644
index 0000000..3ad062e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
@@ -0,0 +1,50 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-profile</artifactId>
+ <name>Maven Profile Model</name>
+ <version>2.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>profiles.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/maven-metadata-local.xml
new file mode 100644
index 0000000..c235e12
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-profile/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..a07e6ec
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-project-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-project-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-project-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-project-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-project-2.0.pom
new file mode 100644
index 0000000..9a00d07
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/2.0/maven-project-2.0.pom
@@ -0,0 +1,52 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-project</artifactId>
+ <name>Maven Project Builder</name>
+ <version>2.0</version>
+ <description>This library is used to not only read Maven project object model files, but to assemble inheritence
+ and to retrieve remote models as required.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-test</artifactId>
+ <version>2.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/maven-metadata-local.xml
new file mode 100644
index 0000000..ff71f21
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-project/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-metadata-local.xml
new file mode 100644
index 0000000..c93c645
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0.2</version>
+ <versioning>
+ <versions>
+ <version>2.0.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
new file mode 100644
index 0000000..9aec1c9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <name>Maven Repository Metadata Model</name>
+ <version>2.0.2</version>
+ <description>Maven Plugin Mapping</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-metadata-local.xml
new file mode 100644
index 0000000..61fcb12
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
new file mode 100644
index 0000000..db9da23
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
@@ -0,0 +1,44 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <name>Maven Repository Metadata Model</name>
+ <version>2.0</version>
+ <description>Maven Plugin Mapping</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/maven-metadata-local.xml
new file mode 100644
index 0000000..e51c0c3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/maven-repository-metadata/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <versioning>
+ <versions>
+ <version>2.0.2</version>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
new file mode 100644
index 0000000..ebae1e3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
@@ -0,0 +1,103 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <version>10</version>
+ </parent>
+
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.2</version>
+ <packaging>maven-plugin</packaging>
+ <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>
+
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+
+ <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>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <!-- Test -->
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <contributors>
+ <contributor>
+ <name>Jesse McConnell</name>
+ </contributor>
+ </contributors>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.4</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.2</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/plugins/tags/maven-clean-plugin-2.2</url>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-metadata-local.xml
new file mode 100644
index 0000000..48bbc57
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.2</version>
+ <versioning>
+ <versions>
+ <version>2.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/maven-metadata-local.xml
new file mode 100644
index 0000000..38f9c2f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/plugins/maven-clean-plugin/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <versioning>
+ <versions>
+ <version>2.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/file-management-1.2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/file-management-1.2.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/file-management-1.2.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom
new file mode 100644
index 0000000..d248752
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <version>8</version>
+ </parent>
+
+ <artifactId>file-management</artifactId>
+ <version>1.2</version>
+ <name>Maven Shared File Management API</name>
+ <description>API to collect files from a given directory using several include/exclude rules.</description>
+
+ <prerequisites>
+ <maven>2.0.6</maven>
+ </prerequisites>
+
+ <contributors>
+ <contributor>
+ <name>Joakim Erdfelt</name>
+ <email>joakim@erdfelt.com</email>
+ </contributor>
+ </contributors>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-17</version>
+ <executions>
+ <execution>
+ <id>fileset</id>
+ <goals>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/fileset.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.1.0</version>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <!-- Maven -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-io</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ </dependency>
+
+ <!-- Test -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/file-management-1.2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/file-management-1.2</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/shared/tags/file-management-1.2</url>
+ </scm>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/maven-metadata-local.xml
new file mode 100644
index 0000000..d1aa65c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/1.2/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <version>1.2</version>
+ <versioning>
+ <versions>
+ <version>1.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/maven-metadata-local.xml
new file mode 100644
index 0000000..d231e1b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/file-management/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>file-management</artifactId>
+ <versioning>
+ <versions>
+ <version>1.2</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-metadata-local.xml
new file mode 100644
index 0000000..22bac65
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-io</artifactId>
+ <version>1.1</version>
+ <versioning>
+ <versions>
+ <version>1.1</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
new file mode 100644
index 0000000..0468f43
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <version>8</version>
+ </parent>
+
+ <artifactId>maven-shared-io</artifactId>
+ <version>1.1</version>
+ <name>Maven Shared I/O API</name>
+ <description>API for I/O support like logging, download or file scanning.</description>
+
+ <prerequisites>
+ <maven>2.0.6</maven>
+ </prerequisites>
+
+ <contributors>
+ <contributor>
+ <name>Joakim Erdfelt</name>
+ <email>joakim@erdfelt.com</email>
+ </contributor>
+ </contributors>
+
+ <dependencies>
+ <!-- Maven -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ <optional>true</optional>
+ </dependency>
+
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>1.2_Java1.3</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <excludes>
+ <exclude>**/TestUtils*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-io-1.1</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-io-1.1</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/shared/tags/maven-shared-io-1.1</url>
+ </scm>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+ </snapshotRepository>
+ <repository>
+ <id>apache</id>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </repository>
+ </distributionManagement>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/maven-metadata-local.xml
new file mode 100644
index 0000000..1cce85c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/shared/maven-shared-io/maven-metadata-local.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-io</artifactId>
+ <versioning>
+ <versions>
+ <version>1.1</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/maven-metadata-local.xml
new file mode 100644
index 0000000..9edd1da
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-5</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom
new file mode 100644
index 0000000..0c6d60f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom
@@ -0,0 +1,141 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <name>Maven Wagon API</name>
+ <version>1.0-alpha-5</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <ciManagement>
+ <system>wagon-dev@maven.apache.org</system>
+ <notifiers>
+ <notifier>
+ <address>wagon-dev@maven.apache.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-users@maven.apache.org</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=wagon-dev@maven.apache.org</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.com</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-provider-api</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/trunk/wagon-provider-api</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/wagon/wagon-provider-api</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ </build>
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/maven-metadata-local.xml
new file mode 100644
index 0000000..fbed930
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-6</version>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-6</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
new file mode 100644
index 0000000..694a241
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>wagon</artifactId>
+ <groupId>org.apache.maven.wagon</groupId>
+ <version>1.0-alpha-6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>wagon-provider-api</artifactId>
+ <name>Maven Wagon API</name>
+ <version>1.0-alpha-6</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/maven-metadata-local.xml
new file mode 100644
index 0000000..e9019ae
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/apache/maven/wagon/wagon-provider-api/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-5</version>
+ <version>1.0-alpha-6</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/maven-metadata-local.xml
new file mode 100644
index 0000000..36974e9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-8</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
new file mode 100644
index 0000000..99e725b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
@@ -0,0 +1,248 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-8</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ <host>irc.codehaus.org</host>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-containers/plexus-container-default</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-containers/plexus-container-default</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ <finalName>plexus-container-default-1.0-alpha-8</finalName>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-2</version>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.0-beta-1</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/maven-metadata-local.xml
new file mode 100644
index 0000000..9d9908e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-9</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
new file mode 100644
index 0000000..eec9fd9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
@@ -0,0 +1,45 @@
+<project>
+ <parent>
+ <artifactId>plexus-containers</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-9</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1-alpha-2</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/maven-metadata-local.xml
new file mode 100644
index 0000000..d2ef53b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-container-default/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-9</version>
+ <version>1.0-alpha-8</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/maven-metadata-local.xml
new file mode 100644
index 0000000..564712a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ <versioning>
+ <versions>
+ <version>1.0.4</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
new file mode 100644
index 0000000..4c60828
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
@@ -0,0 +1,235 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.0.4</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ <host>irc.codehaus.org</host>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-utils</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-utils</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
+ <directory>target</directory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>RELEASE</version>
+ <configuration>
+ <excludes>
+ <exclude implementation="java.lang.String">org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude implementation="java.lang.String">**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Repository Switchboard</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>central</id>
+ <name>Maven Plugin Repository</name>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/maven-metadata-local.xml
new file mode 100644
index 0000000..f20e051
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ <versioning>
+ <versions>
+ <version>1.1</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
new file mode 100644
index 0000000..6cf9079
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.1</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/maven-metadata-local.xml
new file mode 100644
index 0000000..1a501b1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.6</version>
+ <versioning>
+ <versions>
+ <version>1.4.6</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
new file mode 100644
index 0000000..b903abc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
@@ -0,0 +1,61 @@
+<?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">
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.11</version>
+ <relativePath>../pom/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.4.6</version>
+ <url>http://plexus.codehaus.org/plexus-utils</url>
+ <build>
+ <plugins>
+ <plugin>
+ <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>
+ <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>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.6</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.6</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.6</url>
+ </scm>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/maven-metadata-local.xml
new file mode 100644
index 0000000..da7ac4b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoPlugin/org/codehaus/plexus/plexus-utils/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <versioning>
+ <versions>
+ <version>1.1</version>
+ <version>1.4.6</version>
+ <version>1.0.4</version>
+ </versions>
+ <lastUpdated>20081106032521</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a.a-maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a.a-maven-metadata.xml
new file mode 100644
index 0000000..677ce20
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a.a-maven-metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20081015225144</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom
new file mode 100644
index 0000000..61cd0de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom.asc
new file mode 100644
index 0000000..c2e0eb4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPI6twCeI7VvcHQG6U3WZzIISSvB5sAY
+kcgAn2jHpt7cn7mYtjdjzusCCoz4N4rP
+=kmbj
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom.sha1
new file mode 100644
index 0000000..b18a158
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/1/a-1.pom.sha1
@@ -0,0 +1 @@
+091dbc096cec514c31de4d1e0b119c7d2e0639f5
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar.asc
new file mode 100644
index 0000000..a7a5c9f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLK3gCfZgHnx0PXnKJ2gfnzGEDjsrUE
+VQcAniRHqGSUAkO1trEIrC5098seLbXP
+=cUku
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar.sha1
new file mode 100644
index 0000000..2e434d4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.jar.sha1
@@ -0,0 +1 @@
+94247cc72a3afe798ebc4a6986e8e654f5f4c8da
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom
new file mode 100644
index 0000000..b09ea5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>[1,2]</version>
+ </dependency>
+
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3)</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom.asc
new file mode 100644
index 0000000..a7a5c9f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLK3gCfZgHnx0PXnKJ2gfnzGEDjsrUE
+VQcAniRHqGSUAkO1trEIrC5098seLbXP
+=cUku
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom.sha1
new file mode 100644
index 0000000..c2faf61
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/2/a-2.pom.sha1
@@ -0,0 +1 @@
+1a540985f7b334ed063608752662c0a4b5506b09
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.jar.sha1
new file mode 100644
index 0000000..2e434d4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.jar.sha1
@@ -0,0 +1 @@
+94247cc72a3afe798ebc4a6986e8e654f5f4c8da
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom
new file mode 100644
index 0000000..dcb5695
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>3</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>(1,)</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom.asc
new file mode 100644
index 0000000..cf98bf7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLrhACfTT5GHrb3bpLQ4Bx49TU5rQNc
+6uwAn3vJD8rBzum6GA2ZHTEu+ZYGyTAX
+=RyHy
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom.sha1
new file mode 100644
index 0000000..cb884bb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/3/a-3.pom.sha1
@@ -0,0 +1 @@
+61aab4a3ea7b2d8c7402ebee529b600162c3334a
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4-sources.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4-sources.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4-sources.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar.asc
new file mode 100644
index 0000000..0a7f215
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLJ3QCfVu2lPz7TQBOt0R3jeljxpI7L
+kSMAnj+dp10qoRNw3HExpkI79Y+dUVvT
+=AaQS
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar.sha1
new file mode 100644
index 0000000..95f6d9d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.jar.sha1
@@ -0,0 +1 @@
+c35fe6fb7d71197acbf7c47c194c45082e4b65f2
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom.asc
new file mode 100644
index 0000000..fd408b6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLkcgCfaFp/ZufMccd2eSS2NhbXtFyi
+cccAn0UGf+mvbAUBNOEQ5M7f2BorXEi1
+=EqoA
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/a-4.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml
new file mode 100644
index 0000000..174ac2b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <versions>
+ <version>4</version>
+ </versions>
+ <lastUpdated>20080821193939</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml.asc
new file mode 100644
index 0000000..b0297c3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPIxRACfRTKjSYX27YAz1XZTqC8RSyDA
+BakAn2TRgECjpYvu2RuHj3G+fwjNwJEy
+=0wlt
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml.sha1
new file mode 100644
index 0000000..2a11780
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/4/maven-metadata-local.xml.sha1
@@ -0,0 +1 @@
+f5f5a0b359ebce47bad0a406a39fbced3d3add91
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.asc
new file mode 100644
index 0000000..0bafd8f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLJ3QCbBte1m0QE7cvfUPmYEDERg8Cd
+6pIAn3PosmuzEIlhU7Ea9wNFV9RxtFuK
+=afk8
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.sha1
new file mode 100644
index 0000000..95f6d9d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar.sha1
@@ -0,0 +1 @@
+c35fe6fb7d71197acbf7c47c194c45082e4b65f2
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.asc
new file mode 100644
index 0000000..3362ad7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLkcgCfW0Fjgvf1jVQ094b3Oaq7sIO5
+h7gAn2IklccPWbhUJbAb5tqyuCaPHU66
+=aEkc
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.asc
new file mode 100644
index 0000000..800d065
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPJuQgCfbLCJldGo59ggjxNyIbRbIqcs
+OrwAnih+uOC4Elw5UJ2Wekdjl37jJbak
+=i1JE
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.sha1
new file mode 100644
index 0000000..9206b49
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar.sha1
@@ -0,0 +1 @@
+e1003a0a66dae77515259c5e591ea1cfd73c2859
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.asc
new file mode 100644
index 0000000..358ca89
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPLkcgCfS8Vl7eW/nEcgKd+GErBgmPbF
+O1sAnROLi/EZj3d8LNGMy+KhpkFCq3sR
+=FH0h
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..f0ee0f3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>5-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>5-20080807.234713-11</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml.asc
new file mode 100644
index 0000000..671b4bf
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPJXbgCdH9sUqHaLM99PX0JzsZnwe40k
+G8QAniQ7pKlICtK3gq+3V9VPNsVJzrR0
+=Bm95
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml.sha1
new file mode 100644
index 0000000..a2aee2e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/5-SNAPSHOT/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+07dc71d2f6227ccdebf424094cd6125c112c7893
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml
new file mode 100644
index 0000000..a93d847
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml.asc b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml.asc
new file mode 100644
index 0000000..579a515
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPL/TwCfR/HaXjKi5MBU5eqpJa42LUjv
+y74AnRmG/hXm6ai9wKzpIhFm8aYtHU7J
+=jJTn
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml.sha1
new file mode 100644
index 0000000..55ae9df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/repoVr/a/a/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+2bf40a377124b5fbee2424614afda29e262a24f5
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/test.properties b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/test.properties
new file mode 100644
index 0000000..ee32f64
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-it/src/test/resources/test.properties
@@ -0,0 +1,12 @@
+nexus.base.url=${nexus-base-url}
+nexus.control.port=${nexus-control-port}
+nexus.bundle.dir=${bundle-expanded-dir}
+nexus.base.dir=${project.build.directory}/bundle/nexus-webapp-${project.version}
+nexus.work.dir=${project.build.directory}/bundle/nexus-webapp-${project.version}/runtime/work/nexus
+nexus.log.dir=${project.build.directory}/logs
+
+proxy.repo.base.dir=${project.build.directory}/test-classes/${proxy-repo-target-dir-name}/
+proxy.repo.base.url=${proxy-repo-base-url}
+proxy.repo.control.port=${proxy-repo-control-port}
+
+maven.local.repo=${project.build.directory}/maven_repo
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/pom.xml b/mercury-1.0.0-alpha-2/mercury-logging/pom.xml
new file mode 100644
index 0000000..65f705e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/pom.xml
@@ -0,0 +1,11 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-logging</artifactId>
+ <name>Mercury Logging</name>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/AbstractMercuryLogger.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/AbstractMercuryLogger.java
new file mode 100644
index 0000000..c26d7d5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/AbstractMercuryLogger.java
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractMercuryLogger
+{
+ protected String _className;
+
+ MercuryLoggingLevelEnum _threshold = MercuryLoggerManager.getThreshold();
+
+
+ @SuppressWarnings("unchecked")
+ public AbstractMercuryLogger( Class clazz )
+ {
+ _className = clazz.getName();
+ }
+
+ public boolean isDebugEnabled()
+ {
+ return MercuryLoggerManager._threshold.getId() <= MercuryLoggingLevelEnum.debug.getId();
+ }
+
+ public boolean isErrorEnabled()
+ {
+ return MercuryLoggerManager._threshold.getId() <= MercuryLoggingLevelEnum.error.getId();
+ }
+
+ public boolean isFatalEnabled()
+ {
+ return MercuryLoggerManager._threshold.getId() <= MercuryLoggingLevelEnum.error.getId();
+ }
+
+ public boolean isInfoEnabled()
+ {
+ return MercuryLoggerManager._threshold.getId() <= MercuryLoggingLevelEnum.info.getId();
+ }
+
+ public boolean isWarnEnabled()
+ {
+ return MercuryLoggerManager._threshold.getId() <= MercuryLoggingLevelEnum.warn.getId();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/IMercuryLogger.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/IMercuryLogger.java
new file mode 100644
index 0000000..7e719a9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/IMercuryLogger.java
@@ -0,0 +1,59 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging;
+
+/**
+ * A copy of plexus default container logger interface. Need it to externalize the logging system
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface IMercuryLogger
+{
+ void debug( String message );
+
+ void debug( String message, Throwable throwable );
+
+ boolean isDebugEnabled();
+
+ void info( String message );
+
+ void info( String message, Throwable throwable );
+
+ boolean isInfoEnabled();
+
+ void warn( String message );
+
+ void warn( String message, Throwable throwable );
+
+ boolean isWarnEnabled();
+
+ void error( String message );
+
+ void error( String message, Throwable throwable );
+
+ boolean isErrorEnabled();
+
+ void fatal( String message );
+
+ void fatal( String message, Throwable throwable );
+
+ boolean isFatalEnabled();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/IMercuryLoggerFactory.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/IMercuryLoggerFactory.java
new file mode 100644
index 0000000..9caf03d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/IMercuryLoggerFactory.java
@@ -0,0 +1,35 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface IMercuryLoggerFactory
+{
+ @SuppressWarnings("unchecked")
+ IMercuryLogger getLogger( Class clazz );
+
+ void setThreshold( MercuryLoggingLevelEnum threshold );
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/MercuryLoggerManager.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/MercuryLoggerManager.java
new file mode 100644
index 0000000..4a09d05
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/MercuryLoggerManager.java
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging;
+
+import org.apache.maven.mercury.logging.console.MercuryConsoleLoggerFactory;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryLoggerManager
+{
+ public static final String SYSTEM_PROPERTY_MERCURY_LOG_FACTORY = "maven.mercury.log.factory";
+ public static final String _loggerFactoryClassName = System.getProperty( SYSTEM_PROPERTY_MERCURY_LOG_FACTORY, MercuryConsoleLoggerFactory.class.getName() );
+
+ public static final String SYSTEM_PROPERTY_MERCURY_LOG_THRESHOLD = "maven.mercury.log.threshold";
+ public static final String _loggerThresholdName = System.getProperty( SYSTEM_PROPERTY_MERCURY_LOG_THRESHOLD, MercuryLoggingLevelEnum.error.name() );
+
+ static MercuryLoggingLevelEnum _threshold = MercuryLoggingLevelEnum.valueOf( _loggerThresholdName );
+
+ static IMercuryLoggerFactory _loggerFactory;
+
+ @SuppressWarnings("unchecked")
+ public static final IMercuryLogger getLogger( Class clazz )
+ {
+ if( _loggerFactory == null )
+ {
+ try
+ {
+ _loggerFactory = (IMercuryLoggerFactory)Class.forName( _loggerFactoryClassName ).newInstance();
+ }
+ catch( Exception e )
+ {
+ _loggerFactory = new MercuryConsoleLoggerFactory();
+ _loggerFactory.getLogger( MercuryLoggerManager.class ).error( "cannot load logger for "+_loggerFactoryClassName, e );
+ }
+ }
+
+ return _loggerFactory.getLogger( clazz );
+ }
+
+ public static MercuryLoggingLevelEnum getThreshold()
+ {
+ return _threshold;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/MercuryLoggingLevelEnum.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/MercuryLoggingLevelEnum.java
new file mode 100644
index 0000000..d6382f9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/MercuryLoggingLevelEnum.java
@@ -0,0 +1,53 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public enum MercuryLoggingLevelEnum
+{
+ debug(0)
+ , info(1)
+ , warn(2)
+ , error(3)
+ , fatal(4)
+ , disabled(5)
+ ;
+
+ public static final MercuryLoggingLevelEnum DEFAULT_LEVEL = error;
+
+ private int id;
+
+ // Constructor
+ MercuryLoggingLevelEnum( int id )
+ {
+ this.id = id;
+ }
+
+ int getId()
+ {
+ return id;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java
new file mode 100644
index 0000000..51dbf39
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java
@@ -0,0 +1,117 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging.console;
+
+import org.apache.maven.mercury.logging.AbstractMercuryLogger;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggingLevelEnum;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryConsoleLogger
+extends AbstractMercuryLogger
+implements IMercuryLogger
+{
+
+ @SuppressWarnings("unchecked")
+ public MercuryConsoleLogger( Class clazz )
+ {
+ super( clazz );
+ }
+
+ private static final void say( MercuryLoggingLevelEnum level, String message, Throwable throwable )
+ {
+ System.out.print( "["+level.name()+"] " );
+ System.out.println( message );
+ if( throwable != null )
+ {
+ throwable.printStackTrace( System.out );
+ }
+ }
+
+ public void debug( String message )
+ {
+ if( isDebugEnabled() )
+ say( MercuryLoggingLevelEnum.debug, message, null );
+ }
+
+ public void debug( String message, Throwable throwable )
+ {
+ if( isDebugEnabled() )
+ say( MercuryLoggingLevelEnum.debug, message, throwable );
+ }
+
+ public void error( String message )
+ {
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.logging.MercuryLogger#error(java.lang.String, java.lang.Throwable)
+ */
+ public void error(
+ String message,
+ Throwable throwable )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fatal( String message )
+ {
+ }
+
+ public void fatal( String message, Throwable throwable )
+ {
+ }
+
+ public int getThreshold()
+ {
+ return 0;
+ }
+
+ public void info( String message )
+ {
+ }
+
+ public void info(
+ String message,
+ Throwable throwable )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void warn( String message )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void warn( String message, Throwable throwable )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLoggerFactory.java b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLoggerFactory.java
new file mode 100644
index 0000000..206258d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLoggerFactory.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.logging.console;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.IMercuryLoggerFactory;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.logging.MercuryLoggingLevelEnum;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryConsoleLoggerFactory
+implements IMercuryLoggerFactory
+{
+ MercuryLoggingLevelEnum _threshold = MercuryLoggerManager.getThreshold();
+
+ @SuppressWarnings("unchecked")
+ public IMercuryLogger getLogger( Class clazz )
+ {
+ return new MercuryConsoleLogger(clazz);
+ }
+
+ public void setThreshold( MercuryLoggingLevelEnum threshold )
+ {
+ _threshold = threshold;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-logging/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-logging/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-logging/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/list-.txt b/mercury-1.0.0-alpha-2/mercury-maven/list-.txt
new file mode 100644
index 0000000..b89dec0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/list-.txt
@@ -0,0 +1,47 @@
+====
+ 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.
+====
+asm:asm-xml:3.0
+org.apache.maven.plugins:maven-antrun-plugin:1.2
+org.apache.maven.plugins:maven-archetypeng-plugin:2.0
+org.apache.maven.plugins:maven-assembly-plugin:2.1
+org.apache.maven.plugins:maven-changelog-plugin:2.1
+org.apache.maven.plugins:maven-checkstyle-plugin:2.1
+org.apache.maven.plugins:maven-clean-plugin:2.2
+org.apache.maven.plugins:maven-compiler-plugin:2.0.2
+org.apache.maven.plugins:maven-dependency-plugin:2.0
+org.apache.maven.plugins:maven-deploy-plugin:2.4
+org.apache.maven.plugins:maven-ear-plugin:2.3.1
+org.apache.maven.plugins:maven-eclipse-plugin:2.4
+org.apache.maven.plugins:maven-ejb-plugin:2.1
+org.apache.maven.plugins:maven-help-plugin:2.0.2
+org.apache.maven.plugins:maven-install-plugin:2.2
+org.apache.maven.plugins:maven-jar-plugin:2.2
+org.apache.maven.plugins:maven-javadoc-plugin:2.4
+org.apache.maven.plugins:maven-jxr-plugin:2.1
+org.apache.maven.plugins:maven-plugin-parent:2.0.1
+org.apache.maven.plugins:maven-plugin-plugin:2.4.3
+org.apache.maven.plugins:maven-pmd-plugin:2.4
+org.apache.maven.plugins:maven-project-info-reports-plugin:2.0.1
+org.apache.maven.plugins:maven-rar-plugin:2.2
+org.apache.maven.plugins:maven-remote-resources-plugin:1.0
+org.apache.maven.plugins:maven-resources-plugin:2.3
+org.apache.maven.plugins:maven-shade-plugin:1.1
+org.apache.maven.plugins:maven-source-plugin:2.0.4
+org.apache.maven.plugins:maven-surefire-plugin:2.4.3
+org.apache.maven.plugins:maven-surefire-report-plugin:2.4.3
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/list.txt b/mercury-1.0.0-alpha-2/mercury-maven/list.txt
new file mode 100644
index 0000000..5a886f6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/list.txt
@@ -0,0 +1,21845 @@
+====
+ 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.
+====
+excalibur-xmlutil:excalibur-xmlutil:20020820
+excalibur-xmlutil:excalibur-xmlutil:1.0
+excalibur-xmlutil:excalibur-xmlutil:2.1
+d-haven-eventbus:eventbus:1.0
+vdoclet:vdoclet:20020711
+vdoclet:vdoclet:20070127
+vdoclet:qdox:current
+magicGball:magicGball:0.01234-alpha0
+biz.aQute:bndlib:0.0.140
+biz.aQute:bndlib:0.0.199
+biz.aQute:bndlib:0.0.198
+biz.aQute:bndlib:0.0.212
+biz.aQute:bndlib:0.0.231
+biz.aQute:bndlib:0.0.278
+biz.aQute:bndlib:0.0.133
+biz.aQute:bndlib:0.0.249
+biz.aQute:bndlib:0.0.244
+biz.aQute:bndlib:0.0.190
+biz.aQute:bndlib:0.0.160
+biz.aQute:bndlib:0.0.227
+biz.aQute:bndlib:0.0.213
+biz.aQute:bndlib:0.0.189
+biz.aQute:bndlib:0.0.145
+biz.aQute:bndlib:0.0.255
+biz.aQute:bndlib:0.0.236
+biz.aQute:bndlib:0.0.169
+biz.aQute:bndlib:0.0.226
+biz.aQute:bndlib:0.0.205
+biz.aQute:bndlib:0.0.116
+biz.aQute:bndlib:0.0.208
+biz.aQute:bndlib:0.0.264
+biz.aQute:bndlib:0.0.203
+biz.aQute:bndlib:0.0.243
+biz.aQute:bndlib:0.0.138
+biz.aQute:bndlib:0.0.238
+biz.aQute:bnd:0.0.160
+biz.aQute:bnd:0.0.169
+asm:asm:1.3.5
+asm:asm:1.4.1
+asm:asm:2.2.2
+asm:asm:1.5.2
+asm:asm:1.4.2
+asm:asm:1.5.3
+asm:asm:1.3.3
+asm:asm:2.2.1
+asm:asm:1.4.4
+asm:asm:1.4
+asm:asm:1.3.4
+asm:asm:1.5.1
+asm:asm:2.1
+asm:asm:1.4.3
+asm:asm:2.2
+asm:asm-util:1.3.5
+asm:asm-util:1.4.1
+asm:asm-util:20041228.180559
+asm:asm-util:2.0
+asm:asm-util:1.5.2
+asm:asm-util:1.5.3
+asm:asm-util:2.2.1
+asm:asm-util:1.3.4
+asm:asm-util:1.5.1
+asm:asm-util:2.1
+asm:asm-util:1.4.3
+asm:asm-util:2.2
+asm:asm-tree:1.3.5
+asm:asm-tree:20041228.180559
+asm:asm-tree:2.0
+asm:asm-tree:1.5.2
+asm:asm-tree:1.5.3
+asm:asm-tree:2.2.1
+asm:asm-tree:1.5.1
+asm:asm-tree:2.1
+asm:asm-tree:2.2
+asm:asm-parent:3.1
+asm:asm-parent:3.0
+asm:asm-parent:2.2.3
+asm:asm-parent:3.0_RC1
+asm:asm-attrs:1.4.1
+asm:asm-attrs:20041228.180559
+asm:asm-attrs:2.0
+asm:asm-attrs:1.5.2
+asm:asm-attrs:1.5.3
+asm:asm-attrs:2.2.1
+asm:asm-attrs:1.5.1
+asm:asm-attrs:2.1
+asm:asm-attrs:1.4.3
+asm:asm-attrs:2.2
+asm:asm-xml:20041228.180559
+asm:asm-xml:2.0
+asm:asm-xml:1.5.2
+asm:asm-xml:1.5.3
+asm:asm-xml:2.2.1
+asm:asm-xml:1.5.1
+asm:asm-xml:2.1
+asm:asm-xml:2.2
+asm:asm-all:3.0
+asm:asm-all:2.1
+asm:asm-all:2.2
+asm:asm-commons:2.2.2
+asm:asm-commons:2.0
+asm:asm-commons:2.2.1
+asm:asm-commons:2.1
+asm:asm-commons:2.2
+asm:asm-xml:1.5.1
+asm:kasm:1.3.5
+asm:kasm:20041228.180559
+asm:kasm:1.5.2
+asm:kasm:1.5.3
+asm:kasm:1.5.1
+asm:asm-analysis:20041228.180559
+asm:asm-analysis:2.0
+asm:asm-analysis:1.5.2
+asm:asm-analysis:1.5.3
+asm:asm-analysis:2.2.1
+asm:asm-analysis:1.5.1
+asm:asm-analysis:2.1
+asm:asm-analysis:2.2
+jacl:jacl:1.2.6
+jacl:tcljava:1.2.6
+tranql:tranql:1.1
+tranql:tranql:1.0-M1
+tranql:tranql:1.0-20050713
+tranql:tranql:1.2.3
+tranql:tranql:1.1-20050912.135644
+tranql:tranql:1.2
+tranql:tranql:1.1-SNAPSHOT
+tranql:tranql:1.0-M3
+tranql:tranql:1.1-20050921.181745
+tranql:tranql:1.2.1
+tranql:tranql:1.1-20050913.134207
+tranql:tranql:1.1-SNAPSHOT
+tranql:tranql:1.2.2
+tranql:tranql:1.0-M2
+tranql:tranql:1.1-SNAPSHOT
+tranql:tranql-connector-derby-client-xa:1.1
+tranql:tranql-connector-derby-client-xa:1.0-SNAPSHOT
+tranql:tranql-connector-derby-client-xa:1.0-SNAPSHOT
+tranql:tranql-connector-derby-client-xa:1.0
+tranql:tranql-connector-derby-client-xa:1.0-20050923.015338
+tranql:tranql-connector-derby-client-xa:1.0-20050908.020107
+tranql:tranql-connector-derby-client-xa:1.0-20050908.005638
+tranql:tranql-connector-derby-client-xa:1.0-SNAPSHOT
+tranql:tranql-connector:1.1
+tranql:tranql-connector:1.0-20050908.003808
+tranql:tranql-connector:1.0
+tranql:tranql-connector:1.0-M3
+tranql:tranql-connector:1.0-SNAPSHOT
+tranql:tranql-connector:1.0-20050716
+tranql:tranql-connector:1.0-20050923.014245
+tranql:tranql-connector:1.0-20050923.013917
+tranql:tranql-connector:1.0-SNAPSHOT
+tranql:tranql-connector:1.0-M2
+tranql:tranql-connector:1.0-SNAPSHOT
+tranql:tranql-connector-derby-embed-local:1.1
+tranql:tranql-connector-derby-embed-local:1.0-20050908.005731
+tranql:tranql-connector-derby-embed-local:1.0-20050923.015658
+tranql:tranql-connector-derby-embed-local:1.0-SNAPSHOT
+tranql:tranql-connector-derby-embed-local:1.0
+tranql:tranql-connector-derby-embed-local:1.0-SNAPSHOT
+tranql:tranql-connector-derby-embed-local:1.0-20050908.020255
+tranql:tranql-connector-derby-embed-local:1.0-SNAPSHOT
+tranql:tranql-connector-derby-client-local:1.1
+tranql:tranql-connector-derby-client-local:1.0-SNAPSHOT
+tranql:tranql-connector-derby-client-local:1.0-SNAPSHOT
+tranql:tranql-connector-derby-client-local:1.0-20050908.005819
+tranql:tranql-connector-derby-client-local:1.0
+tranql:tranql-connector-derby-client-local:1.0-20050908.020347
+tranql:tranql-connector-derby-client-local:1.0-SNAPSHOT
+tranql:tranql-connector-derby-client-local:1.0-20050923.020029
+tranql:tranql-connector-derby-common:1.1
+tranql:tranql-connector-derby-common:1.0-20050908.005507
+tranql:tranql-connector-derby-common:1.0-20050923.014709
+tranql:tranql-connector-derby-common:1.0
+tranql:tranql-connector-derby-common:1.0-SNAPSHOT
+tranql:tranql-connector-derby-common:1.0-SNAPSHOT
+tranql:tranql-connector-derby-common:1.0-SNAPSHOT
+tranql:tranql-connector-derby-common:1.0-20050908.015941
+tranql:tranql-connector-derby-embed-xa:1.1
+tranql:tranql-connector-derby-embed-xa:1.0
+tranql:tranql-connector-derby-embed-xa:1.0-SNAPSHOT
+tranql:tranql-connector-derby-embed-xa:1.0-20050908.020017
+tranql:tranql-connector-derby-embed-xa:1.0-SNAPSHOT
+tranql:tranql-connector-derby-embed-xa:1.0-20050908.005549
+tranql:tranql-connector-derby-embed-xa:1.0-20050923.015004
+tranql:tranql-connector-derby-embed-xa:1.0-SNAPSHOT
+redhill:simian:1.9.1
+redhill:simian:0.9.9
+redhill:simian:2.2.4
+redhill:simian:1.9.10
+jmimemagic:jmimemagic:0.0.4a
+jmimemagic:jmimemagic:0.1.1
+jmimemagic:jmimemagic:0.1.2
+mx4j:mx4j-examples:2.1.1
+mx4j:mx4j:3.0.1
+mx4j:mx4j:2.0.1
+mx4j:mx4j:2.0-beta-1
+mx4j:mx4j:3.0.2
+mx4j:mx4j:2.1.1
+mx4j:mx4j-rjmx:2.1.1
+mx4j:mx4j-remote:3.0.1
+mx4j:mx4j-jmx:1.1
+mx4j:mx4j-jmx:3.0.1
+mx4j:mx4j-jmx:1.1.1
+mx4j:mx4j-jmx:2.0.1
+mx4j:mx4j-jmx:2.1.1
+mx4j:mx4j-remote:3.0.1
+mx4j:mx4j-remote:2.0.1
+mx4j:mx4j-remote:3.0.2
+mx4j:mx4j-remote:2.1.1
+mx4j:mx4j-rimpl:2.1.1
+mx4j:mx4j-tools:1.1
+mx4j:mx4j-tools:3.0.1
+mx4j:mx4j-tools:1.1.1
+mx4j:mx4j-tools:2.1.1
+mx4j:mx4j-impl:2.1.1
+commons-jux:commons-jux:20030306.065700
+drools-examples:drools-examples:2.0-beta-15
+stxx:stxx:1.3b2
+stxx:stxx:1.3
+maven-proxy:maven-proxy-core:0.1
+maven-proxy:maven-proxy-core:0.2
+maven-proxy:maven-proxy-webapp:0.1
+maven-proxy:maven-proxy-webapp:0.2
+maven-proxy:maven-proxy-standalone:0.1
+maven-proxy:maven-proxy-standalone:0.2
+jaxme:jaxme:0.3
+jaxme:jaxme:0.3.1
+jaxme:jaxme:0.2
+jaxme:jaxmexs:0.5beta
+jaxme:jaxmexs:0.4
+jaxme:jaxmexs:0.4beta
+jaxme:jaxmexs:0.5.1
+jaxme:jaxmexs:0.5
+jaxme:jaxme-xs:0.3
+jaxme:jaxme-xs:0.3.1
+jaxme:jaxme-xs:0.2
+jaxme:jaxme-api:0.3
+jaxme:jaxme-api:0.3.1
+jaxme:jaxme-api:0.2
+jaxme:jaxme2-rt:0.5beta
+jaxme:jaxme2-rt:0.4
+jaxme:jaxme2-rt:0.4beta
+jaxme:jaxme2-rt:0.5.1
+jaxme:jaxme2-rt:0.5
+jaxme:jaxme-pm:0.3
+jaxme:jaxme-pm:0.3.1
+jaxme:jaxme-pm:0.2
+jaxme:jaxmepm:0.5beta
+jaxme:jaxmepm:0.4
+jaxme:jaxmepm:0.4beta
+jaxme:jaxmepm:0.5.1
+jaxme:jaxmepm:0.5
+jaxme:jaxme2:0.5beta
+jaxme:jaxme2:0.4
+jaxme:jaxme2:0.4beta
+jaxme:jaxme2:0.5.1
+jaxme:jaxme2:0.5
+jaxme:jaxmeapi:0.5beta
+jaxme:jaxmeapi:0.4
+jaxme:jaxmeapi:0.4beta
+jaxme:jaxmeapi:0.5.1
+jaxme:jaxmeapi:0.5
+jaxme:jaxme-rt:0.3
+jaxme:jaxme-rt:0.3.1
+jaxme:jaxme-rt:0.2
+jaxme:jaxme-js:0.3
+jaxme:jaxme-js:0.3.1
+jaxme:jaxme-js:0.2
+jaxme:jaxmejs:0.5beta
+jaxme:jaxmejs:0.4
+jaxme:jaxmejs:0.4beta
+jaxme:jaxmejs:0.5.1
+jaxme:jaxmejs:0.5
+bsh:bsh:2.0b4
+bsh:bsh:2.0b1
+bsh:bsh:1.2
+bsh:bsh:1.3.0
+bsh:bsh:1.2-b3
+bsh:bsh:1.2b7
+bsh:bsh-bsf:1.2b7
+freebxml:ebxmlms:pre-0.9.3.1
+freebxml:pki:0.9.1.3
+freebxml:msh:0.9.1.3
+freebxml:freebxml-pki:0.9.3.0-rc1
+freebxml:common:0.9.1.3
+mockmaker:mmmockobjects:1.12.0
+bcel:bcel:5.0
+bcel:bcel:5.1
+locc:locc:4.2
+locc:maven-locc-plugin:1.0.0727
+jfreechart:jfreechart:1.0.0
+jfreechart:jfreechart:0.9.16
+jfreechart:jfreechart:0.9.3
+jfreechart:jfreechart:0.9.2
+jfreechart:jfreechart:0.9.20
+jfreechart:jfreechart:0.9.17
+jfreechart:jfreechart:0.9.19
+jfreechart:jfreechart:0.9.18
+jfreechart:jfreechart:0.9.8
+ch.ethz.ganymed:ganymed-ssh2:build210
+ch.ethz.ganymed:ganymed-ssh2:build209
+ch.qos.logback:logback-skin:0.6
+ch.qos.logback:logback-skin:0.8
+ch.qos.logback:logback-skin:0.7.1
+ch.qos.logback:logback-skin:0.7
+ch.qos.logback:logback-skin:0.8.1
+ch.qos.logback:logback-skin:0.9
+ch.qos.logback:logback-skin:0.5
+ch.qos.logback:logback-examples:0.9.6
+ch.qos.logback:logback-examples:0.6
+ch.qos.logback:logback-examples:0.8
+ch.qos.logback:logback-examples:0.9.1
+ch.qos.logback:logback-examples:0.9.7
+ch.qos.logback:logback-examples:0.9.4
+ch.qos.logback:logback-examples:0.9.5
+ch.qos.logback:logback-examples:0.9.3
+ch.qos.logback:logback-examples:0.7.1
+ch.qos.logback:logback-examples:0.9.2
+ch.qos.logback:logback-examples:0.7
+ch.qos.logback:logback-examples:0.8.1
+ch.qos.logback:logback-examples:0.9
+ch.qos.logback:logback-site:0.9.6
+ch.qos.logback:logback-site:0.6
+ch.qos.logback:logback-site:0.8
+ch.qos.logback:logback-site:0.9.1
+ch.qos.logback:logback-site:0.9.7
+ch.qos.logback:logback-site:0.9.4
+ch.qos.logback:logback-site:0.9.5
+ch.qos.logback:logback-site:0.9.3
+ch.qos.logback:logback-site:0.7.1
+ch.qos.logback:logback-site:0.9.2
+ch.qos.logback:logback-site:0.7
+ch.qos.logback:logback-site:0.8.1
+ch.qos.logback:logback-site:0.9
+ch.qos.logback:logback-site:0.5
+ch.qos.logback:logback-core:0.9.6
+ch.qos.logback:logback-core:0.6
+ch.qos.logback:logback-core:0.8
+ch.qos.logback:logback-core:0.9.1
+ch.qos.logback:logback-core:0.9.7
+ch.qos.logback:logback-core:0.9.4
+ch.qos.logback:logback-core:0.9.5
+ch.qos.logback:logback-core:0.9.3
+ch.qos.logback:logback-core:0.7.1
+ch.qos.logback:logback-core:0.9.2
+ch.qos.logback:logback-core:0.7
+ch.qos.logback:logback-core:0.8.1
+ch.qos.logback:logback-core:0.9
+ch.qos.logback:logback-core:0.5
+ch.qos.logback:log4j-bridge:0.9.6
+ch.qos.logback:log4j-bridge:0.8
+ch.qos.logback:log4j-bridge:0.9.1
+ch.qos.logback:log4j-bridge:0.9.7
+ch.qos.logback:log4j-bridge:0.9.4
+ch.qos.logback:log4j-bridge:0.9.5
+ch.qos.logback:log4j-bridge:0.9.3
+ch.qos.logback:log4j-bridge:0.7.1
+ch.qos.logback:log4j-bridge:0.9.2
+ch.qos.logback:log4j-bridge:0.7
+ch.qos.logback:log4j-bridge:0.8.1
+ch.qos.logback:log4j-bridge:0.9
+ch.qos.logback:logback-access:0.9.6
+ch.qos.logback:logback-access:0.6
+ch.qos.logback:logback-access:0.8
+ch.qos.logback:logback-access:0.9.1
+ch.qos.logback:logback-access:0.9.7
+ch.qos.logback:logback-access:0.9.4
+ch.qos.logback:logback-access:0.9.5
+ch.qos.logback:logback-access:0.9.3
+ch.qos.logback:logback-access:0.7.1
+ch.qos.logback:logback-access:0.9.2
+ch.qos.logback:logback-access:0.7
+ch.qos.logback:logback-access:0.8.1
+ch.qos.logback:logback-access:0.9
+ch.qos.logback:logback-access:0.5
+ch.qos.logback:logback-classic:0.9.6
+ch.qos.logback:logback-classic:0.6
+ch.qos.logback:logback-classic:0.8
+ch.qos.logback:logback-classic:0.9.1
+ch.qos.logback:logback-classic:0.9.7
+ch.qos.logback:logback-classic:0.9.4
+ch.qos.logback:logback-classic:0.9.5
+ch.qos.logback:logback-classic:0.9.3
+ch.qos.logback:logback-classic:0.7.1
+ch.qos.logback:logback-classic:0.9.2
+ch.qos.logback:logback-classic:0.7
+ch.qos.logback:logback-classic:0.8.1
+ch.qos.logback:logback-classic:0.9
+ch.qos.logback:logback-classic:0.5
+ch.qos.logback:logback:0.3
+ch.qos.logback:logback:0.2.5
+ch.qos.logback:logback:0.5
+ch.qos.logback:logback-parent:0.9.6
+ch.qos.logback:logback-parent:0.6
+ch.qos.logback:logback-parent:0.8
+ch.qos.logback:logback-parent:0.9.1
+ch.qos.logback:logback-parent:0.9.7
+ch.qos.logback:logback-parent:0.9.4
+ch.qos.logback:logback-parent:0.9.5
+ch.qos.logback:logback-parent:0.9.9
+ch.qos.logback:logback-parent:0.9.3
+ch.qos.logback:logback-parent:0.7.1
+ch.qos.logback:logback-parent:0.9.2
+ch.qos.logback:logback-parent:0.7
+ch.qos.logback:logback-parent:0.8.1
+ch.qos.logback:logback-parent:0.9.10
+ch.qos.logback:logback-parent:0.9
+ch.qos.logback:logback-parent:0.9.11
+ch.qos.logback:logback-parent:0.9.8
+ch.hortis.sonar:sonar:1.0
+ch.hortis.sonar:sonar:1.0.1
+ch.hortis.sonar:sonar:1.0.2
+ch.hortis.sonar:sonar:1.0-beta
+ch.hortis.sonar:sonar:0.2
+ch.marcus-schulte.maven:hivedoc-plugin:1.0.0
+ch.marcus-schulte.maven:hivedoc-plugin:1.0.1
+ch.marcus-schulte.maven:hivedoc-plugin:1.0.2
+drools:drools-examples:2.0-beta-18
+drools:drools-examples:2.0
+drools:drools-examples:2.5-beta-1
+drools:drools-examples:2.0-beta-21
+drools:drools-examples:20040622.175002
+drools:drools-examples:20040623.065036
+drools:drools-examples:20040630.215701
+drools:drools-examples:20040726.171919
+drools:drools-examples:2.0-beta-16
+drools:drools-examples:2.0-rc1
+drools:drools-examples:2.1
+drools:drools-examples:2.0-beta-20
+drools:drools-examples:20040701.153726
+drools:drools-examples:2.0-beta-19
+drools:drools-examples:20040726.195419
+drools:drools-examples:2.0-beta-17
+drools:drools:2.0-beta-8.20021119.154541
+drools:drools:2.0-beta-18
+drools:drools:2.0-beta-5
+drools:drools:2.0
+drools:drools:2.0-beta-13
+drools:drools:2.0-beta-11
+drools:drools:2.0-beta-7
+drools:drools:2.0-beta-21
+drools:drools:2.0-rc2
+drools:drools:2.0-rc1
+drools:drools:2.1
+drools:drools:2.0-beta-20
+drools:drools:2.0-beta-19
+drools:drools:2.0-beta-12
+drools:drools:2.0-beta-10
+drools:drools:2.0-beta-6
+drools:drools:2.0-beta-12a
+drools:drools:2.0-beta-8
+drools:drools:2.0-beta-9
+drools:drools:2.0-beta-8.20021121.204924
+drools:drools-spring-jdk5:2.5-beta-1
+drools:drools-spring-jdk5:2.1
+drools:drools-all-jdk5:2.5-beta-1
+drools:drools-all-jdk5:2.5-beta-2
+drools:drools-all-jdk5:2.1
+drools:drools-all:2.0-beta-18
+drools:drools-all:2.0
+drools:drools-all:2.0-beta-21
+drools:drools-all:2.0-rc2
+drools:drools-all:2.0-rc1
+drools:drools-all:2.1
+drools:drools-all:2.0-beta-20
+drools:drools-all:2.0-beta-19
+drools:drools-smftest:2.0-beta-18
+drools:drools-smftest:2.0
+drools:drools-smftest:2.5-beta-1
+drools:drools-smftest:20040726.171610
+drools:drools-smftest:2.0-beta-21
+drools:drools-smftest:2.0-rc2
+drools:drools-smftest:2.0-rc1
+drools:drools-smftest:2.1
+drools:drools-smftest:2.0-beta-20
+drools:drools-smftest:2.0-beta-19
+drools:drools-smftest:2.0-beta-17
+drools:drools-smftest:20040726.195351
+drools:drools-io:20040630.215647
+drools:drools-io:2.0-beta-18
+drools:drools-io:20040623.065018
+drools:drools-io:20040701.153713
+drools:drools-io:20040726.195346
+drools:drools-io:20040622.174946
+drools:drools-io:2.0
+drools:drools-io:2.0-beta-13
+drools:drools-io:2.5-beta-1
+drools:drools-io:2.0-beta-21
+drools:drools-io:2.0-rc2
+drools:drools-io:2.0-beta-16
+drools:drools-io:20040726.171525
+drools:drools-io:2.0-rc1
+drools:drools-io:2.1
+drools:drools-io:2.0-beta-20
+drools:drools-io:2.0-beta-19
+drools:drools-io:2.0-beta-17
+drools:drools-io:2.0-beta-12
+drools:drools-io:2.0-beta-12a
+drools:drools-io:2.0-beta-15
+drools:drools-annotation:2.0
+drools:drools-annotation:2.0-rc2
+drools:drools-jsr94:20040726.171843
+drools:drools-jsr94:2.0-beta-18
+drools:drools-jsr94:20040726.195413
+drools:drools-jsr94:2.0
+drools:drools-jsr94:2.0-beta-13
+drools:drools-jsr94:2.5-beta-1
+drools:drools-jsr94:2.0-beta-21
+drools:drools-jsr94:20040622.175014
+drools:drools-jsr94:2.0-rc2
+drools:drools-jsr94:3.0.4
+drools:drools-jsr94:2.0-beta-16
+drools:drools-jsr94:2.0-rc1
+drools:drools-jsr94:2.1
+drools:drools-jsr94:2.0-beta-20
+drools:drools-jsr94:2.0-beta-19
+drools:drools-jsr94:2.0-beta-17
+drools:drools-jsr94:20040630.215714
+drools:drools-jsr94:2.0-beta-12
+drools:drools-jsr94:20040623.065045
+drools:drools-jsr94:2.0-beta-12a
+drools:drools-jsr94:2.0-beta-15
+drools:drools-jsr94:20040701.153737
+drools:drools-groovy:2.0-beta-18
+drools:drools-groovy:20040701.153732
+drools:drools-groovy:2.0
+drools:drools-groovy:2.0-beta-13
+drools:drools-groovy:2.5-beta-1
+drools:drools-groovy:2.0-beta-21
+drools:drools-groovy:20040623.065041
+drools:drools-groovy:20040726.171722
+drools:drools-groovy:2.0-rc2
+drools:drools-groovy:2.0-beta-16
+drools:drools-groovy:20040726.195403
+drools:drools-groovy:2.0-rc1
+drools:drools-groovy:2.1
+drools:drools-groovy:2.0-beta-20
+drools:drools-groovy:2.0-beta-19
+drools:drools-groovy:20040622.175008
+drools:drools-groovy:2.0-beta-17
+drools:drools-groovy:2.0-beta-12
+drools:drools-groovy:2.0-beta-12a
+drools:drools-groovy:2.0-beta-15
+drools:drools-groovy:20040630.215708
+drools:drools-examples-jdk5:2.0
+drools:drools-base:2.0-beta-18
+drools:drools-base:2.0
+drools:drools-base:20040726.171449
+drools:drools-base:2.0-beta-13
+drools:drools-base:2.5-beta-1
+drools:drools-base:2.0-beta-21
+drools:drools-base:2.0-rc2
+drools:drools-base:20040623.065014
+drools:drools-base:2.0-beta-16
+drools:drools-base:20040701.153708
+drools:drools-base:20040630.215642
+drools:drools-base:2.0-rc1
+drools:drools-base:2.1
+drools:drools-base:2.0-beta-20
+drools:drools-base:20040622.174941
+drools:drools-base:2.0-beta-19
+drools:drools-base:2.0-beta-17
+drools:drools-base:2.0-beta-12
+drools:drools-base:2.0-beta-12a
+drools:drools-base:2.0-beta-15
+drools:drools-base:20040726.195341
+drools:drools-smf:20040630.215636
+drools:drools-smf:2.0-beta-18
+drools:drools-smf:2.0
+drools:drools-smf:2.0-beta-13
+drools:drools-smf:2.5-beta-1
+drools:drools-smf:20040701.153702
+drools:drools-smf:20040623.064959
+drools:drools-smf:2.0-beta-21
+drools:drools-smf:2.0-rc2
+drools:drools-smf:20040622.174929
+drools:drools-smf:2.0-beta-16
+drools:drools-smf:2.0-rc1
+drools:drools-smf:2.1
+drools:drools-smf:2.0-beta-20
+drools:drools-smf:20040726.195336
+drools:drools-smf:2.0-beta-19
+drools:drools-smf:2.0-beta-17
+drools:drools-smf:20040726.171413
+drools:drools-smf:2.0-beta-12
+drools:drools-smf:2.0-beta-12a
+drools:drools-smf:2.0-beta-15
+drools:drools-all-src:2.5-beta-1
+drools:drools-all-src:2.5-beta-2
+drools:drools-all-src:2.1
+drools:drools-spring:2.5-beta-1
+drools:drools-spring:2.1
+drools:drools-java:2.0-beta-18
+drools:drools-java:2.0
+drools:drools-java:2.0-beta-13
+drools:drools-java:2.5-beta-1
+drools:drools-java:2.0-beta-21
+drools:drools-java:20040701.153718
+drools:drools-java:2.0-beta-13-dev-a
+drools:drools-java:2.0-rc2
+drools:drools-java:20040726.171645
+drools:drools-java:20040630.215653
+drools:drools-java:20040622.174952
+drools:drools-java:20040623.065024
+drools:drools-java:2.0-beta-16
+drools:drools-java:2.0-rc1
+drools:drools-java:2.1
+drools:drools-java:2.0-beta-20
+drools:drools-java:2.0-beta-19
+drools:drools-java:2.0-beta-17
+drools:drools-java:2.0-beta-12
+drools:drools-java:2.0-beta-12a
+drools:drools-java:2.0-beta-15
+drools:drools-java:20040726.195356
+drools:drools-decisiontables:2.5-beta-1
+drools:drools-decisiontables:3.0.4
+drools:drools-decisiontables:2.1
+drools:drools-core:2.0-beta-18
+drools:drools-core:20040701.153652
+drools:drools-core:2.0
+drools:drools-core:2.0-beta-13
+drools:drools-core:2.5-beta-1
+drools:drools-core:2.0-beta-21
+drools:drools-core:2.0-rc2
+drools:drools-core:3.0.4
+drools:drools-core:2.0-beta-16
+drools:drools-core:2.0-rc1
+drools:drools-core:20040622.174848
+drools:drools-core:2.1
+drools:drools-core:2.0-beta-20
+drools:drools-core:2.0-beta-19
+drools:drools-core:20040726.171335
+drools:drools-core:2.0-beta-17
+drools:drools-core:20040630.215621
+drools:drools-core:20040726.195326
+drools:drools-core:2.0-beta-12
+drools:drools-core:20040623.064911
+drools:drools-core:2.0-beta-12a
+drools:drools-core:2.0-beta-15
+drools:drools-python:2.0-beta-18
+drools:drools-python:20040630.215721
+drools:drools-python:20040622.175041
+drools:drools-python:2.0
+drools:drools-python:2.0-beta-13
+drools:drools-python:2.5-beta-1
+drools:drools-python:2.0-beta-21
+drools:drools-python:20040726.171808
+drools:drools-python:2.0-rc2
+drools:drools-python:20040726.195408
+drools:drools-python:2.0-beta-16
+drools:drools-python:2.0-rc1
+drools:drools-python:2.1
+drools:drools-python:2.0-beta-20
+drools:drools-python:2.0-beta-19
+drools:drools-python:2.0-beta-17
+drools:drools-python:20040623.065114
+drools:drools-python:20040701.153744
+drools:drools-python:2.0-beta-12
+drools:drools-python:2.0-beta-12a
+drools:drools-python:2.0-beta-15
+drools:drools-compiler:3.0.4
+drools:drools-all-jdk1.4:2.5-beta-1
+drools:drools-all-jdk1.4:2.5-beta-2
+drools:drools-all-jdk1.4:2.1
+drools:drools-spring-examples:2.5-beta-1
+drools:drools-spring-examples:2.1
+ant-doxygen:ant-doxygen:1.2
+aptconvert:aptconvert:020903
+xmlmind:aptconvert:1.0
+xmlmind:xfc:2.1
+commons-jexl:commons-jexl:1.1
+commons-jexl:commons-jexl:1.0-beta-3-SNAPSHOT
+commons-jexl:commons-jexl:1.0-beta-1
+commons-jexl:commons-jexl:1.0-beta-2
+commons-jexl:commons-jexl:20030307.151331
+commons-jexl:commons-jexl:1.0
+commons-jexl:commons-jexl:1.0-RC1
+commons-jexl:commons-jexl:1.0-SNAPSHOT
+ant:ant-commons-net:1.6.3
+ant:ant-commons-net:1.6
+ant:ant-commons-net:1.6.4
+ant:ant-commons-net:1.6.2
+ant:ant-commons-net:1.6.5
+ant:ant-commons-net:1.6.1
+ant:ant-apache-bsf:1.6.3
+ant:ant-apache-bsf:1.6
+ant:ant-apache-bsf:1.6.4
+ant:ant-apache-bsf:1.6.2
+ant:ant-apache-bsf:1.6.5
+ant:ant-apache-bsf:1.6.1
+ant:ant-jakarta-log4j:1.6
+ant:ant-jakarta-log4j:1.6.1
+ant:ant-commons-logging:1.6.3
+ant:ant-commons-logging:1.6
+ant:ant-commons-logging:1.6.4
+ant:ant-commons-logging:1.6.2
+ant:ant-commons-logging:1.6.5
+ant:ant-commons-logging:1.6.1
+ant:ant-antlr:1.6.3
+ant:ant-antlr:1.6
+ant:ant-antlr:1.6.4
+ant:ant-antlr:1.6.2
+ant:ant-antlr:1.6.5
+ant:ant-antlr:1.6.1
+ant:ant-nodeps:1.6.3
+ant:ant-nodeps:1.6
+ant:ant-nodeps:1.6.4
+ant:ant-nodeps:1.6.2
+ant:ant-nodeps:1.6.5
+ant:ant-nodeps:1.6.1
+ant:ant:1.5.3-1
+ant:ant:1.6.3
+ant:ant:1.6
+ant:ant:1.6.4
+ant:ant:1.4.1
+ant:ant:1.7.0
+ant:ant:1.5.2
+ant:ant:1.5.4
+ant:ant:1.5
+ant:ant:1.5.1
+ant:ant:1.6.2
+ant:ant:1.6.1
+ant:ant-stylebook:1.6.3
+ant:ant-stylebook:1.6
+ant:ant-stylebook:1.6.4
+ant:ant-stylebook:1.6.2
+ant:ant-stylebook:1.6.5
+ant:ant-stylebook:1.6.1
+ant:ant-xslp:1.6.3
+ant:ant-xslp:1.6
+ant:ant-xslp:1.6.4
+ant:ant-xslp:1.6.2
+ant:ant-xslp:1.6.5
+ant:ant-xslp:1.6.1
+ant:ant-trax:1.6.3
+ant:ant-trax:1.6
+ant:ant-trax:1.6.4
+ant:ant-trax:1.6.2
+ant:ant-trax:1.6.5
+ant:ant-trax:1.6.1
+ant:ant-javamail:1.6.3
+ant:ant-javamail:1.6
+ant:ant-javamail:1.6.4
+ant:ant-javamail:1.6.2
+ant:ant-javamail:1.6.5
+ant:ant-javamail:1.6.1
+ant:ant-jakarta-regexp:1.6
+ant:ant-jakarta-regexp:1.6.1
+ant:ant-apache-log4j:1.6.3
+ant:ant-apache-log4j:1.6.4
+ant:ant-apache-log4j:1.6.2
+ant:ant-apache-log4j:1.6.5
+ant:ant-icontract:1.6.3
+ant:ant-icontract:1.6
+ant:ant-icontract:1.6.4
+ant:ant-icontract:1.6.2
+ant:ant-icontract:1.6.5
+ant:ant-icontract:1.6.1
+ant:ant-launcher:1.6.3
+ant:ant-launcher:1.6
+ant:ant-launcher:1.6.4
+ant:ant-launcher:1.6.2
+ant:ant-launcher:1.6.5
+ant:ant-launcher:1.6.1
+ant:ant-junit:1.6.3
+ant:ant-junit:1.6
+ant:ant-junit:1.6.4
+ant:ant-junit:1.6.2
+ant:ant-junit:1.6.5
+ant:ant-junit:1.6.1
+ant:ant-xalan1:1.6.3
+ant:ant-xalan1:1.6
+ant:ant-xalan1:1.6.4
+ant:ant-xalan1:1.6.2
+ant:ant-xalan1:1.6.5
+ant:ant-xalan1:1.6.1
+ant:optional:1.5.4
+ant:ant-jsch:1.6.3
+ant:ant-jsch:1.6
+ant:ant-jsch:1.6.4
+ant:ant-jsch:1.6.2
+ant:ant-jsch:1.6.5
+ant:ant-jsch:1.6.1
+ant:ant-apache-bcel:1.6.3
+ant:ant-apache-bcel:1.6.4
+ant:ant-apache-bcel:1.6.2
+ant:ant-apache-bcel:1.6.5
+ant:ant-jakarta-bcel:1.6
+ant:ant-jakarta-bcel:1.6.1
+ant:ant-jmf:1.6.3
+ant:ant-jmf:1.6
+ant:ant-jmf:1.6.4
+ant:ant-jmf:1.6.2
+ant:ant-jmf:1.6.5
+ant:ant-jmf:1.6.1
+ant:ant-vaj:1.6.3
+ant:ant-vaj:1.6
+ant:ant-vaj:1.6.4
+ant:ant-vaj:1.6.2
+ant:ant-vaj:1.6.5
+ant:ant-vaj:1.6.1
+ant:ant-weblogic:1.6.3
+ant:ant-weblogic:1.6
+ant:ant-weblogic:1.6.4
+ant:ant-weblogic:1.6.2
+ant:ant-weblogic:1.6.5
+ant:ant-weblogic:1.6.1
+ant:ant-jakarta-oro:1.6
+ant:ant-jakarta-oro:1.6.1
+ant:ant-jai:1.6.3
+ant:ant-jai:1.6
+ant:ant-jai:1.6.4
+ant:ant-jai:1.6.2
+ant:ant-jai:1.6.5
+ant:ant-jai:1.6.1
+ant:ant-optional:1.5.3-1
+ant:ant-optional:1.4.1
+ant:ant-optional:1.5.2
+ant:ant-optional:1.5
+ant:ant-optional:1.5.1
+ant:ant-swing:1.6.3
+ant:ant-swing:1.6
+ant:ant-swing:1.6.4
+ant:ant-swing:1.6.2
+ant:ant-swing:1.6.5
+ant:ant-swing:1.6.1
+ant:ant-xalan2:1.6
+ant:ant-xalan2:1.6.1
+ant:ant-netrexx:1.6.3
+ant:ant-netrexx:1.6
+ant:ant-netrexx:1.6.4
+ant:ant-netrexx:1.6.2
+ant:ant-netrexx:1.6.5
+ant:ant-netrexx:1.6.1
+ant:ant-apache-regexp:1.6.3
+ant:ant-apache-regexp:1.6.4
+ant:ant-apache-regexp:1.6.2
+ant:ant-apache-regexp:1.6.5
+ant:ant-jdepend:1.6.3
+ant:ant-jdepend:1.6
+ant:ant-jdepend:1.6.4
+ant:ant-jdepend:1.6.2
+ant:ant-jdepend:1.6.5
+ant:ant-jdepend:1.6.1
+ant:ant-apache-resolver:1.6.3
+ant:ant-apache-resolver:1.6
+ant:ant-apache-resolver:1.6.4
+ant:ant-apache-resolver:1.6.2
+ant:ant-apache-resolver:1.6.5
+ant:ant-apache-resolver:1.6.1
+ant:ant-starteam:1.6.3
+ant:ant-starteam:1.6
+ant:ant-starteam:1.6.4
+ant:ant-starteam:1.6.2
+ant:ant-starteam:1.6.5
+ant:ant-starteam:1.6.1
+ant:ant-apache-oro:1.6.3
+ant:ant-apache-oro:1.6.4
+ant:ant-apache-oro:1.6.2
+ant:ant-apache-oro:1.6.5
+colt:colt:1.0.3
+colt:colt:1.0.3
+commons-validator:commons-validator:1.1.3
+commons-validator:commons-validator:1.1.1
+commons-validator:commons-validator:1.3.0
+commons-validator:commons-validator:1.0-dev
+commons-validator:commons-validator:1.2.0
+commons-validator:commons-validator:1.3.1
+commons-validator:commons-validator:1.0.1
+commons-validator:commons-validator:1.0.2
+commons-validator:commons-validator:1.1.4
+commons-validator:commons-validator:1.1.0
+jardiff:jardiff:0.1
+jardiff:jardiff:0.2
+springframework:spring-orm:1.1
+springframework:spring-orm:1.1.5
+springframework:spring-orm:1.2.3
+springframework:spring-orm:1.1.3
+springframework:spring-orm:1.2.4
+springframework:spring-orm:1.2
+springframework:spring-orm:1.2-rc1
+springframework:spring-orm:1.1.1
+springframework:spring-orm:1.2.6
+springframework:spring-orm:1.0
+springframework:spring-orm:1.0-rc1
+springframework:spring-orm:1.2.1
+springframework:spring-orm:1.0.1
+springframework:spring-orm:1.2-rc2
+springframework:spring-orm:1.1-rc2
+springframework:spring-orm:1.2.2
+springframework:spring-orm:1.1.4
+springframework:spring-orm:1.1-rc1
+springframework:spring-orm:1.1.2
+springframework:spring-orm:1.2.5
+springframework:spring-core:1.1
+springframework:spring-core:1.1.5
+springframework:spring-core:1.2.3
+springframework:spring-core:1.1.3
+springframework:spring-core:1.2.4
+springframework:spring-core:1.2
+springframework:spring-core:1.2-rc1
+springframework:spring-core:1.1.1
+springframework:spring-core:1.2.6
+springframework:spring-core:1.0
+springframework:spring-core:1.0-rc1
+springframework:spring-core:1.2.1
+springframework:spring-core:1.0.1
+springframework:spring-core:1.2-rc2
+springframework:spring-core:1.1-rc2
+springframework:spring-core:1.2.2
+springframework:spring-core:1.1.4
+springframework:spring-core:1.1-rc1
+springframework:spring-core:1.1.2
+springframework:spring-core:1.2.5
+springframework:spring-hibernate:1.2.3
+springframework:spring-hibernate:1.2.4
+springframework:spring-hibernate:1.2
+springframework:spring-hibernate:1.2-rc1
+springframework:spring-hibernate:1.2.6
+springframework:spring-hibernate:1.2.1
+springframework:spring-hibernate:1.2-rc2
+springframework:spring-hibernate:1.2.2
+springframework:spring-hibernate:1.2.5
+springframework:spring-mock:1.1
+springframework:spring-mock:1.1.5
+springframework:spring-mock:1.2.3
+springframework:spring-mock:1.1.3
+springframework:spring-mock:1.2.4
+springframework:spring-mock:1.2
+springframework:spring-mock:1.2-rc1
+springframework:spring-mock:1.1.1
+springframework:spring-mock:1.2.6
+springframework:spring-mock:1.2.1
+springframework:spring-mock:1.2-rc2
+springframework:spring-mock:1.1-rc2
+springframework:spring-mock:1.2.2
+springframework:spring-mock:1.1.4
+springframework:spring-mock:1.1-rc1
+springframework:spring-mock:1.1.2
+springframework:spring-mock:1.2.5
+springframework:spring-parent:1.2.3
+springframework:spring-parent:1.2.4
+springframework:spring-parent:1.2.6
+springframework:spring-parent:1.2.1
+springframework:spring-parent:1.2.2
+springframework:spring-parent:1.2.5
+springframework:spring-full:1.0.1
+springframework:spring-full:1.1-rc1
+springframework:spring-dao:1.1
+springframework:spring-dao:1.1.5
+springframework:spring-dao:1.2.3
+springframework:spring-dao:1.1.3
+springframework:spring-dao:1.2.4
+springframework:spring-dao:1.2
+springframework:spring-dao:1.2-rc1
+springframework:spring-dao:1.1.1
+springframework:spring-dao:1.2.6
+springframework:spring-dao:1.0
+springframework:spring-dao:1.0-rc1
+springframework:spring-dao:1.2.1
+springframework:spring-dao:1.0.1
+springframework:spring-dao:1.2-rc2
+springframework:spring-dao:1.1-rc2
+springframework:spring-dao:1.2.2
+springframework:spring-dao:1.1.4
+springframework:spring-dao:1.1-rc1
+springframework:spring-dao:1.1.2
+springframework:spring-dao:1.2.5
+springframework:spring:1.1
+springframework:spring:1.1.5
+springframework:spring:1.2.3
+springframework:spring:1.1.3
+springframework:spring:1.2.4
+springframework:spring:1.2
+springframework:spring:1.2-rc1
+springframework:spring:1.1.1
+springframework:spring:1.0-m4
+springframework:spring:1.2.6
+springframework:spring:1.0
+springframework:spring:1.0-rc1
+springframework:spring:1.2.1
+springframework:spring:1.0.1
+springframework:spring:1.2-rc2
+springframework:spring:1.1-rc2
+springframework:spring:1.2.2
+springframework:spring:1.1.4
+springframework:spring:1.1-rc1
+springframework:spring:2.0-M4
+springframework:spring:1.1.2
+springframework:spring:1.2.5
+springframework:spring-beans:1.2.3
+springframework:spring-beans:1.2.4
+springframework:spring-beans:1.2
+springframework:spring-beans:1.2-rc1
+springframework:spring-beans:1.0-m4
+springframework:spring-beans:1.2.6
+springframework:spring-beans:1.0
+springframework:spring-beans:1.0-rc1
+springframework:spring-beans:1.2.1
+springframework:spring-beans:1.0.1
+springframework:spring-beans:1.2-rc2
+springframework:spring-beans:1.2.2
+springframework:spring-beans:1.2.5
+springframework:spring-support:1.2.3
+springframework:spring-support:1.2.4
+springframework:spring-support:1.2
+springframework:spring-support:1.2-rc1
+springframework:spring-support:1.2.6
+springframework:spring-support:1.2.1
+springframework:spring-support:1.2-rc2
+springframework:spring-support:1.2.2
+springframework:spring-support:1.2.5
+springframework:spring-remoting:1.2.3
+springframework:spring-remoting:1.2.4
+springframework:spring-remoting:1.2
+springframework:spring-remoting:1.2-rc1
+springframework:spring-remoting:1.2.6
+springframework:spring-remoting:1.2.1
+springframework:spring-remoting:1.2-rc2
+springframework:spring-remoting:1.2.2
+springframework:spring-remoting:1.2.5
+springframework:spring-web:1.1
+springframework:spring-web:1.1.5
+springframework:spring-web:1.2.3
+springframework:spring-web:1.1.3
+springframework:spring-web:1.2.4
+springframework:spring-web:1.2
+springframework:spring-web:1.2-rc1
+springframework:spring-web:1.1.1
+springframework:spring-web:1.2.6
+springframework:spring-web:1.0
+springframework:spring-web:1.0-rc1
+springframework:spring-web:1.2.1
+springframework:spring-web:1.0.1
+springframework:spring-web:1.2-rc2
+springframework:spring-web:1.1-rc2
+springframework:spring-web:1.2.2
+springframework:spring-web:1.1.4
+springframework:spring-web:1.1-rc1
+springframework:spring-web:1.1.2
+springframework:spring-web:1.2.5
+springframework:spring-jdbc:1.2.3
+springframework:spring-jdbc:1.2.4
+springframework:spring-jdbc:1.2
+springframework:spring-jdbc:1.2-rc1
+springframework:spring-jdbc:1.0-m4
+springframework:spring-jdbc:1.2.6
+springframework:spring-jdbc:1.2.1
+springframework:spring-jdbc:1.2-rc2
+springframework:spring-jdbc:1.2.2
+springframework:spring-jdbc:1.2.5
+springframework:spring-webmvc:1.1
+springframework:spring-webmvc:1.1.5
+springframework:spring-webmvc:1.2.3
+springframework:spring-webmvc:1.1.3
+springframework:spring-webmvc:1.2.4
+springframework:spring-webmvc:1.2
+springframework:spring-webmvc:1.2-rc1
+springframework:spring-webmvc:1.1.1
+springframework:spring-webmvc:1.2.6
+springframework:spring-webmvc:1.0
+springframework:spring-webmvc:1.0-rc1
+springframework:spring-webmvc:1.2.1
+springframework:spring-webmvc:1.0.1
+springframework:spring-webmvc:1.2-rc2
+springframework:spring-webmvc:1.1-rc2
+springframework:spring-webmvc:1.2.2
+springframework:spring-webmvc:1.1.4
+springframework:spring-webmvc:1.1-rc1
+springframework:spring-webmvc:1.1.2
+springframework:spring-webmvc:1.2.5
+springframework:spring-context:1.1
+springframework:spring-context:1.1.5
+springframework:spring-context:1.2.3
+springframework:spring-context:1.1.3
+springframework:spring-context:1.2.4
+springframework:spring-context:1.2
+springframework:spring-context:1.2-rc1
+springframework:spring-context:1.1.1
+springframework:spring-context:1.0-m4
+springframework:spring-context:1.2.6
+springframework:spring-context:1.0
+springframework:spring-context:1.0-rc1
+springframework:spring-context:1.2.1
+springframework:spring-context:1.0.1
+springframework:spring-context:1.2-rc2
+springframework:spring-context:1.1-rc2
+springframework:spring-context:1.2.2
+springframework:spring-context:1.1.4
+springframework:spring-context:1.1-rc1
+springframework:spring-context:1.1.2
+springframework:spring-context:1.2.5
+springframework:spring-aop:1.1
+springframework:spring-aop:1.1.5
+springframework:spring-aop:1.2.3
+springframework:spring-aop:1.1.3
+springframework:spring-aop:1.2.4
+springframework:spring-aop:1.2
+springframework:spring-aop:1.2-rc1
+springframework:spring-aop:1.1.1
+springframework:spring-aop:1.2.6
+springframework:spring-aop:1.0
+springframework:spring-aop:1.0-rc1
+springframework:spring-aop:1.2.1
+springframework:spring-aop:1.0.1
+springframework:spring-aop:1.2-rc2
+springframework:spring-aop:1.1-rc2
+springframework:spring-aop:1.2.2
+springframework:spring-aop:1.1.4
+springframework:spring-aop:1.1-rc1
+springframework:spring-aop:1.1.2
+springframework:spring-aop:1.2.5
+rome:rome:0.3
+rome:rome:0.8
+rome:rome:0.9
+rome:rome:0.5
+rome:georss:0.1
+rome:opensearch:0.1
+rome:rome-fetcher:0.3
+commons-httpclient:commons-httpclient:2.0-alpha3
+commons-httpclient:commons-httpclient:3.1
+commons-httpclient:commons-httpclient:2.0alpha1
+commons-httpclient:commons-httpclient:3.0.1
+commons-httpclient:commons-httpclient:3.0-rc2
+commons-httpclient:commons-httpclient:3.0-rc4
+commons-httpclient:commons-httpclient:3.0-rc1
+commons-httpclient:commons-httpclient:2.0
+commons-httpclient:commons-httpclient:3.0
+commons-httpclient:commons-httpclient:3.0-alpha1
+commons-httpclient:commons-httpclient:2.0-rc3
+commons-httpclient:commons-httpclient:3.0-rc2
+commons-httpclient:commons-httpclient:2.0-beta2
+commons-httpclient:commons-httpclient:1.0
+commons-httpclient:commons-httpclient:2.0-alpha2.20021115.044352
+commons-httpclient:commons-httpclient:3.0-beta1
+commons-httpclient:commons-httpclient:2.0-rc2
+commons-httpclient:commons-httpclient:2.0-alpha2.20020903.070259
+commons-httpclient:commons-httpclient:3.0-alpha2
+commons-httpclient:commons-httpclient:3.1-beta1
+commons-httpclient:commons-httpclient:2.0.2
+commons-httpclient:commons-httpclient:20020423
+commons-httpclient:commons-httpclient:3.0-beta1
+commons-httpclient:commons-httpclient:3.0-rc4
+commons-httpclient:commons-httpclient:2.0.1
+commons-httpclient:commons-httpclient:2.0alpha1-20020606
+commons-httpclient:commons-httpclient:2.0alpha1-20020829
+commons-httpclient:commons-httpclient:3.1-alpha1
+commons-httpclient:commons-httpclient:2.0-rc1
+commons-httpclient:commons-httpclient:3.0-rc3
+commons-httpclient:commons-httpclient:2.0-beta1
+commons-httpclient:commons-httpclient:3.0-rc3
+commons-httpclient:commons-httpclient:2.0-alpha2
+commons-httpclient:commons-httpclient:3.0-rc1
+commons-httpclient:commons-httpclient:3.1-rc1
+dtdparser:dtdparser:1.21
+modello:modello:1.0
+thaiopensource:jing:20030619
+janino:janino:2.0.7
+janino:janino:2.3.2
+janino:janino:2.5.7
+janino:janino:2.3.14
+janino:janino:2.0.14
+janino:janino:2.3.13
+janino:janino:2.0.4
+janino:janino:2.1.0
+janino:janino:2.4.3
+janino:janino:2.5.10
+janino:janino:2.3.11
+janino:janino:2.3.0
+janino:janino:2.3.10
+janino:janino:2.0.16
+janino:janino:2.0.5
+janino:janino:2.3.7
+janino:janino:2.0.10
+janino:janino:2.3.16
+janino:janino:2.3.12
+janino:janino:2.3.15
+janino:janino:2.3.8
+janino:janino:2.3.9
+janino:janino:2.3.17
+janino:janino:2.4.1
+nsuml:nsuml:0.4.20
+nsuml:nsmdf_gen:0.1.3
+nsuml:nsuml1_4:0.1.3
+nsuml:nsmdf:0.1.3
+datasift:datasift:1.0b2
+javacc:javacc:3.2
+javacc:javacc:4.1
+javacc:javacc:2.1
+javacc:javacc:4.0
+javamail:javamail:1.3.3
+javamail:javamail:1.3.1
+javamail:javamail:1.3.2
+javamail:mail:1.3.1
+javamail:mail:1.3.2
+nanocontainer-hibernate:nanocontainer-hibernate:1.0-beta-4
+nanocontainer-hibernate:nanocontainer-hibernate:1.0-beta-1
+nanocontainer:nanocontainer-hibernate:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-hibernate:1.0-beta-3
+nanocontainer:nanocontainer:1.0-beta-4
+nanocontainer:nanocontainer:1.0-SNAPSHOT
+nanocontainer:nanocontainer:1.0-beta-1
+nanocontainer:nanocontainer:1.0-beta-2
+nanocontainer:nanocontainer:20051006.102624
+nanocontainer:nanocontainer:1.0
+nanocontainer:nanocontainer:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer:1.0-beta-3
+nanocontainer:nanocontainer:1.0-RC-3
+nanocontainer:nanocontainer:1.0-RC-2
+nanocontainer-avalon:nanocontainer-avalon:1.0-beta-4
+nanocontainer-avalon:nanocontainer-avalon:1.0-beta-1
+nanocontainer:nanocontainer-type1:1.0-beta-1
+nanocontainer:nanocontainer-type1:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-type1:1.0-beta-3
+nanocontainer:nanocontainer-axis:1.0-beta-1
+nanocontainer:nanocontainer-axis:1.0-beta-1.pico-1.0
+nanocontainer-remoting:nanocontainer-remoting:1.0-beta-4
+nanocontainer-remoting:nanocontainer-remoting:1.0-beta-1
+nanocontainer:nanocontainer-remoting:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-remoting:1.0-beta-3
+nanocontainer-remoting:nanocontainer-remoting:1.0-RC-1
+nanocontainer:nanocontainer-nanowar-sample-webwork1:1.0
+nanocontainer:nanocontainer-nanowar-sample-webwork1:1.0-RC-3
+nanocontainer-ejb:nanocontainer-ejb:1.0-beta-4
+nanocontainer-ejb:nanocontainer-ejb:1.0-beta-1
+nanocontainer:nanocontainer-ejb:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-ejb:1.0-beta-3
+nanocontainer:nanocontainer-nanoweb:1.0-beta-1
+nanocontainer:nanocontainer-nanoweb:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-sample:nanoweb
+nanocontainer:nanocontainer-sample:webwork
+nanocontainer:nanodist-maven-plugin:1.0
+nanocontainer:nanodist-maven-plugin:1.0.1
+nanocontainer:nanocontainer-webwork:1.0-beta-1
+nanocontainer:nanocontainer-webwork:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-nanowar-sample-struts:1.0
+nanocontainer:nanocontainer-nanowar-sample-struts:1.0-RC-3
+nanocontainer:nanocontainer-tools:1.0
+nanocontainer:nanocontainer-tools:1.0-RC-1
+nanocontainer:nanocontainer-webwork2:1.0-beta-1
+nanocontainer:nanocontainer-webwork2:1.0-beta-1.pico-1.0
+nanocontainer-deployer:nanocontainer-deployer:1.0-beta-4
+nanocontainer-deployer:nanocontainer-deployer:1.0-beta-1
+nanocontainer:nanocontainer-deployer:1.0
+nanocontainer:nanocontainer-deployer:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-deployer:1.0-beta-3
+nanocontainer:nanocontainer-deployer:1.0-RC-3
+nanocontainer-deployer:nanocontainer-deployer:1.0-RC-2
+nanocontainer-sample-webwork:nanocontainer-sample-webwork:1.0-beta-1.pico-1.0
+nanocontainer-piccolo:nanocontainer-piccolo:1.0-beta-4
+nanocontainer-piccolo:nanocontainer-piccolo:1.0-beta-1
+nanocontainer:nanocontainer-piccolo:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-piccolo:1.0-beta-3
+nanocontainer-testmodel:nanocontainer-testmodel:1.0-beta-4
+nanocontainer-testmodel:nanocontainer-testmodel:1.0-beta-1
+nanocontainer-testmodel:nanocontainer-testmodel:1.0-beta-2
+nanocontainer:nanocontainer-testmodel:1.0
+nanocontainer:nanocontainer-testmodel:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-testmodel:1.0-beta-3
+nanocontainer:nanocontainer-testmodel:1.0-RC-3
+nanocontainer-testmodel:nanocontainer-testmodel:1.0-RC-2
+nanocontainer-testmodel:nanocontainer-testmodel:1.0-RC-1
+nanocontainer-swt:nanocontainer-swt:1.0-beta-4
+nanocontainer-swt:nanocontainer-swt:1.0-beta-1
+nanocontainer:nanocontainer-swt:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-swt:1.0-beta-3
+nanocontainer-nanning:nanocontainer-nanning:1.0-beta-4
+nanocontainer-nanning:nanocontainer-nanning:1.0-beta-1
+nanocontainer:nanocontainer-nanning:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-nanning:1.0-beta-3
+nanocontainer:nanocontainer-groovy:1.0-beta-1
+nanocontainer:nanocontainer-groovy:1.0-beta-1.pico-1.0
+nanocontainer-nanowar:nanocontainer-nanowar:1.0-beta-4
+nanocontainer:nanocontainer-nanowar:1.0-20051007.105005
+nanocontainer-nanowar:nanocontainer-nanowar:1.0-beta-1
+nanocontainer:nanocontainer-nanowar:1.0
+nanocontainer:nanocontainer-nanowar:1.0-SNAPSHOT
+nanocontainer:nanocontainer-nanowar:1.0-beta-3
+nanocontainer:nanocontainer-nanowar:1.0-RC-3
+nanocontainer-nanowar:nanocontainer-nanowar:1.0-RC-2
+nanocontainer:nanocontainer-nanowar:1.0-SNAPSHOT
+nanocontainer:nanocontainer-nanowar:1.0-20051010.000410
+nanocontainer:nanocontainer-nanowar-sample-webwork2:1.0
+nanocontainer:nanocontainer-nanowar-sample-webwork2:1.0-RC-3
+nanocontainer-ant:nanocontainer-ant:1.0-beta-4
+nanocontainer-ant:nanocontainer-ant:1.0-beta-1
+nanocontainer:nanocontainer-ant:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-ant:1.0-beta-3
+nanocontainer-jmx:nanocontainer-jmx:1.0-beta-4
+nanocontainer-jmx:nanocontainer-jmx:1.0-beta-1
+nanocontainer:nanocontainer-jmx:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-jmx:1.0-beta-3
+nanocontainer-proxytoys:nanocontainer-proxytoys:1.0-beta-4
+nanocontainer-proxytoys:nanocontainer-proxytoys:1.0-beta-1
+nanocontainer:nanocontainer-proxytoys:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-proxytoys:1.0-beta-3
+nanocontainer:nanocontainer-struts:1.0-beta-1
+nanocontainer:nanocontainer-booter:1.0
+nanocontainer:nanocontainer-booter:1.0-RC-3
+nanocontainer-booter:nanocontainer-booter:1.0-RC-2
+nanocontainer-picometer:nanocontainer-picometer:1.0-beta-4
+nanocontainer-picometer:nanocontainer-picometer:1.0-beta-1
+nanocontainer:nanocontainer-picometer:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-picometer:1.0-beta-3
+nanocontainer-pool2:nanocontainer-pool2:1.0-beta-4
+nanocontainer-pool2:nanocontainer-pool2:1.0-beta-1
+nanocontainer:nanocontainer-pool2:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-pool2:1.0-beta-3
+nanocontainer:nanocontainer-nanowar-sample-nanoweb:1.0
+nanocontainer:nanocontainer-nanowar-sample-nanoweb:1.0-RC-3
+nanocontainer-sample-nanoweb:nanocontainer-sample-nanoweb:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-distribution:1.0
+nanocontainer:nanocontainer-distribution:1.0-RC-3
+nanocontainer-distribution:nanocontainer-distribution:1.0-RC-2
+nanocontainer-persistence:nanocontainer-persistence:20050922.101153
+nanocontainer:nanocontainer-persistence:1.0
+nanocontainer:nanocontainer-persistence:1.0-RC-3
+nanocontainer-persistence:nanocontainer-persistence:1.0-RC-2
+nanocontainer:nanocontainer-pool:1.0-beta-1
+nanocontainer:nanocontainer-pool:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-servlet:1.0-beta-1
+nanocontainer:nanocontainer-servlet:1.0-beta-1.pico-1.0
+nanocontainer-swing:nanocontainer-swing:1.0-beta-4
+nanocontainer-swing:nanocontainer-swing:1.0-beta-1
+nanocontainer:nanocontainer-swing:1.0-beta-1.pico-1.0
+nanocontainer:nanocontainer-swing:1.0-beta-3
+booter-maven-plugin:booter-maven-plugin:1.0
+booter-maven-plugin:booter-maven-plugin:1.0.1
+nanocontainer:nanocontainer-nanowar-sample:1.0-20051008.181704
+nanocontainer:nanocontainer-nanowar-sample:1.0-SNAPSHOT
+nanocontainer:nanocontainer-nanowar-sample:struts
+nanocontainer:nanocontainer-nanowar-sample:nanoweb
+nanocontainer:nanocontainer-nanowar-sample:webwork
+nanocontainer-nanowar-sample:nanocontainer-nanowar-sample:1.0-RC-2
+nanocontainer:nanocontainer-nanowar-sample:1.0-20051008.180012
+nanocontainer:nanocontainer-nanowar-sample:1.0-SNAPSHOT
+nanocontainer-nanowar-sample:nanocontainer-nanowar-sample:1.0-RC-1
+cornerstone-store:cornerstone-store-impl:1.1
+cornerstone-store:cornerstone-store-impl:1.0
+cornerstone-store-impl:cornerstone-store-impl:2.1
+cornerstone-store:cornerstone-store-api:1.0
+cornerstone-store-api:cornerstone-store-api:2.1
+ervacon:webflow:0.9.0
+ervacon:webflow:0.8.0
+ervacon:webflow:1.0.0
+xsddoc:xsddoc:0.6
+xsddoc:xsddoc:0.8
+xsddoc:xsddoc:1.0
+xsddoc:xsddoc:0.7
+xsddoc:xsddoc:0.5
+xsddoc:maven-xsddoc-plugin:0.6
+xsddoc:maven-xsddoc-plugin:1.0
+xsddoc:maven-xsddoc-plugin:0.7
+xsddoc:maven-xsddoc-plugin:0.5
+regexp:regexp:1.2
+regexp:regexp:1.3
+merlin-developer:merlin-developer-core:0.1
+merlin-developer:merlin-developer-core:20040423.083017
+cglib:cglib:rc2-1.0
+cglib:cglib:2.1_3
+cglib:cglib:1.0
+cglib:cglib:2.0-rc2
+cglib:cglib:2.0.2
+cglib:cglib:2.0.1
+cglib:cglib:2.1
+cglib:cglib:2.1_2
+cglib:cglib:2.0beta2
+cglib:cglib:2.2
+cglib:cglib-asm:1.0
+cglib:cglib-full:2.0
+cglib:cglib-full:2.0.2
+cglib:cglib-full:2.0.1
+cglib:cglib-nodep:2.1_3
+cglib:cglib-nodep:2.1-nodep
+cglib:cglib-nodep:2.1_2
+aspectj:aspectj-tools:1.0.6
+aspectj:aspectjrt:1.5.2a
+aspectj:aspectjrt:1.2
+aspectj:aspectjrt:1.5.0_RC1
+aspectj:aspectjrt:1.5.2
+aspectj:aspectjrt:1.1.1
+aspectj:aspectjrt:1.5.4
+aspectj:aspectjrt:1.5.3
+aspectj:aspectjrt:1.2.1
+aspectj:aspectjrt:1.0.5
+aspectj:aspectjrt:1.0.6
+aspectj:aspectjrt:1.1.0
+aspectj:aspectjrt:1.5.0_M5
+aspectj:aspectjrt:1.2.1rc1
+aspectj:aspectjrt:1.2rc1
+aspectj:aspectjrt:1.5.0
+aspectj:aspectjweaver:1.5.2a
+aspectj:aspectjweaver:1.5.0_RC1
+aspectj:aspectjweaver:1.5.2
+aspectj:aspectjweaver:1.5.4
+aspectj:aspectjweaver:1.5.3
+aspectj:aspectjweaver:1.5.0_M5
+aspectj:aspectjweaver:1.5.0
+aspectj:aspectjlib:1.5.2a
+aspectj:aspectjlib:1.5.0_RC1
+aspectj:aspectjlib:1.5.2
+aspectj:aspectjlib:1.5.3
+aspectj:aspectjlib:1.5.0_M5
+aspectj:aspectjlib:1.5.0
+aspectj:aspectjtools:1.5.2a
+aspectj:aspectjtools:1.2
+aspectj:aspectjtools:1.5.0_RC1
+aspectj:aspectjtools:1.5.2
+aspectj:aspectjtools:1.1.1
+aspectj:aspectjtools:1.5.4
+aspectj:aspectjtools:1.5.1a
+aspectj:aspectjtools:1.5.3
+aspectj:aspectjtools:1.2.1
+aspectj:aspectjtools:1.1.0
+aspectj:aspectjtools:1.5.0_M5
+aspectj:aspectjtools:1.2.1rc1
+aspectj:aspectjtools:1.2rc1
+aspectj:aspectjtools:1.5.0
+aspectj:aspectj-ant:1.0.6
+profiler:profiler:2.0
+edtftp:edtftp:1.2.1
+struts:struts-legacy:1.1
+struts:struts:1.1
+struts:struts:1.2.7
+struts:struts:1.2.4
+struts:struts:1.2.9
+struts:struts:1.1-beta-2
+struts:struts:1.0.2
+struts:struts:1.1-rc2
+struts:struts:1.2.2
+struts:struts:1.1-rc1
+struts:struts:1.1-b2-20021124
+struts:struts:1.2.8
+struts:struts:1.1-b3
+struts:struts-bean:1.1
+struts:struts-bean:1.2.7
+struts:struts-bean:1.2.4
+struts:struts-bean:1.1-rc2
+struts:struts-bean:1.2.2
+struts:struts-bean:1.1-rc1
+struts:struts-bean:1.2.8
+struts:struts-el:1.1
+struts:struts-el:1.2.7
+struts:struts-el:1.2.4
+struts:struts-el:1.2.9
+struts:struts-el:1.2.8
+struts:struts-html-el:1.2.7
+struts:struts-html-el:1.2.4
+struts:struts-html-el:1.2.2
+struts:struts-html-el:1.2.8
+struts:struts-tiles-el:1.2.7
+struts:struts-tiles-el:1.2.4
+struts:struts-tiles-el:1.2.2
+struts:struts-tiles-el:1.2.8
+struts:struts-template:1.1
+struts:struts-template:1.1-rc2
+struts:struts-template:1.1-rc1
+struts:struts-bean-el:1.2.7
+struts:struts-bean-el:1.2.4
+struts:struts-bean-el:1.2.2
+struts:struts-bean-el:1.2.8
+struts:struts-logic-el:1.2.7
+struts:struts-logic-el:1.2.4
+struts:struts-logic-el:1.2.2
+struts:struts-logic-el:1.2.8
+struts:struts-logic:1.1
+struts:struts-logic:1.2.7
+struts:struts-logic:1.2.4
+struts:struts-logic:1.1-rc2
+struts:struts-logic:1.2.2
+struts:struts-logic:1.1-rc1
+struts:struts-logic:1.2.8
+struts:struts-html:1.1
+struts:struts-html:1.2.7
+struts:struts-html:1.2.4
+struts:struts-html:1.1-rc2
+struts:struts-html:1.2.2
+struts:struts-html:1.1-rc1
+struts:struts-html:1.2.8
+struts:struts-nested:1.1
+struts:struts-nested:1.2.7
+struts:struts-nested:1.2.4
+struts:struts-nested:1.1-rc2
+struts:struts-nested:1.2.2
+struts:struts-nested:1.1-rc1
+struts:struts-nested:1.2.8
+struts-scripting:struts-scripting:1.0.1
+struts:struts-tiles:1.1
+struts:struts-tiles:1.2.7
+struts:struts-tiles:1.2.4
+struts:struts-tiles:1.1-rc2
+struts:struts-tiles:1.2.2
+struts:struts-tiles:1.1-rc1
+struts:struts-tiles:1.2.8
+lingo:lingo:1.1
+lingo:lingo:1.0-M1
+lingo:lingo:1.0
+spice:spice-xmlpolicy:1.1
+spice:spice-metaclass:1.0-rc2
+spice:spice-metaclass:1.0-rc1
+spice:spice-metaclass:20031129.004415
+spice:spice-jmxtools:1.0
+spice:spice-threadpool:1.1
+spice:spice-threadpool:1.1-b1
+spice:spice-threadpool:1.0
+spice:spice-threadpool:1.0-b1
+spice:spice-metaclass-plugin:1.0-rc2
+spice:spice-metaclass-plugin:1.0-rc1
+spice:spice-converter:1.0
+spice:spice-classman:1.1
+spice:spice-salt:1.0
+spice:spice-sca:0.7
+spice:spice-cli:1.0
+spice:spice-jndikit:1.1
+spice-jndikit:spice-jndikit:1.2
+spice-jndikit:spice-jndikit:1.2-dev
+spice:spice-loggerstore:1.1
+spice:spice-loggerstore:1.0-b3
+spice:spice-loggerstore:1.0
+spice:spice-swingactions:0.2
+spice:spice-alchemist:1.1
+spice:spice-alchemist:20040620.142035
+spice:spice-alchemist:20031120.105516
+spice:spice-alchemist:1.2-rc1
+spice:spice-alchemist:1.0
+spice:spice-alchemist:20040617.222741
+spice:spice-alchemist:20040613.144236
+spice:spice-configkit:1.2
+spice:spice-metaclass-jmx:20031205.062616
+spice:spice-netserve:1.1
+spice:spice-netserve:1.1-b1
+spice:spice-netserve:20031201.225111
+spice-netserve:spice-netserve:1.1-b2
+spice:spice-netserve:1.0
+spice:spice-netserve:1.0-b1
+spice-netserve:spice-netserve:1.1-b3
+spice:spice-event:20031216.020310
+spice:spice-extension:1.1
+net.sourceforge.jsdp:jsdp:1.1
+net.sourceforge.rcache:rcache:1.0
+net.sourceforge.rcache:rcache:1.0-beta
+net.sourceforge.serp:serp:1.12.0
+net.sourceforge.serp:serp:1.13.1
+net.sourceforge.serp:serp:1.11.0
+net.sourceforge.collections:collections-generic:4.01
+net.sourceforge.jpp:jpp:0.1.0
+net.sourceforge.thinlet:thinlet:2005-03-28
+net.sourceforge.cobertura:cobertura-runtime:1.9rc1
+net.sourceforge.cobertura:cobertura-runtime:1.9
+net.sourceforge.cobertura:cobertura:1.9rc1
+net.sourceforge.cobertura:cobertura:1.9
+net.sourceforge.stripes:stripes:1.4.1
+net.sourceforge.stripes:stripes:1.3
+net.sourceforge.stripes:stripes:1.4.2
+net.sourceforge.stripes:stripes:1.5
+net.sourceforge.stripes:stripes:1.4
+net.sourceforge.stripes:stripes:1.4-beta2
+net.sourceforge.stripes:stripes:1.3.2
+net.sourceforge.stripes:stripes:1.4.3
+net.sourceforge.jsf-comp:acegi-jsf:1.1.3
+net.sourceforge.jtds:jtds:1.2
+net.sourceforge.jtds:jtds:1.2.2
+net.sourceforge.jchardet:jchardet:1.0
+net.sourceforge.javawebparts:javawebparts-filter:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-misc:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-request:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-core:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-listener:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-taglib:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-context:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-servlet:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-response:1.0-beta4
+net.sourceforge.javawebparts:javawebparts-session:1.0-beta4
+net.sourceforge.findbugs:bcel:1.1.3
+net.sourceforge.findbugs:bcel:1.2.0
+net.sourceforge.findbugs:bcel:1.2.1
+net.sourceforge.findbugs:bcel:1.3.2
+net.sourceforge.findbugs:bcel:5.1
+net.sourceforge.findbugs:findbugs-ant:1.1.3
+net.sourceforge.findbugs:findbugs-ant:1.1.1
+net.sourceforge.findbugs:findbugs-ant:1.2.0
+net.sourceforge.findbugs:findbugs-ant:1.2.1
+net.sourceforge.findbugs:findbugs-ant:1.3.2
+net.sourceforge.findbugs:coreplugin:1.1.3
+net.sourceforge.findbugs:coreplugin:1.1.1
+net.sourceforge.findbugs:coreplugin:1.2.0
+net.sourceforge.findbugs:coreplugin:1.0.0
+net.sourceforge.findbugs:coreplugin:1.2.1
+net.sourceforge.findbugs:coreplugin:1.3.2
+net.sourceforge.findbugs:findbugs:1.1.3
+net.sourceforge.findbugs:findbugs:1.1.1
+net.sourceforge.findbugs:findbugs:1.2.0
+net.sourceforge.findbugs:findbugs:1.0.0
+net.sourceforge.findbugs:findbugs:1.2.1
+net.sourceforge.findbugs:findbugs:1.3.2
+net.sourceforge.findbugs:jsr305:1.3.2
+net.sourceforge.findbugs:findbugsGUI:1.1.3
+net.sourceforge.findbugs:findbugsGUI:1.1.1
+net.sourceforge.findbugs:findbugsGUI:1.2.0
+net.sourceforge.findbugs:findbugsGUI:1.2.1
+net.sourceforge.findbugs:findbugsGUI:1.3.2
+net.sourceforge.findbugs:annotations:1.1.3
+net.sourceforge.findbugs:annotations:1.1.1
+net.sourceforge.findbugs:annotations:1.2.0
+net.sourceforge.findbugs:annotations:1.0.0
+net.sourceforge.findbugs:annotations:1.2.1
+net.sourceforge.findbugs:annotations:1.3.2
+net.sourceforge.javacsv:javacsv:2.0
+net.sourceforge.wife:wife:1.0
+net.sourceforge.openutils:openutils-bshd5:0.3
+net.sourceforge.openutils:openutils-bshd5:0.1
+net.sourceforge.openutils:openutils-configuration-services:0.1
+net.sourceforge.openutils:openutils-hibernate-security:0.0.4
+net.sourceforge.openutils:openutils-hibernate-security:0.0.1
+net.sourceforge.openutils:openutils-hibernate-security:0.0.5
+net.sourceforge.openutils:openutils-hibernate-security:0.0.6
+net.sourceforge.openutils:openutils-hibernate-security:0.0.7
+net.sourceforge.openutils:openutils-hibernate-security:0.0.2
+net.sourceforge.openutils:openutils-hibernate-security:0.0.3
+net.sourceforge.openutils:openutils:9
+net.sourceforge.openutils:openutils:8
+net.sourceforge.openutils:openutils:6
+net.sourceforge.openutils:openutils:4
+net.sourceforge.openutils:openutils:3
+net.sourceforge.openutils:openutils:7
+net.sourceforge.openutils:openutils:5
+net.sourceforge.openutils:openutils:2
+net.sourceforge.openutils:openutils-deployment:0.1
+net.sourceforge.openutils:openutils-configuration-dataobjects:0.1
+net.sourceforge.openutils:openutils-site:1.0
+net.sourceforge.openutils:openutils-log4j:1.0
+net.sourceforge.openutils:openutils-usermanagement:1.1
+net.sourceforge.openutils:openutils-usermanagement:2.0
+net.sourceforge.openutils:openutils-usermanagement:1.1.1
+net.sourceforge.openutils:openutils-usermanagement:1.0
+net.sourceforge.openutils:openutils-usermanagement:1.0.1
+net.sourceforge.openutils:openutils-usermanagement:2.0.1
+net.sourceforge.openutils:openutils-usermanagement-dataobjects:1.1
+net.sourceforge.openutils:openutils-usermanagement-dataobjects:2.0
+net.sourceforge.openutils:openutils-usermanagement-dataobjects:1.1.1
+net.sourceforge.openutils:openutils-spring:0.1
+net.sourceforge.openutils:openutils-spring:0.2
+net.sourceforge.werken-opt:werken-opt:0.9.4
+net.sourceforge.maven-jlex:maven-jlex-plugin:1.0
+net.sourceforge.maven-taglib:maven-taglib-plugin:2.3
+net.sourceforge.maven-taglib:maven-taglib-plugin:2.0
+net.sourceforge.maven-taglib:maven-taglib-plugin:2.2.1
+net.sourceforge.maven-taglib:maven-taglib-plugin:2.3.1
+net.sourceforge.maven-taglib:maven-taglib-plugin:2.1
+net.sourceforge.maven-taglib:maven-taglib-plugin:2.2
+net.sourceforge.jstags:jstags:1.1
+net.sourceforge.jstags:jstags-lib-v1.1:1.1
+net.sourceforge.wicketwebbeans.databinder:wicketwebbeans-databinder:1.0
+net.sourceforge.wicketwebbeans.parent:WicketWebBeans-parent:1.0-rc2
+net.sourceforge.wicketwebbeans.parent:WicketWebBeans-parent:1.0
+net.sourceforge.wicketwebbeans.parent:WicketWebBeans-parent:1.0-rc2-wicket-1.2.6
+net.sourceforge.nekohtml:nekohtml:1.9.7
+net.sourceforge.nekohtml:nekohtml:1.9.9
+net.sourceforge.nekohtml:nekohtml:1.9.8
+net.sourceforge.dita-ot:dost:1.4
+net.sourceforge.fmpp:fmpp:0.9.13
+net.sourceforge.jfacets:jfacets:2.1
+net.sourceforge.jfacets:jfacets:1.3.6
+net.sourceforge.jfacets:jfacets:2.1.1
+net.sourceforge.addressing:addressing:1.1
+net.sourceforge.retroweaver:retroweaver-rt:2.0.7
+net.sourceforge.retroweaver:retroweaver-rt:1.2.3
+net.sourceforge.retroweaver:retroweaver-rt:1.2.4
+net.sourceforge.retroweaver:retroweaver-rt:2.0.4
+net.sourceforge.retroweaver:retroweaver-rt:2.0.2
+net.sourceforge.retroweaver:retroweaver-rt:2.0.1
+net.sourceforge.retroweaver:retroweaver-rt:2.0.6
+net.sourceforge.retroweaver:retroweaver-rt:2.0.5
+net.sourceforge.retroweaver:retroweaver-rt:2.0.3
+net.sourceforge.retroweaver:retroweaver:2.0.7
+net.sourceforge.retroweaver:retroweaver:1.2.3
+net.sourceforge.retroweaver:retroweaver:1.2.4
+net.sourceforge.retroweaver:retroweaver:2.0.4
+net.sourceforge.retroweaver:retroweaver:2.0.2
+net.sourceforge.retroweaver:retroweaver:2.0.1
+net.sourceforge.retroweaver:retroweaver:2.0.6
+net.sourceforge.retroweaver:retroweaver:2.0.5
+net.sourceforge.retroweaver:retroweaver:1.0fcs
+net.sourceforge.retroweaver:retroweaver:2.0.3
+net.sourceforge.jexcelapi:jxl:2.5.7
+net.sourceforge.jexcelapi:jxl:2.6
+net.sourceforge.jexcelapi:jxl:2.6.3
+net.sourceforge.ckjm:maven-ckjm-plugin:0.3
+net.sourceforge.ckjm:maven-ckjm-plugin:0.1
+net.sourceforge.ckjm:maven-ckjm-plugin:0.2
+net.sourceforge.jeuclid:jeuclid-support:1.0.0
+net.sourceforge.jeuclid:jeuclid-support:1.0.1
+net.sourceforge.jeuclid:stix-fonts:1.0-beta-2
+net.sourceforge.jeuclid:stix-fonts:1.0-beta
+net.sourceforge.jeuclid:jeuclid-parent:2.9.8
+net.sourceforge.jeuclid:jeuclid-parent:3.0.1
+net.sourceforge.jeuclid:jeuclid-parent:3.0.0
+net.sourceforge.jeuclid:jeuclid-parent:3.1.2
+net.sourceforge.jeuclid:jeuclid-parent:3.0.3
+net.sourceforge.jeuclid:jeuclid-parent:3.1.1
+net.sourceforge.jeuclid:jeuclid-parent:2.9.7
+net.sourceforge.jeuclid:jeuclid-parent:3.0.2
+net.sourceforge.jeuclid:jeuclid-parent:3.1.3
+net.sourceforge.jeuclid:jeuclid-parent:3.1.0
+net.sourceforge.jeuclid:ams-fonts:1.0
+net.sourceforge.jeuclid:jeuclid:2.9.6
+net.sourceforge.jeuclid:jeuclid:2.9.5
+net.sourceforge.jeuclid:jeuclid:2.9.4
+net.sourceforge.jeuclid:build-tools:1.0.0
+net.sourceforge.jeuclid:build-tools:1.0.1
+net.sourceforge.jeuclid:dejavu-fonts:2.26
+net.sourceforge.jeuclid:dejavu-fonts:2.23
+net.sourceforge.jeuclid:dejavu-fonts:2.23-2
+net.sourceforge.cssparser:cssparser:0.9.4
+net.sourceforge.cssparser:cssparser:0.9.5
+net.sourceforge.winstone:winstone-lite:0.9.6
+net.sourceforge.winstone:winstone-lite:0.9.9
+net.sourceforge.winstone:winstone-lite:0.9.10
+net.sourceforge.winstone:winstone:0.9.6
+net.sourceforge.winstone:winstone:0.9.9
+net.sourceforge.winstone:winstone:0.9.10
+net.sourceforge.jenesis4java:jenesis4java:1.2
+net.sourceforge.jenesis4java:jenesis4java:1.3
+net.sourceforge.jenesis4java:jenesis4java:1.4
+net.sourceforge.orbroker:orbroker:2.0.3
+net.sourceforge.cruisecontrol:cruisecontrol:2.7.2
+net.sourceforge.cruisecontrol:cruisecontrol:2.3.0.1
+net.sourceforge.cruisecontrol:cruisecontrol:2.2.1
+net.sourceforge.cruisecontrol:cruisecontrol:2.1
+net.sourceforge.htmlunit:htmlunit-core-js:2.2
+net.sourceforge.htmlunit:htmlunit:2.3
+net.sourceforge.htmlunit:htmlunit:2.0
+net.sourceforge.htmlunit:htmlunit:1.14
+net.sourceforge.htmlunit:htmlunit:2.1
+net.sourceforge.htmlunit:htmlunit:2.2
+net.sourceforge.pjl-comp-filter:pjl-comp-filter:1.6
+net.sourceforge.pjl-comp-filter:pjl-comp-filter:1.6.4
+net.sourceforge.jwebunit:jwebunit:1.3-rc2
+net.sourceforge.jwebunit:jwebunit:1.4.1
+net.sourceforge.jwebunit:jwebunit:1.3
+net.sourceforge.jwebunit:jwebunit:2.0
+net.sourceforge.jwebunit:jwebunit:1.5
+net.sourceforge.jwebunit:jwebunit:1.4
+net.sourceforge.jwebunit:jwebunit:1.4-rc3
+net.sourceforge.jwebunit:jwebunit:1.4-rc1
+net.sourceforge.jwebunit:jwebunit:1.4-rc2
+net.sourceforge.jwebunit:jwebunit:1.4-rc4
+net.sourceforge.messadmin:MessAdmin-ServletStats:4.1
+net.sourceforge.messadmin:MessAdmin-ServletStats:4.1.1
+net.sourceforge.messadmin:MessAdmin-SessionKiller:4.1
+net.sourceforge.messadmin:MessAdmin-SessionKiller:4.0
+net.sourceforge.messadmin:MessAdmin-SessionKiller:4.1.1
+net.sourceforge.messadmin:MessAdmin-ServletStatsGatherer:4.0
+net.sourceforge.messadmin:MessAdmin-JMX:4.1
+net.sourceforge.messadmin:MessAdmin-JMX:4.0
+net.sourceforge.messadmin:MessAdmin-JMX:4.1.1
+net.sourceforge.messadmin:MessAdmin-Serializable:4.1
+net.sourceforge.messadmin:MessAdmin-Serializable:4.0
+net.sourceforge.messadmin:MessAdmin-Serializable:4.1.1
+net.sourceforge.messadmin:MessAdmin-Core:4.1
+net.sourceforge.messadmin:MessAdmin-Core:4.0
+net.sourceforge.messadmin:MessAdmin-Core:4.1.1
+net.sourceforge.messadmin:MessAdmin-ClickStream:4.1
+net.sourceforge.messadmin:MessAdmin-ClickStream:4.0
+net.sourceforge.messadmin:MessAdmin-ClickStream:4.1.1
+net.sourceforge.basher:basher:1.0.2
+net.sourceforge.rtftemplate:rtftemplate:1.0.1-b13
+net.sourceforge.mvn-dp-plugin:osgi-deployment-maven-plugin:0.1.3
+net.sourceforge.mvn-dp-plugin:osgi-deployment-maven-plugin:0.1.2
+net.sourceforge.jena:jena:2.3
+net.jcip:jcip-annotations:1.0
+net.fckeditor:fckeditor-java:2.4
+net.fckeditor:fckeditor-java:2.4-beta-1
+net.fckeditor:fckeditor-java:2.4.1
+net.htmlparser:jericho-html:2.3
+net.htmlparser:jericho-html:2.1
+net.htmlparser:jericho-html:1.5-dev1
+net.htmlparser.jericho:jericho-html:2.3
+net.htmlparser.jericho:jericho-html:2.4
+net.htmlparser.jericho:jericho-html:2.5
+net.htmlparser.jericho:jericho-html:2.6
+net.homeip.yusuke:twitter4j:1.0.3
+net.homeip.yusuke:twitter4j:1.1.1
+net.homeip.yusuke:twitter4j:1.0.5
+net.homeip.yusuke:twitter4j:1.0.6
+net.homeip.yusuke:twitter4j:1.1.0
+net.homeip.yusuke:twitter4j:1.0.4
+net.incongru.berkano:berkano-parent:2
+net.incongru.berkano:berkano-parent:1
+net.israfil.mojo:maven-flex2-plugin:1.1
+net.israfil.mojo:maven-flex2-plugin:1.2
+net.israfil.mojo:maven-flex2-plugin:1.3
+net.israfil.mojo:maven-flex2-plugin:1.0
+net.israfil.mojo:maven-flex2-plugin:1.0-alpha-1
+net.israfil.mojo:maven-flex2-plugin:1.0-alpha-2
+net.israfil.mojo:israfil-maven-tools:1
+net.israfil.mojo:israfil-mojo-all:9
+net.israfil.mojo:israfil-mojo-all:8
+net.israfil.mojo:israfil-mojo-all:6
+net.israfil.mojo:israfil-mojo-all:4
+net.israfil.mojo:israfil-mojo-all:3
+net.israfil.mojo:israfil-mojo-all:7
+net.israfil.mojo:israfil-mojo-all:2
+net.israfil.mojo:maven-flex2-plugin-support:1.0
+net.israfil:israfil-all:3
+net.israfil:israfil-all:2
+net.israfil:israfil-all:1
+net.israfil.micro:israfil-micro:2
+net.israfil.micro:israfil-micro:1
+net.israfil:foundation:jdk1.4-0.7
+net.israfil:foundation:0.6
+net.israfil.foundation:israfil-foundation-core:0.9.11
+net.israfil.foundation:israfil-foundation-core:0.9.8
+net.israfil:foundation:jdk1.4-0.8
+net.israfil:foundation:jdk1.4-0.5
+net.israfil:foundation:0.7
+net.israfil.foundation:israfil-foundation-core-jdk1.4:0.9.9
+net.israfil.foundation:israfil-foundation-core-jdk1.4:0.9.10
+net.israfil.foundation:israfil-foundation-core-jdk1.4:0.9.8
+net.israfil:foundation:0.5
+net.israfil.foundation:israfil-foundation-all:4
+net.israfil.foundation:israfil-foundation-all:3
+net.israfil.foundation:israfil-foundation-all:2
+net.israfil.foundation:israfil-foundation-all:1
+net.israfil:foundation:jdk1.4-0.6
+net.israfil:foundation:jdk1.4-0.9
+net.innig.sweetxml:parent-pom:0.2
+net.databinder:databinder-parent:1.1
+net.databinder:databinder-parent:1.1-beta4
+net.databinder:databinder-parent:1.1-beta3
+net.databinder:databinder-parent:1.1.1
+net.databinder:databinder-parent:1.1-beta1
+net.databinder:databinder-parent:1.1-beta2
+net.databinder:databinder:0.3
+net.databinder:databinder:0.6
+net.databinder:databinder:0.8
+net.databinder:databinder:0.1
+net.databinder:databinder:1.0
+net.databinder:databinder:0.4
+net.databinder:databinder:0.7
+net.databinder:databinder:0.9
+net.databinder:databinder:0.5
+net.databinder:databinder:0.2
+net.databinder:databinder:0.3
+net.databinder:databinder:0.6
+net.databinder:databinder:0.8
+net.databinder:databinder:0.1
+net.databinder:databinder:0.4
+net.databinder:databinder:0.7
+net.databinder:databinder:0.9
+net.databinder:databinder:0.5
+net.databinder:databinder:0.2
+net.databinder:data-app:0.3
+net.databinder:data-app:0.6
+net.databinder:data-app:0.8
+net.databinder:data-app:0.1
+net.databinder:data-app:0.4
+net.databinder:data-app:0.7
+net.databinder:data-app:0.9
+net.databinder:data-app:0.5
+net.databinder:data-app:0.2
+net.databinder:data-app:0.3
+net.databinder:data-app:0.6
+net.databinder:data-app:0.8
+net.databinder:data-app:0.1
+net.databinder:data-app:1.0
+net.databinder:data-app:0.4
+net.databinder:data-app:0.7
+net.databinder:data-app:0.9
+net.databinder:data-app:0.5
+net.databinder:data-app:0.2
+net.java.dev.jets3t:jets3t:0.6.1
+net.java.dev.jets3t:jets3t:0.6.0
+net.java.dev.jets3t:jets3t:0.5.0
+net.java.dev.jets3t:cockpit:0.6.1
+net.java.dev.jets3t:jets3t-gui:0.6.1
+net.java.dev.jets3t:synchronize:0.6.1
+net.java.dev.jets3t:synchronize:0.5.0
+net.java.dev.javacc:javacc:3.2
+net.java.dev.javacc:javacc:3.2
+net.java.dev.javacc:javacc:4.1
+net.java.dev.javacc:javacc:2.1
+net.java.dev.javacc:javacc:4.0
+net.java.dev.javacc:javacc:2.1
+net.java.dev.javacc:javacc:4.0
+net.java.dev.weblets:weblets-impl:0.4
+net.java.dev.weblets:weblets-impl:0.2
+net.java.dev.weblets:weblets:0.1
+net.java.dev.weblets:weblets:0.4
+net.java.dev.weblets:weblets:0.2
+net.java.dev.weblets:weblets-api:0.4
+net.java.dev.weblets:weblets-api:0.2
+net.java.dev.weblets:weblets-demo:0.2
+net.java.dev.laf-plugin:laf-plugin:0.2
+net.java.dev.inflector:inflector:0.7.0
+net.java.dev.glazedlists:glazedlists-multiproject:1.5.0
+net.java.dev.glazedlists:glazedlists_java15:1.7.0
+net.java.dev.glazedlists:glazedlists_java15:1.6.1
+net.java.dev.xwork-optional:xwork-spring:1.1.4
+net.java.dev.dunamis:dunamis:0.9.4
+net.java.dev.swing-layout:swing-layout:1.0
+net.java.dev.swing-layout:swing-layout:1.0.1
+net.java.dev.swing-layout:swing-layout:1.0.2
+net.java.dev.richjtable:richjtable:1.2.0
+net.java.dev.laf-widget:ant-tasks:2.1
+net.java.dev.laf-widget:laf-widget:2.1
+net.java.dev.ajax4jsf:ajax4jsf:1.0.6
+net.java.dev.mocquer:mocquer:0.9.3
+net.java.dev.stax-utils:stax-utils:20040917
+net.java.dev.stax-utils:stax-utils:20060502
+net.java.dev.glassfish:glassfish:b32g
+net.java.dev.urlrewrite:urlrewritefilter:2.4
+net.java.dev.urlrewrite:urlrewritefilter:2.5.1
+net.java.dev.annsor:annsor-project:1.0.3
+net.java.dev.annsor:annsor-core:1.0.3
+net.java.dev.timingframework:timingframework:1.0
+net.java.dev.jaxb2-commons:fluent-api:2.0.1
+net.java.dev.jaxb2-commons:jaxb-fluent-api:2.0.1
+net.objectlab:mvn-qalab-plugin:2.2
+net.objectlab:qalab:0.9.0
+net.objectlab:qalab:0.8.0
+net.objectlab:qalab:0.9.1
+net.objectlab:qalab:1.0
+net.objectlab:qalab:0.7.1
+net.objectlab:qalab:0.7
+net.objectlab:qalab:0.7.2
+net.objectlab.kit.datecalc:datecalc-jdk:1.0.1
+net.objectlab.kit.datecalc:datecalc-common:1.0.1
+net.objectlab.kit.datecalc:datecalc-joda:1.0.1
+net.objectlab:maven-qalab-plugin:0.9.0
+net.objectlab:maven-qalab-plugin:2.0
+net.objectlab:maven-qalab-plugin:0.8.0
+net.objectlab:maven-qalab-plugin:0.9.1
+net.objectlab:maven-qalab-plugin:1.0
+net.objectlab:maven-qalab-plugin:0.7.1
+net.objectlab:maven-qalab-plugin:2.1
+net.objectlab:maven-qalab-plugin:0.7
+net.objectlab:maven-qalab-plugin:0.7.2
+net.gleamynode:netty2:1.9.2
+net.tleproject:tlemock:1.0.3
+net.tleproject:tlemock:1.0
+net.tleproject:tlemock:1.0.1
+net.tleproject:tlemock:1.0.2
+net.urlrewriter:urlrewriter:2.0RC1
+net.jini:jini-starterkit:2.1-beta2
+net.jini:jini-core:2.1-beta2
+net.jini:jini-core:2.1
+net.jini:jini-start-examples:2.1-beta2
+net.jini:jsk-resources:2.1-beta2
+net.jini:jsk-resources:2.1
+net.jini:jsk-lib:2.1-beta2
+net.jini:jsk-lib:2.1
+net.jini:jsk-platform:2.1-beta2
+net.jini:jsk-platform:2.1
+net.jini:jini-ext:2.1-beta2
+net.jini:jini-ext:2.1
+net.smartlab.config:smartconfig:1.1.0-SNAPHOST
+net.smartlab.config:smartconfig:1.0.0
+net.smartlab.config:smartconfig:1.1.0
+net.smartlab.web:smartweb-auth:0.8.0
+net.smartlab.web:smartweb-auth:0.8.2
+net.smartlab.web:smartweb-auth:0.7.0
+net.smartlab.web:smartweb-auth:0.8.1
+net.smartlab.web:smartweb:1.2.3
+net.smartlab.web:smartweb:1.2.7
+net.smartlab.web:smartweb:1.2.4
+net.smartlab.web:smartweb:1.2.6
+net.smartlab.web:smartweb:1.2.0
+net.smartlab.web:smartweb:1.2.1
+net.smartlab.web:smartweb:1.2.2
+net.smartlab.web:smartweb:1.2.5
+net.smartlab.web:smartweb-test:1.0.3
+net.smartlab.web:smartweb-test:1.2.0
+net.smartlab.web:smartweb-test:1.0.0
+net.smartlab.web:smartweb-test:1.0.1
+net.smartlab.web:smartweb-test:1.0.2
+net.smartlab.web:smartweb-test:1.1.0
+net.smartlab.web:smartweb-registry:0.9.0
+net.smartlab.web:maven-smartweb-plugin:0.1.0
+net.bankras:mvn-gwt-plugin:1.0.4
+net.jsunit:jsunit-testRunner:2.1.4
+net.jsunit:jsunit:2.1.4
+net.sf.jopt-simple:jopt-simple:2.4-rc2
+net.sf.jopt-simple:jopt-simple:2.4-beta1
+net.sf.jopt-simple:jopt-simple:2.4
+net.sf.jopt-simple:jopt-simple:2.4-rc1
+net.sf.jopt-simple:jopt-simple:2.4-beta2
+net.sf.jopt-simple:jopt-simple:2.3.6
+net.sf.jopt-simple:jopt-simple:2.4.1
+net.sf.ldaptemplate:ldaptemplate:1.0-rc2
+net.sf.ldaptemplate:ldaptemplate:1.0-rc1
+net.sf.ldaptemplate:ldaptemplate:1.0.1
+net.sf.ldaptemplate:ldaptemplate:1.0.2
+net.sf.jt400:jt400-full:4.8.0
+net.sf.jt400:jt400-full:4.9.0
+net.sf.jt400:jt400-full:5.0
+net.sf.jt400:jt400-full:5.1.1
+net.sf.jt400:jt400-full:5.4
+net.sf.jt400:jt400-full:4.7.0
+net.sf.jt400:jt400-full:5.2
+net.sf.jt400:jt400-full:5.3
+net.sf.jt400:jt400-full:6.0
+net.sf.hermesftp:hermesftp:0.7
+net.sf.excha:excha:1.0.2
+net.sf.jped:jped:2.0
+net.sf.jped.plugins:jped-plugins-base:2.0
+net.sf.jped.plugins:jped-shark-forms:2.0
+net.sf.jped.plugins:jped-highlight:2.0
+net.sf.jped.plugins:jped-xpdl-view:2.0
+net.sf.jped.plugins:jped-shark-historyRelated:2.0
+net.sf.jped.plugins:jped-lf-substance:2.0
+net.sf.jped:jedit-syntax:2.2.2
+net.sf.jguard:jguard-ext:1.00-beta-1
+net.sf.jguard:jguard-jee:1.00-beta-1
+net.sf.jguard:jguard:1.1.0-beta-3
+net.sf.jguard:jguard:1.1.0-beta-2
+net.sf.jguard:jguard:1.0.3
+net.sf.jguard:jguard:1.0.0
+net.sf.jguard:jguard:1.1.0-beta1
+net.sf.jguard:jguard:1.0.2
+net.sf.jguard:jguard:1.1.0-beta-4
+net.sf.jguard:jguard:1.00-beta-1
+net.sf.jguard:jguard-core:1.00-beta-1
+net.sf.jguard:jguard-swing-example:1.00-beta-1
+net.sf.jguard:jguard-struts-example:1.00-beta-1
+net.sf.struts:dialogs-rt:1.24
+net.sf.struts:ezwizard-rt:1.24
+net.sf.morph:morph:1.1
+net.sf.morph:morph:1.1.1
+net.sf.retrotranslator:retrotranslator-runtime13:1.2.7
+net.sf.retrotranslator:retrotranslator-runtime13:1.2.4
+net.sf.retrotranslator:retrotranslator-android:1.2.7
+net.sf.retrotranslator:retrotranslator-runtime:1.0.8
+net.sf.retrotranslator:retrotranslator-runtime:1.2.7
+net.sf.retrotranslator:retrotranslator-runtime:1.2.4
+net.sf.retrotranslator:retrotranslator-runtime:1.2.1
+net.sf.retrotranslator:retrotranslator-runtime:1.0.4
+net.sf.retrotranslator:retrotranslator-transformer:1.0.8
+net.sf.retrotranslator:retrotranslator-transformer:1.2.7
+net.sf.retrotranslator:retrotranslator-transformer:1.2.4
+net.sf.retrotranslator:retrotranslator-transformer:1.2.1
+net.sf.retrotranslator:retrotranslator-transformer:1.0.4
+net.sf.aislib:aislib:0.6
+net.sf.aislib.tools.mapping:mapping-parent:1.1
+net.sf.aislib.tools.mapping:mapping-parent:1.2
+net.sf.aislib.tools.mapping:mapping-parent:1.0
+net.sf.aislib.tools.mapping:library:1.1
+net.sf.aislib.tools.mapping:library:1.0
+net.sf.aislib.tools.entities:library:1.0
+net.sf.aislib.tools.entities:entities-parent:1.0
+net.sf.aislib.tools.entities:entities-parent:1.0.4
+net.sf.aislib.goodies:rememberme:1.0-RC1
+net.sf.jour:jour:2.0.2
+net.sf.jour:jour:2.0.1
+net.sf.jour:jour:2.0.0
+net.sf.shadesdb:shades:0.0.5
+net.sf.maven-sar:maven-archetype-sar:0.9
+net.sf.maven-sar:maven-sar-plugin:1.0
+net.sf.maven-sar:maven-sar-plugin:0.9
+net.sf.delicious-java:delicious:1.14
+net.sf.delicious-java:delicious:1.13
+net.sf.patterntesting:patterntesting:0.5.1
+net.sf.patterntesting:patterntesting:0.6.1
+net.sf.patterntesting:patterntesting:0.6.0
+net.sf.patterntesting:patterntesting:0.5.0
+net.sf.ehcache:ehcache:1.2.4RC
+net.sf.ehcache:ehcache:1.2.3
+net.sf.ehcache:ehcache:1.2.4
+net.sf.ehcache:ehcache:1.2
+net.sf.ehcache:ehcache:1.2.4RC
+net.sf.ehcache:ehcache:1.2.2
+net.sf.ehcache:ehcache:1.3.0-beta
+net.sf.ehcache:ehcache-jgroupsreplication:1.1
+net.sf.ehcache:ehcache-parent:1.4.0-beta
+net.sf.ehcache:ehcache-parent:1.4.0
+net.sf.ehcache:ehcache-parent:1.4.1
+net.sf.ehcache:ehcache-parent:1.3.0
+net.sf.ehcache:ehcache-parent:1.3.0-beta2
+net.sf.ehcache:ehcache-parent:1.3-beta2
+net.sf.ehcache:ehcache-parent:1.4.0-beta2
+net.sf.ehcache:ehcache-parent:1.5.0-beta2
+net.sf.ehcache:ehcache-parent:1.5.0-beta1
+net.sf.ehcache:ehcache-parent:1.3.0-beta3
+net.sf.ehcache:ehcache-parent:1.5.0
+net.sf.ehcache:ehcache-jmsreplication:0.1
+net.sf.ehcache:ehcache-jmsreplication:0.2
+net.sf.lucis:lucis:0.0.1
+net.sf.lucis:lucis:0.0.2
+net.sf.dobo:dobo:1.0
+net.sf.locale4j:locale4j:1.1.3
+net.sf.locale4j:locale4j:1.1.1
+net.sf.locale4j:locale4j:1.1.4
+net.sf.locale4j:locale4j:1.1.2
+net.sf.maven-har:maven-har-plugin:1.0
+net.sf.maven-har:maven-har-plugin:0.9
+net.sf.maven-har:maven-archetype-har:1.0
+net.sf.maven-har:maven-archetype-har:0.9
+net.sf.webdav-servlet:webdav-servlet:1.1
+net.sf.webdav-servlet:webdav-servlet:1.2
+net.sf.jcharts:krysalis-jCharts:1.0.0-alpha-1
+net.sf.mgp:maven-gwt-plugin:1.0
+net.sf.mgp:maven-archetype-gwt:1.0
+net.sf.click:click:1.5-RC3
+net.sf.click:click:1.4.1
+net.sf.click:click:1.4.2
+net.sf.click:click:1.0
+net.sf.click:click:1.5
+net.sf.click:click:1.5-M2
+net.sf.click:click:0.18
+net.sf.click:click:1.5-RC2
+net.sf.click:click:1.5-M1
+net.sf.click:click:0.15
+net.sf.click:click:0.17
+net.sf.click:click:1.5-M3
+net.sf.click:click:0.19
+net.sf.click:click:1.5-RC1
+net.sf.click:click:0.20
+net.sf.click:click-extras:1.5-RC3
+net.sf.click:click-extras:1.2
+net.sf.click:click-extras:1.4.1
+net.sf.click:click-extras:1.4.2
+net.sf.click:click-extras:1.0
+net.sf.click:click-extras:1.5
+net.sf.click:click-extras:1.4
+net.sf.click:click-extras:1.5-M2
+net.sf.click:click-extras:0.18
+net.sf.click:click-extras:1.5-RC2
+net.sf.click:click-extras:1.5-M1
+net.sf.click:click-extras:0.17
+net.sf.click:click-extras:1.5-M3
+net.sf.click:click-extras:0.19
+net.sf.click:click-extras:1.5-RC1
+net.sf.click:click-extras:0.20
+net.sf.click:click-mock:1.5-RC3
+net.sf.click:click-mock:1.5
+net.sf.click:click-mock:1.5-M2
+net.sf.click:click-mock:1.5-RC2
+net.sf.click:click-mock:1.5-M1
+net.sf.click:click-mock:1.5-M3
+net.sf.click:click-mock:1.5-RC1
+net.sf.click:click-nodeps:1.5-RC3
+net.sf.click:click-nodeps:1.4.1
+net.sf.click:click-nodeps:1.4.2
+net.sf.click:click-nodeps:1.0
+net.sf.click:click-nodeps:1.5
+net.sf.click:click-nodeps:1.5-M2
+net.sf.click:click-nodeps:0.18
+net.sf.click:click-nodeps:1.5-RC2
+net.sf.click:click-nodeps:1.5-M1
+net.sf.click:click-nodeps:0.15
+net.sf.click:click-nodeps:0.17
+net.sf.click:click-nodeps:1.5-M3
+net.sf.click:click-nodeps:0.19
+net.sf.click:click-nodeps:1.5-RC1
+net.sf.click:click-nodeps:0.20
+net.sf.falcon:falconcore:0.0.7
+net.sf.clirr:clirr-core:0.6
+net.sf.jacob-project:jacob:1.14.3
+net.sf.formlayoutmaker:formlayoutmaker:rc8.2.1
+net.sf.formlayoutmaker:formlayoutmaker:rc7
+net.sf.formlayoutmaker:formlayoutmakerx:rc8.2.1
+net.sf.formlayoutmaker:formlayoutmakerx:rc7
+net.sf.m-m-m:mmm:1.0.0
+net.sf.opencsv:opencsv:1.8
+net.sf.opencsv:opencsv:1.7
+net.sf.apt-jelly:apt-jelly:2.3
+net.sf.apt-jelly:apt-jelly-parent:2.4
+net.sf.apt-jelly:apt-jelly-parent:2.5
+net.sf.apt-jelly:apt-jelly-parent:2.6
+net.sf.spring-json:spring-json:1.0
+net.sf.antenna:antenna:0.9.14
+net.sf.antenna:antenna:1.0.2
+net.sf.testextensions:unit-test-extensions:0.1.1
+net.sf.alchim:spoon-maven-plugin:0.6
+net.sf.alchim:spoon-maven-plugin:0.6.1
+net.sf.alchim:spoon-maven-plugin:0.5
+net.sf.alchim:maven-lift-plugin:0.1
+net.sf.alchim.jedit:ScalaPlugin:2.6.1
+net.sf.alchim.jedit:MvnPlugin:1.0
+net.sf.alchim:winstone-maven-plugin:1.1
+net.sf.alchim:winstone-maven-plugin:1.2
+net.sf.alchim:winstone-maven-plugin:1.0
+net.sf.alchim:alchim-parent:3
+net.sf.alchim:alchim-parent:2
+net.sf.alchim:alchim-codeplus:0.2
+net.sf.json-lib:json-lib:1.1
+net.sf.json-lib:json-lib:2.2.2
+net.sf.json-lib:json-lib:2.0
+net.sf.json-lib:json-lib:0.8
+net.sf.json-lib:json-lib:1.0
+net.sf.json-lib:json-lib:2.2.1
+net.sf.json-lib:json-lib:1.0.1
+net.sf.json-lib:json-lib:0.7.1
+net.sf.json-lib:json-lib:2.1
+net.sf.json-lib:json-lib:0.9
+net.sf.json-lib:json-lib:2.2
+net.sf.json-lib:json-lib-ext-spring:1.0
+net.sf.json-lib:json-lib-ext-spring:1.0.2
+net.sf.mapasuta:mapasuta-umbrella:0.0.5
+net.sf.mapasuta:umbrella:0.0.9
+net.sf.mapasuta.build.maven.plugins:maven-oaw-plugin:1.1
+net.sf.mapasuta.build.maven.plugins:maven-oaw-plugin:1.2
+net.sf.mapasuta.build.maven.plugins:maven-emfgen-plugin:1.1
+net.sf.mapasuta.build.maven.plugins:maven-emfgen-plugin:1.0-beta-1
+net.sf.mapasuta.build.maven.plugins:maven-emfgen-plugin:1.0-beta-2
+net.sf.tacos:beanform:0.8
+net.sf.tacos:beanform:0.9
+net.sf.tacos:tapdoc-project:0.7.0
+net.sf.tacos:tacos-demo:4.0.1
+net.sf.tacos:tacos-demo:4.1.0
+net.sf.tacos:tacos-demo:4.1.1
+net.sf.tacos:tacos-cometd:4.1.0
+net.sf.tacos:tacos-cometd:4.1.1
+net.sf.tacos:tacos-core:4.0.1
+net.sf.tacos:tacos-core:4.1.0
+net.sf.tacos:tacos-core:4.1.1
+net.sf.tacos:tacos-maven-skin:4.1.0
+net.sf.tacos:tacos-maven-skin:4.1.1
+net.sf.tacos:tacos-annotations:4.1.0
+net.sf.tacos:tacos-annotations:4.1.1
+net.sf.tacos:tacos-project:4.0.1
+net.sf.tacos:tacos-project:4.1.0
+net.sf.tacos:tacos-project:4.1.1
+net.sf.speculoos:speculoos:1.0
+net.sf.speculoos:speculoos:1.0.1
+net.sf.composite:composite:1.1
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.0-rc1
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.0
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.0-rc2
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.1
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.2
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.0-b2
+net.sf.gnu-hylafax:gnu-hylafax-core:1.0.0-b1
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.0-rc1
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.0
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.0-rc2
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.1
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.2
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.0-b2
+net.sf.gnu-hylafax:gnu-hylafax-utils:1.0.0-b1
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.0-rc1
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.0
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.0-rc2
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.1
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.2
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.0-b2
+net.sf.gnu-hylafax:gnu-hylafax-pool:1.0.0-b1
+net.sf.gnu-hylafax:gnu-hylafax:1.0.0-rc1
+net.sf.gnu-hylafax:gnu-hylafax:1.0.0
+net.sf.gnu-hylafax:gnu-hylafax:1.0.0-rc2
+net.sf.gnu-hylafax:gnu-hylafax:1.0.1
+net.sf.gnu-hylafax:gnu-hylafax:1.0.2
+net.sf.gnu-hylafax:gnu-hylafax:1.0.0-b2
+net.sf.gnu-hylafax:gnu-hylafax:1.0.0-b1
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.0-rc1
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.0
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.0-rc2
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.1
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.2
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.0-b2
+net.sf.gnu-hylafax:gnu-hylafax-inet-ftp:1.0.0-b1
+net.sf.jxls:jxls-examples:0.9.2
+net.sf.jxls:jxls-reader:0.9.2
+net.sf.jxls:jxls:0.9.2
+net.sf.jxls:jxls:0.9.6
+net.sf.jxls:jxls:0.8.9
+net.sf.jxls:jxls:0.9.1
+net.sf.jxls:jxls:0.9.5
+net.sf.jxls:jxls:0.8.8
+net.sf.jxls:jxls:0.9.3
+net.sf.jxls:jxls:0.9
+net.sf.jxls:jxls-core:0.9.2
+net.sf.scannotation:scannotation:1.0.2
+net.sf.ipsedixit:ipsedixit:0.1.1
+net.sf.ipsedixit:ipsedixit:0.1
+net.sf.ezmorph:ezmorph:1.0.3
+net.sf.ezmorph:ezmorph:0.9.1
+net.sf.ezmorph:ezmorph:1.0
+net.sf.ezmorph:ezmorph:1.0.5
+net.sf.ezmorph:ezmorph:1.0.1
+net.sf.ezmorph:ezmorph:0.9.2
+net.sf.ezmorph:ezmorph:1.0.2
+net.sf.ezmorph:ezmorph:0.8.1
+net.sf.ezmorph:ezmorph:0.9
+net.sf.ezmorph:ezmorph:1.0.4
+net.sf.oval:oval:0.6
+net.sf.oval:oval:0.8
+net.sf.oval:oval:1.20
+net.sf.oval:oval:1.0
+net.sf.oval:oval:0.7
+net.sf.oval:oval:0.9
+net.sf.oval:oval:1.10
+net.sf.oval:oval:1.30
+net.sf.oval:net.sf.oval:0.8
+net.sf.jfig:jfig:1.5.2
+net.sf.gwt-widget:gwt-sl:0.1.5
+org.gwtwidgets:gwt-widgets:0.2.0
+net.sf.gwt-widget:gwt-widgets:0.1.5
+org.gwtwidgets:gwt-widgets:0.1.6
+net.sf.gwt-widget:gwt-widgets-server:0.1.4
+net.sf.proguard:proguard:3.9
+net.sf.proguard:proguard:4.1
+net.sf.proguard:proguard:3.8
+net.sf.proguard:proguard:4.2
+net.sf.proguard:proguard:4.0.1
+net.sf.proguard:proguard:3.10.1
+net.sf.proguard:proguard:3.4
+net.sf.proguard:proguard:3.7
+net.sf.beanrunner:beanrunner:0.0.2
+net.sf.beanrunner:beanrunner:0.0.3
+net.sf.datavision:DataVision:1.0.0
+net.sf.datavision:DataVision:1.1.0
+net.sf.flatpack:flatpack:3.1.1
+net.sf.flatpack:flatpack-examples:3.1.1
+net.sf.dtddoc:dtdparser:1.20-dtddoc
+net.sf.dtddoc:dtdparser:1.20-dtddoc
+net.sf.dtddoc:DTDDoc:0.0.11
+net.sf.dtddoc:DTDDoc:1.0.0
+net.sf.dtddoc:DTDDoc:1.1.0
+net.sf.dtddoc:dtddoc-maven-plugin:1.1
+net.sf.dtddoc:dtddoc-maven-plugin:1.0
+net.sf.dozer:dozer:2.0.1
+net.sf.dozer:dozer:4.2
+net.sf.dozer:dozer:3.3.1
+net.sf.dozer:dozer:3.2.1
+net.sf.dozer:dozer:4.0
+net.sf.dozer:dozer:4.2.1
+net.sf.dozer:dozer:3.4
+net.sf.jipcam:jipcam:0.9.1
+net.sf.jaggregate:jaggregate:3.3
+net.sf.jaggregate:jaggregate:3.2.1
+net.sf.resultsetmapper:resultsetmapper:0.2
+net.sf.hibernate:hibernate:2.1.6
+net.sf.hibernate:hibernate:2.0-beta-5
+net.sf.hibernate:hibernate:2.1.7c
+net.sf.hibernate:hibernate:2.0
+net.sf.hibernate:hibernate:2.1.2
+net.sf.hibernate:hibernate:2.0.2
+net.sf.hibernate:hibernate:2.0.1
+net.sf.hibernate:hibernate:2.1.4
+net.sf.hibernate:hibernate:2.1.3
+net.sf.hibernate:hibernate:2.0-beta-6
+net.sf.hibernate:hibernate:2.1.8
+net.sf.hibernate:hibernate:2.1.1
+net.sf.hibernate:hibernate:2.0.3
+net.sf.hibernate:hibernate-tools:2.1.3
+net.sf.madp:maven-assertdepend-plugin:1.0
+net.sf.jpf:jpf-boot:1.5
+net.sf.jpf:jpf:1.5
+net.sf.sugar.fspath:fspath:1.0-alpha
+net.sf.sugar:sugar:1.0
+net.sf.sugar.scl:scl:1.1-alpha
+net.sf.sugar.scl:scl:1.0-alpha
+net.sf.xradar:xradar:1.0
+net.sf.xradar:xradar:1.1-beta
+net.sf.xradar:maven-xradar-plugin:0.1
+net.sf.xradar:maven-xradar-plugin:1.1-beta
+net.sf.grester:grester:1.0.1
+net.sf:stat-scm:1.2.0
+net.sf:stat-scm:1.0.0
+net.sf:stat-scm:1.1.0
+net.sf.derquinsej:derquinsej:0.0.1
+net.sf.derquinsej:derquinsej:0.0.2
+net.sf.derquinsej:derquinsej:0.0.3
+net.sf.statsvn:statsvn:0.2.0
+net.sf.kxml:kxml2:2.2.2
+net.sf.kxml:kxml2:2.1.7
+net.sf.kxml:kxml2:2.1.8
+net.sf.jlynx:jlynx:1.6.3
+net.sf.jlynx:jlynx:1.4.1
+net.sf.jlynx:jlynx:1.5.2
+net.sf.jlynx:jlynx:1.4.2
+net.sf.jlynx:jlynx:1.4.4
+net.sf.jlynx:jlynx:1.6.0
+net.sf.jlynx:jlynx:1.4.3
+net.sf.jlynx:jlynx:1.6.1
+net.sf.jlynx:jlynx:1.4.5b
+net.sf.jlynx:jlynx:1.4.5
+net.sf.jlynx:jlynx:1.5.0
+net.sf.gnasher:gnasher:0.2
+net.sf.jedit-syntax:jedit-syntax:2.2.2
+net.sf.bluecove:bluecove-emu:2.0.3
+net.sf.bluecove:bluecove-gpl:2.0.3
+net.sf.bluecove:bluecove:1.2.3
+net.sf.bluecove:bluecove:1.2.1
+net.sf.bluecove:bluecove:2.0.2
+net.sf.bluecove:bluecove:2.0.1
+net.sf.bluecove:bluecove:2.0.0
+net.sf.bluecove:bluecove:1.2.2
+net.sf.bluecove:bluecove:2.0.3
+net.sf.beanlib:beanlib:3.3.0beta10
+net.sf.beanlib:beanlib:3.2.0
+net.sf.beanlib:beanlib:3.3.0beta9
+net.sf.beanlib:beanlib:3.1.1
+net.sf.beanlib:beanlib:3.3.0beta5
+net.sf.beanlib:beanlib:3.3.0beta19
+net.sf.beanlib:beanlib:3.2.1
+net.sf.beanlib:beanlib:3.3.0beta6
+net.sf.beanlib:beanlib-hibernate:3.3.0beta10
+net.sf.beanlib:beanlib-hibernate:3.2.0
+net.sf.beanlib:beanlib-hibernate:3.3.0beta9
+net.sf.beanlib:beanlib-hibernate:3.1.1
+net.sf.beanlib:beanlib-hibernate:3.3.0beta5
+net.sf.beanlib:beanlib-hibernate:3.3.0beta19
+net.sf.beanlib:beanlib-hibernate:3.2.1
+net.sf.beanlib:beanlib-hibernate:3.3.0beta6
+net.sf.logdistiller:logdistiller:0.9
+net.sf.btb:bridge:1.0.0
+net.sf.btb:bridge:0.9.3
+net.sf.btb:bridge:0.9.2
+net.sf.btb:bridge:1.1.0
+net.sf.jack4j:jack4j:0.2.0
+net.sf.jack4j:jack4j:0.1.0
+net.sf.jack4j:jack4j:0.0.3
+net.sf.jack4j:jack4j:0.3.0
+net.sf.qdwizard:qdwizard:2.0
+net.sf.qdwizard:qdwizard:2.0.4
+net.sf.qdwizard:qdwizard:2.0.2
+net.sf.qdwizard:qdwizard:2.0.1
+net.sf.qdwizard:qdwizard:2.0.3
+net.sf.springlayout:springlayout:0.7.4
+net.sf.mmm:mmm:1.0.0
+net.sf.fck-faces:fck-faces:1.8
+net.sf.jdatabaseimport:jdatabaseimport:0.1
+net.sf.dynpageplus:dynpageplus:1.0
+net.sf.jeceira:jeceira:0.1.4
+net.sf.ofx4j:ofx4j:1.1
+net.sf.ofx4j:ofx4j:1.0
+net.sf.a2j:a2j:beta2
+net.sf.saxon:saxon-jdom:8.7
+net.sf.saxon:saxon-jdom:7.9.1
+net.sf.saxon:saxon-sql:8.7
+net.sf.saxon:saxon-sql:7.9.1
+net.sf.saxon:saxon-xom:8.7
+net.sf.saxon:saxon-xpath:8.7
+net.sf.saxon:saxon-xpath:8.5.1
+net.sf.saxon:saxon-dom:8.7
+net.sf.saxon:saxon:8.7
+net.sf.saxon:saxon:8.5.1
+net.sf.saxon:saxon:7.9.1
+net.sf.jsr107cache:jsr107cache:1.0
+net.sf.stax:stax:1.0
+net.sf.yac-io:yac-io:0.1
+net.sf.jsptest:jsptest:0.8
+net.sf.jsptest:jsptest:0.16
+net.sf.jsptest:jsptest:0.18
+net.sf.jsptest:jsptest:0.13
+net.sf.jsptest:jsptest:0.11
+net.sf.jsptest:jsptest:0.15
+net.sf.jsptest:jsptest:0.17
+net.sf.jsptest:jsptest:0.14
+net.sf.smc:smc:4.3
+net.sf.hibernate4gwt:hibernate4gwt:1.1b
+net.sf.hibernate4gwt:hibernate4gwt:1.0.4
+net.sf.buildbox.pom:root-pom:1.0.0
+net.sf.buildbox.maven:root-pom:1.0.1
+net.sf.buildbox.maven:buildbox-bbx-plugin:1.0.0
+net.sf.buildbox.strictlogging:strictlogging-tests:1.0.0
+net.sf.buildbox.strictlogging:strictlogging-api:1.0.0
+net.sf.buildbox.strictlogging:strictlogging-log4j:1.0.0
+net.sf.buildbox.strictlogging:strictlogging-javalogging:1.0.0
+net.sf.buildbox.strictlogging:strictlogging:1.0.0
+net.sf.jyntax:jyntax-lib:0.5.3
+net.sf.jyntax:jyntax-lib:0.5.1
+net.sf.jyntax:jyntax-lib:0.5.2
+net.sf.jyntax:jyntax-lib:0.5
+net.sf.jfcunit:jfcunit:2.08
+westhawk:snmpOracle:4_13
+westhawk:snmp:4_13
+rss4j:rss4j:0.92
+yan:yan:0.8.2
+yan:yan:0.9.1
+yan:yan:0.9
+yan:yan:0.8.3
+yan:jfunutil:0.8.2
+yan:jfunutil:0.9.1
+yan:jfunutil:0.9
+yan:jfunutil:0.8.3
+dna:dna:1.1
+dna:dna:1.0
+dna:dna:1.1-rc2
+dna:dna:1.1-rc1
+dna:dna-tools-plugin:1.1-rc2
+dna:dna-tools-plugin:1.1-rc1
+dna:dna-tools:1.1
+dna:dna-tools:20031016.074359
+dna:dna-tools:1.1-rc2
+dna:dna-tools:20031016.083103
+dna:dna-tools:1.1-rc1
+dna:dna-impl:1.1
+dna:dna-impl:1.0
+dna:dna-impl:1.1-rc2
+dna:dna-impl:1.1-rc1
+dna:dna-impl:20031005.014103
+dna:dna-api:1.1
+dna:dna-api:1.0
+dna:dna-api:1.1-rc2
+dna:dna-api:1.1-rc1
+dna:maven-dna-plugin:1.1
+commons-math:commons-math:1.1
+commons-math:commons-math:1.2
+commons-math:commons-math:20040118.003950
+commons-math:commons-math:1.0
+commons-math:commons-math:20040118.003354
+commons-math:commons-math:20040218.045431
+commons-lang:commons-lang:2.3
+commons-lang:commons-lang:2.4
+commons-lang:commons-lang:2.0
+commons-lang:commons-lang:20030203.000129
+commons-lang:commons-lang:1.0
+commons-lang:commons-lang:1.0.1
+commons-lang:commons-lang:1.0-b1.1
+commons-lang:commons-lang:2.1
+commons-lang:commons-lang:2.2
+commons-lang:commons-lang:1.0-b1
+cas:cas:2.0.12
+cas:casclient:2.0.11
+cas:casclient:2.1.1
+javassist:javassist:3.0
+javassist:javassist:3.8.0.GA
+javassist:javassist:3.6.0.GA
+javassist:javassist:3.4.GA
+javassist:javassist:2.5.1
+javassist:javassist:3.0-rc-1
+acegisecurity:acegi-security-jboss-lib:0.6.1
+acegisecurity:acegi-security-taglib:0.6.1
+acegisecurity:acegi-security-taglib:0.51
+acegisecurity:acegi-security-tiger:0.9.0
+acegisecurity:acegi-security-tiger:1.0.0-RC1
+acegisecurity:acegi-security-jboss:0.9.0
+acegisecurity:acegi-security-jboss:0.8.0
+acegisecurity:acegi-security-jboss:0.8.2
+acegisecurity:acegi-security-jboss:0.8.1.1
+acegisecurity:acegi-security-jboss:0.7.0
+acegisecurity:acegi-security-jboss:0.7.1
+acegisecurity:acegi-security-jboss:1.0.0-RC1
+acegisecurity:acegi-security-jboss:0.8.1
+acegisecurity:acegi-security-jboss:0.8.3
+acegisecurity:acegi-security-resin:0.9.0
+acegisecurity:acegi-security-resin:0.8.0
+acegisecurity:acegi-security-resin:0.8.2
+acegisecurity:acegi-security-resin:0.8.1.1
+acegisecurity:acegi-security-resin:0.7.0
+acegisecurity:acegi-security-resin:0.7.1
+acegisecurity:acegi-security-resin:1.0.0-RC1
+acegisecurity:acegi-security-resin:0.8.1
+acegisecurity:acegi-security-resin:0.8.3
+acegisecurity:acegi-security-catalina-server:0.6.1
+acegisecurity:acegi-security-catalina-server:0.51
+acegisecurity:acegi-security-parent:1.0.0-RC1
+acegisecurity:acegi-security-jetty:0.9.0
+acegisecurity:acegi-security-jetty:0.8.0
+acegisecurity:acegi-security-jetty:0.8.2
+acegisecurity:acegi-security-jetty:0.8.1.1
+acegisecurity:acegi-security-jetty:0.7.0
+acegisecurity:acegi-security-jetty:0.7.1
+acegisecurity:acegi-security-jetty:1.0.0-RC1
+acegisecurity:acegi-security-jetty:0.8.1
+acegisecurity:acegi-security-jetty:0.8.3
+acegisecurity:acegi-security:0.9.0
+acegisecurity:acegi-security:0.8.0
+acegisecurity:acegi-security:0.8.2
+acegisecurity:acegi-security:1.0.0
+acegisecurity:acegi-security:0.8.1.1
+acegisecurity:acegi-security:0.7.0
+acegisecurity:acegi-security:0.7.1
+acegisecurity:acegi-security:1.0.0-RC1
+acegisecurity:acegi-security:0.6.1
+acegisecurity:acegi-security:0.51
+acegisecurity:acegi-security:0.8.1
+acegisecurity:acegi-security:0.5
+acegisecurity:acegi-security:0.8.3
+acegisecurity:acegi-security-catalina:0.9.0
+acegisecurity:acegi-security-catalina:0.8.0
+acegisecurity:acegi-security-catalina:0.8.2
+acegisecurity:acegi-security-catalina:0.8.1.1
+acegisecurity:acegi-security-catalina:0.7.0
+acegisecurity:acegi-security-catalina:0.7.1
+acegisecurity:acegi-security-catalina:1.0.0-RC1
+acegisecurity:acegi-security-catalina:0.8.1
+acegisecurity:acegi-security-catalina:0.8.3
+acegisecurity:acegi-security-resin-lib:0.6.1
+acegisecurity:acegi-security-domain:0.9.0
+acegisecurity:acegi-security-adapters:1.0.0-RC1
+acegisecurity:acegi-security-cas:0.9.0
+acegisecurity:acegi-security-cas:0.8.0
+acegisecurity:acegi-security-cas:0.8.2
+acegisecurity:acegi-security-cas:0.8.1.1
+acegisecurity:acegi-security-cas:0.7.0
+acegisecurity:acegi-security-cas:0.7.1
+acegisecurity:acegi-security-cas:1.0.0-RC1
+acegisecurity:acegi-security-cas:0.8.1
+acegisecurity:acegi-security-cas:0.8.3
+acegisecurity:acegi-security-catalina-common:0.6.1
+acegisecurity:acegi-security-catalina-common:0.51
+acegisecurity:acegi-security-jetty-ext:0.6.1
+acegisecurity:acegi-security-sample-annotations:0.9.0
+controlhaus:controlhaus-jms:alpha
+controlhaus:controlhaus-amazon:1.0-alpha-3
+controlhaus:controlhaus-amazon:1.0-alpha-1
+controlhaus:controlhaus-amazon:1.0-alpha-2
+controlhaus:SpellCheckerControl:1.0-beta-1
+controlhaus:beehive-controls:unofficial-1
+controlhaus:controlhaus-xfire-client:1.0-alpha-3
+controlhaus:controlhaus-xfire-client:1.0-alpha-1
+controlhaus:controlhaus-xfire-client:1.0-alpha-2
+controlhaus:LuceneControl:1.0-beta-1
+controlhaus:beehive-netui-tags-template:unofficial-1
+controlhaus:JabberControl:1.0-beta-1
+controlhaus:apache-beehive-incubating:unofficial-1
+controlhaus:beehive-netui-pageflow:unofficial-1
+controlhaus:SchedulerControl:1.0-beta-1
+controlhaus:controlhaus-ejb:alpha
+controlhaus:VelocityControl:1.0-beta-1
+controlhaus:BarcodeGeneratorControl:1.0-beta-1
+controlhaus:AmazonBookLookupControl:1.0-beta-1
+controlhaus:beehive-netui-tags-databinding:unofficial-1
+controlhaus:HTTPClientControl:1.0-beta-1
+controlhaus:controlhaus-hibernate:1.0-alpha-1
+controlhaus:controlhaus-hibernate:1.0-alpha-2
+controlhaus:FedExTrackingControl:1.0-beta-1
+controlhaus:GoogleSearchControl:1.0-beta-1
+controlhaus:beehive-netui-scoping:unofficial-1
+controlhaus:eBayAPIControl:1.0-beta-1
+controlhaus:beehive-netui-util:unofficial-1
+controlhaus:sforceControl:1.0-beta-1
+controlhaus:UPSTrackingControl:1.0-beta-1
+controlhaus:beehive-netui-tags-html:unofficial-1
+controlhaus:CreditCardValidatorControl:1.0-beta-1
+controlhaus:beehive-netui-compiler:unofficial-1
+drone:drone:1.1
+drone:drone:1.2
+drone:drone:1.3
+drone:drone:1.0
+drone:drone:1.4
+drone:drone-javadocs:1.1
+drone:drone-javadocs:1.2
+drone:drone-javadocs:1.3
+drone:drone-javadocs:1.0
+drone:drone-src:1.1
+drone:drone-src:1.2
+drone:drone-src:1.3
+drone:drone-src:1.0
+drone:drone-module:1.3
+aislib:aislib:0.5.2
+yom:yom:1.0-alpha-1
+yom:yom:1.0-alpha-2
+genjar:genjar:1.0
+easyconf:easyconf:0.9.0
+easyconf:easyconf:0.8
+easyconf:easyconf:0.9.5
+easyconf:easyconf:0.7.0-beta
+decorutils:decorutils:0.6
+wadi:wadi-core:2.0M1
+wadi:wadi:0.9
+wadi:wadi-jboss4:2.0M1
+wadi:wadi-tomcat50:2.0M1
+wadi:wadi-tomcat55:2.0M1
+wadi:wadi-jgroups:2.0M1
+wadi:wadi-jetty6:2.0M1
+wadi:wadi-itest:2.0M1
+wadi:wadi-jetty5:2.0M1
+wadi:wadi-test-webapp:2.0M1
+wadi:wadi-webapp:2.0M1
+dentaku:dentaku-persistence-service:20050109.084617
+dentaku:dentaku-persistence-service:20050208.175804
+dentaku:dentaku-persistence-service:20050203.034916
+dentaku:dentaku-persistence-service:20050113.005455
+dentaku:dentaku-persistence-service:20050105.013358
+dentaku:dentaku-persistence-service:20050107.230834
+dentaku:dentaku-persistence-service:20050106.213718
+dentaku:dentaku-persistence-service:20050208.175233
+dentaku:dentaku-persistence-service:20050708.210500
+dentaku:dentaku-persistence-service:20050708.205805
+dentaku:example-model:20050105.013432
+dentaku:example-model:20050113.011014
+dentaku:example-model:0.8
+dentaku:example-model:20050208.175948
+dentaku:example-model:0.7
+dentaku:example-model:20050708.210602
+dentaku:dentaku-ear:20050208.180010
+dentaku:dentaku-ear:20050708.210752
+dentaku:dentaku-ear:20050105.013527
+dentaku:dentaku-hibernate-cartridge:0.3
+dentaku:dentaku-hibernate-cartridge:0.1
+dentaku:dentaku-hibernate-cartridge:0.4
+dentaku:dentaku-hibernate-cartridge:0.7
+dentaku:dentaku-hibernate-cartridge:0.5
+dentaku:dentaku-hibernate-cartridge:0.2
+dentaku:dentaku-event-cartridge:20050708.205520
+dentaku:dentaku-event-cartridge:20050109.084517
+dentaku:dentaku-event-cartridge:0.8
+dentaku:dentaku-event-cartridge:0.1
+dentaku:dentaku-event-cartridge:20050208.173058
+dentaku:dentaku-event-cartridge:20050208.174350
+dentaku:dentaku-event-cartridge:20050105.013239
+dentaku:dentaku-event-cartridge:20050208.175739
+dentaku:dentaku-event-cartridge:20050203.034754
+dentaku:dentaku-event-cartridge:0.7
+dentaku:dentaku-event-cartridge:20050708.210151
+dentaku:dentaku-event-cartridge:20050107.230628
+dentaku:dentaku-event-cartridge:20050208.164454
+dentaku:dentaku-event-cartridge:20050113.005343
+dentaku:dentaku-event-cartridge:20050208.175201
+dentaku:dentaku-event-cartridge:20050106.213532
+dentaku:dentaku-drools-semantics:0.1
+dentaku:gentaku-java-cartridge:20050105.013546
+dentaku:dentaku-foundation:20050208.175909
+dentaku:dentaku-foundation:0.3
+dentaku:dentaku-foundation:0.8
+dentaku:dentaku-foundation:0.1
+dentaku:dentaku-foundation:20050203.034805
+dentaku:dentaku-foundation:0.4
+dentaku:dentaku-foundation:20050106.213645
+dentaku:dentaku-foundation:20050109.084555
+dentaku:dentaku-foundation:0.7
+dentaku:dentaku-foundation:20050107.230758
+dentaku:dentaku-foundation:0.5
+dentaku:dentaku-foundation:0.2
+dentaku:dentaku-foundation:20050105.013328
+dentaku:dentaku-foundation:20050113.005421
+dentaku:dentaku-cartridge-generator:20050105.012359
+dentaku:dentaku-cartridge-generator:20050106.213434
+dentaku:dentaku-cartridge-generator:20050708.210126
+dentaku:dentaku-cartridge-generator:20050708.205456
+dentaku:dentaku-cartridge-generator:20050208.175833
+dentaku:dentaku-cartridge-generator:20050208.175317
+dentaku:dentaku-cartridge-generator:20050708.040742
+dentaku:dentaku-cartridge-generator:20050113.005307
+dentaku:dentaku-cartridge-generator:20050107.230516
+dentaku:dentaku-cartridge-generator:20050109.084443
+dentaku:dentaku-cartridge-generator:20050203.034743
+dentaku:dentaku-cartridge-generator:20050105.013205
+dentaku:maven-gentaku-plugin:0.9-SNAPSHOT
+dentaku:maven-gentaku-plugin:0.9-SNAPSHOT
+dentaku:gentaku-summit-cartridge:20050208.175843
+dentaku:gentaku-summit-cartridge:20050708.211103
+dentaku:gentaku-summit-cartridge:20050208.175344
+dentaku:gentaku:20050208.175138
+dentaku:gentaku:20050105.012341
+dentaku:gentaku:20050708.040658
+dentaku:gentaku:20050208.174335
+dentaku:gentaku:20050106.213357
+dentaku:gentaku:20050708.205425
+dentaku:gentaku:20050113.005257
+dentaku:gentaku:20050107.230430
+dentaku:gentaku:0.8
+dentaku:gentaku:0.1
+dentaku:gentaku:20050105.013151
+dentaku:gentaku:20050208.173035
+dentaku:gentaku:20050109.084403
+dentaku:gentaku:20050708.210102
+dentaku:gentaku:20050708.030707
+dentaku:gentaku:20050109.073852
+dentaku:gentaku:20050110.114524
+dentaku:gentaku:20050706.201932
+dentaku:gentaku:20050208.175725
+dentaku:gentaku:0.7
+dentaku:gentaku:20050109.071514
+dentaku:gentaku:20050208.164436
+dentaku:gentaku:20050110.120631
+dentaku:gentaku:20050203.034727
+dentaku:dentaku-qtags-cartridge:20050208.174342
+dentaku:dentaku-qtags-cartridge:20050208.175731
+dentaku:dentaku-qtags-cartridge:20050208.164444
+dentaku:dentaku-qtags-cartridge:20050107.230543
+dentaku:dentaku-qtags-cartridge:20050105.012417
+dentaku:dentaku-qtags-cartridge:20050113.005331
+dentaku:dentaku-qtags-cartridge:20050106.213511
+dentaku:dentaku-qtags-cartridge:20050208.173050
+dentaku:dentaku-qtags-cartridge:20050708.205508
+dentaku:dentaku-qtags-cartridge:20050105.013221
+dentaku:dentaku-qtags-cartridge:20050208.175145
+dentaku:dentaku-qtags-cartridge:20050109.084454
+dentaku:dentaku-qtags-cartridge:20050708.210139
+dentaku:dentaku-qtags-cartridge:20050203.034749
+dentaku:dentaku-services:20050113.005403
+dentaku:dentaku-services:20050109.084528
+dentaku:dentaku-services:0.3
+dentaku:dentaku-services:20050208.164507
+dentaku:dentaku-services:0.8
+dentaku:dentaku-services:0.1
+dentaku:dentaku-services:20050107.230655
+dentaku:dentaku-services:20050208.173104
+dentaku:dentaku-services:20050105.013258
+dentaku:dentaku-services:0.4
+dentaku:dentaku-services:20050208.175745
+dentaku:dentaku-services:20050208.175207
+dentaku:dentaku-services:20050106.213558
+dentaku:dentaku-services:20050208.174356
+dentaku:dentaku-services:0.7
+dentaku:dentaku-services:0.5
+dentaku:dentaku-services:0.2
+dentaku:dentaku-services:20050203.034759
+dentaku:example-web:20050708.210634
+dentaku:example-web:0.7
+dentaku:example-web:20050208.175957
+dentaku:example-web:20050105.013502
+dentaku:dentaku-metadata-service:20050706.201827
+dentaku:dentaku-metadata-service:20050106.213337
+dentaku:dentaku-metadata-service:20050109.084352
+dentaku:dentaku-metadata-service:0.8
+dentaku:dentaku-metadata-service:20050208.175119
+dentaku:dentaku-metadata-service:20050109.071452
+dentaku:dentaku-metadata-service:20050105.012324
+dentaku:dentaku-metadata-service:20050113.005247
+dentaku:dentaku-metadata-service:20050708.205351
+dentaku:dentaku-metadata-service:20050208.174304
+dentaku:dentaku-metadata-service:20050105.013137
+dentaku:dentaku-metadata-service:20050110.120509
+dentaku:dentaku-metadata-service:20050208.164418
+dentaku:dentaku-metadata-service:20050708.040621
+dentaku:dentaku-metadata-service:20050708.210037
+dentaku:dentaku-metadata-service:20050110.114440
+dentaku:dentaku-metadata-service:20050107.230358
+dentaku:dentaku-metadata-service:20050109.073826
+dentaku:dentaku-metadata-service:20050203.034714
+dentaku:dentaku-metadata-service:20050708.030630
+dentaku:dentaku-metadata-service:20050208.175712
+dentaku:dentaku-metadata-service:20050208.173022
+openejb:jaxb-api:2.0EA3
+openejb-itests:openejb-itests:1.0-20041027
+openejb-itests:openejb-itests:1.0-20041001
+openejb-itests:openejb-itests:1.0-20041029
+openejb-itests:openejb-itests:1.0-20041104
+openejb-itests:openejb-itests:1.0-20040919
+openejb-itests:openejb-itests:1.0-20040921
+openejb-itests:openejb-itests:1.0-20040920
+openejb-itests:openejb-itests:1.0-20041022
+openejb-itests:openejb-itests:1.0-20041006
+openejb-itests:openejb-itests:1.0-beta1
+openejb-itests:openejb-itests:1.0-20041021
+openejb-itests:openejb-itests:1.0-20040913
+openejb:openejb-itests:2.0-M2
+openejb-itests:openejb-itests:1.0-20041031
+openejb-itests:openejb-itests:1.0-20041007
+openejb-itests:openejb-itests:1.0-20041019
+openejb-itests:openejb-itests:1.0-20041002
+openejb-itests:openejb-itests:1.0-20040926
+openejb-itests:openejb-itests:1.0-20040930
+openejb:openejb-itests:1.0
+openejb-itests:openejb-itests:1.0-20040929
+openejb-itests:openejb-itests:1.0-20040928
+openejb-itests:openejb-itests:1.0-20041102
+openejb-itests:openejb-itests:1.0-20041107
+openejb-itests:openejb-itests:1.0-20041105
+openejb-itests:openejb-itests:1.0-20041003
+openejb-itests:openejb-itests:1.0-20041020
+openejb-itests:openejb-itests:1.0-20040914
+openejb-itests:openejb-itests:1.0-20040912
+openejb-itests:openejb-itests:1.0-20040916
+openejb-itests:openejb-itests:1.0-20041109
+openejb-itests:openejb-itests:1.0-20041103
+openejb-itests:openejb-itests:1.0-20040924
+openejb:openejb-itests:2.0-G1M5
+openejb-itests:openejb-itests:1.0-20040922
+openejb-itests:openejb-itests:1.0-20041101
+openejb-itests:openejb-itests:1.0-20041009
+openejb-itests:openejb-itests:1.0-20041024
+openejb-itests:openejb-itests:1.0-20041012
+openejb-itests:openejb-itests:1.0-20041008
+openejb:openejb-itests:2.0-G1M3
+openejb-itests:openejb-itests:1.0-20040927
+openejb-itests:openejb-itests:1.0-20040917
+openejb-itests:openejb-itests:1.0-20040918
+openejb-itests:openejb-itests:1.0-20041108
+openejb-itests:openejb-itests:1.0-20041011
+openejb-itests:openejb-itests:1.0-20041004
+openejb-itests:openejb-itests:1.0-20041025
+openejb-itests:openejb-itests:1.0-20040923
+openejb-itests:openejb-itests:1.0-20040915
+openejb-itests:openejb-itests:1.0-20040925
+openejb-itests:openejb-itests:1.0-20041026
+openejb-itests:openejb-itests:1.0-20041010
+openejb-itests:openejb-itests:1.0-20041028
+openejb-itests:openejb-itests:1.0-20041106
+openejb:openejb-itests:2.0-M1
+openejb-itests:openejb-itests:1.0-20041030
+openejb-itests:openejb-itests:1.0-20041005
+openejb:openejb-itests:2.1.1
+openejb-itests:openejb-itests:2.0-G1M4
+openejb-itests:openejb-itests:1.0-20041023
+openejb:openejb:0.9.0
+openejb:openejb:1.0-beta1
+openejb:openejb:0.8beta2
+openejb:openejb:0.8
+openejb:openejb:0.8.2
+openejb:openejb:0.9.1
+openejb:openejb:0.8beta1
+openejb:openejb:0.9.2
+openejb:openejb:0.8.1
+openejb:openejb:0.8beta3
+openejb:openejb:0.8.3
+openejb:openejb-assembly:2.0-G1M3
+openejb-assembly:openejb-assembly:2.0-G1M4
+openejb-core:openejb-core:1.0-20041027
+openejb-core:openejb-core:1.0-20041001
+openejb-core:openejb-core:1.0-20041029
+openejb-core:openejb-core:1.0-20041104
+openejb-core:openejb-core:1.0-20040919
+openejb-core:openejb-core:1.0-20040921
+openejb-core:openejb-core:1.0-20040920
+openejb-core:openejb-core:1.0-20041022
+openejb-core:openejb-core:1.0-20041006
+openejb-core:openejb-core:1.0-beta1
+openejb-core:openejb-core:1.0-20041021
+openejb-core:openejb-core:1.0-20040913
+openejb:openejb-core:2.0
+openejb:openejb-core:2.0-M2
+openejb-core:openejb-core:1.0-20041031
+openejb-core:openejb-core:1.0-20041007
+openejb-core:openejb-core:1.0-20041019
+openejb-core:openejb-core:1.0-20041002
+openejb-core:openejb-core:1.0-20040926
+openejb-core:openejb-core:1.0-20040930
+openejb:openejb-core:1.0
+openejb-core:openejb-core:1.0-20040929
+openejb-core:openejb-core:1.0-20040928
+openejb-core:openejb-core:1.0-20041102
+openejb-core:openejb-core:1.0-20041107
+openejb-core:openejb-core:1.0-20041105
+openejb-core:openejb-core:1.0-20041003
+openejb-core:openejb-core:1.0-20041020
+openejb-core:openejb-core:1.0-20040914
+openejb-core:openejb-core:1.0-20040912
+openejb-core:openejb-core:1.0-20050929
+openejb-core:openejb-core:1.0-20040916
+openejb-core:openejb-core:1.0-20041109
+openejb-core:openejb-core:1.0-20041103
+openejb-core:openejb-core:1.0-20040924
+openejb:openejb-core:2.0-G1M5
+openejb-core:openejb-core:1.0-20040922
+openejb-core:openejb-core:1.0-20041101
+openejb-core:openejb-core:1.0-20041009
+openejb-core:openejb-core:1.0-20041024
+openejb:openejb-core:2.1
+openejb-core:openejb-core:1.0-20041012
+openejb-core:openejb-core:1.0-20041008
+openejb:openejb-core:2.0-G1M3
+openejb-core:openejb-core:1.0-20040927
+openejb-core:openejb-core:1.0-20040917
+openejb-core:openejb-core:1.0-20040918
+openejb-core:openejb-core:1.0-20041108
+openejb-core:openejb-core:1.0-20050920
+openejb-core:openejb-core:1.0-20041011
+openejb-core:openejb-core:1.0-20041004
+openejb-core:openejb-core:1.0-20041025
+openejb-core:openejb-core:1.0-20040923
+openejb-core:openejb-core:1.0-20040915
+openejb-core:openejb-core:1.0-20040925
+openejb-core:openejb-core:1.0-20041026
+openejb-core:openejb-core:1.0-20041010
+openejb-core:openejb-core:1.0-20041028
+openejb-core:openejb-core:1.0-20050917
+openejb-core:openejb-core:1.0-20041106
+openejb-core:openejb-core:1.0-20050916
+openejb:openejb-core:2.0-M1
+openejb-core:openejb-core:1.0-20041030
+openejb-core:openejb-core:1.0-20041005
+openejb:openejb-core:2.1.1
+openejb-core:openejb-core:2.0-G1M4
+openejb-core:openejb-core:1.0-20041023
+openejb:openejb-itests-webapp:1.0
+openejb-loader:openejb-loader:1.0-beta1
+openejb:openejb-loader:1.0
+openejb-loader:openejb-loader:1.0-20050929
+openejb:openejb-loader:0.9.2
+openejb-loader:openejb-loader:1.0-20050920
+openejb-loader:openejb-loader:1.0-20050917
+openejb-loader:openejb-loader:1.0-20050916
+openejb:jaxb-xjc:2.0EA3
+openejb:openejb-jca:2.0-M2
+openejb:openejb-jca:2.0-G1M3
+openejb:openejb-jca:2.0-M1
+openejb-webadmin:openejb-webadmin:1.0-20041027
+openejb-webadmin:openejb-webadmin:1.0-20041001
+openejb-webadmin:openejb-webadmin:1.0-20041029
+openejb-webadmin:openejb-webadmin:1.0-20041104
+openejb-webadmin:openejb-webadmin:1.0-20040919
+openejb-webadmin:openejb-webadmin:1.0-20040921
+openejb-webadmin:openejb-webadmin:1.0-20040920
+openejb-webadmin:openejb-webadmin:1.0-20041022
+openejb-webadmin:openejb-webadmin:1.0-20041006
+openejb-webadmin:openejb-webadmin:1.0-beta1
+openejb-webadmin:openejb-webadmin:1.0-20041021
+openejb-webadmin:openejb-webadmin:1.0-20040913
+openejb:openejb-webadmin:2.0-M2
+openejb-webadmin:openejb-webadmin:1.0-20041031
+openejb-webadmin:openejb-webadmin:1.0-20041007
+openejb-webadmin:openejb-webadmin:1.0-20041019
+openejb-webadmin:openejb-webadmin:1.0-20041002
+openejb-webadmin:openejb-webadmin:1.0-20040926
+openejb-webadmin:openejb-webadmin:1.0-20040930
+openejb:openejb-webadmin:1.0
+openejb-webadmin:openejb-webadmin:1.0-20040929
+openejb-webadmin:openejb-webadmin:1.0-20040928
+openejb-webadmin:openejb-webadmin:1.0-20041102
+openejb-webadmin:openejb-webadmin:1.0-20041107
+openejb-webadmin:openejb-webadmin:1.0-20041105
+openejb-webadmin:openejb-webadmin:1.0-20041003
+openejb-webadmin:openejb-webadmin:1.0-20041020
+openejb-webadmin:openejb-webadmin:1.0-20040914
+openejb-webadmin:openejb-webadmin:1.0-20040912
+openejb-webadmin:openejb-webadmin:1.0-20040916
+openejb-webadmin:openejb-webadmin:1.0-20041109
+openejb-webadmin:openejb-webadmin:1.0-20041103
+openejb-webadmin:openejb-webadmin:1.0-20040924
+openejb:openejb-webadmin:2.0-G1M5
+openejb-webadmin:openejb-webadmin:1.0-20040922
+openejb-webadmin:openejb-webadmin:1.0-20041101
+openejb-webadmin:openejb-webadmin:1.0-20041009
+openejb-webadmin:openejb-webadmin:1.0-20041024
+openejb-webadmin:openejb-webadmin:1.0-20041012
+openejb-webadmin:openejb-webadmin:1.0-20041008
+openejb:openejb-webadmin:2.0-G1M3
+openejb-webadmin:openejb-webadmin:1.0-20040927
+openejb-webadmin:openejb-webadmin:1.0-20040917
+openejb-webadmin:openejb-webadmin:1.0-20040918
+openejb-webadmin:openejb-webadmin:1.0-20041108
+openejb-webadmin:openejb-webadmin:1.0-20041011
+openejb-webadmin:openejb-webadmin:1.0-20041004
+openejb-webadmin:openejb-webadmin:1.0-20041025
+openejb-webadmin:openejb-webadmin:1.0-20040923
+openejb-webadmin:openejb-webadmin:1.0-20040915
+openejb-webadmin:openejb-webadmin:1.0-20040925
+openejb-webadmin:openejb-webadmin:1.0-20041026
+openejb-webadmin:openejb-webadmin:1.0-20041010
+openejb-webadmin:openejb-webadmin:1.0-20041028
+openejb-webadmin:openejb-webadmin:1.0-20041106
+openejb:openejb-webadmin:2.0-M1
+openejb-webadmin:openejb-webadmin:1.0-20041030
+openejb-webadmin:openejb-webadmin:1.0-20041005
+openejb-webadmin:openejb-webadmin:2.0-G1M4
+openejb-webadmin:openejb-webadmin:1.0-20041023
+openejb:openejb-builder:2.0
+openejb:openejb-builder:2.0-G1M5
+openejb:openejb-builder:2.1
+openejb:openejb-builder:2.0-G1M3
+openejb:openejb-builder:2.1.1
+openejb-builder:openejb-builder:2.0-G1M4
+openejb:jaxb-api:2.0EA3
+openejb:openejb-pkgen-builder:2.0
+openejb:openejb-pkgen-builder:2.0-G1M5
+openejb:openejb-pkgen-builder:2.1
+openejb:openejb-pkgen-builder:2.1.1
+openejb:openejb-pkgen-builder:2.0-G1M4
+maven-plugins:maven-strutsdoc-plugin:1.0.0
+maven-plugins:maven-uberdist-plugin:1.0.10
+maven-plugins:maven-aptdoc-plugin:20030413.030249
+maven-plugins:maven-webtest-plugin:0.8
+maven-plugins:maven-webtest-plugin:1.0
+maven-plugins:maven-deb-plugin:0.5
+maven-plugins:maven-junitpp-plugin:1.1
+maven-plugins:maven-xmlresume-plugin:0.2
+maven-plugins:maven-tasks-plugin:1.3.0
+maven-plugins:maven-tasks-plugin:1.2.0
+maven-plugins:maven-tasks-plugin:1.0.0
+maven-plugins:maven-tasks-plugin:1.1.0
+maven-plugins:maven-findbugs-plugin:1.2
+maven-plugins:maven-findbugs-plugin:1.3
+maven-plugins:maven-findbugs-plugin:0.8.2
+maven-plugins:maven-findbugs-plugin:1.4
+maven-plugins:maven-findbugs-plugin:1.3.1
+maven-plugins:maven-findbugs-plugin:0.7.1
+maven-plugins:maven-findbugs-plugin:0.8.4
+maven-plugins:maven-findbugs-plugin:0.9.2
+maven-plugins:maven-findbugs-plugin:0.7.2
+maven-plugins:maven-doxygen-plugin:1.0
+maven-plugins:maven-macker-plugin:0.4.2
+maven-plugins:maven-was5-plugin:1.1
+maven-plugins:maven-was5-plugin:1.2
+maven-plugins:maven-was5-plugin:2.0
+maven-plugins:maven-was5-plugin:1.0
+maven-plugins:maven-was5-plugin:2.0.2
+maven-plugins:maven-was5-plugin:2.0.1
+maven-plugins:maven-cobertura-plugin:1.1
+maven-plugins:maven-cobertura-plugin:1.2
+maven-plugins:maven-cobertura-plugin:1.3
+maven-plugins:maven-cobertura-plugin:1.1.1
+maven-plugins:maven-cobertura-plugin:1.4
+maven-plugins:maven-cobertura-plugin:1.3.1
+maven-plugins:maven-transform-plugin:1.2
+maven-plugins:maven-was40-plugin:1.1
+maven-plugins:maven-was40-plugin:1.2
+maven-plugins:maven-was40-plugin:1.4.1
+maven-plugins:maven-was40-plugin:1.3
+maven-plugins:maven-was40-plugin:1.4.2
+maven-plugins:maven-was40-plugin:1.4
+maven-plugins:maven-javaapp-plugin:1.2
+maven-plugins:maven-javaapp-plugin:1.3
+maven-plugins:maven-javaapp-plugin:1.4
+maven-javaapp-plugin:maven-javaapp-plugin:1.3.1
+maven-plugins:maven-files-plugin:1.0
+maven-plugins:maven-sdocbook-plugin:1.4.1
+maven-plugins:maven-sdocbook-plugin:1.3
+maven-plugins:maven-sdocbook-plugin:1.4
+maven-plugins:maven-sdocbook-plugin:1.4-20041230
+maven-plugins:maven-sdocbook-plugin:1.4-SNAPSHOT
+maven-plugins:maven-wiki-plugin:1.1
+maven-plugins:maven-sourceforge-plugin:1.1
+maven-plugins:maven-sourceforge-plugin:1.3
+maven-plugins:maven-sourceforge-plugin:1.0
+maven-plugins:maven-dotuml-plugin:1.0
+maven-plugins:maven-rpm-plugin:1.0
+maven-plugins:maven-news-plugin:1.0
+maven-plugins:maven-jpox-plugin:1.0.0-beta-1
+maven-plugins:maven-jpox-plugin:1.0.0
+maven-plugins:maven-jpox-plugin:1.0.0-beta-2a
+maven-plugins:maven-jpox-plugin:1.1.0-alpha-1
+maven-plugins:maven-jpox-plugin:1.0.0-beta-3
+maven-plugins:maven-jpox-plugin:1.0.0-beta-4
+maven-plugins:maven-jpox-plugin:1.0.0-beta-2
+maven-plugins:maven-axis-plugin:0.7
+maven-plugins:maven-axis-plugin:0.5
+maven-plugins:maven-kodo-plugin:3.1.2
+maven-plugins:maven-kodo-plugin:1.0.0
+maven-plugins:maven-springgraph-plugin:0.1
+maven-plugins:maven-dbunit-plugin:1.1
+maven-dbunit-plugin:maven-dbunit-plugin:1.6
+maven-plugins:maven-dbunit-plugin:1.2
+maven-plugins:maven-dbunit-plugin:1.8
+maven-plugins:maven-dbunit-plugin:1.3
+maven-plugins:maven-dbunit-plugin:1.0
+maven-plugins:maven-dbunit-plugin:1.5
+maven-plugins:maven-dbunit-plugin:1.4
+maven-plugins:maven-dbunit-plugin:1.9
+maven-plugins:maven-dbunit-plugin:1.7
+maven-plugins:maven-dbunit-plugin:20030413.024213
+maven-plugins:maven-dbunit-plugin:20030818.022735
+maven-plugins:maven-dbunit-plugin:20030814.080708
+maven-plugins:maven-javancss-plugin:1.2
+maven-plugins:maven-javancss-plugin:1.3
+maven-plugins:maven-javancss-plugin:1.3.1
+maven-plugins:maven-javancss-plugin:1.3.2
+maven-jaxb-plugin:maven-jaxb-plugin:1.0
+maven-jaxb-plugin:maven-jaxb-plugin:1.1.0
+logkit:logkit:1.2
+logkit:logkit:20020529
+logkit:logkit:2.0
+logkit:logkit:1.0.1
+logkit:logkit:1.2.2
+logkit:logkit:1.3-RC1
+logkit:LogKit:1.2
+dnsjava:dnsjava:1.2.3
+dnsjava:dnsjava:2.0.1
+dnsjava:dnsjava:1.3.2
+fop:fop:0.20.3
+fop:fop:0.20.5-rc3-alpha
+fop:fop:0.20.4
+fop:fop:0.20.5
+fop:fop:0.20.5rc2
+activeio:activeio:1.1
+activeio:activeio:2.0
+activeio:activeio:1.0
+activeio:activeio:2.0-r118
+activeio:activeio:2.1
+activeio:activeio:2.0-20050905
+oness:oness-user-webapp:0.3
+oness:oness-inventory-model:0.2
+oness:oness-party-model:0.4
+oness:oness-common-webapp-controller:0.4
+oness:oness-user-model:0.3
+oness:oness-common-webapp-view:0.3
+oness:oness-common-maven:0.4
+oness:oness-common-webapp-taglib:0.2
+oness:oness-common:0.2
+oness:oness-common-model:0.4
+oness:oness-order-model:0.1
+andromda:andromda:2.1.5
+andromda:andromda-java:2.1.5
+andromda:maven-andromda-plugin:2.1
+springmodules:springmodules:0.1
+springmodules:springmodules-jsr94:0.1
+springmodules:springmodules-hivemind:0.1
+springmodules:springmodules-validator:0.1
+springmodules:springmodules-validation:0.4
+springmodules:springmodules-osworkflow:0.1
+jaas:jaas:1.0.1
+excalibur-component-tests:excalibur-component-tests:2.1
+jline:jline:0.9.0
+jline:jline:0.9.92
+jline:jline:0.9.92
+jline:jline:0.9.1
+jline:jline:0.9.5
+jline:jline:0.9.9
+jline:jline:0.9.94
+jline:jline:0.9.91
+jline:jline:0.9.93
+velocity:velocity:1.3
+org.apache.velocity:velocity:1.5
+velocity:velocity:1.4
+velocity:velocity:1.3.1
+velocity:velocity:1.4-rc1
+velocity:velocity-dep:1.4
+velocity:velocity-dep:1.4
+velocity:velocity-dep:1.3.1
+velocity:velocity-dep:1.4-rc1
+xmldb:xmldb-xupdate:20021220
+xmldb:xmldb-api-sdk:20021118
+xmldb:xmldb-api:20021118
+xmldb:xmldb-common:20021220
+code316:code316-core:0.8
+speexx:speexx-util:2.0.0
+speexx:ocean-annotation-handler:1.1.1
+speexx:ocean-annotation-handler:1.1.0
+reportrunner:reportrunner:0.4.0
+reportrunner:reportrunner:0.5.0
+gj-find:gj-find:0.1
+gj-beans:gj-beans:1.0
+genjava:gj-beans:1.0.1
+gj-gui:gj-gui:0.1
+genjava:gj-core:3.1
+gj-core:gj-core:3.0
+gj-servlet:gj-servlet:1.0
+gj-mail:gj-mail:1.0
+gj-scrape:gj-scrape:2.0
+gj-scrape:gj-scrape:1.0
+gj-scrape:gj-scrape:2.0.1
+gj-tools:gj-tools:1.0
+genjava:gj-config:1.1
+gj-config:gj-config:1.0
+gj-xml:gj-xml:1.1
+gj-xml:gj-xml:1.0
+gj-csv:gj-csv:1.0
+commons-http:commons-http:1.1
+tclib:tclib:1.1
+excalibur-instrument-manager-interfaces:excalibur-instrument-manager-interfaces:0.1
+excalibur-instrument-manager-interfaces:excalibur-instrument-manager-interfaces:1.0
+excalibur-instrument-manager-interfaces:excalibur-instrument-manager-interfaces:20021108
+kawa:kawa:1.7
+commons-scxml:commons-scxml:0.6
+commons-scxml:commons-scxml:0.8
+commons-scxml:commons-scxml:0.7
+commons-scxml:commons-scxml:0.5
+commons-io:commons-io:1.1
+commons-io:commons-io:1.2
+commons-io:commons-io:1.3
+commons-io:commons-io:0.1
+commons-io:commons-io:1.0
+commons-io:commons-io:1.4
+commons-io:commons-io:1.3.1
+commons-io:commons-io:1.3.2
+commons-io:commons-io:20030203.000550
+bouncycastle:bcprov-jdk12:140
+bouncycastle:bcprov-jdk13:140
+bouncycastle:bcprov-jdk15:136
+bouncycastle:bcprov-jdk15:124
+bouncycastle:bcprov-jdk15:133
+bouncycastle:bcprov-jdk15:140
+bouncycastle:bcprov-jdk15:135
+bouncycastle:bcmail-jdk15:140
+bouncycastle:bcmail-jdk14:136
+bouncycastle:bcmail-jdk14:139
+bouncycastle:bcmail-jdk14:138
+bouncycastle:bouncycastle-jce-jdk13:112
+bouncycastle:bcpg-jdk15:140
+bouncycastle:bcpg-jdk13:121
+bouncycastle:bcprov-jdk14:136
+bouncycastle:bcprov-jdk14:124
+bouncycastle:bcprov-jdk14:139
+bouncycastle:bcprov-jdk14:140
+bouncycastle:bcprov-jdk14:138
+bouncycastle:bcprov-jdk16:136
+bouncycastle:bcprov-jdk16:140
+excalibur-containerkit:excalibur-containerkit:1.0
+dynaop:dynaop:1.0-beta
+uispec4j:uispec4j:1.1
+uispec4j:uispec4j:1.2
+uispec4j:uispec4j:1.3
+uispec4j:uispec4j:1.0
+uispec4j:uispec4j:1.5
+uispec4j:uispec4j:1.4
+uispec4j:uispec4j:0.7
+info.jmonit:jmonit:0.1.0
+info.magnolia:magnolia-parent-pom:4
+info.magnolia:magnolia-parent-pom:3
+info.magnolia:magnolia-parent-pom:5
+info.magnolia:magnolia-parent-pom:2
+info.magnolia:magnolia-parent-pom:1
+javax.persistence:persistence-api:1.0
+javax.persistence:ejb:3.0-public-draft-20050623
+javax.persistence:ejb:3.0-public_review
+javax.persistence:ejb:3.0-public-draft-20060118
+javax.persistence:ejb:3.0-edr2-20050513
+javax.persistence:ejb:3.0-public-draft-20060327
+javax.persistence:ejb:3.0-public-draft-20050623
+javax.jcr:jcr:1.0
+javax.jcr:jcr:1.0.1
+javax.transaction:jta:1.1
+javax.transaction:jta:1.0.1B
+javax:j2ee:1.4
+javax.media:jmf:2.1.1e
+javax.media:jai_core:1.1.2_01
+javax.servlet:servlet-api:2.3
+javax.servlet:servlet-api:2.4
+javax.servlet:servlet-api:2.4.public_draft
+javax.servlet:servlet-api:2.5
+javax.servlet:servlet-api:2.4-20040521
+javax.servlet:servlet-api:2.4-20040521
+javax.servlet:servlet-api:2.2
+javax.servlet.jsp:jsp-api:2.0
+javax.servlet.jsp:jsp-api:2.1
+javax.servlet:jsp-api:2.0
+javax.servlet:jsp-api:2.0.public_draft
+javax.servlet:sip-api:1.0
+javax.servlet:jstl:1.2
+javax.servlet:jstl:1.0.3
+javax.servlet:jstl:1.1.1
+javax.servlet:jstl:1.0
+javax.servlet:jstl:1.0.5
+javax.servlet:jstl:1.0.1
+javax.servlet:jstl:1.0.2
+javax.servlet:jstl:1.0.6
+javax.servlet:jstl:1.1.0
+javax.servlet:jstl:1.0.4
+javax.servlet:jstl:1.1.2
+javax.jws:jsr181:1.0
+javax.naming:jndi:1.2.1
+javax.el:el-api:1.0
+javax.management:jmxremote_optional:1.0.1_04
+javax.management:jmxri:1.2.1
+javax.management:jmxremote:1.0.1_04
+javax.management:jmx_remote:1.0
+javax.management:jmx_remote:1.0.1_03
+javax.management:jmx_remote:1.0.1_01
+javax.annotation:jsr250-api:1.0
+javax.annotation:jsr250-api:1.0-20050927.133100
+javax.resource:connector-api:1.5
+javax.resource:connector:1.0
+javax.ccpp:ccpp:1.0
+javax.xml:jaxb-xjc:2.0EA3
+javax.xml:jaxb-xjc:1.0.5
+javax.xml.parsers:jaxp-api:1.4
+javax.xml:jaxws-api:2.0EA3
+javax.xml:jaxws-api:2.0
+javax.xml:jaxws-api:2.0_EA2
+javax.xml:xmldsig:1.0
+javax.xml:jaxb-libs:1.0.5
+javax.xml.bind:jsr173_api:1.0
+jaxb:activation:1.0.2
+javax.xml.bind:jaxb-api:2.0
+javax.xml.bind:jaxb-api:1.0.5
+javax.xml.bind:jaxb-api:1.0.1
+javax.xml.bind:jaxb-api:2.1
+javax.xml:jaxrpc:1.1
+javax.xml:jaxr-api:1.0
+javax.xml:jaxr-api:1.0_03
+javax.xml:namespace:1.0.1
+javax.xml:jaxb-impl:2.0EA3
+javax.xml:jaxb-impl:1.0.5
+javax.xml:jaxrpc-api:1.1
+javax.xml:jaxrpc-api:1.1.3
+javax.xml:jaxrpc-api:2.0_EA1
+javax.xml:jaxm-api:1.1
+javax.xml:jaxm-api:1.1.2
+javax.xml:jax-qname:1.1
+javax.xml.stream:stax-api:1.0-2
+javax.xml.stream:stax-api:1.0
+javax.xml:jsr173:1.0
+javax.xml:saaj-api:1.2
+javax.xml:saaj-api:1.3
+javax.xml.parsers:jaxp-api:1.4.1
+javax.xml:jaxp-api:1.3
+javax.xml.parsers:jaxp-api:1.4.2
+javax.xml.parsers:jaxp-api:1.4
+javax.xml:jaxp-api:1.3.1
+javax.xml.soap:saaj-impl:1.3
+javax.xml.soap:saaj-api:1.3
+javax.xml:jaxb-api:2.0EA3
+javax.xml:jaxb-api:2.0
+javax.xml:jaxb-api:2.0_PFD
+javax.xml:jaxb-api:1.0.5
+javax.xml:jaxb-api:1.0.1
+javax.xml:jaxb-api:2.1
+javax.xml.ws:jaxws-api:2.0
+javax.xml.ws:jaxws-api:2.1-1
+javax.xml.ws:jaxws-api:2.1
+javax.mail:mail:1.4.1
+javax.mail:mail:1.3.3_01
+javax.mail:mail:1.3.3
+javax.mail:mail:1.4
+javax.mail:mail:1.3.1
+javax.mail:mail:1.3.2
+javax.jms:jms:1.1
+javax.jts:jts:1.0
+javax.activation:activation:1.1
+javax.activation:activation:1.0.2
+javax.comm:comm:3.0-u1
+javax.comm:comm:2.0.3
+javax.security:jaas:1.0.01
+javax.security:jacc:1.0
+javax.sql:jdbc-stdext:2.0
+javax.sql:rowset:1.0.1
+javax.portlet:portlet-api:1.0
+javax.help:javahelp:2.0.02
+javax.jdo:jdo2-api:2.0
+javax.jdo:jdo2-api:2.0-rc1
+javax.jdo:jdo2-api:2.1
+javax.jdo:jdo2-api:2.0-beta
+javax.jdo:jdo2-api:2.1.1
+javax.jdo:jdo2-api-legacy:2.1
+javax.jdo:jdo2-api-legacy:2.1.1
+javax.jdo:jdo:2.0-20050507
+javax.jdo:jdo:1.0.1
+javax.jdo:jdo:2.0-20050809.1515
+javax.ejb:ejb:2.0
+javax.ejb:ejb:2.1
+javax.ws.rs:jsr311-api:0.10
+javax.ws.rs:jsr311-api:0.3
+javax.ws.rs:jsr311-api:0.6
+javax.ws.rs:jsr311-api:0.8
+javax.ws.rs:jsr311-api:1.0
+javax.ws.rs:jsr311-api:0.4
+javax.ws.rs:jsr311-api:0.7
+javax.ws.rs:jsr311-api:0.11
+javax.ws.rs:jsr311-api:0.9
+javax.ws.rs:jsr311-api:0.5
+javax.ws.rs:jsr311-api:0.2
+javax.faces:jsf-impl:1.1_02
+javax.faces:jsf-impl:1.2-b19
+javax.faces:jsf-api:1.1
+javax.faces:jsf-api:1.2
+javax.faces:jsf-api:1.2_02
+javax.faces:jsf-api:1.1_02
+javax.faces:jsf-api:1.2-b19
+javax.faces:jsf-api:1.2_01-B04
+activecluster:activecluster:20040423.075722
+activecluster:activecluster:1.0
+activecluster:activecluster:1.1-20050524.034300
+activecluster:activecluster:20040408.185106
+patterntesting:patterntesting-aspectj:0.2
+ehcache:ehcache:1.1
+ehcache:ehcache:1.2.3
+ehcache:ehcache:1.2
+ehcache:ehcache:0.6
+ehcache:ehcache:1.0
+ehcache:ehcache:0.7
+ehcache:ehcache:0.9
+ehcache:ehcache:1.2beta4
+avalon-cornerstone:avalon-cornerstone:4.0
+pcj:pcj:1.2
+idb:idb:3.26
+ldapd-common:ldapd-common:20031126.210042
+ldapd-common:ldapd-common:20031011.020719
+ldapd-common:ldapd-common:20031015.000000
+ldapd-common:ldapd-common:20030924.220424
+ldapd-common:ldapd-common:20031014.000000
+ldapd-common:ldapd-common:20030918.153333
+ldapd-common:ldapd-common:20030924.070009
+ldapd-common:ldapd-common:20030923.135812
+ldapd-common:ldapd-common:20030921.193244
+ldapd-common:ldap-common:20040313.165717
+ldapd-common:ldap-common:20031205.013436
+xmlbeans:xbean_xpath:1.0.3
+xmlbeans:xbean_xpath:2.1.0
+xmlbeans:xbean_xpath:2.0.0
+xmlbeans:xbean_xpath:1.0.4
+xmlbeans:xbean_xpath:2.0.0-beta1
+xmlbeans:xmlpublic:2.1.0
+xmlbeans:xmlpublic:2.0.0
+xmlbeans:xmlpublic:2.0.0-beta1
+xmlbeans:xmlbeans:2.0-dev-2
+xmlbeans:xmlbeans:1.0.3
+xmlbeans:xmlbeans:1.0
+xmlbeans:xmlbeans:2.2.0
+xmlbeans:xmlbeans:2.3.0
+xmlbeans:xbean:1.0.3
+xmlbeans:xbean:2.1.0
+xmlbeans:xbean:2.0.0
+xmlbeans:xbean:2.2.0
+xmlbeans:xbean:1.0.4
+xmlbeans:xbean:2.0.0-beta1
+xmlbeans:xbean:2.0.0-1
+xmlbeans:xmlbeans-xmlpublic:2.0-dev-2
+exist:exist:0.9.2
+exist:exist-xmldb:0.9.2
+exist:exist-resolver:0.9.2
+activespace:jcache:1.0-dev-3
+jcs:jcs:1.3
+jcs:jcs:20030822.182132
+cornerstone-connection:cornerstone-connection-impl:1.0
+cornerstone-connection-impl:cornerstone-connection-impl:2.1
+cornerstone-connection:cornerstone-connection-api:1.0
+cornerstone-connection-api:cornerstone-connection-api:2.1
+sslext:sslext:1.2-0
+sslext:sslext:1.10-4
+excalibur-io:excalibur-io:1.1
+continuum:continuum-notifier-mail-test:1.0
+cobertura:cobertura-runtime:1.8
+cobertura:cobertura-runtime:1.9rc1
+cobertura:cobertura-runtime:1.7
+cobertura:cobertura:1.6
+cobertura:cobertura:1.8
+cobertura:cobertura:1.9rc1
+cobertura:cobertura:1.5
+cobertura:cobertura:1.4
+cobertura:cobertura:1.7
+jgraph:jgraph:3.1
+jgraph:jgraph:2.0
+jgraph:jgraph:5.8.3.1
+jgraph:jgraph:5.0.4
+jgraph:jgraph:2.2.1
+jgraph:jgraph:5.0.3
+jgraph:jgraph:1.0.6
+jgraph:jgraph:1.0.7
+jgraph:jgraph:5.5.1
+jgraph:jgraph:2.1.1
+jgraph:jgraphaddons:1.0.2
+commons-modeler:commons-modeler:1.1
+commons-modeler:commons-modeler:2.0
+commons-modeler:commons-modeler:2.0.1
+commons-modeler:commons-modeler:1.1M1
+poolman:poolman:2.0.4
+tjdo:tjdo:2.0
+tjdo:tjdo:2.0-beta
+tjdo:tjdo:2.0-beta3
+junitperf:junitperf:1.8
+informa:informa:0.6.0
+izpack:izpack-standalone-compiler:3.7.2
+izpack:standalone-compiler:3.8.0
+izpack:installer:3.8.0
+aelfred:aelfred:1.2
+which:which:1.0
+commons-email:commons-email:1.1
+commons-email:commons-email:20030310.165926
+commons-email:commons-email:1.0
+netbeans:cvslib:200310240100
+netbeans:cvslib:3.6
+netbeans:nbantext:4.0
+xxl:xxl:1.0
+pubscribe:wsn-xbeans-src:1.0
+pubscribe:pubscribe:1.1
+pubscribe:pubscribe:1.0
+pubscribe:wsn-xbeans:1.0
+pubscribe:wse-xbeans:1.0
+pubscribe:submgr-xbeans-src:1.0
+pubscribe:wse-xbeans-src:1.0
+pubscribe:submgr-xbeans:1.0
+quartz:quartz:1.4.0
+quartz:quartz:1.5.0-RC1
+quartz:quartz:1.2.3
+quartz:quartz:1.5.2
+quartz:quartz:1.0
+quartz:quartz:1.5.0-RC2
+quartz:quartz:1.0-b4
+quartz:quartz:1.3.4
+quartz:quartz:1.5.1
+quartz:quartz:1.0.2
+quartz:quartz:1.2.2
+quartz:quartz:1.0.7
+quartz:quartz:1.4.5
+quartz:quartz-weblogic:1.5.0-RC1
+quartz:quartz-weblogic:1.5.0-RC2
+quartz:quartz-weblogic:1.5.1
+quartz:quartz-jboss:1.5.0-RC1
+quartz:quartz-jboss:1.5.0-RC2
+quartz:quartz-jboss:1.5.1
+quartz:quartz-oracle:1.5.0-RC1
+quartz:quartz-oracle:1.5.0-RC2
+quartz:quartz-oracle:1.5.1
+fulcrum:fulcrum-quartz:1.0
+fulcrum:fulcrum:3.0
+fulcrum:fulcrum:1.0
+fulcrum:fulcrum:3.0-b1
+fulcrum:fulcrum-cache:1.0.5
+fulcrum:fulcrum-dvsl:1.0.5
+fulcrum:fulcrum-crypto:1.0.5
+fulcrum:fulcrum-crypto:1.0.6
+fulcrum:fulcrum-bsf:1.0.2
+fulcrum:fulcrum-security-adapter-opensymphony:1.0.7
+fulcrum:fulcrum-security-nt:1.0.7
+fulcrum:fulcrum-naming:1.0.2
+fulcrum:fulcrum-xmlrpc:1.0.5
+fulcrum:fulcrum-factory:1.0.3
+fulcrum:fulcrum-pool:1.0.3
+fulcrum:fulcrum-yaafi:1.0.3
+fulcrum:fulcrum-yaafi:1.0.5
+fulcrum:fulcrum-security-hibernate:1.0.7
+fulcrum:fulcrum-mimetype:1.0.4
+fulcrum:fulcrum-xslt:1.0.3
+fulcrum:fulcrum-upload:1.0.3
+fulcrum:fulcrum-testcontainer:1.0.4
+fulcrum:fulcrum-security-memory:1.0.7
+fulcrum:fulcrum-osworkflow:1.0.1
+fulcrum:fulcrum-localization:1.0.5
+fulcrum:fulcrum-security-adapter-turbine:1.0.7
+fulcrum:fulcrum-security-api:1.0.7
+xtiff-jai:xtiff-jai:beta-0.3
+werkflow:werkflow:1.0-beta-5
+werkflow:werkflow:2.0-alpha-1
+werkflow:werkflow:1.0-beta-4
+werkflow:werkflow:1.0-beta-6
+be.cyberelf.nanoxml:lite:2.2.3
+be.cyberelf.nanoxml:nanoxml:2.2.3
+excalibur:excalibur-threadcontext:1.0
+excalibur:excalibur-fortress-tools:1.0
+excalibur:excalibur-io:1.1
+excalibur:excalibur-instrument:0.3
+excalibur:excalibur-testcase:1.0
+excalibur:excalibur-util-concurrent:1.3.1
+excalibur:excalibur-i18n:1.0
+excalibur:excalibur-configuration:1.0
+excalibur:excalibur-pool:1.2
+excalibur:excalibur-extension:1.0
+excalibur:excalibur-collections:1.0
+excalibur:excalibur-component:1.0
+excalibur:excalibur-fortress:1.0
+excalibur:excalibur-event:2.0
+excalibur:excalibur-logger:1.1
+excalibur:excalibur-logger:1.0
+excalibur:excalibur-thread:1.1
+excalibur:excalibur-thread:1.1.1
+excalibur:excalibur-fortress-complete:1.0
+webtest:webtest:268
+webtest:webtest:277
+commons-xo:commons-xo:0.8
+commons-xo:commons-xo:1.0-20020507
+commons-test:commons-test:0.1
+commons-test:commons-test:0.1
+jung:jung:1.6
+jung:jung:1.6
+jung:jung:1.7.5
+jung:jung:1.7.6
+plexus:plexus-mimetyper:1.0-alpha-6
+plexus:plexus-mimetyper:1.0-alpha-5
+plexus:plexus-compiler-parent:1.1
+plexus:plexus-compiler-parent:1.0
+plexus:plexus-ircbot:1.1-alpha-3
+plexus:plexus-python-factory:1.0-alpha-5
+plexus:plexus-appserver:1.0-alpha-4
+plexus:plexus-appserver:1.0-alpha-3
+plexus:plexus-appserver:1.0-alpha-1
+plexus:plexus-appserver:1.0-alpha-2
+plexus:plexus-mail-sender-api:1.0-alpha-1
+plexus:plexus-compiler-aspectj:1.3
+plexus:plexus-drools:1.0-beta-1
+plexus:plexus-compiler-api:1.2-20050330.055135-2
+plexus:plexus-compiler-api:1.2-20050329.053705-1
+plexus:plexus-compiler-api:1.2-20050331.064905-3
+plexus:plexus-compiler-api:1.2
+plexus:plexus-compiler-api:1.3
+plexus:plexus-compiler-api:1.0
+plexus:plexus-compiler-api:1.3-20050510.083528-1
+plexus-formica:plexus-formica:1.0-beta-1
+plexus:plexus-formica:1.0-beta-2
+plexus:plexus-formica:1.0-beta-3
+plexus:plexus-formica:1.0-alpha-5
+plexus:plexus-command:1.0-alpha-5
+plexus:plexus-formproc:1.0-alpha-5
+plexus:plexus-compiler-javac:1.2-20050331.064825-2
+plexus:plexus-compiler-javac:1.2
+plexus:plexus-compiler-javac:1.2-20050329.054016-1
+plexus:plexus-compiler-javac:1.3
+plexus:plexus-compiler-javac:1.0
+plexus:plexus-quartz:1.0-alpha-1
+plexus:plexus:0.10
+plexus:plexus:20030427.111009
+plexus:plexus:0.3
+plexus:plexus:0.6
+plexus:plexus:0.16
+plexus:plexus:0.7
+plexus:plexus:0.9
+plexus:plexus:0.15
+plexus:plexus:0.5
+plexus:plexus:0.2
+plexus:plexus:0.17
+plexus:plexus:0.14
+plexus:plexus-input-handler:1.0-alpha-2
+plexus:plexus-component-factories:1.0
+plexus:plexus-component-factories:1.0-alpha-4
+plexus:plexus-component-factories:1.0-alpha-3
+plexus:plexus-container-artifact:1.0-alpha-2
+plexus-dnsserver:plexus-dnsserver:1.0-alpha-2
+plexus:plexus-hibernate:1.0-alpha-5
+plexus:plexus-personalities:1.1
+plexus:plexus-compiler:1.1
+plexus:plexus-compiler:1.2
+plexus:plexus-compiler:1.3
+plexus:plexus-compiler:1.0
+plexus-jetty:plexus-jetty:1.0-beta-1
+plexus:plexus-jetty:1.0-alpha-5
+plexus-jetty:plexus-jetty:1.0-alpha-2
+plexus-velocity:plexus-velocity:1.0-beta-1
+plexus:plexus-velocity:1.0
+plexus:plexus-velocity:1.0-beta-4-SNAPSHOT
+plexus:plexus-velocity:1.0-alpha-5
+plexus-velocity:plexus-velocity:1.0-alpha-2
+plexus:plexus-servlet:1.0-beta-2
+plexus:plexus-servlet:20031030.235416
+plexus:plexus-artifact-container:1.0-alpha-1
+plexus-xmlrpc:plexus-xmlrpc:1.0-beta-1
+plexus:plexus-xmlrpc:1.0-beta-2
+plexus:plexus-xmlrpc:1.0-beta-3
+plexus:plexus-xmlrpc:1.0-alpha-5
+plexus-xmlrpc:plexus-xmlrpc:1.0-alpha-2
+plexus:plexus-bayesian:1.0-alpha-1
+plexus:plexus-security:1.0-alpha-1
+plexus:plexus-servers:1.0
+plexus:plexus-servers:1.0.1
+plexus:plexus-service-xmlrpc:1.0-alpha-2
+plexus:plexus-scheduler:1.0-alpha-5
+plexus-scheduler:plexus-scheduler:1.0-alpha-2
+plexus:plexus-service-jetty:1.0-alpha-1
+plexus:plexus-service-jetty:1.0-alpha-2
+plexus:plexus-mail-sender-simple:1.0-alpha-1
+plexus:plexus-werkflow:1.0-beta-1
+plexus:plexus-logging-provider-test:1.0-alpha-1
+plexus:plexus-mail-sender-simple:1.0-alpha-1-20050401.130117-1
+plexus:plexus-mail-sender-simple:1.0-alpha-1-20050401.220022-2
+plexus:plexus-mail-sender-api:1.0-alpha-1-20050401.225358-4
+plexus:plexus-mail-sender-test:1.0-alpha-1-20050401.225429-3
+plexus:plexus-mail-sender-test:1.0-alpha-1-20050401.220007-2
+plexus:plexus-mail-sender-simple:1.0-alpha-1-20050401.225449-3
+plexus:plexus-mail-sender-api:1.0-alpha-1-20050401.215944-3
+plexus:plexus-mail-sender-api:1.0-alpha-1-20050401.121247-1
+plexus:plexus-mail-sender-api:1.0-alpha-1-20050401.130320-2
+plexus:plexus-mail-senders:1.0
+plexus:plexus-mail-sender-test:1.0-alpha-1-20050401.130031-1
+plexus:xstream:0.1
+plexus:plexus-mail-sender-test:1.0-alpha-1
+plexus:plexus-activity:1.0-alpha-5
+plexus:plexus-action:1.0-alpha-1
+plexus:plexus-taskqueue:1.0-alpha-1
+plexus:plexus-jetty-httpd:1.0-beta-1
+plexus:plexus-avalon-personality:0.12
+plexus-ftpserver:plexus-ftpserver:1.0-alpha-2
+plexus:plexus-jdo:1.0-alpha-2
+plexus:plexus-log4j-logging:1.0
+plexus-pull:plexus-pull:1.0-beta-1
+plexus:plexus-pull:1.0-alpha-5
+plexus:plexus-tools:1.0
+plexus:plexus-tools:1.0.1
+plexus:plexus-tools:1.0.2
+plexus-workflow:plexus-workflow:1.0-alpha-2
+plexus:plexus-bsh-factory:1.0-alpha-5
+plexus:plexus-i18n:1.0-beta-4
+plexus:plexus-i18n:1.0-beta-1
+plexus:plexus-i18n:1.0-beta-3
+plexus:plexus-notification:1.0-alpha-3
+plexus:plexus-compiler-jikes:1.3
+plexus:plexus-resource:1.0-alpha-3
+plexus:plexus-persister:1.0-alpha-5
+plexus-persister:plexus-persister:1.0-alpha-2
+plexus:plexus-compiler-eclipse:1.3
+plexus:plexus-archiver:1.0-alpha-1
+plexus:plexus-scm:1.0-alpha-1-20050705.084636-3
+plexus:plexus-utils:1.0-beta-1
+plexus:plexus-utils:1.0.3
+plexus:plexus-utils:1.0.0
+plexus:plexus-utils:1.0.1
+plexus:plexus-utils:1.0.2
+plexus:plexus-utils:1.0-alpha-3
+plexus:plexus-utils:1.0-alpha-1
+plexus:plexus-utils:1.0-alpha-2
+plexus:plexus-summit:1.0-beta-4
+plexus-summit:plexus-summit:1.0-beta-1
+plexus:plexus-summit:1.0-beta-4-SNAPSHOT
+plexus:plexus-summit:1.0-alpha-5
+plexus:plexus-summit:1.0-alpha-2
+plexus:plexus-logging:1.0
+plexus:plexus-formica-web:1.0-alpha-1
+plexus:plexus-jcs:1.0-alpha-5
+plexus:plexus-components:1.1
+plexus:plexus-components:1.1.1
+plexus:plexus-components:1.0
+plexus:plexus-components:1.1.2
+plexus:plexus-containers:1.0
+plexus:plexus-containers:1.0.1
+plexus:plexus-containers:1.0.2
+plexus:plexus-containers:1.0-alpha-3
+plexus:plexus-containers:1.0-alpha-1
+plexus:plexus-containers:1.0-alpha-2
+plexus:plexus-container-default:1.0-alpha-4
+plexus:plexus-container-default:1.0-alpha-3-20050510.024818-1
+plexus:plexus-container-default:1.0-alpha-6
+plexus:plexus-container-default:1.0-alpha-5
+plexus:plexus-container-default:1.0-alpha-1
+plexus:plexus-container-default:1.0-alpha-2
+plexus:plexus-mimetype:1.0-alpha-5
+plexus-manager:plexus-manager:1.0-alpha-2
+plexus:plexus-services:1.0
+plexus:plexus-services:1.0-alpha-1
+plexus-messenger:plexus-messenger:1.0-alpha-2
+plexus:plexus-runtime-builder:1.0-alpha-4
+plexus:plexus-runtime-builder:1.0-alpha-3
+plexus:plexus-runtime-builder:1.0-alpha-1
+plexus:plexus-runtime-builder:1.0-alpha-2
+plexus:plexus-cdc:1.0-alpha-1
+plexus:plexus-cdc:1.0-alpha-2
+plexus:maven-plexus-plugin:0.3
+plexus:maven-plexus-plugin:0.6
+plexus:maven-plexus-plugin:0.4
+plexus:maven-plexus-plugin:0.5
+plexus:plexus-compiler-test:1.2
+it.cnr.isti.domoware:org.postgresql.jdbc4:8.3-603
+it.cnr.isti.domoware.tinyos:tinyos-core:1.1.14
+it.cnr.isti.domoware.tinyos:tinyos-bundle:2.1-000
+it.cnr.isti.domoware.tinyos:tinyos-bundle:2.1.0-0001
+it.cnr.isti.domoware.tinyos:tinyos-core-rxtx:1.1.15.1
+it.cnr.isti.domoware.tinyos:tinyos:1.0.1
+it.cnr.isti.domoware.tinyos:tinyos:1.0.2
+it.cnr.isti.domoware.tinyos:tinyos:1
+it.cnr.isti.domoware.tinyos:tinyos-java:2.1
+it.cnr.isti.domoware.cyberdomo:upnp-stack-jdk13:1.8.0
+it.cnr.isti.domoware.cyberdomo:upnp-stack:1.8.0
+it.cnr.isti.domoware.cyberdomo:cyberdomo:1.0.1
+it.cnr.isti.domoware.cyberdomo:cyberdomo:1
+it.could:webdav:0.4
+jblanket:jblanket:4.3.0402
+jblanket:maven-jblanket-plugin:1.0.0503
+excalibur-store:excalibur-store:20020820
+excalibur-store:excalibur-store:1.0
+excalibur-store:excalibur-store:2.1
+icu4j:icu4j:2.6.1
+jaimbot:jaimbot:1.3
+excalibur-instrument:excalibur-instrument:0.1
+excalibur-instrument:excalibur-instrument:1.0
+excalibur-instrument:excalibur-instrument:20021108
+excalibur-instrument:excalibur-instrument-api:2.1
+excalibur-instrument-mgr-http:excalibur-instrument-mgr-http:2.1
+excalibur-instrument:excalibur-instrument-mgr-api:2.1
+excalibur-instrument:excalibur-instrument-client:2.1
+excalibur-instrument:excalibur-instrument-mgr-impl:2.1
+tmporb:tmporb-pss:1.0
+tmporb:tmporb-ssl:1.0
+tmporb:tmporb-orb:1.0
+tmporb:tmporb-orb-omg:1.0
+tmporb:tmporb-ns-jndi:1.0
+tmporb:tmporb-tools:1.0
+tmporb:tmporb-ns-omg:1.0
+tmporb:tmporb-ots:1.0
+tmporb:tmporb-orb-tools:1.0
+tmporb:tmporb-ins:1.0
+metaclass:metaclass-jmx:1.1
+metaclass:metaclass-jmx:1.1-rc3
+metaclass:metaclass:1.1
+metaclass:metaclass:1.1-rc3
+metaclass:metaclass-tools:1.1
+metaclass:metaclass-tools:1.1-rc3
+metaclass:metaclass-tools-plugin:1.1-rc3
+metaclass:metaclass-runtime:1.1
+metaclass:metaclass-runtime:1.1-rc3
+metaclass:maven-metaclass-plugin:1.1
+metaclass:maven-metaclass-plugin:1.1-rc3
+avalon-extension:avalon-extension-impl:1.1
+avalon-extension:avalon-extension-impl:1.0
+avalon-extension:avalon-extension-impl:1.0-RC1
+avalon-extension:avalon-extension-spi:1.1
+avalon-extension:avalon-extension-spi:1.0
+avalon-extension:avalon-extension-spi:1.0-RC1
+mstor:mstor:0.9.6
+mstor:mstor:0.9.7
+mstor:mstor:0.9.5
+mstor:mstor:0.9.9
+mstor:mstor:0.9.3
+mstor:mstor:0.9.8
+commons-digester:commons-digester:1.6
+commons-digester:commons-digester:1.2
+commons-digester:commons-digester:1.4.1
+commons-digester:commons-digester:1.8
+commons-digester:commons-digester:1.3
+commons-digester:commons-digester:1.5
+commons-digester:commons-digester:1.7
+stratum:stratum:1.0-b3
+stratum:stratum:1.0
+stratum:stratum:1.0-b5
+stratum:stratum:1.0-b1
+excalibur-instrument-manager:excalibur-instrument-manager:0.1
+excalibur-instrument-manager:excalibur-instrument-manager:1.0
+excalibur-instrument-manager:excalibur-instrument-manager:20021108
+jcharts:jcharts:0.6.0
+net.sf.jcharts:krysalis-jCharts:1.0.0-alpha-1
+jcharts:jcharts:0.6.0
+jalopy:jalopy-console:0.1-1.5rc2
+jalopy:jalopy:1.5b5
+jalopy:jalopy:1.5rc3
+jalopy:jalopy:1.0b8
+jalopy:jalopy:1.5b3
+jalopy:jalopy:1.0b11
+jalopy:jalopy:1.0b10
+jalopy:jalopy-ant:0.1-1.5b5
+jalopy:jalopy-ant:0.5.5
+jalopy:jalopy-ant:0.6.1
+jalopy:jalopy-ant:0.1-1.5b3
+jalopy:jalopy-ant:0.6.2
+innig:macker:0.4.2
+innig:innig-util:0.4.2
+httpunit:httpunit:1.6
+httpunit:httpunit:1.4.1
+httpunit:httpunit:1.3
+httpunit:httpunit:1.5.4
+httpunit:httpunit:1.5.3
+httpunit:httpunit:1.5
+httpunit:httpunit:1.5.1
+httpunit:httpunit:1.6.2
+httpunit:httpunit:1.6.1
+checkstyle:checkstyle:3.2
+checkstyle:checkstyle:3.1
+checkstyle:checkstyle:2.3
+checkstyle:checkstyle:2.4
+checkstyle:checkstyle:4.1
+checkstyle:checkstyle:3.0
+checkstyle:checkstyle:4.0-beta5
+checkstyle:checkstyle:4.3
+checkstyle:checkstyle:4.2
+checkstyle:checkstyle:4.0-beta4
+checkstyle:checkstyle:4.0-beta3
+checkstyle:checkstyle:2.1
+checkstyle:checkstyle:5.0-beta01
+checkstyle:checkstyle:3.3
+checkstyle:checkstyle:4.0-beta6
+checkstyle:checkstyle:4.0-beta1
+checkstyle:checkstyle:4.0
+checkstyle:checkstyle:4.4
+checkstyle:checkstyle:3.4
+checkstyle:checkstyle:2.2
+checkstyle:checkstyle-optional:3.2
+checkstyle:checkstyle-optional:4.1
+checkstyle:checkstyle-optional:4.0-beta5
+checkstyle:checkstyle-optional:4.3
+checkstyle:checkstyle-optional:4.2
+checkstyle:checkstyle-optional:4.0-beta4
+checkstyle:checkstyle-optional:4.0-beta3
+checkstyle:checkstyle-optional:3.3
+checkstyle:checkstyle-optional:4.0-beta6
+checkstyle:checkstyle-optional:4.0-beta1
+checkstyle:checkstyle-optional:4.0
+checkstyle:checkstyle-optional:4.4
+checkstyle:checkstyle-optional:3.4
+penguin:penguin:0.9
+batik:batik-svgpp:1.6
+batik:batik-extension:1.6
+batik:batik-squiggle:1.6
+batik:batik-script:1.6
+batik:batik-bridge:1.6
+batik:batik-swing:1.6
+batik:batik-ext:1.6
+batik:batik-rasterizer:1.6
+batik:batik-squiggle:1.6
+batik:batik-svggen:1.6
+batik:batik-dom:1.6
+batik:batik-slideshow:1.6
+batik:batik-ttf2svg:1.6
+batik:batik-util:1.6
+batik:batik-transcoder:1.6
+batik:batik-gvt:1.6
+batik:batik-parser:1.6
+batik:batik-gui-util:1.6
+batik:batik-svg-dom:1.6
+batik:batik-awt-util:1.6
+batik:batik-xml:1.6
+batik:batik-css:1.6
+batik:batik-rasterizer:1.6
+mevenide:goals-grabber:0.10
+mevenide:goals-grabber:0.11
+mevenide:goals-grabber:0.9
+mevenide:mevenide-repository:0.3
+mevenide:mevenide-repository:0.2
+mevenide:mevenide-idea:0.2-20050612.210738
+mevenide:mevenide-idea:0.2-20050730.150751
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050612.201708
+mevenide:mevenide-idea:0.2-20050730.145903
+mevenide:mevenide-idea:0.2-20050609.234516
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050614.061333
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050614.061524
+mevenide:mevenide-idea:0.1
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050609.235155
+mevenide:mevenide-idea:0.2-20050609.235337
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050609.233836
+mevenide:mevenide-idea:0.2-20050614.170136
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050612.220442
+mevenide:mevenide-idea:0.2-20050614.183117
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050614.173638
+mevenide:mevenide-idea:0.2-20050612.221856
+mevenide:mevenide-idea:0.2-20050614.060538
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:mevenide-idea:0.2-20050614.055915
+mevenide:mevenide-idea:0.2-20050730.150253
+mevenide:mevenide-idea:0.2-20050614.181713
+mevenide:mevenide-idea:0.2-20050730.150641
+mevenide:mevenide-idea:0.2-SNAPSHOT
+mevenide:jdom-nb-module:1.0.1
+mevenide:mevenide-netbeans-devel:1.0
+mevenide:ant-nb-module:1.5.3-1
+mevenide:mevenide-core:0.10
+mevenide:mevenide-core:0.8
+mevenide:mevenide-core:0.10-SNAPSHOT
+mevenide:mevenide-core:0.10-20050701.191004
+mevenide:maven-mevenide-plugin:0.1.1
+mevenide:maven-mevenide-plugin:0.3
+mevenide:maven-mevenide-plugin:0.1
+mevenide:maven-mevenide-plugin:0.2
+mevenide:maven-mevenide-plugin:0.1.2
+mevenide:maven-nbm-plugin:1.1
+mevenide:maven-nbm-plugin:0.3
+mevenide:maven-nbm-plugin:0.6
+mevenide:maven-nbm-plugin:1.0
+mevenide:maven-nbm-plugin:0.4
+maven-nbm-plugin:maven-nbm-plugin:1.4
+mevenide:maven-nbm-plugin:0.5
+mevenide:maven-nbm-plugin:0.2
+mevenide:maven-jbuilder-opentool-plugin:0.1
+mevenide:maven-nb-module:1.0.2
+mevenide:mevenide-grammar:0.6
+mevenide:mevenide-netbeans-grammar:0.6.1
+mevenide:mevenide-netbeans-grammar:0.6.2
+mevenide:mevenide-config:0.10
+mevenide:mevenide-config:0.8
+mevenide:mevenide-config:0.9
+mevenide:mevenide-netbeans-cargo:0.5.1
+mevenide:mevenide-netbeans-cargo:0.5
+mevenide:mevenide-netbeans-project:0.8
+mevenide:mevenide-netbeans-project:0.7
+mevenide:mevenide-netbeans-project:0.8.1
+mevenide:mevenide-netbeans-project:0.9
+mevenide:mevenide-netbeans-j2ee:1.1
+mevenide:mevenide-netbeans-j2ee:1.1.1
+mevenide:mevenide-netbeans-j2ee:1.0
+mevenide:mevenide-netbeans-j2ee:1.1.2
+mevenide:maven-eclipse-plugin-plugin:0.3
+mevenide:maven-eclipse-plugin-plugin:0.3.3
+mevenide:maven-eclipse-plugin-plugin:0.3.1
+mevenide:maven-eclipse-plugin-plugin:0.3.2
+mevenide:maven-eclipse-plugin-plugin:0.2
+mevenide:commons-logging-nb-module:1.0
+jasperreports:jasperreports:3.0.1
+jasperreports:jasperreports:3.0.0
+jasperreports:jasperreports:1.2.7
+jasperreports:jasperreports:0.6.6
+jasperreports:jasperreports:1.2.4
+jasperreports:jasperreports:0.6.7
+jasperreports:jasperreports:1.0.3
+jasperreports:jasperreports:1.1.1
+jasperreports:jasperreports:1.3.0
+jasperreports:jasperreports:1.2.6
+jasperreports:jasperreports:2.0.4
+jasperreports:jasperreports:1.2.0
+jasperreports:jasperreports:1.0.0
+jasperreports:jasperreports:1.2.1
+jasperreports:jasperreports:1.3.3
+jasperreports:jasperreports:1.3.1
+jasperreports:jasperreports:2.0.2
+jasperreports:jasperreports:1.3.4
+jasperreports:jasperreports:2.0.1
+jasperreports:jasperreports:2.0.0
+jasperreports:jasperreports:1.0.2
+jasperreports:jasperreports:1.3.2
+jasperreports:jasperreports:2.0.5
+jasperreports:jasperreports:1.1.0
+jasperreports:jasperreports:1.2.8
+jasperreports:jasperreports:1.2.5
+jasperreports:jasperreports:3.1.0
+jasperreports:jasperreports:0.5.0
+jasperreports:jasperreports:2.0.3
+torque:torque-gen:3.2
+torque:torque-gen:3.1
+torque:torque-gen:3.1-alpha2
+torque:torque-gen:3.1-rc
+torque:torque-gen:3.2-rc1
+torque:torque-gen:3.2-rc3
+torque:torque-gen:20030310.175447
+torque:torque-gen:20030327.070220
+torque:torque-gen:3.1.1
+torque:torque-gen:3.3-RC2
+torque:torque-gen:3.1.1-rc3
+torque:torque-gen:3.1-beta1
+torque:torque-gen:3.1.1-rc1
+torque:torque-gen:3.1.1-rc2
+torque:torque-gen:3.1-alpha1
+torque:torque-gen:3.3-RC1
+torque:torque-gen:3.3
+torque:torque-gen:3.3-RC3
+torque:torque-gen:20030215.100807
+torque:torque-gen:3.2-rc2
+torque:torque-gen-templates:3.2
+torque:torque-gen-templates:3.2-rc1
+torque:torque-gen-templates:3.2-rc3
+torque:torque-gen-templates:3.3-RC2
+torque:torque-gen-templates:3.3-RC1
+torque:torque-gen-templates:3.3
+torque:torque-gen-templates:3.3-RC3
+torque:torque-gen-templates:3.2-rc2
+torque:torque:3.2
+torque:torque:3.1
+torque:torque:3.1-alpha2
+torque:torque:3.0.1
+torque:torque:3.1-rc
+torque:torque:20030310.174947
+torque:torque:3.2-rc1
+torque:torque:3.2-rc3
+torque:torque:20030327.065722
+torque:torque:3.0
+torque:torque:3.1.1
+torque:torque:3.3-RC2
+torque:torque:3.1.1-rc3
+torque:torque:3.1-beta1
+torque:torque:3.1.1-rc1
+torque:torque:3.1.1-rc2
+torque:torque:3.1-alpha1
+torque:torque:3.3-RC1
+torque:torque:3.3
+torque:torque:3.3-RC3
+torque:torque:20030218.172852
+torque:torque:3.0.2
+torque:torque:3.2-rc2
+torque:torque:3.0-rc1
+torque:torque:3.0-b4
+torque:village:3.3
+torque:village:3.3-RC3
+torque:maven-torque-plugin:3.2
+torque:maven-torque-plugin:3.2-rc1
+torque:maven-torque-plugin:3.2-rc3
+torque:maven-torque-plugin:3.1.1
+torque:maven-torque-plugin:3.3-RC2
+torque:maven-torque-plugin:3.1.1-rc3
+torque:maven-torque-plugin:3.1.1-rc1
+torque:maven-torque-plugin:3.1.1-rc2
+torque:maven-torque-plugin:3.3-RC1
+torque:maven-torque-plugin:3.3-RC3
+torque:maven-torque-plugin:3.2-rc2
+odmg:odmg:3.0
+clirr:clirr:0.3
+c3p0:c3p0:0.9.0
+c3p0:c3p0:0.8.4.5
+c3p0:c3p0:0.9.1.2
+c3p0:c3p0:0.9.1
+c3p0:c3p0:0.8.5.2
+c3p0:c3p0:0.9.1.1
+c3p0:c3p0:0.9.0.4
+c3p0:c3p0:0.9.0-pre5
+c3p0:c3p0:0.9.0.2
+c3p0:c3p0-oracle-thin-extras:0.9.0
+c3p0:c3p0-oracle-thin-extras:0.8.5.2
+c3p0:c3p0-oracle-thin-extras:0.9.0.2
+net.sourceforge.jtds:jtds:1.2
+activemq:activemq-transport-zeroconf:1.2
+activemq:activemq-transport-zeroconf:1.3
+activemq:activemq-transport-zeroconf:2.0
+activemq:activemq-transport-zeroconf:1.1-G1M3
+activemq:activemq-transport-zeroconf:1.5
+activemq:activemq-transport-zeroconf:1.4
+activemq:activemq-transport-zeroconf:2.1
+activemq:activemq-transport-jabber:1.2
+activemq:activemq-transport-jabber:1.3
+activemq:activemq-transport-jabber:2.0
+activemq:activemq-transport-jabber:1.1-G1M3
+activemq:activemq-transport-jabber:1.5
+activemq:activemq-transport-jabber:1.4
+activemq:activemq-transport-jabber:2.1
+activemq:jaxb-xjc:20050407
+activemq-ws:activemq-ws:3.0
+activemq:activemq-ws:3.1-M2
+activemq:activemq-ws:3.1-M1
+activemq-web:activemq-web:3.2
+activemq:activemq-web:3.1
+activemq-web:activemq-web:3.2.2
+activemq:activemq-web:1.2
+activemq:activemq-web:1.3
+activemq:activemq-web:2.0
+activemq:activemq-web:3.0
+activemq:activemq-web:3.1-M4
+activemq:activemq-web:1.1-G1M3
+activemq:activemq-web:3.1-M6
+activemq:activemq-web:1.5
+activemq:activemq-web:1.4
+activemq-web:activemq-web:4.0-M3
+activemq-web:activemq-web:4.0-M2
+activemq-web:activemq-web:4.0-M1
+activemq:activemq-web:2.1
+activemq:activemq-web:3.1-M2
+activemq:activemq-web:3.1-M5
+activemq:activemq-web:3.2.4
+activemq:activemq-web:3.2.1
+activemq:activemq-web:3.2-M1
+activemq:activemq-web:3.2.3
+activemq:activemq-web:3.1-M3
+activemq:activemq-web:3.1-M1
+activemq:activemq-axis:1.2
+activemq:activemq-axis:1.3
+activemq:activemq-axis:2.0
+activemq:activemq-axis:1.1-G1M3
+activemq:activemq-axis:1.5
+activemq:activemq-axis:1.4
+activemq:activemq-axis:2.1
+activemq-gbean-management:activemq-gbean-management:3.2
+activemq:activemq-gbean-management:3.1
+activemq-gbean-management:activemq-gbean-management:3.2.2
+activemq:activemq-gbean-management-g1_1:3.2.4
+activemq:activemq-gbean-management:3.2.4
+activemq-gbean-management:activemq-gbean-management:3.2.1
+activemq:activemq-gbean-management:3.2-M1
+activemq:activemq-gbean-management:3.2.3
+activemq:activemq-store-bdbn:1.2
+activemq:activemq-store-bdbn:1.3
+activemq:activemq-store-bdbn:2.0
+activemq:activemq-store-bdbn:1.1-G1M3
+activemq:activemq-store-bdbn:1.5
+activemq:activemq-store-bdbn:1.4
+activemq:activemq-store-bdbn:2.1
+activemq:activemq-transport-gnet:1.2
+activemq:activemq-transport-gnet:1.3
+activemq:activemq-transport-gnet:1.1-G1M3
+activemq:activemq-transport-gnet:1.5
+activemq:activemq-transport-gnet:1.4
+activemq:smackx:1.4.1
+activemq:smackx:1.5.0
+activemq:activemq-ws-xmltypes:dev-1
+activemq:activemq-transport-jgroups:1.2
+activemq:activemq-transport-jgroups:1.3
+activemq:activemq-transport-jgroups:2.0
+activemq:activemq-transport-jgroups:1.1-G1M3
+activemq:activemq-transport-jgroups:1.5
+activemq:activemq-transport-jgroups:1.4
+activemq:activemq-transport-jgroups:2.1
+activemq:activemq-transport-http:1.2
+activemq:activemq-transport-http:1.3
+activemq:activemq-transport-http:2.0
+activemq:activemq-transport-http:1.1-G1M3
+activemq:activemq-transport-http:1.5
+activemq:activemq-transport-http:1.4
+activemq:activemq-transport-http:2.1
+activemq:activemq-transport-jrms:1.2
+activemq:activemq-transport-jrms:1.3
+activemq:activemq-transport-jrms:2.0
+activemq:activemq-transport-jrms:1.1-G1M3
+activemq:activemq-transport-jrms:1.5
+activemq:activemq-transport-jrms:1.4
+activemq:activemq-transport-jrms:2.1
+activemq:activemq:1.1
+activemq:activemq:3.2
+activemq:activemq:3.1
+activemq:activemq:1.0-M1
+activemq:activemq:3.2.2
+activemq:activemq:1.2
+activemq:activemq:1.3
+activemq:activemq:2.0
+activemq:activemq:3.0
+activemq:activemq:3.1-M4
+activemq:activemq:1.1-G1M3
+activemq:activemq:1.0
+activemq:activemq:3.1-M6
+activemq:activemq:1.5
+activemq:activemq:release-1.3
+activemq:activemq:release-1.4
+activemq:activemq:1.4
+activemq:activemq:release-1.1-G1M3
+activemq:activemq:4.0-M3
+activemq:activemq:4.0-M2
+activemq:activemq:release-2.0
+activemq:activemq:4.0-M1
+activemq:activemq:2.1
+activemq:activemq:3.1-M2
+activemq:activemq:3.1-M5
+activemq:activemq:3.2.4
+activemq:activemq:3.2.1
+activemq:activemq:3.2-M1
+activemq:activemq:release-1.2
+activemq:activemq:release-2.1
+activemq:activemq:release-1.5
+activemq:activemq:3.2.3
+activemq:activemq:3.1-M3
+activemq:activemq:3.1-M1
+activemq:activemq-ra:1.2-20041105
+activemq-ra:activemq-ra:3.2
+activemq:activemq-ra:3.1
+activemq-ra:activemq-ra:3.2.2
+activemq:activemq-ra:1.2
+activemq:activemq-ra:1.3
+activemq:activemq-ra:2.0
+activemq:activemq-ra:3.0
+activemq:activemq-ra:3.1-M4
+activemq:activemq-ra:1.1-G1M3
+activemq:activemq-ra:3.1-M6
+activemq:activemq-ra:1.5
+activemq:activemq-ra:1.4
+activemq-ra:activemq-ra:4.0-M3
+activemq-ra:activemq-ra:4.0-M2
+activemq-ra:activemq-ra:4.0-M1
+activemq:activemq-ra:2.1
+activemq:activemq-ra:3.1-M2
+activemq:activemq-ra:3.1-M5
+activemq:activemq-ra:3.2.4
+activemq-ra:activemq-ra:3.2.1
+activemq:activemq-ra:3.2-M1
+activemq:activemq-ra:3.2.3
+activemq:activemq-ra:3.1-M3
+activemq:activemq-ra:3.1-M1
+activemq:activemq-gbean:1.2-20041105
+activemq-gbean:activemq-gbean:3.2
+activemq:activemq-gbean:3.1
+activemq-gbean:activemq-gbean:3.2.2
+activemq:activemq-gbean-g1_1:3.2.4
+activemq:activemq-gbean:1.2
+activemq:activemq-gbean:1.3
+activemq:activemq-gbean:2.0
+activemq:activemq-gbean:3.0
+activemq:activemq-gbean:3.1-M4
+activemq:activemq-gbean:1.1-G1M3
+activemq:activemq-gbean:3.1-M6
+activemq:activemq-gbean:1.5
+activemq:activemq-gbean:1.4
+activemq:activemq-gbean:2.1
+activemq:activemq-gbean:3.1-M2
+activemq:activemq-gbean:3.1-M5
+activemq:activemq-gbean:3.2.4
+activemq-gbean:activemq-gbean:3.2.1
+activemq:activemq-gbean:3.2-M1
+activemq:activemq-gbean:3.2.3
+activemq:activemq-gbean:3.1-M3
+activemq:activemq-gbean:3.1-M1
+activemq:jaxb-impl:20050407
+activemq:activemq-core:1.2-20041105
+activemq-core:activemq-core:3.2
+activemq:activemq-core:3.1
+activemq-core:activemq-core:3.2.2
+activemq:activemq-core:1.2
+activemq-core:activemq-core:1.3
+activemq-core:activemq-core:2.0
+activemq:activemq-core:3.0
+activemq:activemq-core:3.1-M4
+activemq:activemq-core:1.1-G1M3
+activemq:activemq-core:3.1-M6
+activemq-core:activemq-core:1.5
+activemq-core:activemq-core:1.4
+activemq:activemq-core:4.0-M3
+activemq:activemq-core:4.0-M2
+activemq:activemq-core:4.0-M1
+activemq:activemq-core:2.1
+activemq:activemq-core:3.1-M2
+activemq:activemq-core:3.1-M5
+activemq:activemq-core:3.2.4
+activemq:activemq-core:test-3.2.2
+activemq-core:activemq-core:3.2.1
+activemq-core:activemq-core:3.2-M1
+activemq:activemq-core:3.2.3
+activemq:activemq-core:3.1-M3
+activemq:activemq-core:3.1-M1
+activemq:activemq-store-bdb:1.2
+activemq:activemq-store-bdb:1.3
+activemq:activemq-store-bdb:2.0
+activemq:activemq-store-bdb:1.1-G1M3
+activemq:activemq-store-bdb:1.5
+activemq:activemq-store-bdb:1.4
+activemq:activemq-store-bdb:2.1
+activemq:activemq-transport-ember:1.2
+activemq:activemq-transport-ember:1.3
+activemq:activemq-transport-ember:2.0
+activemq:activemq-transport-ember:1.1-G1M3
+activemq:activemq-transport-ember:1.5
+activemq:activemq-transport-ember:1.4
+activemq:activemq-transport-ember:2.1
+activemq-itest-ejb:activemq-itest-ejb:1.3
+activemq:relaxngDatatype:20050407
+activemq:activemq-transport-xstream:1.2
+activemq:activemq-transport-xstream:1.3
+activemq:activemq-transport-xstream:2.0
+activemq:activemq-transport-xstream:1.1-G1M3
+activemq:activemq-transport-xstream:1.5
+activemq:activemq-transport-xstream:1.4
+activemq:activemq-transport-xstream:2.1
+activemq:activemq-tools:1.2
+activemq:activemq-tools:1.3
+activemq:activemq-tools:2.0
+activemq:activemq-tools:1.1-G1M3
+activemq:activemq-tools:1.5
+activemq:activemq-tools:1.4
+activemq:activemq-tools:2.1
+activemq:xsdlib:20050407
+activemq:activemq-store-jdbm:1.2-20041105
+activemq:activemq-store-jdbm:1.2
+activemq:activemq-store-jdbm:1.3
+activemq:activemq-store-jdbm:2.0
+activemq:activemq-store-jdbm:1.1-G1M3
+activemq:activemq-store-jdbm:1.5
+activemq:activemq-store-jdbm:1.4
+activemq:activemq-store-jdbm:2.1
+activemq:activemq-store-jdbc:1.2
+activemq:activemq-store-jdbc:1.3
+activemq:activemq-store-jdbc:2.0
+activemq:activemq-store-jdbc:1.1-G1M3
+activemq:activemq-store-jdbc:1.5
+activemq:activemq-store-jdbc:1.4
+activemq:activemq-store-jdbc:2.1
+activemq-optional:activemq-optional:3.2
+activemq:activemq-optional:3.1
+activemq-optional:activemq-optional:3.2.2
+activemq:activemq-optional:3.0
+activemq:activemq-optional:3.1-M4
+activemq:activemq-optional:3.1-M6
+activemq:activemq-optional:3.1-M2
+activemq:activemq-optional:3.1-M5
+activemq:activemq-optional:3.2.4
+activemq-optional:activemq-optional:3.2.1
+activemq:activemq-optional:3.2-M1
+activemq:activemq-optional:3.2.3
+activemq:activemq-optional:3.1-M3
+activemq:activemq-optional:3.1-M1
+activemq:activemq-spring:1.2
+activemq:activemq-spring:1.3
+activemq:activemq-spring:2.0
+activemq:activemq-spring:1.1-G1M3
+activemq:activemq-spring:1.5
+activemq:activemq-spring:1.4
+activemq:activemq-spring:2.1
+activemq:smack:1.4.1
+activemq:smack:1.5.0
+activemq:jmdns:1.0-RC2
+activemq:activemq-transport-jxta:1.2
+activemq:activemq-transport-jxta:1.3
+activemq:activemq-transport-jxta:2.0
+activemq:activemq-transport-jxta:1.1-G1M3
+activemq:activemq-transport-jxta:1.5
+activemq:activemq-transport-jxta:1.4
+activemq:activemq-transport-jxta:2.1
+activemq:activemq-itest-ear:1.2
+activemq:activemq-itest-ear:1.3
+activemq:activemq-itest-ear:2.0
+activemq:activemq-itest-ear:1.1-G1M3
+activemq:activemq-itest-ear:1.5
+activemq:activemq-itest-ear:1.4
+activemq:activemq-itest-ear:2.1
+activemq:activemq-jaas:4.0-M3
+activemq:activemq-jaas:4.0-M2
+activemq:activemq-jaas:4.0-M1
+activemq:jaxb-api:20050407
+activemq:activemq-container:3.1
+activemq:activemq-container:1.2
+activemq:activemq-container:1.3
+activemq:activemq-container:2.0
+activemq:activemq-container:3.0
+activemq:activemq-container:3.1-M4
+activemq:activemq-container:1.1-G1M3
+activemq:activemq-container:3.1-M6
+activemq:activemq-container:1.5
+activemq:activemq-container:1.4
+activemq:activemq-container:2.1
+activemq:activemq-container:3.1-M2
+activemq:activemq-container:3.1-M5
+activemq:activemq-container:3.2-M1
+activemq:activemq-container:3.1-M3
+activemq:activemq-container:3.1-M1
+activemq:activemq-transport-ssl:1.2
+activemq:activemq-transport-ssl:1.3
+activemq:activemq-transport-ssl:2.0
+activemq:activemq-transport-ssl:1.1-G1M3
+activemq:activemq-transport-ssl:1.5
+activemq:activemq-transport-ssl:1.4
+activemq:activemq-transport-ssl:2.1
+activemq:activemq-store-journal:1.2
+activemq:activemq-store-journal:1.3
+activemq:activemq-store-journal:2.0
+activemq:activemq-store-journal:1.1-G1M3
+activemq:activemq-store-journal:1.5
+activemq:activemq-store-journal:1.4
+activemq:activemq-store-journal:2.1
+mule:mule-stream-provider:1.1
+mule:mule-stream-provider:1.2
+mule:mule-stream-provider:1.1.1
+mule:mule-stream-provider:1.0
+mule:mule-stream-provider:1.0-rc3
+mule:mule-stream-provider:1.1-rc1
+mule:mule-extras-pxe:1.1
+mule:mule-extras-pxe:1.2
+mule:mule-extras-pxe:1.1.1
+mule:mule-extras-jotm:1.1
+mule:mule-extras-jotm:1.2
+mule:mule-extras-jotm:1.1.1
+mule:mule-extras-jotm:1.0
+mule:mule-extras-jotm:1.0-rc3
+mule:mule-extras-jotm:1.1-rc1
+mule:mule-ftp-provider:1.1
+mule:mule-ftp-provider:1.2
+mule:mule-ftp-provider:1.1.1
+mule:mule-ftp-provider:1.1-rc1
+mule:mule-extras-groovy:1.1
+mule:mule-extras-groovy:1.1.1
+mule:mule-extras-groovy:1.0
+mule:mule-extras-groovy:1.0-rc3
+mule:mule-extras-groovy:1.1-rc1
+mule:mule-file-provider:1.1
+mule:mule-file-provider:1.2
+mule:mule-file-provider:1.1.1
+mule:mule-file-provider:1.0
+mule:mule-file-provider:1.0-rc3
+mule:mule-file-provider:1.1-rc1
+mule:mule-extras-client:1.1
+mule:mule-extras-client:1.2
+mule:mule-extras-client:1.1.1
+mule:mule-extras-client:1.0
+mule:mule-extras-client:1.0-rc3
+mule:mule-extras-client:1.1-rc1
+mule:mule-xmpp-provider:1.1
+mule:mule-xmpp-provider:1.2
+mule:mule-xmpp-provider:1.1.1
+mule:mule-xmpp-provider:1.0
+mule:mule-xmpp-provider:1.0-rc3
+mule:mule-xmpp-provider:1.1-rc1
+mule:mule-oracle-jms-provider:1.2
+mule:mule:1-0
+mule:mule:1.1
+mule:mule:1.2
+mule:mule:configuration
+mule:mule:1.1.1
+mule:mule:1.0
+mule:mule:1-1
+mule:mule:1.0-rc3
+mule:mule:1-2
+mule:mule:1.1-rc1
+mule:mule:1-1-1
+mule:mule:1-1-rc1
+mule:mule-extras-picocontainer:1.1
+mule:mule-extras-picocontainer:1.2
+mule:mule-extras-picocontainer:1.1.1
+mule:mule-extras-picocontainer:1.0
+mule:mule-extras-picocontainer:1.0-rc3
+mule:mule-extras-picocontainer:1.1-rc1
+mule:mini-mule:1.1
+mule:mini-mule:1.1.1
+mule:mini-mule:1.0
+mule:mini-mule:1.0-rc3
+mule:mini-mule:1.1-rc1
+mule:mule-jdbc-provider:1.1
+mule:mule-jdbc-provider:1.2
+mule:mule-jdbc-provider:1.1.1
+mule:mule-jdbc-provider:1.0
+mule:mule-jdbc-provider:1.0-rc3
+mule:mule-jdbc-provider:1.1-rc1
+mule:mule-spring:configuration
+mule:mule-quartz-provider:1.1
+mule:mule-quartz-provider:1.2
+mule:mule-quartz-provider:1.1.1
+mule:mule-quartz-provider:1.1-rc1
+mule:mule-multicast-provider:1.1
+mule:mule-multicast-provider:1.2
+mule:mule-multicast-provider:1.1.1
+mule:mule-multicast-provider:1.0
+mule:mule-multicast-provider:1.0-rc3
+mule:mule-multicast-provider:1.1-rc1
+mule:mule-extras-spring:1.1
+mule:mule-extras-spring:1.2
+mule:mule-extras-spring:1.1.1
+mule:mule-extras-spring:1.0
+mule:mule-extras-spring:1.0-rc3
+mule:mule-extras-spring:1.1-rc1
+mule:mule-vm-provider:1.1
+mule:mule-vm-provider:1.2
+mule:mule-vm-provider:1.1.1
+mule:mule-vm-provider:1.0
+mule:mule-vm-provider:1.0-rc3
+mule:mule-vm-provider:1.1-rc1
+mule:mule-rmi-provider:1.1
+mule:mule-rmi-provider:1.2
+mule:mule-rmi-provider:1.1.1
+mule:mule-rmi-provider:1.1-rc1
+mule:mule-jbi-provider:1.1
+mule:mule-jbi-provider:1.2
+mule:mule-jbi-provider:1.1.1
+mule:mule-extras-plexus:1.1
+mule:mule-extras-plexus:1.2
+mule:mule-extras-plexus:1.1.1
+mule:mule-extras-plexus:1.0
+mule:mule-extras-plexus:1.0-rc3
+mule:mule-extras-plexus:1.1-rc1
+mule:mule-ssl-provider:1.1
+mule:mule-ssl-provider:1.2
+mule:mule-ssl-provider:1.1.1
+mule:mule-ssl-provider:1.0
+mule:mule-ssl-provider:1.0-rc3
+mule:mule-ssl-provider:1.1-rc1
+mule:mule-http-provider:1.1
+mule:mule-http-provider:1.2
+mule:mule-http-provider:1.1.0.1
+mule:mule-http-provider:1.1.1
+mule:mule-http-provider:1.0
+mule:mule-http-provider:1.0-rc3
+mule:mule-http-provider:1.1-rc1
+mule:mule-dq-provider:1.1
+mule:mule-dq-provider:1.2
+mule:mule-dq-provider:1.1.1
+mule:mule-dq-provider:1.1-rc1
+mule:mule-soap-provider:1.1
+mule:mule-soap-provider:1.2
+mule:mule-soap-provider:1.1.1
+mule:mule-soap-provider:1.0
+mule:mule-soap-provider:1.0-rc3
+mule:mule-soap-provider:1.1-rc1
+mule:mule-ra:1.1
+mule:mule-ra:1.2
+mule:mule-ra:1.1.1
+mule:mule-ra:1.0
+mule:mule-ra:1.1-rc1
+mule:mule-extras-tyrex:1.0-rc3
+mule:mule-jbi-spec:1.2
+mule:mule-core:1.1
+mule:mule-core:1.2
+mule:mule-core:1.1.1
+mule:mule-core:1.0
+mule:mule-core:1.0-rc3
+mule:mule-core:1.1-rc1
+mule:mule-servlet-provider:1.0
+mule:mule-servlet-provider:1.0-rc3
+mule:mule-servlet-provider:1.1-rc1
+mule:mule-extras-pgp:1.1
+mule:mule-extras-pgp:1.2
+mule:mule-extras-pgp:1.1.1
+mule:mule-extras-pgp:1.0
+mule:mule-extras-pgp:1.1-rc1
+mule:mule-email-provider:1.1
+mule:mule-email-provider:1.2
+mule:mule-email-provider:1.1.1
+mule:mule-email-provider:1.0
+mule:mule-email-provider:1.0-rc3
+mule:mule-email-provider:1.1-rc1
+mule:mule-udp-provider:1.1
+mule:mule-udp-provider:1.2
+mule:mule-udp-provider:1.1.1
+mule:mule-udp-provider:1.0
+mule:mule-udp-provider:1.0-rc3
+mule:mule-udp-provider:1.1-rc1
+mule:mule-ejb-provider:1.1
+mule:mule-ejb-provider:1.2
+mule:mule-ejb-provider:1.1.1
+mule:mule-extras-acegi:1.1
+mule:mule-extras-acegi:1.2
+mule:mule-extras-acegi:1.1.1
+mule:mule-extras-acegi:1.0
+mule:mule-extras-acegi:1.0-rc3
+mule:mule-extras-acegi:1.1-rc1
+mule:mule-tcp-provider:1.1
+mule:mule-tcp-provider:1.2
+mule:mule-tcp-provider:1.1.1
+mule:mule-tcp-provider:1.0
+mule:mule-tcp-provider:1.0-rc3
+mule:mule-tcp-provider:1.1-rc1
+mule:mule-jms-provider:1.1
+mule:mule-jms-provider:1.2
+mule:mule-jms-provider:1.1.1
+mule:mule-jms-provider:1.0
+mule:mule-jms-provider:1.0-rc3
+mule:mule-jms-provider:1.1-rc1
+mule:mule-i18n_ja_JP:1.2
+classworlds:classworlds-boot:1.0-beta-3-20021217.022420
+classworlds:classworlds-boot:1.0-beta-2
+classworlds:classworlds-boot:1.0
+classworlds:classworlds-boot:1.0-beta-3
+classworlds:classworlds:1.0-beta-5
+classworlds:classworlds:1.1
+classworlds:classworlds:1.0-rc2
+classworlds:classworlds:1.0-beta-4
+classworlds:classworlds:1.0-beta-1
+classworlds:classworlds:1.0-beta-2
+classworlds:classworlds:1.1-alpha-2
+classworlds:classworlds:20040709.190353
+classworlds:classworlds:1.0
+classworlds:classworlds:20030905.201339
+classworlds:classworlds:1.0-beta-3.20021217.022420
+classworlds:classworlds:1.0-rc1
+classworlds:classworlds:1.0-beta-3
+classworlds:classworlds:20030211.155236
+classworlds:classworlds:1.0-rc3
+classworlds:classworlds:1.0.1
+classworlds:classworlds:1.1-alpha-1
+classworlds:classworlds:20030513.195101
+commons-dbutils:commons-dbutils:1.1
+commons-dbutils:commons-dbutils:1.0
+excalibur-altrmi:excalibur-altrmi-generator:0.7
+excalibur-altrmi:excalibur-altrmi-client-impl:0.7
+excalibur-altrmi:excalibur-altrmi-server-interfaces:0.7
+excalibur-altrmi:excalibur-altrmi-common:0.7
+excalibur-altrmi:excalibur-altrmi-server-impl:0.7
+excalibur-altrmi:excalibur-altrmi-client-interfaces:0.7
+excalibur-datasource:excalibur-datasource-vm14:20021121
+excalibur-datasource:excalibur-datasource-ids:1.1.1a
+excalibur-datasource:excalibur-datasource:1.1.1
+excalibur-datasource:excalibur-datasource:1.0
+excalibur-datasource:excalibur-datasource:1.2.0
+excalibur-datasource:excalibur-datasource:2.1
+excalibur-datasource:excalibur-datasource-cluster:1.1.1a
+org.apache.jakarta.httpcomponents:jakarta-httpcore:4.0-alpha1
+org.apache.httpcomponents:jakarta-httpcore:4.0-alpha2
+easymock:easymockclassextension:1.1
+easymock:easymockclassextension:1.2
+easymock:easymockclassextension:2.2
+easymock:easymock:1.1
+easymock:easymock:1.2_RC2_Java1.3
+easymock:easymock:1.0rc
+easymock:easymock:2.0
+easymock:easymock:0.8
+easymock:easymock:1.2_Java1.5
+easymock:easymock:1.0
+easymock:easymock:1.0.1b
+easymock:easymock:1.2_Java1.3
+abbot:abbot:0.13.0
+abbot:abbot:0.12.3
+exolabcore:exolabcore:0.3.6
+exolabcore:exolabcore:0.3.7
+exolabcore:exolabcore:0.3.5
+radeox:radeox-api:1.0
+radeox:radeox-api:1.0-b2
+radeox:radeox-oro:0.9
+radeox:radeox:1.0
+radeox:radeox:1.0-b2
+radeox:radeox:0.9
+spring:spring-orm:1.0.2
+spring:spring-core:1.0.2
+spring:spring-mock:1.0.2
+spring:spring-dao:1.0.2
+spring:spring:1.0.2
+spring:spring-beans:1.0.2
+spring:spring-web:1.0.2
+spring:spring-webmvc:1.0.2
+spring:spring-context:1.0.2
+spring:spring-aop:1.0.2
+scraping-engine:scraping-engine:0.3
+scraping-engine:scraping-engine:0.1
+scraping-engine:scraping-engine:0.4
+scraping-engine:scraping-engine:0.5
+scraping-engine:scraping-engine:0.2
+servicemix-core:servicemix-core:2.0
+servicemix:servicemix-core:2.0.2
+servicemix-core:servicemix-core:2.0.1
+servicemix-xfire:servicemix-xfire:2.0
+servicemix:servicemix-xfire:2.0.2
+servicemix-xfire:servicemix-xfire:2.0.1
+servicemix-jbi:servicemix-jbi:2.0
+servicemix:servicemix-jbi:2.0.2
+servicemix-jbi:servicemix-jbi:2.0.1
+servicemix:servicemix:1.1
+servicemix:servicemix:1.0-M1
+servicemix:servicemix:2.0
+servicemix:servicemix:1.0
+servicemix:servicemix:2.0.2
+servicemix:servicemix:1.0.1
+servicemix:servicemix:2.0.1
+servicemix:servicemix:1.0-M2
+servicemix:maven-jbi-plugin:1.0
+servicemix:servicemix-client:1.0
+servicemix-components:servicemix-components:2.0
+servicemix:servicemix-components:2.0.2
+servicemix-components:servicemix-components:2.0.1
+servicemix-jaxws:servicemix-jaxws:2.0
+servicemix:servicemix-jaxws:2.0.2
+servicemix-jaxws:servicemix-jaxws:2.0.1
+displaytag:displaytag-examples:1.1
+displaytag:displaytag-examples:1.1.1
+displaytag:displaytag-export-poi:1.1
+displaytag:displaytag-export-poi:1.1.1
+displaytag:displaytag-portlet:1.1
+displaytag:displaytag-portlet:1.1.1
+displaytag:displaytag:1.1
+displaytag:displaytag:1.0-b3
+displaytag:displaytag:1.1.1
+displaytag:displaytag:1.0
+displaytag:displaytag:1.0-rc1
+displaytag:displaytag:1.0-b1
+displaytag:displaytag-doc:1.1
+displaytag:displaytag-doc:1.1.1
+javaconfig:javaconfig:1.3
+javaconfig:javaconfig:1.4
+directory-clients:ldap-clients:0.9
+directory-shared:kerberos-common:0.4
+directory-shared:kerberos-common:0.5
+directory-shared:apache-ldapber-provider:0.9.3
+directory-shared:apache-ldapber-provider:0.9.2
+directory-shared:apache-ldapber-provider:0.9
+directory-shared:ldap-common:0.9.3
+directory-shared:ldap-common:0.9.2
+directory-shared:ldap-common:0.9
+directory-shared:apache-new-ldapber-provider:0.9.3
+directory-shared:ldap-snacc-provider:0.9.3
+directory-shared:ldap-snacc-provider:0.9.2
+directory-shared:ldap-snacc-provider:0.9
+xjavadoc:xjavadoc:1.1
+xjavadoc:xjavadoc:1.0.2
+org.jasypt:jasypt:1.1
+org.jasypt:jasypt:1.2
+org.jasypt:jasypt:1.4.1
+org.jasypt:jasypt:1.3
+org.jasypt:jasypt:1.0
+org.jasypt:jasypt:1.5
+org.jasypt:jasypt:1.4
+org.jasypt:jasypt:1.3.1
+org.jasypt:jasypt-spring-security:1.1
+org.jasypt:jasypt-hibernate:1.1
+org.jasypt:jasypt-hibernate:1.0
+org.sourceforge.xradar:maven-xradar-plugin:0.1
+org.geoserver:geoserver:1.7.0
+org.geoserver:geoserver:1.4.0-M1
+org.geoserver:geoserver:1.4.0-M0
+org.geoserver:geoserver:1.5.2
+org.geoserver:geoserver:1.5.4
+org.geoserver:geoserver:1.5.0-RC3
+org.geoserver:geoserver:1.4.0_gt2.2.x
+org.geoserver:geoserver:1.6.2
+org.geoserver:geoserver:1.6-beta3
+org.geoserver:geoserver:1.6.1
+org.geoserver:geoserver:1.4.0-RC3
+org.geoserver:config:1.4.0-M0
+org.geoserver:main:1.4.0-M1
+org.geoserver:main:1.4.0-M0
+org.geoserver:main:1.5.0-RC3
+org.geoserver:main:1.4.0_gt2.2.x
+org.geoserver:main:1.4.0-RC3
+org.geoserver:hello:1.0
+org.geoserver:platform:1.4.0-M1
+org.geoserver:platform:1.5.0-RC3
+org.geoserver:platform:1.4.0_gt2.2.x
+org.geoserver:platform:1.4.0-RC3
+org.geoserver:preference_web:0.4_gt2.2.x
+org.geoserver:validation:1.4.0-M1
+org.geoserver:validation:1.4.0-M0
+org.geoserver:validation:1.5.0-RC3
+org.geoserver:validation:1.4.0_gt2.2.x
+org.geoserver:validation:1.4.0-RC3
+org.geoserver:http:1.5.0-RC3
+org.geoserver.maven:config:1.4.0-M1
+org.geoserver.maven:config:1.5.0-RC3
+org.geoserver.maven:config:1.4.0_gt2.2.x
+org.geoserver.maven:config:1.4.0-RC3
+org.geoserver.maven:merger:1.4.0-M1
+org.geoserver.maven:merger:1.5.0-RC3
+org.geoserver.maven:merger:1.4.0_gt2.2.x
+org.geoserver.maven:merger:1.4.0-RC3
+org.geoserver:maven:1.7.0
+org.geoserver:maven:1.5.2
+org.geoserver:maven:1.5.4
+org.geoserver.maven:plugins:1.4.0-M1
+org.geoserver.maven:plugins:1.5.0-RC3
+org.geoserver.maven:plugins:1.4.0_gt2.2.x
+org.geoserver.maven:plugins:1.6-beta3
+org.geoserver.maven:plugins:1.4.0-RC3
+org.geoserver.maven:build-configs:1.5.0-RC1
+org.geoserver.maven:build-configs:1.0
+org.geoserver.maven:build-configs:1.5.0-RC3
+org.geoserver:maven:1.6.2
+org.geoserver:maven:1.6.1
+org.geoserver:test:1.4.0-M1
+org.geoserver:test:1.4.0-M0
+org.geoserver:test:1.5.0-RC3
+org.geoserver:test:1.4.0-RC3
+org.geoserver:data:1.7.0
+org.geoserver:data:1.4.0-M1
+org.geoserver:data:1.5.2
+org.geoserver:data:1.5.4
+org.geoserver:data:1.5.0-RC3
+org.geoserver:data:1.4.0_gt2.2.x
+org.geoserver:data:1.6.2
+org.geoserver:data:1.6-beta3
+org.geoserver:data:1.6.1
+org.geoserver:data:1.4.0-RC3
+org.geoserver:wcs:1.5.0-RC3
+org.geoserver:wms:1.4.0-M1
+org.geoserver:wms:1.4.0-M0
+org.geoserver:wms:1.5.0-RC3
+org.geoserver:wms:1.4.0_gt2.2.x
+org.geoserver:wms:1.4.0-RC3
+org.geoserver:wfs:1.4.0-M1
+org.geoserver:wfs:1.4.0-M0
+org.geoserver:wfs:1.5.0-RC3
+org.geoserver:wfs:1.4.0_gt2.2.x
+org.geoserver:wfs:1.4.0-RC3
+org.geoserver:preference_core:0.4_gt2.2.x
+org.geoserver:preferences:0.4_gt2.2.x
+org.geoserver:web:1.4.0-M1
+org.geoserver:web:1.4.0-M0
+org.geoserver:web:1.5.0-RC3
+org.geoserver:web:1.4.0_gt2.2.x
+org.geoserver:web:1.4.0-RC3
+org.tranql:tranql:1.4.1
+org.tranql:tranql:1.4
+org.tranql:tranql-parent:1.1
+org.tranql:tranql-parent:1.2
+org.tranql:tranql-parent:1.3
+org.tranql:tranql-parent:1.0
+org.tranql:tranql-jar-resource-bundle:1.0
+org.parancoe:parancoe-core:2.0
+org.parancoe:parancoe-core:0.3.3
+org.parancoe:parancoe-core:2.0.1
+org.parancoe:parancoe-core:0.3.2
+org.parancoe:parancoe-core:0.3.4
+org.parancoe:parancoe:2.0
+org.parancoe:parancoe:0.3.3
+org.parancoe:parancoe:2.0.1
+org.parancoe:parancoe:0.3.2
+org.parancoe:parancoe:0.3.4
+org.parancoe:parancoe-plugin-italy:2.0
+org.parancoe:parancoe-plugin-italy:0.3.3
+org.parancoe:parancoe-plugin-italy:2.0.1
+org.parancoe:parancoe-plugin-italy:0.3.4.1
+org.parancoe:parancoe-plugin-italy:0.3.2
+org.parancoe:parancoe-plugin-italy:0.3.4.2
+org.parancoe:parancoe-plugin-italy:0.3.4
+org.parancoe:parancoe-plugin-italy:0.3.3.1
+org.parancoe:parancoe-plugin-security:2.0
+org.parancoe:parancoe-plugin-security:0.3.3
+org.parancoe:parancoe-plugin-security:2.0.1
+org.parancoe:parancoe-plugin-security:0.3.4.1
+org.parancoe:parancoe-plugin-security:0.3.2
+org.parancoe:parancoe-plugin-security:0.3.4.2
+org.parancoe:parancoe-plugin-security:0.3.4
+org.parancoe:parancoe-plugin-security:0.3.3.1
+org.parancoe:parancoe-pluginarchetype:2.0
+org.parancoe:parancoe-yaml:2.0
+org.parancoe:parancoe-yaml:0.3.3
+org.parancoe:parancoe-yaml:2.0.1
+org.parancoe:parancoe-yaml:0.3.2
+org.parancoe:parancoe-yaml:0.3.4
+org.parancoe:parancoe-plugin-springsecurity:2.0
+org.parancoe:parancoe-plugin-springsecurity:2.0.2
+org.parancoe:parancoe-plugin-springsecurity:2.0.1
+org.parancoe:parancoe-plugin-world:2.0
+org.parancoe:parancoe-plugin-world:0.3.3
+org.parancoe:parancoe-plugin-world:2.0.1
+org.parancoe:parancoe-plugin-world:0.3.4.1
+org.parancoe:parancoe-plugin-world:0.3.2
+org.parancoe:parancoe-plugin-world:0.3.4.2
+org.parancoe:parancoe-plugin-world:0.3.4
+org.parancoe:parancoe-plugin-world:0.3.3.1
+org.parancoe:parancoe-webarchetype:2.0
+org.parancoe:parancoe-webarchetype:0.3.3
+org.parancoe:parancoe-webarchetype:2.0.2
+org.parancoe:parancoe-webarchetype:2.0.1
+org.parancoe:parancoe-webarchetype:0.3.2
+org.parancoe:parancoe-webarchetype:0.3.4
+org.parancoe:parancoe-webarchetype:2.0.3
+org.parancoe:parancoe-plugin-sample:2.0
+org.parancoe:parancoe-plugin-sample:0.3.3
+org.parancoe:parancoe-plugin-sample:2.0.1
+org.parancoe:parancoe-plugin-sample:0.3.4.1
+org.parancoe:parancoe-plugin-sample:0.3.2
+org.parancoe:parancoe-plugin-sample:0.3.4.2
+org.parancoe:parancoe-plugin-sample:0.3.4
+org.parancoe:parancoe-plugin-sample:0.3.3.1
+org.parancoe:parancoe-plugin-dwr:2.0
+org.parancoe:parancoe-plugin-dwr:2.0.2
+org.parancoe:parancoe-plugin-dwr:2.0.1
+org.parancoe:parancoe-plugin-security-encrypt:2.0
+org.parancoe:parancoe-plugin-security-encrypt:2.0.1
+org.parancoe:parancoe-plugin-security-encrypt:0.3.4.1
+org.parancoe:parancoe-plugin-security-encrypt:0.3.4.2
+org.parancoe:parancoe-plugin-security-encrypt:0.3.4
+org.parancoe:parancoe-plugins:2.0
+org.parancoe:parancoe-plugins:0.3.3
+org.parancoe:parancoe-plugins:2.0.1
+org.parancoe:parancoe-plugins:0.3.4.1
+org.parancoe:parancoe-plugins:0.3.2
+org.parancoe:parancoe-plugins:0.3.4.2
+org.parancoe:parancoe-plugins:0.3.4
+org.parancoe:parancoe-plugins:0.3.3.1
+org.parancoe:parancoe-web:2.0
+org.parancoe:parancoe-web:0.3.3
+org.parancoe:parancoe-web:2.0.1
+org.parancoe:parancoe-web:0.3.2
+org.parancoe:parancoe-web:0.3.4
+org.livetribe:livetribe:1.4.0
+org.livetribe:livetribe:1.2
+org.livetribe:livetribe:1.0
+org.livetribe:livetribe:1.0.1
+org.livetribe:livetribe:1.1.0
+org.livetribe:livetribe-jsr223:2.0.4
+org.livetribe:livetribe-jsr223:2.0.2
+org.livetribe:livetribe-jsr223:2.0.1
+org.livetribe:livetribe-jsr223:2.0.0
+org.livetribe:livetribe-jsr223:2.0.3
+org.livetribe:livetribe-slp:1.0.1
+org.livetribe:livetribe-slp:2.0.1
+org.livetribe:livetribe-slp:2.0.0
+org.livetribe:livetribe-slp:1.0.2
+org.wiztools.wizcrypt:wizcrypt:2.1
+org.wiztools.wizcrypt:wizcrypt:2.2
+org.jsslutils:jsslutils:0.5
+org.jsslutils:jsslutils-extra-apachehttpclient3:0.5
+org.jsslutils:jsslutils-test-certificates:1.0.2
+org.jsslutils:jsslutils-test-helpers:0.5
+org.ajaxtags:ajaxtags:1.1.5
+org.ajaxtags:ajaxtags:1.2-beta3
+org.ajaxtags:ajaxtags:1.2-beta2
+org.ajaxtags:ajaxtags:1.3-beta-rc7
+org.snmp4j:snmp4j:1.8.1
+org.snmp4j:snmp4j:1.7.1
+org.snmp4j:snmp4j:1.9.1f
+org.snmp4j:snmp4j-agent:1.2
+org.snmp4j:snmp4j-agent:1.1.1
+org.springframework:spring-orm:1.1
+org.springframework:spring-orm:1.1.5
+org.springframework:spring-orm:1.1.3
+org.springframework:spring-orm:1.2
+org.springframework:spring-orm:1.2-rc1
+org.springframework:spring-orm:1.1.1
+org.springframework:spring-orm:1.0
+org.springframework:spring-orm:2.5.2
+org.springframework:spring-orm:1.2.9
+org.springframework:spring-orm:2.5.5
+org.springframework:spring-orm:2.5.4
+org.springframework:spring-orm:1.0-rc1
+org.springframework:spring-orm:2.5
+org.springframework:spring-orm:1.0.1
+org.springframework:spring-orm:1.2-rc2
+org.springframework:spring-orm:1.1-rc2
+org.springframework:spring-orm:2.5.3
+org.springframework:spring-orm:1.1.4
+org.springframework:spring-orm:1.1-rc1
+org.springframework:spring-orm:2.5.1
+org.springframework:spring-orm:1.1.2
+org.springframework:spring-orm:2.5.6
+org.springframework:spring-jms:2.0.7
+org.springframework:spring-jms:2.0
+org.springframework:spring-jms:2.0.8
+org.springframework:spring-jms:2.5.2
+org.springframework:spring-jms:2.5.5
+org.springframework:spring-jms:2.5.4
+org.springframework:spring-jms:2.0.4
+org.springframework:spring-jms:2.5
+org.springframework:spring-jms:2.0.2
+org.springframework:spring-jms:2.0.1
+org.springframework:spring-jms:2.0.6
+org.springframework:spring-jms:2.5.3
+org.springframework:spring-jms:2.0.5
+org.springframework:spring-jms:2.5.1
+org.springframework:spring-jms:2.5.6
+org.springframework:spring-jms:2.0.3
+org.springframework:spring-portlet:2.0.7
+org.springframework:spring-portlet:2.0
+org.springframework:spring-portlet:2.0.8
+org.springframework:spring-portlet:2.0.4
+org.springframework:spring-portlet:2.0.2
+org.springframework:spring-portlet:2.0.1
+org.springframework:spring-portlet:2.0.6
+org.springframework:spring-portlet:2.0.5
+org.springframework:spring-portlet:2.0.3
+org.springframework:spring-webmvc-struts:2.5.2
+org.springframework:spring-webmvc-struts:2.5.5
+org.springframework:spring-webmvc-struts:2.5.4
+org.springframework:spring-webmvc-struts:2.5
+org.springframework:spring-webmvc-struts:2.5.3
+org.springframework:spring-webmvc-struts:2.5.1
+org.springframework:spring-webmvc-struts:2.5.6
+org.springframework:spring-core:1.1
+org.springframework:spring-core:2.0.7
+org.springframework:spring-core:1.1.5
+org.springframework:spring-core:1.1.3
+org.springframework:spring-core:1.2
+org.springframework:spring-core:2.0
+org.springframework:spring-core:1.2-rc1
+org.springframework:spring-core:1.1.1
+org.springframework:spring-core:2.0.8
+org.springframework:spring-core:1.0
+org.springframework:spring-core:2.5.2
+org.springframework:spring-core:1.2.9
+org.springframework:spring-core:2.5.5
+org.springframework:spring-core:2.5.4
+org.springframework:spring-core:2.0.4
+org.springframework:spring-core:1.0-rc1
+org.springframework:spring-core:2.5
+org.springframework:spring-core:2.0.2
+org.springframework:spring-core:1.0.1
+org.springframework:spring-core:2.0.1
+org.springframework:spring-core:1.2-rc2
+org.springframework:spring-core:1.1-rc2
+org.springframework:spring-core:2.0.6
+org.springframework:spring-core:2.5.3
+org.springframework:spring-core:2.0.5
+org.springframework:spring-core:1.1.4
+org.springframework:spring-core:1.1-rc1
+org.springframework:spring-core:2.5.1
+org.springframework:spring-core:1.1.2
+org.springframework:spring-core:2.5.6
+org.springframework:spring-core:2.0.3
+org.springframework:spring-test:2.5.2
+org.springframework:spring-test:2.5.5
+org.springframework:spring-test:2.5.4
+org.springframework:spring-test:2.5
+org.springframework:spring-test:2.5.3
+org.springframework:spring-test:2.5.1
+org.springframework:spring-test:2.5.6
+org.springframework.osgi:spring-osgi:1.0.3
+org.springframework.osgi:spring-osgi:1.1.1
+org.springframework.osgi:spring-osgi:1.0
+org.springframework.osgi:spring-osgi:1.0.1
+org.springframework.osgi:spring-osgi:1.0.2
+org.springframework.osgi:spring-osgi:1.1.0
+org.springframework.osgi:spring-osgi:1.1.2
+org.springframework:spring-webflow:1.0-rc2
+org.springframework:spring-webflow:1.0.3
+org.springframework:spring-webflow:1.0
+org.springframework:spring-webflow:1.0.5
+org.springframework:spring-webflow:1.0-rc3
+org.springframework:spring-webflow:1.0.1
+org.springframework:spring-webflow:1.0.2
+org.springframework:spring-webflow:1.0.4
+org.springframework:spring-hibernate:1.2
+org.springframework:spring-hibernate:1.2-rc1
+org.springframework:spring-hibernate:1.2.9
+org.springframework:spring-hibernate:1.2-rc2
+org.springframework:spring-mock:1.1
+org.springframework:spring-mock:2.0.7
+org.springframework:spring-mock:1.1.5
+org.springframework:spring-mock:1.1.3
+org.springframework:spring-mock:1.2
+org.springframework:spring-mock:2.0
+org.springframework:spring-mock:1.2-rc1
+org.springframework:spring-mock:1.1.1
+org.springframework:spring-mock:2.0.8
+org.springframework:spring-mock:1.2.9
+org.springframework:spring-mock:2.0.4
+org.springframework:spring-mock:2.0.2
+org.springframework:spring-mock:2.0.1
+org.springframework:spring-mock:1.2-rc2
+org.springframework:spring-mock:1.1-rc2
+org.springframework:spring-mock:2.0.6
+org.springframework:spring-mock:2.0.5
+org.springframework:spring-mock:1.1.4
+org.springframework:spring-mock:1.1-rc1
+org.springframework:spring-mock:1.1.2
+org.springframework:spring-mock:2.0.3
+org.springframework:spring-parent:1.2.3
+org.springframework:spring-parent:1.2.7
+org.springframework:spring-parent:1.2.4
+org.springframework:spring-parent:2.0-m2
+org.springframework:spring-parent:2.0-rc3
+org.springframework:spring-parent:1.2.6
+org.springframework:spring-parent:1.2.1
+org.springframework:spring-parent:2.0-m4
+org.springframework:spring-parent:1.2.2
+org.springframework:spring-parent:1.2.8
+org.springframework:spring-parent:1.2.5
+org.springframework:spring-parent:2.0-m1
+org.springframework:spring-full:1.0.1
+org.springframework:spring-full:1.1-rc1
+org.springframework:spring-dao:1.1
+org.springframework:spring-dao:2.0.7
+org.springframework:spring-dao:1.1.5
+org.springframework:spring-dao:1.1.3
+org.springframework:spring-dao:1.2
+org.springframework:spring-dao:2.0
+org.springframework:spring-dao:1.2-rc1
+org.springframework:spring-dao:1.1.1
+org.springframework:spring-dao:2.0.8
+org.springframework:spring-dao:1.0
+org.springframework:spring-dao:1.2.9
+org.springframework:spring-dao:2.0.4
+org.springframework:spring-dao:1.0-rc1
+org.springframework:spring-dao:2.0.2
+org.springframework:spring-dao:1.0.1
+org.springframework:spring-dao:2.0.1
+org.springframework:spring-dao:1.2-rc2
+org.springframework:spring-dao:1.1-rc2
+org.springframework:spring-dao:2.0.6
+org.springframework:spring-dao:2.0.5
+org.springframework:spring-dao:1.1.4
+org.springframework:spring-dao:1.1-rc1
+org.springframework:spring-dao:1.1.2
+org.springframework:spring-dao:2.0.3
+org.springframework.aws:spring-aws-maven:1.1
+org.springframework.aws:spring-aws-maven:1.2.3
+org.springframework.aws:spring-aws-maven:1.2
+org.springframework.aws:spring-aws-maven:1.0.3
+org.springframework.aws:spring-aws-maven:1.1.1
+org.springframework.aws:spring-aws-maven:1.0
+org.springframework.aws:spring-aws-maven:1.2.1
+org.springframework.aws:spring-aws-maven:1.0.1
+org.springframework.aws:spring-aws-maven:1.0.2
+org.springframework.aws:spring-aws-maven:1.2.2
+org.springframework.aws:spring-aws-maven:1.1.2
+org.springframework.aws:spring-aws-ant:2.0
+org.springframework.aws:spring-aws-ant:1.0
+org.springframework.aws:spring-aws-ant:1.0.1
+org.springframework.aws:spring-aws-ant:1.0.2
+org.springframework.aws:spring-aws-ivy:1.0.3
+org.springframework.aws:spring-aws-ivy:1.0
+org.springframework.aws:spring-aws-ivy:1.0.1
+org.springframework:spring:1.1
+org.springframework:spring:2.0.7
+org.springframework:spring:1.1.5
+org.springframework:spring:1.2.3
+org.springframework:spring:1.1.3
+org.springframework:spring:1.2.4
+org.springframework:spring:1.2
+org.springframework:spring:2.0
+org.springframework:spring:1.2-rc1
+org.springframework:spring:1.1.1
+org.springframework:spring:1.0-m4
+org.springframework:spring:2.0.8
+org.springframework:spring:1.0
+org.springframework:spring:2.5.2
+org.springframework:spring:1.2.9
+org.springframework:spring:2.5.5
+org.springframework:spring:2.5.4
+org.springframework:spring:2.0.4
+org.springframework:spring:1.0-rc1
+org.springframework:spring:1.2.1
+org.springframework:spring:2.5
+org.springframework:spring:2.0.2
+org.springframework:spring:1.0.1
+org.springframework:spring:2.0.1
+org.springframework:spring:1.2-rc2
+org.springframework:spring:1.1-rc2
+org.springframework:spring:2.0.6
+org.springframework:spring:1.2.2
+org.springframework:spring:2.5.3
+org.springframework:spring:2.0.5
+org.springframework:spring:1.1.4
+org.springframework:spring:1.1-rc1
+org.springframework:spring:2.5.1
+org.springframework:spring:1.1.2
+org.springframework:spring:2.5.6
+org.springframework:spring:2.0.3
+org.springframework:spring-jpa:2.0.7
+org.springframework:spring-jpa:2.0
+org.springframework:spring-jpa:2.0.8
+org.springframework:spring-jpa:2.0.4
+org.springframework:spring-jpa:2.0.2
+org.springframework:spring-jpa:2.0.1
+org.springframework:spring-jpa:2.0.6
+org.springframework:spring-jpa:2.0.5
+org.springframework:spring-jpa:2.0.3
+org.springframework.javaconfig:spring-javaconfig:1.0.0.m3
+org.springframework:spring-javaconfig:1.0-m2a
+org.springframework.batch:spring-batch:1.1.3.RELEASE-A
+org.springframework.batch:spring-batch:1.1.1.RELEASE
+org.springframework.batch:spring-batch:1.0.1.RELEASE
+org.springframework.batch:spring-batch:1.0.0.FINAL
+org.springframework.batch:spring-batch:1.1.3.RELEASE
+org.springframework.batch:spring-batch:1.1.0.RELEASE
+org.springframework.batch:spring-batch:1.1.2.RELEASE
+org.springframework.batch:simple-cli-archetype:1.1.3.RELEASE-A
+org.springframework.batch:simple-cli-archetype:1.1.1.RELEASE
+org.springframework.batch:simple-cli-archetype:1.1.3.RELEASE
+org.springframework.batch:simple-cli-archetype:1.1.0.RELEASE
+org.springframework.batch:simple-cli-archetype:1.1.2.RELEASE
+org.springframework:beandoc:0.7.0
+org.springframework:spring-context-support:2.5.2
+org.springframework:spring-context-support:2.5.5
+org.springframework:spring-context-support:2.5.4
+org.springframework:spring-context-support:2.5
+org.springframework:spring-context-support:2.5.3
+org.springframework:spring-context-support:2.5.1
+org.springframework:spring-context-support:2.5.6
+org.springframework:spring-struts:2.0.7
+org.springframework:spring-struts:2.0
+org.springframework:spring-struts:2.0.8
+org.springframework:spring-struts:2.0.4
+org.springframework:spring-struts:2.0.2
+org.springframework:spring-struts:2.0.1
+org.springframework:spring-struts:2.0.6
+org.springframework:spring-struts:2.0.5
+org.springframework:spring-struts:2.0.3
+org.springframework.maven.skins:maven-spring-skin:1.0.3
+org.springframework.maven.skins:maven-spring-skin:1.0
+org.springframework.maven.skins:maven-spring-skin:1.0.1
+org.springframework.maven.skins:maven-spring-skin:1.0.2
+org.springframework.maven.skins:maven-spring-skin:1.0.4
+org.springframework.webflow:org.springframework.webflow:2.0.3.RELEASE
+org.springframework.webflow:org.springframework.webflow:2.0.0.RELEASE
+org.springframework.webflow:org.springframework.webflow:2.0.4.RELEASE
+org.springframework.webflow:org.springframework.webflow:2.0.1.RELEASE
+org.springframework.webflow:org.springframework.webflow:2.0.2.RELEASE
+org.springframework.webflow:org.springframework.webflow:2.0.5.RELEASE
+org.springframework.webflow:org.springframework.binding:2.0.3.RELEASE
+org.springframework.webflow:org.springframework.binding:2.0.0.RELEASE
+org.springframework.webflow:org.springframework.binding:2.0.4.RELEASE
+org.springframework.webflow:org.springframework.binding:2.0.1.RELEASE
+org.springframework.webflow:org.springframework.binding:2.0.2.RELEASE
+org.springframework.webflow:org.springframework.binding:2.0.5.RELEASE
+org.springframework.webflow:org.springframework.js:2.0.3.RELEASE
+org.springframework.webflow:org.springframework.js:2.0.0.RELEASE
+org.springframework.webflow:org.springframework.js:2.0.4.RELEASE
+org.springframework.webflow:org.springframework.js:2.0.1.RELEASE
+org.springframework.webflow:org.springframework.js:2.0.2.RELEASE
+org.springframework.webflow:org.springframework.js:2.0.5.RELEASE
+org.springframework.webflow:org.springframework.faces:2.0.3.RELEASE
+org.springframework.webflow:org.springframework.faces:2.0.0.RELEASE
+org.springframework.webflow:org.springframework.faces:2.0.4.RELEASE
+org.springframework.webflow:org.springframework.faces:2.0.1.RELEASE
+org.springframework.webflow:org.springframework.faces:2.0.2.RELEASE
+org.springframework.webflow:org.springframework.faces:2.0.5.RELEASE
+org.springframework:spring-webmvc-portlet:2.5.2
+org.springframework:spring-webmvc-portlet:2.5.5
+org.springframework:spring-webmvc-portlet:2.5.4
+org.springframework:spring-webmvc-portlet:2.5
+org.springframework:spring-webmvc-portlet:2.5.3
+org.springframework:spring-webmvc-portlet:2.5.1
+org.springframework:spring-webmvc-portlet:2.5.6
+org.springframework:spring-ibatis:2.0.7
+org.springframework:spring-ibatis:2.0
+org.springframework:spring-ibatis:2.0.8
+org.springframework:spring-ibatis:2.0.4
+org.springframework:spring-ibatis:2.0.2
+org.springframework:spring-ibatis:2.0.1
+org.springframework:spring-ibatis:2.0.6
+org.springframework:spring-ibatis:2.0.5
+org.springframework:spring-ibatis:2.0.3
+org.springframework:spring-toplink:2.0.7
+org.springframework:spring-toplink:2.0
+org.springframework:spring-toplink:2.0.8
+org.springframework:spring-toplink:2.0.4
+org.springframework:spring-toplink:2.0.2
+org.springframework:spring-toplink:2.0.1
+org.springframework:spring-toplink:2.0.6
+org.springframework:spring-toplink:2.0.5
+org.springframework:spring-toplink:2.0.3
+org.springframework:spring-jdo:2.0.7
+org.springframework:spring-jdo:2.0
+org.springframework:spring-jdo:2.0.8
+org.springframework:spring-jdo:2.0.4
+org.springframework:spring-jdo:2.0.2
+org.springframework:spring-jdo:2.0.1
+org.springframework:spring-jdo:2.0.6
+org.springframework:spring-jdo:2.0.5
+org.springframework:spring-jdo:2.0.3
+org.springframework:spring-hibernate2:2.0.7
+org.springframework:spring-hibernate2:2.0
+org.springframework:spring-hibernate2:2.0.8
+org.springframework:spring-hibernate2:2.0.4
+org.springframework:spring-hibernate2:2.0.2
+org.springframework:spring-hibernate2:2.0.1
+org.springframework:spring-hibernate2:2.0.6
+org.springframework:spring-hibernate2:2.0.5
+org.springframework:spring-hibernate2:2.0.3
+org.springframework:spring-ldap:1.1
+org.springframework:spring-ldap:1.1.1
+org.springframework:spring-ldap:1.1.2
+org.springframework:spring-tx:2.5.2
+org.springframework:spring-tx:2.5.5
+org.springframework:spring-tx:2.5.4
+org.springframework:spring-tx:2.5
+org.springframework:spring-tx:2.5.3
+org.springframework:spring-tx:2.5.1
+org.springframework:spring-tx:2.5.6
+org.springframework.build.aws:org.springframework.build.aws.maven:2.0.0.RELEASE
+org.springframework:spring-beans:2.0.7
+org.springframework:spring-beans:1.2
+org.springframework:spring-beans:2.0
+org.springframework:spring-beans:1.2-rc1
+org.springframework:spring-beans:1.0-m4
+org.springframework:spring-beans:2.0.8
+org.springframework:spring-beans:1.0
+org.springframework:spring-beans:2.5.2
+org.springframework:spring-beans:1.2.9
+org.springframework:spring-beans:2.5.5
+org.springframework:spring-beans:2.5.4
+org.springframework:spring-beans:2.0.4
+org.springframework:spring-beans:1.0-rc1
+org.springframework:spring-beans:2.5
+org.springframework:spring-beans:2.0.2
+org.springframework:spring-beans:1.0.1
+org.springframework:spring-beans:2.0.1
+org.springframework:spring-beans:1.2-rc2
+org.springframework:spring-beans:2.0.6
+org.springframework:spring-beans:2.5.3
+org.springframework:spring-beans:2.0.5
+org.springframework:spring-beans:2.5.1
+org.springframework:spring-beans:2.5.6
+org.springframework:spring-beans:2.0.3
+org.springframework:spring-support:2.0.7
+org.springframework:spring-support:1.2
+org.springframework:spring-support:2.0
+org.springframework:spring-support:1.2-rc1
+org.springframework:spring-support:2.0.8
+org.springframework:spring-support:1.2.9
+org.springframework:spring-support:2.0.4
+org.springframework:spring-support:2.0.2
+org.springframework:spring-support:2.0.1
+org.springframework:spring-support:1.2-rc2
+org.springframework:spring-support:2.0.6
+org.springframework:spring-support:2.0.5
+org.springframework:spring-support:2.0.3
+org.springframework:spring-remoting:2.0.7
+org.springframework:spring-remoting:1.2
+org.springframework:spring-remoting:2.0
+org.springframework:spring-remoting:1.2-rc1
+org.springframework:spring-remoting:2.0.8
+org.springframework:spring-remoting:1.2.9
+org.springframework:spring-remoting:2.0.4
+org.springframework:spring-remoting:2.0.2
+org.springframework:spring-remoting:2.0.1
+org.springframework:spring-remoting:1.2-rc2
+org.springframework:spring-remoting:2.0.6
+org.springframework:spring-remoting:2.0.5
+org.springframework:spring-remoting:2.0.3
+org.springframework:spring-web:1.1
+org.springframework:spring-web:2.0.7
+org.springframework:spring-web:1.1.5
+org.springframework:spring-web:1.1.3
+org.springframework:spring-web:1.2
+org.springframework:spring-web:2.0
+org.springframework:spring-web:1.2-rc1
+org.springframework:spring-web:1.1.1
+org.springframework:spring-web:2.0.8
+org.springframework:spring-web:1.0
+org.springframework:spring-web:2.5.2
+org.springframework:spring-web:1.2.9
+org.springframework:spring-web:2.5.5
+org.springframework:spring-web:2.5.4
+org.springframework:spring-web:2.0.4
+org.springframework:spring-web:1.0-rc1
+org.springframework:spring-web:2.5
+org.springframework:spring-web:2.0.2
+org.springframework:spring-web:1.0.1
+org.springframework:spring-web:2.0.1
+org.springframework:spring-web:1.2-rc2
+org.springframework:spring-web:1.1-rc2
+org.springframework:spring-web:2.0.6
+org.springframework:spring-web:2.5.3
+org.springframework:spring-web:2.0.5
+org.springframework:spring-web:1.1.4
+org.springframework:spring-web:1.1-rc1
+org.springframework:spring-web:2.5.1
+org.springframework:spring-web:1.1.2
+org.springframework:spring-web:2.5.6
+org.springframework:spring-web:2.0.3
+org.springframework.security:spring-security-parent:2.0.4
+org.springframework.security:spring-security-parent:2.0.2
+org.springframework.security:spring-security-parent:2.0.1
+org.springframework.security:spring-security-parent:2.0.0
+org.springframework.security:spring-security-parent:2.0.3
+org.springframework.security:spring-security-acl:2.0.2
+org.springframework.security:spring-security-acl:2.0.1
+org.springframework.security:spring-security-acl:2.0.0
+org.springframework.security:spring-security-acl:2.0.3
+org.springframework.security:spring-security-taglibs:2.0.4
+org.springframework.security:spring-security-taglibs:2.0.2
+org.springframework.security:spring-security-taglibs:2.0.1
+org.springframework.security:spring-security-taglibs:2.0.0
+org.springframework.security:spring-security-taglibs:2.0.3
+org.springframework:spring-jdbc:2.0.7
+org.springframework:spring-jdbc:1.2
+org.springframework:spring-jdbc:2.0
+org.springframework:spring-jdbc:1.2-rc1
+org.springframework:spring-jdbc:1.0-m4
+org.springframework:spring-jdbc:2.0.8
+org.springframework:spring-jdbc:2.5.2
+org.springframework:spring-jdbc:1.2.9
+org.springframework:spring-jdbc:2.5.5
+org.springframework:spring-jdbc:2.5.4
+org.springframework:spring-jdbc:2.0.4
+org.springframework:spring-jdbc:2.5
+org.springframework:spring-jdbc:2.0.2
+org.springframework:spring-jdbc:2.0.1
+org.springframework:spring-jdbc:1.2-rc2
+org.springframework:spring-jdbc:2.0.6
+org.springframework:spring-jdbc:2.5.3
+org.springframework:spring-jdbc:2.0.5
+org.springframework:spring-jdbc:2.5.1
+org.springframework:spring-jdbc:2.5.6
+org.springframework:spring-jdbc:2.0.3
+org.springframework:spring-webmvc:1.1
+org.springframework:spring-webmvc:2.0.7
+org.springframework:spring-webmvc:1.1.5
+org.springframework:spring-webmvc:1.1.3
+org.springframework:spring-webmvc:1.2
+org.springframework:spring-webmvc:2.0
+org.springframework:spring-webmvc:1.2-rc1
+org.springframework:spring-webmvc:1.1.1
+org.springframework:spring-webmvc:2.0.8
+org.springframework:spring-webmvc:1.0
+org.springframework:spring-webmvc:2.5.2
+org.springframework:spring-webmvc:1.2.9
+org.springframework:spring-webmvc:2.5.5
+org.springframework:spring-webmvc:2.5.4
+org.springframework:spring-webmvc:2.0.4
+org.springframework:spring-webmvc:1.0-rc1
+org.springframework:spring-webmvc:2.5
+org.springframework:spring-webmvc:2.0.2
+org.springframework:spring-webmvc:1.0.1
+org.springframework:spring-webmvc:2.0.1
+org.springframework:spring-webmvc:1.2-rc2
+org.springframework:spring-webmvc:1.1-rc2
+org.springframework:spring-webmvc:2.0.6
+org.springframework:spring-webmvc:2.5.3
+org.springframework:spring-webmvc:2.0.5
+org.springframework:spring-webmvc:1.1.4
+org.springframework:spring-webmvc:1.1-rc1
+org.springframework:spring-webmvc:2.5.1
+org.springframework:spring-webmvc:1.1.2
+org.springframework:spring-webmvc:2.5.6
+org.springframework:spring-webmvc:2.0.3
+org.springframework:spring-jmx:2.0.7
+org.springframework:spring-jmx:2.0
+org.springframework:spring-jmx:2.0.8
+org.springframework:spring-jmx:2.0.4
+org.springframework:spring-jmx:2.0.2
+org.springframework:spring-jmx:2.0.1
+org.springframework:spring-jmx:2.0.6
+org.springframework:spring-jmx:2.0.5
+org.springframework:spring-jmx:2.0.3
+org.springframework:spring-agent:2.0.7
+org.springframework:spring-agent:2.0
+org.springframework:spring-agent:2.0.8
+org.springframework:spring-agent:2.5.2
+org.springframework:spring-agent:2.5.5
+org.springframework:spring-agent:2.5.4
+org.springframework:spring-agent:2.0.4
+org.springframework:spring-agent:2.5
+org.springframework:spring-agent:2.0.2
+org.springframework:spring-agent:2.0.1
+org.springframework:spring-agent:2.0.6
+org.springframework:spring-agent:2.5.3
+org.springframework:spring-agent:2.0.5
+org.springframework:spring-agent:2.5.1
+org.springframework:spring-agent:2.5.6
+org.springframework:spring-agent:2.0.3
+org.springframework:spring-context:1.1
+org.springframework:spring-context:2.0.7
+org.springframework:spring-context:1.1.5
+org.springframework:spring-context:1.1.3
+org.springframework:spring-context:1.2
+org.springframework:spring-context:2.0
+org.springframework:spring-context:1.2-rc1
+org.springframework:spring-context:1.1.1
+org.springframework:spring-context:1.0-m4
+org.springframework:spring-context:2.0.8
+org.springframework:spring-context:1.0
+org.springframework:spring-context:2.5.2
+org.springframework:spring-context:1.2.9
+org.springframework:spring-context:2.5.5
+org.springframework:spring-context:2.5.4
+org.springframework:spring-context:2.0.4
+org.springframework:spring-context:1.0-rc1
+org.springframework:spring-context:2.5
+org.springframework:spring-context:2.0.2
+org.springframework:spring-context:1.0.1
+org.springframework:spring-context:2.0.1
+org.springframework:spring-context:1.2-rc2
+org.springframework:spring-context:1.1-rc2
+org.springframework:spring-context:2.0.6
+org.springframework:spring-context:2.5.3
+org.springframework:spring-context:2.0.5
+org.springframework:spring-context:1.1.4
+org.springframework:spring-context:1.1-rc1
+org.springframework:spring-context:2.5.1
+org.springframework:spring-context:1.1.2
+org.springframework:spring-context:2.5.6
+org.springframework:spring-context:2.0.3
+org.springframework:spring-aop:1.1
+org.springframework:spring-aop:2.0.7
+org.springframework:spring-aop:1.1.5
+org.springframework:spring-aop:1.1.3
+org.springframework:spring-aop:1.2
+org.springframework:spring-aop:2.0
+org.springframework:spring-aop:1.2-rc1
+org.springframework:spring-aop:1.1.1
+org.springframework:spring-aop:2.0.8
+org.springframework:spring-aop:1.0
+org.springframework:spring-aop:2.5.2
+org.springframework:spring-aop:1.2.9
+org.springframework:spring-aop:2.5.5
+org.springframework:spring-aop:2.5.4
+org.springframework:spring-aop:2.0.4
+org.springframework:spring-aop:1.0-rc1
+org.springframework:spring-aop:2.5
+org.springframework:spring-aop:2.0.2
+org.springframework:spring-aop:1.0.1
+org.springframework:spring-aop:2.0.1
+org.springframework:spring-aop:1.2-rc2
+org.springframework:spring-aop:1.1-rc2
+org.springframework:spring-aop:2.0.6
+org.springframework:spring-aop:2.5.3
+org.springframework:spring-aop:2.0.5
+org.springframework:spring-aop:1.1.4
+org.springframework:spring-aop:1.1-rc1
+org.springframework:spring-aop:2.5.1
+org.springframework:spring-aop:1.1.2
+org.springframework:spring-aop:2.5.6
+org.springframework:spring-aop:2.0.3
+org.springframework:spring-hibernate3:2.0.7
+org.springframework:spring-hibernate3:2.0
+org.springframework:spring-hibernate3:2.0.8
+org.springframework:spring-hibernate3:2.0.4
+org.springframework:spring-hibernate3:2.0.2
+org.springframework:spring-hibernate3:2.0.1
+org.springframework:spring-hibernate3:2.0.6
+org.springframework:spring-hibernate3:2.0.5
+org.springframework:spring-hibernate3:2.0.3
+org.springframework:spring-binding:1.0-rc2
+org.springframework:spring-binding:1.0.3
+org.springframework:spring-binding:1.0
+org.springframework:spring-binding:1.0.5
+org.springframework:spring-binding:1.0-rc3
+org.springframework:spring-binding:1.0.1
+org.springframework:spring-binding:1.0.2
+org.springframework:spring-binding:1.0.4
+org.springframework:spring-tomcat-weaver:2.0.7
+org.springframework:spring-tomcat-weaver:2.0
+org.springframework:spring-tomcat-weaver:2.0.8
+org.springframework:spring-tomcat-weaver:2.5.2
+org.springframework:spring-tomcat-weaver:2.5.5
+org.springframework:spring-tomcat-weaver:2.5.4
+org.springframework:spring-tomcat-weaver:2.0.4
+org.springframework:spring-tomcat-weaver:2.5
+org.springframework:spring-tomcat-weaver:2.0.2
+org.springframework:spring-tomcat-weaver:2.0.1
+org.springframework:spring-tomcat-weaver:2.0.6
+org.springframework:spring-tomcat-weaver:2.5.3
+org.springframework:spring-tomcat-weaver:2.0.5
+org.springframework:spring-tomcat-weaver:2.5.1
+org.springframework:spring-tomcat-weaver:2.5.6
+org.springframework:spring-tomcat-weaver:2.0.3
+org.springframework.ws:spring-ws:1.0-rc2
+org.springframework.ws:spring-ws:1.0-m3
+org.springframework.ws:spring-ws:1.5.2
+org.springframework.ws:spring-ws:1.0.3
+org.springframework.ws:spring-ws:1.5.4
+org.springframework.ws:spring-ws:1.5.3
+org.springframework.ws:spring-ws:1.0.0
+org.springframework.ws:spring-ws:1.0-rc1
+org.springframework.ws:spring-ws:1.0.1
+org.springframework.ws:spring-ws:1.5.1
+org.springframework.ws:spring-ws:1.0.2
+org.springframework.ws:spring-ws:1.5.5
+org.springframework.ws:spring-ws:1.0.4
+org.springframework.ws:spring-ws:1.0-m2
+org.springframework.ws:spring-ws:1.5.0
+org.springframework.ws:spring-ws-parent:1.5.2
+org.springframework.ws:spring-ws-parent:1.5.4
+org.springframework.ws:spring-ws-parent:1.5.3
+org.springframework.ws:spring-ws-parent:1.5.1
+org.springframework.ws:spring-ws-parent:1.5.5
+org.springframework.ws:spring-ws-parent:1.5.0
+org.springframework:spring-beandoc:0.7.1
+org.springframework:spring-jca:2.0.7
+org.springframework:spring-jca:2.0
+org.springframework:spring-jca:2.0.8
+org.springframework:spring-jca:2.0.4
+org.springframework:spring-jca:2.0.2
+org.springframework:spring-jca:2.0.1
+org.springframework:spring-jca:2.0.6
+org.springframework:spring-jca:2.0.5
+org.springframework:spring-jca:2.0.3
+org.springframework:spring-aspects:2.0.7
+org.springframework:spring-aspects:2.0
+org.springframework:spring-aspects:2.0.8
+org.springframework:spring-aspects:2.5.2
+org.springframework:spring-aspects:2.5.5
+org.springframework:spring-aspects:2.5.4
+org.springframework:spring-aspects:2.0.4
+org.springframework:spring-aspects:2.5
+org.springframework:spring-aspects:2.0.2
+org.springframework:spring-aspects:2.0.1
+org.springframework:spring-aspects:2.0.6
+org.springframework:spring-aspects:2.5.3
+org.springframework:spring-aspects:2.0.5
+org.springframework:spring-aspects:2.5.1
+org.springframework:spring-aspects:2.5.6
+org.springframework:spring-aspects:2.0.3
+org.springframework.ldap:spring-ldap:1.2
+org.springframework.ldap:spring-ldap:1.2.1
+org.springframework.ldap:spring-ldap-tiger:1.2
+org.springframework.ldap:spring-ldap-tiger:1.2
+org.nanocontainer.persistence:nanocontainer-persistence-parent:1.0
+org.nanocontainer:nanocontainer-persistence-parent:1.1
+org.nanocontainer:nanocontainer-persistence-parent:1.1-RC-1
+org.nanocontainer.nanowar:nanocontainer-nanowar-parent:1.0
+org.nanocontainer:nanocontainer-parent:1.1
+org.nanocontainer:nanocontainer-parent:1.1-RC-1
+org.nanocontainer:nanocontainer-parent:1.1.1
+org.nanocontainer:nanocontainer-parent:1.0
+org.nanocontainer:nanocontainer-parent:1.1.2
+org.opensaml:opensaml:1.1
+org.opensaml:opensaml:2.1.0
+org.opensaml:opensaml:2.2.1
+org.opensaml:opensaml:2.2.0
+org.fontbox:fontbox:0.1.0
+org.aspectj:aspectjrt:1.5.4
+org.aspectj:aspectjrt:1.6.0
+org.aspectj:aspectjrt:1.6.1
+org.aspectj:aspectjweaver:1.5.4
+org.aspectj:aspectjweaver:1.6.0
+org.aspectj:aspectjweaver:1.6.1
+org.aspectj:aspectjlib:1.6.1
+org.aspectj:aspectjtools:1.5.4
+org.aspectj:aspectjtools:1.6.0
+org.aspectj:aspectjtools:1.6.1
+org.ow2.bundles:bundles:1.0.8
+org.ow2.bundles:bundles:1.0.3
+org.ow2.bundles:bundles:1.0.0
+org.ow2.bundles:bundles:1.0.5
+org.ow2.bundles:bundles:1.0.1
+org.ow2.bundles:bundles:1.0.2
+org.ow2.bundles:bundles:1.0.6
+org.ow2.bundles:bundles:1.0.4
+org.ow2.bundles:bundles:1.0.7
+org.ow2.bundles:bundles:1.0.9
+org.ow2.fractal.distribution:helloworld-julia-groovy:1.0
+org.ow2.fractal.distribution:helloworld-julia-adl:1.0
+org.ow2.fractal.distribution:helloworld-julia:1.0
+org.ow2.fractal.distribution:helloworld-julia-fscript:1.0
+org.ow2.fractal.distribution:helloworld-julia-fraclet:1.0
+org.ow2.fractal.distribution.parent:parent:1.0
+org.ow2.fractal.distribution:fractal-distribution:1.0
+org.ow2.fractal.distribution.doc:website:1.0
+org.ow2.fractal.distribution:fractal-libraries:1.1
+org.ow2.fractal.distribution:fractal-libraries:1.0
+org.ow2:ow2:1.1
+org.ow2:ow2:1.0
+org.ow2.spec:parent:1.0-M1
+org.ow2.spec:ee:1.0-M1
+org.ow2.carol.cmi:cmi:2.0-RC3
+org.ow2.carol.cmi:cmi:2.0-RC2
+org.ow2.carol.cmi:cmi:2.0-RC1
+org.ow2.carol.cmi:cmi:2.0-RC4
+org.ow2.carol.irmi:irmi:1.1.1
+org.ow2.carol.irmi:irmi:1.1.0
+org.ow2.carol.irmi:irmi:1.1.2
+org.ow2.carol:carol-parent:3.0.1
+org.ow2.carol:carol-parent:3.0.0
+org.ow2.carol:carol-parent:3.0-RC3
+org.ow2.carol:carol-parent:3.0-RC7
+org.ow2.carol:carol-parent:3.0-RC6
+org.ow2.carol:carol-parent:3.0-RC8
+org.ow2.carol:carol-parent:3.0-RC5
+org.ow2.carol:carol-parent:3.0-RC2
+org.ow2.carol:carol-parent:3.0-RC4
+org.ow2.carol:carol-parent:3.0-RC1
+org.ow2.carol:carol-interceptors:1.0.0
+org.ow2.carol:carol-interceptors:1.0.1
+org.ow2.bonita:bonita-parent:4.0.RC3
+org.ow2.bonita:bonita-parent:4.0
+org.ow2.util.asm:asm-parent:3.1
+org.ow2.util:parent:1.0-M1
+org.ow2.util:parent:1.0.8
+org.ow2.util:parent:1.0.3
+org.ow2.util:parent:1.0-M3
+org.ow2.util:parent:1.0.0
+org.ow2.util:parent:1.0.5
+org.ow2.util:parent:1.0.1
+org.ow2.util:parent:1.0.2
+org.ow2.util:parent:1.0.8b
+org.ow2.util:parent:1.0.6
+org.ow2.util:parent:1.0.4
+org.ow2.util:parent:1.0.7
+org.ow2.util:parent:1.0-M2
+org.ow2.util:parent:1.0.9
+org.ow2.util:parent:1.0.10
+org.ow2.jonas.asm:asm:3.1
+org.ow2.jonas.documentation:jonas-doc-en:5.0.4
+org.ow2.jonas.documentation:jonas-doc-en:5.0.3
+org.ow2.jonas.documentation:jonas-doc-en:5.1.0-M1
+org.ow2.jonas.documentation:jonas-doc-src:5.0.5
+org.ow2.jonas.documentation:jonas-doc-src:5.0.4
+org.ow2.jonas.tools.configurator:api:1.0.0
+org.ow2.jonas.tools:configurator:1.0.0
+org.ow2.jonas.tools.configurator:configurator:1.0.0
+org.ow2.jonas.tools.configurator:impl:1.0.0
+org.ow2.jonas:jonas:5.0.0
+org.ow2.jonas:jonas:5.0.5
+org.ow2.jonas:jonas:5.0.4
+org.ow2.jonas:jonas:5.0.1
+org.ow2.jonas:jonas:5.0.3
+org.ow2.jonas:jonas:5.1.0-M1
+org.ow2.jonas:jonas:5.0.2
+org.ow2.jonas.admin:jonasadmin-flex:0.0.1
+org.ow2.fastrmic:fastrmic:1.0.1
+org.ow2.fastrmic:fastrmic:1.0.2
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-server:2.1.0
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-server:2.0-RC8
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-server:2.0.10
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-server-ejb2:2.1.0
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-server-ejb2:2.0-RC8
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-server-ejb2:2.0.10
+org.ow2.cmi.osgi:cmi-assemblies:2.1.0
+org.ow2.cmi.osgi:cmi-assemblies:2.0-RC8
+org.ow2.cmi.osgi:cmi-assemblies:2.0.10
+org.ow2.cmi.osgi:cmi-osgi:2.1.0
+org.ow2.cmi.osgi:cmi-osgi:2.0-RC8
+org.ow2.cmi.osgi:cmi-osgi:2.0-RC8b
+org.ow2.cmi.osgi:cmi-osgi:2.0.10
+org.ow2.cmi.osgi:cmi-extension-service:2.0-RC8
+org.ow2.cmi.osgi:cmi-extension-service:2.0-RC8b
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-client-server:2.1.0
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-client-server:2.0-RC8
+org.ow2.cmi.osgi:org-ow2-cmi-osgi-client-server:2.0.10
+org.ow2.cmi:cmi:2.0-RC5b
+org.ow2.cmi:cmi:2.0-RC5
+org.ow2.cmi:cmi:2.1.0
+org.ow2.cmi:cmi:2.0-RC7
+org.ow2.cmi:cmi:2.0-RC6
+org.ow2.cmi:cmi:2.0-RC8
+org.ow2.cmi:cmi:2.0-RC8b
+org.ow2.cmi:cmi:2.0.10
+org.ow2.cmi:cmi:2.0.9
+org.ow2.cmi.doc:cmi-doc:2.0-RC8
+org.ow2.cmi.doc:cmi-doc:2.0.10
+org.ow2.wildcat:wildcat:2.0.1
+org.ow2.maven.skin:maven-skin-ow2:1.0
+org.ow2.jasmine:jmxconnectionpooladapter:1.0.1
+org.ow2.jasmine:jmxconnectionpooladapter:1.0.2
+org.ow2.jasmine:jasmine-design:1.1.1
+org.ow2.jasmine:jasmine-design:1.1.2
+org.ow2.jasmine.jade.fractal.deployment.local:fractal-deployment-local-api:1.0.0
+org.ow2.jasmine.jade.fractal.fractalrmi:fractal-rmi:0.3.6
+org.ow2.jasmine.jade:org.ow2.jasmine.jade.legacy.jonas4:4.8.6
+org.ow2.jasmine.jade.control:JoramOptimizationBundle:1.0.0
+org.ow2.jasmine.jade:velocity:1.5
+org.ow2.jasmine.jade:jade-fractal:1.0.0
+org.ow2.jasmine.jade:jade-fractal:2.0.1
+org.ow2.jasmine.jade:jade:2.0.2
+org.ow2.jasmine.jade:jade:2.0.1
+org.ow2.jasmine.jade:jade:2.0.0.M2
+org.ow2.jasmine.jade:jade:2.0.3
+org.ow2.jasmine.jade:org.ow2.jasmine.jade.wrapper.util:2.0.2
+org.ow2.jasmine.jade:org.ow2.jasmine.jade.resource.j2ee:2.0.2
+org.ow2.jasmine.jade:jade-reflex:2.0.1
+org.ow2.jasmine.jade:fractal-deployment-local-api:1.0.0
+org.ow2.jasmine.jade.wrapper:org.ow2.jasmine.jade.wrapper.apache:2.2
+org.ow2.jasmine.jade.wrapper:JoramBundle:1.0.0
+org.ow2.jasmine.jade:org.ow2.jasmine.jade.legacy.apache:2.2.2
+org.ow2.jasmine.jade:org.ow2.jasmine.jade.wrapper.jonas4:4.8
+org.ow2.jasmine.jade:ow_velocity_for_jade:1.5
+org.ow2.jasmine:jasmine:1.1.1
+org.ow2.jasmine:jasmine:1.1.2
+org.ow2.jasmine:deployme:1.0.0
+org.ow2.jasmine.jadort-samples:OnlyAllowUsersWithSessionFilter:1.0.1
+org.ow2.jasmine.design:connection:1.1.1
+org.ow2.jasmine.design:connection:1.1.2
+org.ow2.jasmine:jadort:1.1.1
+org.ow2.jasmine:mbeancmd:2.0.2
+org.ow2.jasmine:mbeancmd:2.0.1
+org.ow2.jasmine:jasmine-selfmanagement:1.1.1
+org.ow2.jasmine:jasmine-selfmanagement:1.1.2
+org.ow2.jasmine:jasmine-monitoring:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-ear:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-ear:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp-ear:1.1.2
+org.ow2.jasmine.monitoring:alarm-snmp-modules:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-modules:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp-modules:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx-modules:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx-modules:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx-modules:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx:1.1.2
+org.ow2.jasmine.monitoring:alarm-snmp-jar:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-jar:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp-jar:1.1.2
+org.ow2.jasmine.monitoring:alarm-snmp:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp:1.1.2
+org.ow2.jasmine.monitoring:alarm-interface:1.1.3
+org.ow2.jasmine.monitoring:alarm-interface:1.1.1
+org.ow2.jasmine.monitoring:alarm-interface:1.1.2
+org.ow2.jasmine.monitoring:jasmine-util:1.1.3
+org.ow2.jasmine.monitoring:jasmine-util:1.1.1
+org.ow2.jasmine.monitoring:jasmine-util:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx-ear:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx-ear:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx-ear:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx-ra:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx-ra:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx-ra:1.1.2
+org.ow2.jasmine.monitoring:alarm-snmp-ejb:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-ejb:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp-ejb:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx-rar:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx-rar:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx-rar:1.1.2
+org.ow2.jasmine.monitoring:alarm-snmp-ra:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-ra:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp-ra:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx-jar:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx-jar:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx-jar:1.1.2
+org.ow2.jasmine.monitoring:alarm-snmp-rar:1.1.3
+org.ow2.jasmine.monitoring:alarm-snmp-rar:1.1.1
+org.ow2.jasmine.monitoring:alarm-snmp-rar:1.1.2
+org.ow2.jasmine.monitoring:alarm-jmx-ejb:1.1.3
+org.ow2.jasmine.monitoring:alarm-jmx-ejb:1.1.1
+org.ow2.jasmine.monitoring:alarm-jmx-ejb:1.1.2
+org.ow2.easybeans:easybeans-asm-commons:3.0
+org.ow2.easybeans.extensions:easybeans-cxf:1.0.0
+org.ow2.easybeans.extensions:easybeans-cxf:1.1.0-M1
+org.ow2.easybeans.extensions:easybeans-cxf:1.0.0.RC3
+org.ow2.easybeans.extensions:easybeans-cxf:1.0.1
+org.ow2.easybeans.extensions:easybeans-cxf:1.0.2
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0-JONAS
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0.RC3_JONAS
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0
+org.ow2.easybeans.osgi:easybeans-osgi:1.1.0-M1
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0.RC3
+org.ow2.easybeans.osgi:easybeans-osgi:1.1.0-M1b-JONAS
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.1
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.2
+org.ow2.easybeans.osgi:easybeans-osgi:1.1.0-M2
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0.RC1
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0.RC2-JONAS
+org.ow2.easybeans.osgi:easybeans-osgi:1.1.0-M1-JONAS
+org.ow2.easybeans.osgi:easybeans-osgi:1.0.0.RC2
+org.ow2.easybeans:quartz:1.6.0
+org.ow2.easybeans:easybeans-asm-util:3.0
+org.ow2.easybeans:easybeans:1.0.0-JONAS
+org.ow2.easybeans:easybeans:1.0.0.RC3_JONAS
+org.ow2.easybeans:easybeans:1.0.0
+org.ow2.easybeans:easybeans:1.1.0-M1
+org.ow2.easybeans:easybeans:1.0.0.RC3
+org.ow2.easybeans:easybeans:1.1.0-M1b-JONAS
+org.ow2.easybeans:easybeans:1.0.1
+org.ow2.easybeans:easybeans:1.0.2
+org.ow2.easybeans:easybeans:1.0-M6-JONAS
+org.ow2.easybeans:easybeans:1.1.0-M2
+org.ow2.easybeans:easybeans:1.0.0.RC1
+org.ow2.easybeans:easybeans:1.0.0.RC2-JONAS
+org.ow2.easybeans:easybeans:1.1.0-M1-JONAS
+org.ow2.easybeans:easybeans:1.0.0.RC2
+org.ow2.easybeans.doc:easybeans-doc:1.0.0-JONAS
+org.ow2.easybeans.doc:easybeans-doc:1.0.1
+org.ow2.easybeans.doc:easybeans-doc:1.0.2
+org.ow2.easybeans.doc:easybeans-doc:1.1.0-M1-JONAS
+org.ow2.easybeans:easybeans-asm:3.0
+org.ow2.easybeans:easybeans-asm-tree:3.0
+org.ow2.easybeans:easybeans-asm-analysis:3.0
+org.ow2.ishmael:ishmael-lite:1.0.2
+org.ow2.petals:petals-jmx-api:1.1
+org.ow2.petals:petals-jmx-api:1.2
+org.ow2.petals:petals-jmx-api:1.0
+org.ow2.petals:petals-jmx-api:1.1-beta1
+org.ow2.petals:petals-se-bonita:1.0
+org.ow2.petals:petals-ws:1
+org.ow2.petals:petals-sample-client:1.4.1
+org.ow2.petals:petals-sample-client:1.4.2
+org.ow2.petals:petals-sample-client:1.5
+org.ow2.petals:petals-sample-client:1.4.3
+org.ow2.petals:petals-launcher:1.1
+org.ow2.petals:petals-launcher:1.2
+org.ow2.petals:petals-launcher:1.0
+org.ow2.petals:petals-launcher:1.2.1
+org.ow2.petals:
+ maven-archetype-petals-jbi-binding-component
+ :1.2.0
+org.ow2.petals:
+ maven-archetype-petals-jbi-binding-component
+ :1.1.0
+org.ow2.petals:petals-plugins:4
+org.ow2.petals:petals-plugins:5
+org.ow2.petals:petals-samples:6
+org.ow2.petals:petals-samples:7
+org.ow2.petals:petals-core:8
+org.ow2.petals:petals-core:7
+org.ow2.petals:petals-sample-clock:1.5
+org.ow2.petals:petals-se-orchestra:1.0-beta1
+org.ow2.petals:petals-se-orchestra:1.0
+org.ow2.petals:petals-se-orchestra:1.0.1
+org.ow2.petals:petals-bc-xquare:2.0
+org.ow2.petals:petals-se-pojo:2.0
+org.ow2.petals:petals-se-pojo:2.0.1
+org.ow2.petals:petals-se-pojo:2.0-beta1
+org.ow2.petals:petals-cdk:3.0-beta2
+org.ow2.petals:petals-cdk:2
+org.ow2.petals:petals-cdk:1
+org.ow2.petals:petals-se-transcoder:1.0-beta1
+org.ow2.petals.tools:petals-webconsole:1.1
+org.ow2.petals.tools:petals-webconsole:1.2
+org.ow2.petals.tools:petals-webconsole:1.1.1
+org.ow2.petals.tools:petals-webconsole:1.1.2
+org.ow2.petals.tools:petals-webconsole-embedded:1.1
+org.ow2.petals.tools:petals-webconsole-embedded:1.1.3
+org.ow2.petals.tools:petals-webconsole-embedded:1.2
+org.ow2.petals.tools:petals-webconsole-embedded:1.1.1
+org.ow2.petals.tools:petals-webconsole-embedded:1.1.2
+org.ow2.petals:petals-components:8
+org.ow2.petals:petals-components:7
+org.ow2.petals:petals-distribution:2
+org.ow2.petals:petals-distribution:2-SNAPSHOT
+org.ow2.petals:petals-quality:1.1
+org.ow2.petals:petals-bc-filetransfer:2.0
+org.ow2.petals:petals-bc-filetransfer:2.1
+org.ow2.petals:petals-bc-filetransfer:2.0-beta1
+org.ow2.petals:petals-bc-xmpp:1.1-beta1
+org.ow2.petals:maven-archetype-petals-jbi-service-assembly:1.2.0
+org.ow2.petals:maven-archetype-petals-jbi-service-assembly:1.1.0
+org.ow2.petals:petals-bc-soap:3.1
+org.ow2.petals:petals-bc-soap:3.1.2
+org.ow2.petals:petals-bc-soap:3.0
+org.ow2.petals:petals-bc-soap:3.0-beta1
+org.ow2.petals:petals-bc-soap:3.1.1
+org.ow2.petals:petals-bc-soap:3.1-beta1
+org.ow2.petals:petals-cdk-core:4.0.5
+org.ow2.petals:petals-cdk-core:4.0.4
+org.ow2.petals:petals-cdk-core:4.0.3
+org.ow2.petals:petals-cdk-core:4.0.2
+org.ow2.petals:petals-cdk-core:3.0
+org.ow2.petals:petals-cdk-core:4.0.1
+org.ow2.petals:petals-cdk-core:4.0
+org.ow2.petals:petals-ws-star:1.1
+org.ow2.petals:petals-ws-star:1.0
+org.ow2.petals:maven-archetype-petals-jbi-service-engine:1.2.0
+org.ow2.petals:maven-archetype-petals-jbi-service-engine:1.1.0
+org.ow2.petals:petals-topology:1.1
+org.ow2.petals:petals-topology:1.2
+org.ow2.petals:petals-topology:1.3
+org.ow2.petals:petals-bc-jms:3.0-beta1
+org.ow2.petals:petals-jbi:1.0
+org.ow2.petals:petals-jbi:1.0.1
+org.ow2.petals:maven-petals-parent:1
+org.ow2.petals:petals-se-script:1.0-beta1
+org.ow2.petals:petals-ant:1.4-beta1
+org.ow2.petals:petals-ant:1.3.5
+org.ow2.petals:petals-ant:1.3.7
+org.ow2.petals:petals-ant:1.3.4
+org.ow2.petals:petals-ant:1.3.6
+org.ow2.petals:petals-bc-ejb:1.0-beta1
+org.ow2.petals:petals-cdk-api:1.0
+org.ow2.petals:petals-cdk-api:1.0.1
+org.ow2.petals:petals-se-xslt:2.1-beta1
+org.ow2.petals:petals-se-xslt:2.2.1
+org.ow2.petals:petals-se-xslt:2.1
+org.ow2.petals:petals-se-xslt:2.2
+org.ow2.petals:petals-se-jsr181:1.0
+org.ow2.petals:petals-parent:9
+org.ow2.petals:petals-parent:10
+org.ow2.petals:petals-parent:14
+org.ow2.petals:petals-parent:8
+org.ow2.petals:petals-parent:11
+org.ow2.petals:petals-parent:7
+org.ow2.petals:petals-parent:12
+org.ow2.petals:petals-parent:13
+org.ow2.petals:petals-kernel-api:1.0
+org.ow2.petals:petals-kernel-api:1.0.1
+org.ow2.petals:petals-platform:2.3
+org.ow2.petals:petals-platform:2.1-beta1
+org.ow2.petals:petals-platform:2.1.2
+org.ow2.petals.samples:petals-artefacts:2
+org.ow2.petals.samples:petals-artefacts:1
+org.ow2.petals.samples.orchestra:petals-orchestra:1
+org.ow2.petals.samples.orchestra:sa-orchestra-provides:1.0
+org.ow2.petals.samples.orchestra:su-orchestra-factorial-rpc-provides:1.0
+org.ow2.petals.samples.orchestra:su-orchestra-factorial-document-provides:1.0
+org.ow2.petals.samples.orchestra:su-orchestra-helloworld-provides:1.0
+org.ow2.petals.samples.helloworld:petals-helloworld:1
+org.ow2.petals.samples.helloworld:su-helloworld-provides:3.0
+org.ow2.petals.samples.helloworld:sa-helloworld-provides:3.0
+org.ow2.petals:petals-standalone:1.0-beta1
+org.ow2.petals:petals-standalone:2.2.1
+org.ow2.petals:petals-standalone:2.1
+org.ow2.petals:petals-standalone:2.2
+org.ow2.petals:petals-kernel:2.3
+org.ow2.petals:petals-kernel:2.1-beta1
+org.ow2.petals:petals-kernel:2.2.1
+org.ow2.petals:petals-kernel:2.1.2
+org.ow2.petals:petals-kernel:2.1
+org.ow2.petals:petals-kernel:2.2
+org.ow2.petals:petals-kernel:2.1.1
+org.ow2.petals:petals-tools:8
+org.ow2.petals:petals-tools:7
+org.ow2.petals:petals-bc-ftp:3.0-beta1
+org.ow2.petals:petals-sample-helloworld:3.1
+org.ow2.petals:petals-sample-helloworld:3.0
+org.ow2.petals:petals-sample-helloworld:3.0-beta1
+org.ow2.petals:maven-archetype-petals-jbi-shared-library:1.2.0
+org.ow2.petals:maven-archetype-petals-jbi-shared-library:1.1.0
+org.ow2.petals:petals-se-csv:2.0-beta1
+org.ow2.petals:petals-jaas:1.0
+org.ow2.petals:petals-bc-mail:3.0-beta1
+org.ow2.petals:petals-se-eip:2.2.1
+org.ow2.petals:petals-se-eip:2.1
+org.ow2.petals:petals-se-eip:2.0-beta1
+org.ow2.petals:petals-se-eip:2.2
+org.ow2.petals:petals-datacollector:1.1
+org.ow2.petals:petals-datacollector:1.0
+org.ow2.petals:petals-datacollector:1.0.1
+org.ow2.petals:petals-datacollector:1.0.2
+org.ow2.petals:petals-plugins-maven:4
+org.ow2.petals:petals-plugins-maven:3
+org.ow2.petals:maven-archetype-petals-jbi-service-unit:1.2.0
+org.ow2.petals:maven-archetype-petals-jbi-service-unit:1.1.0
+org.ow2.petals:petals-cdk-jbidescriptor
+ :1.1
+org.ow2.petals:petals-cdk-jbidescriptor
+ :1.0
+org.ow2.petals.distribution:petals-quickstart:2.2
+org.ow2.petals.distribution:petals-quickstart:2.1.1
+org.ow2.petals:petals-bc-http:1.0-beta1
+org.ow2.petals:petals-jbi-descriptor:1.3
+org.ow2.petals:petals-jbi-descriptor:2.0
+org.ow2.petals:petals-jbi-descriptor:1.3-beta1
+org.ow2.petals:petals-jbi-descriptor:1.3.1
+org.ow2.petals:petals-jmx:1.2
+org.ow2.petals:petals-jmx:1.3
+org.ow2.petals:petals-jmx:1.3.3
+org.ow2.petals:petals-jmx:1.4
+org.ow2.petals:petals-jmx:1.3.1
+org.ow2.petals:petals-jmx:1.3.2
+org.ow2.petals:petals-jmx:1.2-beta1
+org.ow2.petals:maven-petals-plugin:1.3.0
+org.ow2.petals:maven-petals-plugin:1.4
+org.ow2.petals:maven-petals-plugin:1.3.1
+org.ow2.petals:maven-petals-plugin:1.3.2
+org.ow2.orchestra.distrib:orchestra:4.0.RC2
+org.ow2.orchestra:orchestra:4.0.RC2
+org.ow2.orchestra:orchestra-jmxclient:4.0.RC2
+org.ow2.orchestra:orchestra-parent:4.0.RC3
+org.ow2.orchestra:orchestra-parent:4.0.RC4
+org.ow2.orchestra:orchestra-parent:4.0.M5
+org.ow2.novabpm:novaBpmPerf:r996
+org.ow2.novabpm:novaBpmPerf:1.0
+org.ow2.novabpm:novaBpmUtil:r996
+org.ow2.novabpm:novaBpmUtil:1.0
+org.ow2.novabpm:novaBpmIdentity:r996
+org.ow2.novabpm:novaBpmIdentity:1.0
+org.ow2.novabpm.admin:admin:4.0
+org.ow2.jotm:jotm-interceptor-ots:2.1.2
+org.ow2.jotm:jotm-interceptor-ots:2.1.1
+org.ow2.jotm:jotm-interceptor-jrmp:2.1.2
+org.ow2.jotm:jotm-interceptor-jrmp:2.1.1
+org.ow2.jotm:interceptors:2.1.2
+org.ow2.jotm:interceptors:2.1.1
+org.ow2.jotm:jotm-jms:2.1.2
+org.ow2.jotm:jotm-jms:2.1.1
+org.ow2.jotm:jotm-datasource:2.1.2
+org.ow2.jotm:jotm-datasource:2.1.1
+org.ow2.jotm:jotm-core:2.1.2
+org.ow2.jotm:jotm-core:2.1.1
+org.ow2.jotm:jotm:2.1.2
+org.ow2.jotm:jotm:2.1.1
+org.ow2.jotm:jotm-standalone:2.1.2
+org.ow2.jotm:jotm-standalone:2.1.1
+org.codehaus.mvel:mvel:1.3.5-java1.6
+org.codehaus.mvel:mvel:1.3.0RC3-java1.6
+org.codehaus.mvel:mvel:1.3.6-java1.4
+org.codehaus.mvel:mvel:1.3.0RC3-java1.4
+org.codehaus.mvel:mvel:1.3.0RC4-java1.5
+org.codehaus.mvel:mvel:1.3.8-java1.6
+org.codehaus.mvel:mvel:1.3.2-java1.6
+org.codehaus.mvel:mvel:1.3.14-java1.6
+org.codehaus.mvel:mvel:1.3.10-java1.6
+org.codehaus.mvel:mvel:1.3.15-java1.4
+org.codehaus.mvel:mvel:1.3.1-java1.4
+org.codehaus.mvel:mvel:1.3.6-java1.5
+org.codehaus.mvel:mvel:1.3.0RC2-java1.5
+org.codehaus.mvel:mvel:1.3.0RC1-java1.5
+org.mvel:mvel:2.0-alpha2-dp2-java1.5
+org.codehaus.mvel:mvel:1.2.25-java1.6
+org.codehaus.mvel:mvel:1.3.0RC4-java1.4
+org.codehaus.mvel:mvel:1.3.4-java1.5
+org.mvel:mvel:1.2.22-java1.6
+org.codehaus.mvel:mvel:1.3.9-java1.5
+org.mvel:mvel:2.0M1
+org.codehaus.mvel:mvel:1.3.7-java1.5
+org.codehaus.mvel:mvel:1.3.9-java1.6
+org.codehaus.mvel:mvel:1.3.13-java1.5
+org.mvel:mvel:2.0-dp4
+org.codehaus.mvel:mvel:1.3.3-java1.5
+org.codehaus.mvel:mvel:1.3.14-java1.4
+org.codehaus.mvel:mvel:1.3.4-java1.6
+org.mvel:mvel:1.2.22-java1.5
+org.codehaus.mvel:mvel:1.3.11-java1.5
+org.codehaus.mvel:mvel:1.3.0-java1.6
+org.codehaus.mvel:mvel:1.3.11-java1.6
+org.codehaus.mvel:mvel:1.2.25-java1.4
+org.codehaus.mvel:mvel:1.3.1-java1.6
+org.mvel:mvel:2.0beta1
+org.codehaus.mvel:mvel:1.3.12-java1.6
+org.codehaus.mvel:mvel:1.3.9-java1.4
+org.codehaus.mvel:mvel:1.3.13-java1.6
+org.codehaus.mvel:mvel:1.3.12-java1.5
+org.codehaus.mvel:mvel:1.3.11-java1.4
+org.codehaus.mvel:mvel:1.3.12-java1.4
+org.codehaus.mvel:mvel:1.3.8-java1.5
+org.codehaus.mvel:mvel:1.3.4-java1.4
+org.codehaus.mvel:mvel:1.3.13-java1.4
+org.codehaus.mvel:mvel:1.3.0RC2-java1.6
+org.codehaus.mvel:mvel:1.3.8-java1.4
+org.codehaus.mvel:mvel:1.2.25-java1.5
+org.codehaus.mvel:mvel:1.3.0RC2-java1.4
+org.codehaus.mvel:mvel:1.2.24-java1.6
+org.codehaus.mvel:mvel:1.2.24-java1.5
+org.mvel:mvel:2.0M2
+org.codehaus.mvel:mvel:1.3.5-java1.4
+org.codehaus.mvel:mvel:1.3.7-java1.4
+org.codehaus.mvel:mvel:1.3.7-java1.6
+org.codehaus.mvel:mvel:1.3.0-java1.4
+org.codehaus.mvel:mvel:1.3.14-java1.5
+org.codehaus.mvel:mvel:1.3.0-java1.5
+org.codehaus.mvel:mvel:1.3.0RC1-java1.4
+org.codehaus.mvel:mvel:1.3.15-java1.6
+org.codehaus.mvel:mvel:1.3.10-java1.4
+org.codehaus.mvel:mvel:1.3.0RC4-java1.6
+org.codehaus.mvel:mvel:1.3.6-java1.6
+org.codehaus.mvel:mvel:1.3.3-java1.6
+org.codehaus.mvel:mvel:1.2.23-java1.5
+org.codehaus.mvel:mvel:1.3.5-java1.5
+org.codehaus.mvel:mvel:1.3.0RC1-java1.6
+org.mvel:mvel:2.0-alpha2-dp2-java1.5
+org.codehaus.mvel:mvel:1.3.3-java1.4
+org.codehaus.mvel:mvel:1.2.23-java1.6
+org.codehaus.mvel:mvel:1.3.2-java1.5
+org.codehaus.mvel:mvel:1.3.2-java1.4
+org.codehaus.mvel:mvel:1.3.0RC3-java1.5
+org.codehaus.mvel:mvel:1.3.15-java1.5
+org.codehaus.mvel:mvel:1.3.1-java1.5
+org.codehaus.mvel:mvel:1.3.10-java1.5
+org.mvel:mvel2:2.0RC2
+org.mvel:mvel2:2.0
+org.mvel:mvel2:2.0.4
+org.mvel:mvel2:2.0.2
+org.mvel:mvel2:2.0.1
+org.mvel:mvel2:2.0RC3
+org.mvel:mvel2:2.0RC1
+org.mvel:mvel2:2.0.3
+org.xpl4java:xpl4java:1.3h
+org.htmlparser:htmlparser:1.6
+org.acegisecurity:acegi-security-parent:1.0.3
+org.acegisecurity:acegi-security-parent:1.0.0
+org.acegisecurity:acegi-security-parent:1.0.5
+org.acegisecurity:acegi-security-parent:1.0.1
+org.acegisecurity:acegi-security-parent:1.0.2
+org.acegisecurity:acegi-security-parent:1.0.0-RC1
+org.acegisecurity:acegi-security-parent:1.0.0-RC2
+org.acegisecurity:acegi-security-parent:1.0.6
+org.acegisecurity:acegi-security-parent:1.0.4
+org.acegisecurity:acegi-security-parent:1.0.7
+org.jmesa:jmesa:2.2.1
+org.jmonit:jmonit:1.0-alpha-1
+org.jmonit:jmonit:1.0-alpha-2
+org.objectstyle.ashwood:ashwood:1.1
+org.objectstyle.ashwood:ashwood:2.0
+org.objectstyle.cayenne:cayenne-nodeps:1.2M12
+org.objectstyle.cayenne:cayenne-nodeps:1.2B1
+org.objectstyle.cayenne:cayenne-nodeps:1.2.3
+org.objectstyle.cayenne:cayenne-nodeps:1.2.4
+org.objectstyle.cayenne:cayenne-nodeps:1.2
+org.objectstyle.cayenne:cayenne-nodeps:1.2.1
+org.objectstyle.cayenne:cayenne-nodeps:1.2M9
+org.objectstyle.cayenne:cayenne-nodeps:1.2.2
+org.objectstyle.cayenne:cayenne-nodeps:1.2B2
+org.objectstyle.cayenne:cayenne-nodeps:1.2M6
+org.objectstyle.cayenne:cayenne-nodeps:1.2B3
+org.objectstyle.cayenne:cayenne-nodeps:1.2RC2
+org.objectstyle.cayenne:cayenne-modeler:1.2.3
+org.objectstyle.cayenne:cayenne-modeler:1.2.4
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2B1
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2.3
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2.4
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2.1
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2.2
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2B2
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2B3
+org.objectstyle.cayenne:cayenne-client-nodeps:1.2RC2
+org.objectstyle.cayenne:cayenne:1.2M12
+org.objectstyle.cayenne:cayenne:1.2B1
+org.objectstyle.cayenne:cayenne:1.2.3
+org.objectstyle.cayenne:cayenne:1.2.4
+org.objectstyle.cayenne:cayenne:1.2
+org.objectstyle.cayenne:cayenne:1.2.1
+org.objectstyle.cayenne:cayenne:1.2M9
+org.objectstyle.cayenne:cayenne:1.2.2
+org.objectstyle.cayenne:cayenne:1.2B2
+org.objectstyle.cayenne:cayenne:1.2M6
+org.objectstyle.cayenne:cayenne:1.2B3
+org.objectstyle.cayenne:cayenne:1.2RC2
+org.nakedobjects:nakedobjects:3.0.3
+org.nakedobjects:nakedobjects:3.0.2
+org.karora:cooee:1.1
+org.jbehave:jbehave:2.0
+org.jbehave:jbehave:2.0.1
+org.jbehave:jbehave:2.1
+org.jbehave:jbehave-parent:0.9.0
+org.jbehave:jbehave-parent:1.0.0
+org.jbehave:jbehave-parent:1.0.1
+org.outerj.xreporter:xreporter-expression:1.2.1
+org.outerj.xreporter:xreporter-expression:1.2.1.1
+org.outerj.xreporter:xreporter-grouping:1.2.1.1
+org.outerj.daisy:daisy-htmlcleaner:1.4.1
+org.outerj.daisy:daisy-util:1.4.1
+org.springmodules:spring-modules-validation:0.6
+org.springmodules:spring-modules-validation:0.8
+org.springmodules:spring-modules-validation:0.8a
+org.springmodules:spring-modules-validation:0.7
+org.springmodules:spring-modules-validation:0.5
+org.springmodules:spring-modules-flux:0.6
+org.springmodules:spring-modules-flux:0.8
+org.springmodules:spring-modules-flux:0.8a
+org.springmodules:spring-modules-flux:0.7
+org.springmodules:spring-modules-flux:0.5
+org.springmodules:spring-modules-javaspaces:0.6
+org.springmodules:spring-modules-javaspaces:0.8
+org.springmodules:spring-modules-javaspaces:0.8a
+org.springmodules:spring-modules-javaspaces:0.7
+org.springmodules:spring-modules-javaspaces:0.5
+org.springmodules:spring-modules-hivemind:0.6
+org.springmodules:spring-modules-hivemind:0.8
+org.springmodules:spring-modules-hivemind:0.8a
+org.springmodules:spring-modules-hivemind:0.7
+org.springmodules:spring-modules-hivemind:0.5
+org.springmodules:spring-modules-lucene:0.6
+org.springmodules:spring-modules-lucene:0.8
+org.springmodules:spring-modules-lucene:0.8a
+org.springmodules:spring-modules-lucene:0.7
+org.springmodules:spring-modules-lucene:0.5
+org.springmodules:spring-modules-springmvc-extra:0.6
+org.springmodules:spring-modules-springmvc-extra:0.8
+org.springmodules:spring-modules-springmvc-extra:0.8a
+org.springmodules:spring-modules-springmvc-extra:0.7
+org.springmodules:spring-modules-springmvc-extra:0.5
+org.springmodules:spring-modules-osworkflow:0.6
+org.springmodules:spring-modules-osworkflow:0.8
+org.springmodules:spring-modules-osworkflow:0.8a
+org.springmodules:spring-modules-osworkflow:0.7
+org.springmodules:spring-modules-osworkflow:0.5
+org.springmodules:spring-modules-tapestry:0.6
+org.springmodules:spring-modules-tapestry:0.8
+org.springmodules:spring-modules-tapestry:0.8a
+org.springmodules:spring-modules-tapestry:0.7
+org.springmodules:spring-modules-tapestry:0.5
+org.springmodules:spring-modules-ant:0.8
+org.springmodules:spring-modules-ant:0.8a
+org.springmodules:spring-modules-ant:0.7
+org.springmodules:spring-modules-jsr94:0.6
+org.springmodules:spring-modules-jsr94:0.8
+org.springmodules:spring-modules-jsr94:0.8a
+org.springmodules:spring-modules-jsr94:0.7
+org.springmodules:spring-modules-jsr94:0.5
+org.springmodules:spring-modules-xt:0.6
+org.springmodules:spring-modules-xt:0.8
+org.springmodules:spring-modules-xt:0.8a
+org.springmodules:spring-modules-xt:0.7
+org.springmodules:spring-modules-xt:0.5
+org.springmodules:springmodules-validation:0.6
+org.springmodules:spring-modules-jbpm30:0.6
+org.springmodules:spring-modules-jbpm30:0.8
+org.springmodules:spring-modules-jbpm30:0.8a
+org.springmodules:spring-modules-jbpm30:0.7
+org.springmodules:spring-modules-jbpm30:0.5
+org.springmodules:spring-modules-ojb:0.6
+org.springmodules:spring-modules-ojb:0.8
+org.springmodules:spring-modules-ojb:0.8a
+org.springmodules:spring-modules-ojb:0.7
+org.springmodules:spring-modules-orbroker:0.6
+org.springmodules:spring-modules-orbroker:0.8
+org.springmodules:spring-modules-orbroker:0.8a
+org.springmodules:spring-modules-orbroker:0.7
+org.springmodules:spring-modules-db4o:0.8a
+org.springmodules:spring-modules-cache:0.6
+org.springmodules:spring-modules-cache:0.8
+org.springmodules:spring-modules-cache:0.8a
+org.springmodules:spring-modules-cache:0.7
+org.springmodules:spring-modules-cache:0.5
+org.springmodules:spring-modules-aop:0.6
+org.springmodules:spring-modules-aop:0.8
+org.springmodules:spring-modules-aop:0.8a
+org.springmodules:spring-modules-aop:0.7
+org.springmodules:spring-modules-aop:0.5
+org.springmodules:spring-modules-template:0.6
+org.springmodules:spring-modules-template:0.8
+org.springmodules:spring-modules-template:0.8a
+org.springmodules:spring-modules-template:0.7
+org.springmodules:spring-modules-template:0.5
+org.springmodules:spring-modules-jbpm31:0.6
+org.springmodules:spring-modules-jbpm31:0.8
+org.springmodules:spring-modules-jbpm31:0.8a
+org.springmodules:spring-modules-jbpm31:0.7
+org.springmodules:spring-modules-jbpm31:0.5
+org.springmodules:spring-modules-jakarta-commons:0.6
+org.springmodules:spring-modules-jakarta-commons:0.8
+org.springmodules:spring-modules-jakarta-commons:0.8a
+org.springmodules:spring-modules-jakarta-commons:0.7
+org.springmodules:spring-modules-jakarta-commons:0.5
+org.springmodules:spring-modules-jcr:0.6
+org.springmodules:spring-modules-jcr:0.8
+org.springmodules:spring-modules-jcr:0.8a
+org.springmodules:spring-modules-jcr:0.7
+org.springmodules:spring-modules-jcr:0.5
+org.enhydra.xmlc:xmlc:2.2.7.1
+org.enhydra.xmlc:xmlc-base:2.2.7.1
+org.enhydra.xmlc:xmlc-wml:2.2.7.1
+org.enhydra.xmlc:xmlc-all-runtime:2.2.7.1
+org.enhydra.xmlc:xmlc-taskdef:2.2.7.1
+org.enhydra.xmlc:xmlc-chtml:2.2.7.1
+org.enhydra.xmlc:jtidy:r7-20052011.104500
+org.enhydra.xmlc:xmlc-voicexml:2.2.7.1
+org.enhydra.xmlc:wireless:2.2.7.1
+org.enhydra.xmlc:xmlc-xerces:2.2.7.1
+org.enhydra.xmlc:xhtml:2.2.7.1
+org.testaco:testaco:0.9.9
+org.testaco:testaco:0.9.10
+org.codehaus.gant:gant:1.4.0
+org.codehaus.jremoting:jremoting-parent:1.0-beta-1
+org.codehaus.jremoting:jremoting-parent:1.0
+org.codehaus.jremoting:jremoting-parent:1.0.1
+org.codehaus.enunciate:enunciate-amf:1.7-RC2
+org.codehaus.enunciate:enunciate-amf:1.6
+org.codehaus.enunciate:enunciate-amf:1.7-RC1
+org.codehaus.enunciate:enunciate-amf:1.7
+org.codehaus.enunciate:enunciate-amf:1.6-RC1
+org.codehaus.enunciate:enunciate-integration-jersey-storage:1.8-beta1
+org.codehaus.enunciate:enunciate-integration-jersey-storage:1.8
+org.codehaus.enunciate:enunciate-integration-jersey-storage:1.8.1
+org.codehaus.enunciate:enunciate-build-support:1.0
+org.codehaus.enunciate:enunciate-rt:1.7-RC2
+org.codehaus.enunciate:enunciate-rt:1.6
+org.codehaus.enunciate:enunciate-rt:1.7-RC1
+org.codehaus.enunciate:enunciate-rt:1.7
+org.codehaus.enunciate:enunciate-rt:1.6-RC1
+org.codehaus.enunciate:enunciate-gwt-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-gwt-tools:1.6
+org.codehaus.enunciate:enunciate-gwt-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-gwt-tools:1.5
+org.codehaus.enunciate:enunciate-gwt-tools:1.4
+org.codehaus.enunciate:enunciate-gwt-tools:1.7
+org.codehaus.enunciate:enunciate-gwt-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-gwt-tools:1.5-RC1
+org.codehaus.enunciate:enunciate-docs:1.1
+org.codehaus.enunciate:enunciate-docs:1.7-RC2
+org.codehaus.enunciate:enunciate-docs:1.6
+org.codehaus.enunciate:enunciate-docs:1.2
+org.codehaus.enunciate:enunciate-docs:1.3
+org.codehaus.enunciate:enunciate-docs:1.7-RC1
+org.codehaus.enunciate:enunciate-docs:1.5
+org.codehaus.enunciate:enunciate-docs:1.4
+org.codehaus.enunciate:enunciate-docs:1.7
+org.codehaus.enunciate:enunciate-docs:1.1-RC1
+org.codehaus.enunciate:enunciate-docs:1.6-RC1
+org.codehaus.enunciate:enunciate-docs:1.5-RC1
+org.codehaus.enunciate:enunciate-integration-xfire-rest:1.8-beta1
+org.codehaus.enunciate:enunciate-integration-xfire-rest:1.8
+org.codehaus.enunciate:enunciate-integration-xfire-rest:1.8.1
+org.codehaus.enunciate:enunciate-parent:1.8-beta1
+org.codehaus.enunciate:enunciate-parent:1.8
+org.codehaus.enunciate:enunciate-parent:1.8.1
+org.codehaus.enunciate:enunciate-test-integration:1.7-RC2
+org.codehaus.enunciate:enunciate-test-integration:1.7-RC1
+org.codehaus.enunciate:enunciate-test-integration:1.7
+org.codehaus.enunciate:enunciate-xml:1.1
+org.codehaus.enunciate:enunciate-xml:1.7-RC2
+org.codehaus.enunciate:enunciate-xml:1.6
+org.codehaus.enunciate:enunciate-xml:1.2
+org.codehaus.enunciate:enunciate-xml:1.3
+org.codehaus.enunciate:enunciate-xml:1.7-RC1
+org.codehaus.enunciate:enunciate-xml:1.5
+org.codehaus.enunciate:enunciate-xml:1.4
+org.codehaus.enunciate:enunciate-xml:1.7
+org.codehaus.enunciate:enunciate-xml:1.1-RC1
+org.codehaus.enunciate:enunciate-xml:1.6-RC1
+org.codehaus.enunciate:enunciate-xml:1.5-RC1
+org.codehaus.enunciate:enunciate-rest-tools:1.1
+org.codehaus.enunciate:enunciate-rest-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-rest-tools:1.6
+org.codehaus.enunciate:enunciate-rest-tools:1.2
+org.codehaus.enunciate:enunciate-rest-tools:1.3
+org.codehaus.enunciate:enunciate-rest-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-rest-tools:1.5
+org.codehaus.enunciate:enunciate-rest-tools:1.4
+org.codehaus.enunciate:enunciate-rest-tools:1.7
+org.codehaus.enunciate:enunciate-rest-tools:1.1-RC1
+org.codehaus.enunciate:enunciate-rest-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-rest-tools:1.5-RC1
+org.codehaus.enunciate:enunciate-full:1.7-RC2
+org.codehaus.enunciate:enunciate-full:1.7-RC1
+org.codehaus.enunciate:enunciate-full:1.7
+org.codehaus.enunciate:enunciate-gwt:1.7-RC2
+org.codehaus.enunciate:enunciate-gwt:1.6
+org.codehaus.enunciate:enunciate-gwt:1.7-RC1
+org.codehaus.enunciate:enunciate-gwt:1.5
+org.codehaus.enunciate:enunciate-gwt:1.4
+org.codehaus.enunciate:enunciate-gwt:1.7
+org.codehaus.enunciate:enunciate-gwt:1.6-RC1
+org.codehaus.enunciate:enunciate-gwt:1.5-RC1
+org.codehaus.enunciate:maven-enunciate-plugin:1.1
+org.codehaus.enunciate:maven-enunciate-plugin:1.6
+org.codehaus.enunciate:maven-enunciate-plugin:1.2
+org.codehaus.enunciate:maven-enunciate-plugin:1.3
+org.codehaus.enunciate:maven-enunciate-plugin:1.2.1
+org.codehaus.enunciate:maven-enunciate-plugin:1.7-RC1
+org.codehaus.enunciate:maven-enunciate-plugin:1.5
+org.codehaus.enunciate:maven-enunciate-plugin:1.4
+org.codehaus.enunciate:maven-enunciate-plugin:1.7
+org.codehaus.enunciate:maven-enunciate-plugin:1.1-RC1
+org.codehaus.enunciate:maven-enunciate-plugin:1.6-RC1
+org.codehaus.enunciate:maven-enunciate-plugin:1.6.1
+org.codehaus.enunciate:maven-enunciate-plugin:1.5-RC1
+org.codehaus.enunciate:enunciate-top:1.1
+org.codehaus.enunciate:enunciate-top:1.7-RC2
+org.codehaus.enunciate:enunciate-top:1.6
+org.codehaus.enunciate:enunciate-top:1.2
+org.codehaus.enunciate:enunciate-top:1.3
+org.codehaus.enunciate:enunciate-top:1.7-RC1
+org.codehaus.enunciate:enunciate-top:1.5
+org.codehaus.enunciate:enunciate-top:1.4
+org.codehaus.enunciate:enunciate-top:1.7
+org.codehaus.enunciate:enunciate-top:1.1-RC1
+org.codehaus.enunciate:enunciate-top:1.6-RC1
+org.codehaus.enunciate:enunciate-top:1.5-RC1
+org.codehaus.enunciate:enunciate-core:1.1
+org.codehaus.enunciate:enunciate-core:1.7-RC2
+org.codehaus.enunciate:enunciate-core:1.6
+org.codehaus.enunciate:enunciate-core:1.2
+org.codehaus.enunciate:enunciate-core:1.3
+org.codehaus.enunciate:enunciate-core:1.7-RC1
+org.codehaus.enunciate:enunciate-core:1.5
+org.codehaus.enunciate:enunciate-core:1.4
+org.codehaus.enunciate:enunciate-core:1.7
+org.codehaus.enunciate:enunciate-core:1.1-RC1
+org.codehaus.enunciate:enunciate-core:1.6-RC1
+org.codehaus.enunciate:enunciate-core:1.5-RC1
+org.codehaus.enunciate:enunciate-xfire-client:1.1
+org.codehaus.enunciate:enunciate-xfire-client:1.7-RC2
+org.codehaus.enunciate:enunciate-xfire-client:1.6
+org.codehaus.enunciate:enunciate-xfire-client:1.2
+org.codehaus.enunciate:enunciate-xfire-client:1.3
+org.codehaus.enunciate:enunciate-xfire-client:1.7-RC1
+org.codehaus.enunciate:enunciate-xfire-client:1.5
+org.codehaus.enunciate:enunciate-xfire-client:1.4
+org.codehaus.enunciate:enunciate-xfire-client:1.7
+org.codehaus.enunciate:enunciate-xfire-client:1.1-RC1
+org.codehaus.enunciate:enunciate-xfire-client:1.6-RC1
+org.codehaus.enunciate:enunciate-xfire-client:1.5-RC1
+org.codehaus.enunciate:enunciate-spring-app-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-spring-app-tools:1.6
+org.codehaus.enunciate:enunciate-spring-app-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-spring-app-tools:1.5
+org.codehaus.enunciate:enunciate-spring-app-tools:1.7
+org.codehaus.enunciate:enunciate-spring-app-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-spring-app-tools:1.5-RC1
+org.codehaus.enunciate:enunciate-spring-app:1.7-RC2
+org.codehaus.enunciate:enunciate-spring-app:1.6
+org.codehaus.enunciate:enunciate-spring-app:1.7-RC1
+org.codehaus.enunciate:enunciate-spring-app:1.5
+org.codehaus.enunciate:enunciate-spring-app:1.7
+org.codehaus.enunciate:enunciate-spring-app:1.6-RC1
+org.codehaus.enunciate:enunciate-spring-app:1.5-RC1
+org.codehaus.enunciate:enunciate-rest:1.1
+org.codehaus.enunciate:enunciate-rest:1.7-RC2
+org.codehaus.enunciate:enunciate-rest:1.6
+org.codehaus.enunciate:enunciate-rest:1.2
+org.codehaus.enunciate:enunciate-rest:1.3
+org.codehaus.enunciate:enunciate-rest:1.7-RC1
+org.codehaus.enunciate:enunciate-rest:1.5
+org.codehaus.enunciate:enunciate-rest:1.4
+org.codehaus.enunciate:enunciate-rest:1.7
+org.codehaus.enunciate:enunciate-rest:1.1-RC1
+org.codehaus.enunciate:enunciate-rest:1.6-RC1
+org.codehaus.enunciate:enunciate-rest:1.5-RC1
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.1
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.6
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.2
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.3
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.5
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.4
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.7
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.1-RC1
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-xfire-client-tools:1.5-RC1
+org.codehaus.enunciate:enunciate-jaxws:1.1
+org.codehaus.enunciate:enunciate-jaxws:1.7-RC2
+org.codehaus.enunciate:enunciate-jaxws:1.6
+org.codehaus.enunciate:enunciate-jaxws:1.2
+org.codehaus.enunciate:enunciate-jaxws:1.3
+org.codehaus.enunciate:enunciate-jaxws:1.7-RC1
+org.codehaus.enunciate:enunciate-jaxws:1.5
+org.codehaus.enunciate:enunciate-jaxws:1.4
+org.codehaus.enunciate:enunciate-jaxws:1.7
+org.codehaus.enunciate:enunciate-jaxws:1.1-RC1
+org.codehaus.enunciate:enunciate-jaxws:1.6-RC1
+org.codehaus.enunciate:enunciate-jaxws:1.5-RC1
+org.codehaus.enunciate:enunciate-xfire:1.1
+org.codehaus.enunciate:enunciate-xfire:1.7-RC2
+org.codehaus.enunciate:enunciate-xfire:1.6
+org.codehaus.enunciate:enunciate-xfire:1.2
+org.codehaus.enunciate:enunciate-xfire:1.3
+org.codehaus.enunciate:enunciate-xfire:1.7-RC1
+org.codehaus.enunciate:enunciate-xfire:1.5
+org.codehaus.enunciate:enunciate-xfire:1.4
+org.codehaus.enunciate:enunciate-xfire:1.7
+org.codehaus.enunciate:enunciate-xfire:1.1-RC1
+org.codehaus.enunciate:enunciate-xfire:1.6-RC1
+org.codehaus.enunciate:enunciate-xfire:1.5-RC1
+org.codehaus.enunciate:enunciate-core-tools:1.1
+org.codehaus.enunciate:enunciate-core-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-core-tools:1.6
+org.codehaus.enunciate:enunciate-core-tools:1.2
+org.codehaus.enunciate:enunciate-core-tools:1.3
+org.codehaus.enunciate:enunciate-core-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-core-tools:1.5
+org.codehaus.enunciate:enunciate-core-tools:1.4
+org.codehaus.enunciate:enunciate-core-tools:1.7
+org.codehaus.enunciate:enunciate-core-tools:1.1-RC1
+org.codehaus.enunciate:enunciate-core-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-core-tools:1.5-RC1
+org.codehaus.enunciate:enunciate-amf-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-amf-tools:1.6
+org.codehaus.enunciate:enunciate-amf-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-amf-tools:1.7
+org.codehaus.enunciate:enunciate-amf-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-xfire-tools:1.1
+org.codehaus.enunciate:enunciate-xfire-tools:1.7-RC2
+org.codehaus.enunciate:enunciate-xfire-tools:1.6
+org.codehaus.enunciate:enunciate-xfire-tools:1.2
+org.codehaus.enunciate:enunciate-xfire-tools:1.3
+org.codehaus.enunciate:enunciate-xfire-tools:1.7-RC1
+org.codehaus.enunciate:enunciate-xfire-tools:1.5
+org.codehaus.enunciate:enunciate-xfire-tools:1.4
+org.codehaus.enunciate:enunciate-xfire-tools:1.7
+org.codehaus.enunciate:enunciate-xfire-tools:1.1-RC1
+org.codehaus.enunciate:enunciate-xfire-tools:1.6-RC1
+org.codehaus.enunciate:enunciate-xfire-tools:1.5-RC1
+org.codehaus.modello:modello:1.0-alpha-2-SNAPSHOT
+org.codehaus.modello:modello:1.0-alpha-2-SNAPSHOT
+org.codehaus.modello:modello:1.0-alpha-1
+org.codehaus.modello:modello:1.0-alpha-2-SNAPSHOT
+org.codehaus.modello:modello:1.0-alpha-2-SNAPSHOT
+org.codehaus.modello:modello:1.0-alpha-19
+org.codehaus.modello:modello:1.0-alpha-7
+org.codehaus.modello:modello:1.0-alpha-16
+org.codehaus.modello:modello:1.0-alpha-15
+org.codehaus.modello:modello:1.0-alpha-10
+org.codehaus.modello:modello:1.0-alpha-9
+org.codehaus.modello:modello:1.0-alpha-18
+org.codehaus.modello:modello:1.0-alpha-4
+org.codehaus.modello:modello:1.0-alpha-21
+org.codehaus.modello:modello:1.0-alpha-17
+org.codehaus.modello:modello:1.0-alpha-12
+org.codehaus.modello:modello:1.0-alpha-8
+org.codehaus.modello:modello:1.0-alpha-6
+org.codehaus.modello:modello:1.0-alpha-14
+org.codehaus.modello:modello:1.0-alpha-20
+org.codehaus.modello:modello:test-1.0-alpha-2
+org.codehaus.modello:modello:1.0-alpha-13
+org.codehaus.modello:modello:1.0-alpha-3
+org.codehaus.modello:modello:test-1.0-alpha-1
+org.codehaus.modello:modello:1.0-alpha-11
+org.codehaus.modello:modello:1.0-alpha-1
+org.codehaus.modello:modello:1.0-alpha-2
+org.codehaus.modello:modello-core:1.0-alpha-7
+org.codehaus.modello:modello-core:1.0-alpha-15
+org.codehaus.modello:modello-core:1.0-alpha-10
+org.codehaus.modello:modello-core:1.0-alpha-9
+org.codehaus.modello:modello-core:1.0-alpha-4
+org.codehaus.modello:modello-core:1.0-alpha-12
+org.codehaus.modello:modello-core:1.0-alpha-8
+org.codehaus.modello:modello-core:1.0-alpha-6
+org.codehaus.modello:modello-core:1.0-alpha-14
+org.codehaus.modello:modello-core:1.0-alpha-13
+org.codehaus.modello:modello-core:1.0-alpha-5
+org.codehaus.modello:modello-core:1.0-alpha-11
+org.codehaus.modello:modello-core:1.0-alpha-1
+org.codehaus.modello:modello-plugin-xsd:1.0-alpha-6
+org.codehaus.modello:modello-plugin-xsd:1.0-alpha-5
+org.codehaus.modello:modello-plugin-prevayler:1.0-alpha-6
+org.codehaus.modello:modello-plugin-prevayler:1.0-alpha-5
+org.codehaus.modello:modello-plugin-prevayler:1.0-alpha-1
+org.codehaus.modello:modello-plugin-xdoc:1.0-alpha-6
+org.codehaus.modello:modello-plugin-xdoc:1.0-alpha-5
+org.codehaus.modello:modello-plugin-xml:1.0-alpha-6
+org.codehaus.modello:modello-plugin-xml:1.0-alpha-5
+org.codehaus.modello:modello-plugin-store:1.0-alpha-6
+org.codehaus.modello:modello-plugin-store:1.0-alpha-5
+org.codehaus.modello:modello-plugin-store:1.0-alpha-1
+org.codehaus.modello:modello-plugins:1.0-alpha-6
+org.codehaus.modello:modello-plugins:1.0-alpha-5
+org.codehaus.modello:modello-maven-plugin:1.0-alpha-6
+org.codehaus.modello:modello-maven-plugin:1.0-alpha-5
+org.codehaus.modello:modello-test:1.0-alpha-7
+org.codehaus.modello:modello-test:1.0-alpha-15
+org.codehaus.modello:modello-test:1.0-alpha-10
+org.codehaus.modello:modello-test:1.0-alpha-9
+org.codehaus.modello:modello-test:1.0-alpha-4
+org.codehaus.modello:modello-test:1.0-alpha-12
+org.codehaus.modello:modello-test:1.0-alpha-8
+org.codehaus.modello:modello-test:1.0-alpha-6
+org.codehaus.modello:modello-test:1.0-alpha-14
+org.codehaus.modello:modello-test:1.0-alpha-13
+org.codehaus.modello:modello-test:1.0-alpha-5
+org.codehaus.modello:modello-test:1.0-alpha-3
+org.codehaus.modello:modello-test:1.0-alpha-11
+org.codehaus.modello:modello-plugin-jpox:1.0-alpha-6
+org.codehaus.modello:modello-plugin-jpox:1.0-alpha-5
+org.codehaus.modello:modello-plugin-jpox:1.0-alpha-1
+org.codehaus.modello:modello-xpp3-plugin:1.0-alpha-1
+org.codehaus.modello:modello-plugin-xpp3:1.0-alpha-6
+org.codehaus.modello:modello-plugin-xpp3:1.0-alpha-5
+org.codehaus.modello:modello-xdoc-plugin:1.0-alpha-1
+org.codehaus.modello:modello-xml-plugin:1.0-alpha-1
+org.codehaus.mvel:mvel:1.2.19-java1.4
+org.codehaus.mvel:mvel:1.2.21-java1.6
+org.codehaus.mvel:mvel:1.2.20-java1.4
+org.codehaus.mvel:mvel:1.2.22-java1.6
+org.codehaus.mvel:mvel:1.2.20-java1.6
+org.codehaus.mvel:mvel:1.2.19-java1.6
+org.codehaus.mvel:mvel:1.2.22-java1.5
+org.codehaus.mvel:mvel:1.2.18-java1.4
+org.codehaus.mvel:mvel:1.2.21-java1.4
+org.codehaus.mvel:mvel:1.2.19-java1.5
+org.codehaus.mvel:mvel:1.2.18-java1.5
+org.codehaus.mvel:mvel:1.2.20-java1.5
+org.codehaus.mvel:mvel:1.2.18-java1.6
+org.codehaus.mvel:mvel:1.2.21-java1.5
+org.codehaus.wadi:wadi:2.0-M8
+org.codehaus.wadi:wadi:2.0
+org.codehaus.wadi:wadi:2.0-M10
+org.codehaus.wadi:wadi:2.0-M6
+org.codehaus.wadi:wadi:2.0-M9
+org.codehaus.wadi:wadi:2.0-M7
+org.codehaus.wadi:wadi:2.0-M5
+org.codehaus.wadi:wadi:2.0M2
+org.codehaus.wadi:wadi:2.0M3
+org.codehaus.wadi:wadi:2.0-M4
+org.codehaus.httpcache4j.clients:clients:1.0-RC2
+org.codehaus.httpcache4j:httpcache4j:1.0-RC1
+org.codehaus.httpcache4j:httpcache4j:1.0-RC2
+org.codehaus.httpcache4j:httpcache4j-parent:1
+org.codehaus.stomp:stompconnect:1.0
+org.codehaus.izpack:izpack-parent:2
+org.codehaus.izpack:izpack-parent:1
+org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4
+org.codehaus.plexus:plexus-interactivity:1.0-alpha-4
+org.codehaus.plexus:plexus-compiler-api:1.5.1
+org.codehaus.plexus:plexus-compiler-javac:1.5.1
+org.codehaus.plexus:plexus-input-handler-api:1.0-alpha-3
+org.codehaus.plexus:plexus:1.0.8
+org.codehaus.plexus:plexus:1.0.12
+org.codehaus.plexus:plexus:1.0.11
+org.codehaus.plexus:plexus:2.0.0
+org.codehaus.plexus:plexus:1.0.13
+org.codehaus.plexus:plexus:1.0.9
+org.codehaus.plexus:plexus:1.0.10
+org.codehaus.plexus:plexus-input-handler:1.0-alpha-3
+org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-1
+org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2
+org.codehaus.plexus:plexus-graph:1.0-alpha-1
+org.codehaus.plexus.redback:redback:1.0.3
+org.codehaus.plexus.redback:redback:1.0
+org.codehaus.plexus.redback:redback:1.0-alpha-4
+org.codehaus.plexus.redback:redback:1.0.1
+org.codehaus.plexus.redback:redback:1.0.2
+org.codehaus.plexus.redback:redback:1.0-alpha-3
+org.codehaus.plexus.redback:redback:1.0-alpha-1
+org.codehaus.plexus.redback:redback:1.0-alpha-2
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-7
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-4
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-5
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-3
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-1
+org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-2
+org.codehaus.plexus:plexus-compiler:1.5.1
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-5
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-6
+org.codehaus.plexus:plexus-classworlds:1.2
+org.codehaus.plexus:plexus-classworlds:1.3
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-11
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-1
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-3
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-13
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-4
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-8
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-10
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-7
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-12
+org.codehaus.plexus:plexus-classworlds:1.2-alpha-9
+org.codehaus.plexus:plexus-velocity:1.1.2
+org.codehaus.plexus.redback:redback:1.0-alpha-4
+org.codehaus.plexus.redback:redback:1.0-alpha-3
+org.codehaus.plexus.redback:redback:1.0-alpha-1
+org.codehaus.plexus.redback:redback:1.0-alpha-2
+org.codehaus.plexus:plexus-security:1.0-alpha-1
+org.codehaus.plexus:plexus-interactivity-jline:1.0-alpha-4
+org.codehaus.plexus.examples:plexus-example-hello-world:1.0
+org.codehaus.plexus.examples:plexus-examples:1
+org.codehaus.plexus:plexus-input-handler-jline:1.0-alpha-3
+org.codehaus.plexus:plexus-compilers:1.5.2
+org.codehaus.plexus:plexus-compilers:1.5.3
+org.codehaus.plexus:plexus-compilers:1.5.1
+org.codehaus.plexus:plexus-compiler-manager:1.5.1
+org.codehaus.plexus:plexus-cli:1.1
+org.codehaus.plexus:plexus-cli:1.2
+org.codehaus.plexus:plexus-cli:1.3
+org.codehaus.plexus:plexus-cli:1.0
+org.codehaus.plexus:plexus-cli:1.5
+org.codehaus.plexus:plexus-cli:1.4
+org.codehaus.plexus:plexus-avalon-personality:0.13
+org.codehaus.plexus.security:plexus-security:1.0-alpha-7
+org.codehaus.plexus.security:plexus-security:1.0-alpha-10
+org.codehaus.plexus.security:plexus-security:1.0-alpha-9
+org.codehaus.plexus.security:plexus-security:1.0-alpha-4
+org.codehaus.plexus.security:plexus-security:1.0-alpha-8
+org.codehaus.plexus.security:plexus-security:1.0-alpha-6
+org.codehaus.plexus.security:plexus-security:1.0-alpha-5
+org.codehaus.plexus.security:plexus-security:1.0-alpha-11
+org.codehaus.plexus:plexus-bsh-factory:1.0-alpha-7
+org.codehaus.plexus:plexus-compiler-eclipse:1.5.1
+org.codehaus.plexus:plexus-acegi-integration:0.1
+org.codehaus.plexus:plexus-archiver:1.0-alpha-3
+org.codehaus.plexus:plexus-utils:1.0.4
+org.codehaus.plexus:plexus-ftpd:1.0-alpha-1
+org.codehaus.plexus:plexus-components:1.1.13
+org.codehaus.plexus:plexus-components:1.1.5
+org.codehaus.plexus:plexus-components:1.1.3
+org.codehaus.plexus:plexus-components:1.1.6
+org.codehaus.plexus:plexus-components:1.1.8
+org.codehaus.plexus:plexus-components:1.1.9
+org.codehaus.plexus:plexus-components:1.1.11
+org.codehaus.plexus:plexus-components:1.1.7
+org.codehaus.plexus:plexus-components:1.1.4
+org.codehaus.plexus:plexus-components:1.1.10
+org.codehaus.plexus:plexus-components:1.1.12
+org.codehaus.plexus:plexus-maven-plugin:1.1-alpha-7
+org.codehaus.plexus:plexus-compiler-csharp:1.5.1
+org.codehaus.plexus:plexus-spring:1.1
+org.codehaus.plexus:plexus-spring:1.2
+org.codehaus.plexus:plexus-spring:1.0
+org.codehaus.plexus:plexus-spring:1.0.1
+org.codehaus.plexus:plexus-containers:1.0.7-alpha-1
+org.codehaus.plexus:plexus-containers:1.0-alpha-19
+org.codehaus.plexus:plexus-containers:1.0-alpha-47
+org.codehaus.plexus:plexus-containers:1.0-alpha-33
+org.codehaus.plexus:plexus-containers:1.0-alpha-16
+org.codehaus.plexus:plexus-containers:1.0-alpha-15
+org.codehaus.plexus:plexus-containers:1.0-alpha-35
+org.codehaus.plexus:plexus-containers:1.0-alpha-27
+org.codehaus.plexus:plexus-containers:1.0-alpha-28
+org.codehaus.plexus:plexus-containers:1.0.7-alpha-3
+org.codehaus.plexus:plexus-containers:1.0.3
+org.codehaus.plexus:plexus-containers:1.0-alpha-26
+org.codehaus.plexus:plexus-containers:1.0-alpha-25
+org.codehaus.plexus:plexus-containers:1.0-alpha-18
+org.codehaus.plexus:plexus-containers:1.0-alpha-21
+org.codehaus.plexus:plexus-containers:1.0-alpha-45
+org.codehaus.plexus:plexus-containers:1.0.5
+org.codehaus.plexus:plexus-containers:1.0-alpha-24
+org.codehaus.plexus:plexus-containers:1.0-alpha-29
+org.codehaus.plexus:plexus-containers:1.0-alpha-32
+org.codehaus.plexus:plexus-containers:1.0.7-alpha-2
+org.codehaus.plexus:plexus-containers:1.0-alpha-40
+org.codehaus.plexus:plexus-containers:1.0-alpha-17
+org.codehaus.plexus:plexus-containers:1.0-alpha-30
+org.codehaus.plexus:plexus-containers:1.0-alpha-44
+org.codehaus.plexus:plexus-containers:1.0-alpha-43
+org.codehaus.plexus:plexus-containers:1.0-alpha-41
+org.codehaus.plexus:plexus-containers:1.0-alpha-38
+org.codehaus.plexus:plexus-containers:1.0-alpha-39
+org.codehaus.plexus:plexus-containers:1.0-alpha-14
+org.codehaus.plexus:plexus-containers:1.0.6
+org.codehaus.plexus:plexus-containers:1.0-alpha-20
+org.codehaus.plexus:plexus-containers:1.0-alpha-36
+org.codehaus.plexus:plexus-containers:1.0.4
+org.codehaus.plexus:plexus-containers:1.0-alpha-37
+org.codehaus.plexus:plexus-containers:1.0-alpha-23
+org.codehaus.plexus:plexus-containers:1.0-alpha-46
+org.codehaus.plexus:plexus-containers:1.0-alpha-42
+org.codehaus.plexus:plexus-containers:1.0-alpha-34
+org.codehaus.plexus:plexus-containers:1.0-alpha-48
+org.codehaus.plexus:plexus-containers:1.0-alpha-31
+org.codehaus.plexus:plexus-containers:1.0-alpha-22
+org.codehaus.plexus.registry:plexus-registry:1.0-alpha-3
+org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1
+org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2
+org.codehaus.plexus:plexus-container-default:1.0-alpha-7
+org.codehaus.plexus:plexus-container-default:1.0-alpha-8
+org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-beta-1
+org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-beta-2
+org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-4
+org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-3
+org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-1
+org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2
+org.codehaus.plexus:plexus-compiler-test:1.5.1
+org.codehaus.mevenide:mevenide2-parent:1.1
+org.codehaus.mevenide:mevenide2-parent:1.2
+org.codehaus.mevenide:mevenide2-parent:1.3
+org.codehaus.mevenide:mevenide2-parent:1.5
+org.codehaus.mevenide:mevenide2-parent:1.4
+org.codehaus.mevenide:mevenide2-parent:1.6.1
+org.codehaus.mevenide.plugins:mevenide-plugin-parent:1.0
+org.codehaus.mevenide:ide-mojos:1.2
+org.codehaus.mevenide:ide-mojos:1.3
+org.codehaus.mevenide:ide-mojos:1.4
+org.codehaus.mevenide:indexer:3.0.12
+org.codehaus.mevenide:indexer:1.0
+org.codehaus.mevenide:indexer:3.0.10
+org.codehaus.mevenide:indexer:3.0.9
+org.codehaus.btm:btm:1.2
+org.codehaus.btm:btm:1.3
+org.codehaus.btm:btm:1.3.1
+org.codehaus.btm:btm:1.3.2
+org.codehaus.redback:redback-jsecurity:1.2-beta-1
+org.codehaus.redback:redback:1.1
+org.codehaus.redback:redback:1.1.1
+org.codehaus.redback:redback:1.1.2
+org.codehaus.redback:redback:1.2-beta-1
+org.codehaus.spring-security-oauth:spring-security-oauth:2.3
+org.codehaus.spring-security-oauth:spring-security-oauth:2.4
+org.codehaus.spring-security-oauth:spring-security-oauth:2.0
+org.codehaus.spring-security-oauth:spring-security-oauth:1.0
+org.codehaus.spring-security-oauth:spring-security-oauth:2.1
+org.codehaus.spring-security-oauth:spring-security-oauth:2.2
+org.codehaus.woodstox:wstx-lgpl:3.2.0
+org.codehaus.woodstox:wstx-lgpl:3.2.2
+woodstox:wstx-lgpl:3.0.1
+org.codehaus.woodstox:wstx-lgpl:3.2.7
+org.codehaus.woodstox:wstx-lgpl:3.1.2
+woodstox:wstx-lgpl:3.0.3
+woodstox:wstx-lgpl:3.1.1
+org.codehaus.woodstox:wstx-lgpl:3.2.6
+woodstox:wstx-lgpl:3.0.4
+org.codehaus.woodstox:woodstox-core-lgpl:3.9.9-1
+org.codehaus.woodstox:wstx-lgpl:3.2.4
+org.codehaus.woodstox:wstx-lgpl:3.2.1
+woodstox:wstx-lgpl:3.0.2
+org.codehaus.woodstox:wstx-lgpl:3.2.5
+org.codehaus.woodstox:wstx-lgpl:3.2.3
+woodstox:wstx-lgpl:3.1.0
+org.codehaus.woodstox:wstx-asl:3.2.0
+org.codehaus.woodstox:wstx-asl:3.2.2
+woodstox:wstx-asl:3.0.1
+woodstox:wstx-lgpl:3.0.1
+woodstox:wstx-asl:3.0.0
+woodstox:wstx-lgpl:3.0.0
+org.codehaus.woodstox:wstx-asl:3.2.7
+org.codehaus.woodstox:wstx-asl:3.1.2
+woodstox:wstx-asl:3.0.3
+woodstox:wstx-lgpl:3.1.1
+org.codehaus.woodstox:wstx-asl:3.2.6
+woodstox:wstx-asl:3.0.4
+org.codehaus.woodstox:woodstox-core-asl:3.9.9-1
+org.codehaus.woodstox:wstx-asl:3.2.4
+org.codehaus.woodstox:wstx-asl:3.2.1
+woodstox:wstx-asl:3.0.2
+woodstox:wstx-lgpl:3.0.2
+org.codehaus.woodstox:wstx-asl:3.2.5
+org.codehaus.woodstox:wstx-asl:3.2.3
+woodstox:wstx-asl:3.1.0
+woodstox:wstx-lgpl:3.1.0
+org.codehaus.woodstox:stax2-api:2.9.9-1
+org.codehaus.mojo:dependency-maven-plugin:1.0
+org.codehaus.mojo:mojo-parent:18
+org.codehaus.mojo.jspc:jspc:2.0-alpha-1
+org.codehaus.mojo.jspc:jspc:2.0-alpha-3
+org.codehaus.mojo.jspc:jspc:2.0-alpha-2
+org.codehaus.mojo:versions-maven-plugin:1.0-alpha-1
+org.codehaus.mojo:docbook-maven-plugin:1.0.0-alpha-1
+org.codehaus.mojo:cbuild-parent:1.0-alpha-5
+org.codehaus.mojo:cbuild-parent:1.0-alpha-3
+org.codehaus.mojo:cbuild-parent:1.0-alpha-1
+org.codehaus.mojo:cbuild-parent:1.0-alpha-2
+org.codehaus.mojo:sqlj-maven-plugin:1.0
+org.codehaus.mojo:sqlj-maven-plugin:1.0-alpha-1
+org.codehaus.mojo:sqlj-maven-plugin:1.0-alpha-2
+org.codehaus.mojo:fitnesse-maven-plugin:1.0-beta-1
+org.codehaus.mojo:fitnesse-maven-plugin:1.0-beta-2
+org.codehaus.mojo:fitnesse-maven-plugin:1.0
+org.codehaus.mojo:fitnesse-maven-plugin:1.0-alpha-1
+org.codehaus.mojo:changes-maven-plugin:2.0-beta-1
+org.codehaus.mojo:mojo:15
+org.codehaus.mojo:mojo:9
+org.codehaus.mojo:mojo:10
+org.codehaus.mojo:mojo:14
+org.codehaus.mojo:mojo:8
+org.codehaus.mojo:mojo:11
+org.codehaus.mojo:mojo:6
+org.codehaus.mojo:mojo:4
+org.codehaus.mojo:mojo:3
+org.codehaus.mojo:mojo:7
+org.codehaus.mojo:mojo:12
+org.codehaus.mojo:mojo:5
+org.codehaus.mojo:mojo:17
+org.codehaus.mojo:mojo:2
+org.codehaus.mojo:mojo:16
+org.codehaus.mojo:mojo:13
+org.codehaus.mojo.webstart-maven-plugin:pack200-anttasks:1.0
+org.codehaus.mojo:xmlbeans-maven-plugin:2.0
+org.codehaus.mojo:xmlbeans-maven-plugin:2.0-beta-1
+org.codehaus.mojo:surefire-report-maven-plugin:2.0-beta-1
+org.codehaus.mojo.appassembler:appassembler:1.0-beta-1
+org.codehaus.mojo.appassembler:appassembler:1.0-beta-2
+org.codehaus.mojo.natives:maven-native:1.0-alpha-1
+org.codehaus.mojo.natives:maven-native:1.0-alpha-2
+org.codehaus.mojo:jxr-maven-plugin:2.0-beta-1
+org.codehaus.mojo:pack200-jdk14:1.0-alpha-1
+org.codehaus.mojo:buildnumber-maven-plugin:1.0-beta-1
+org.codehaus.mojo.archetypes:mojo-archetypes:1
+org.codehaus.mojo:scmchangelog-maven-plugin:1.0
+org.codehaus.mojo:pack200-jdk15:1.0-alpha-1
+org.codehaus.mojo:jaxb2-maven-plugin:1.0
+org.codehaus.mojo:ounce-maven-plugin:1.1
+org.codehaus.mojo:ounce-maven-plugin:1.2
+org.codehaus.mojo:ounce-maven-plugin:1.0
+org.codehaus.mojo.hibernate3:maven-hibernate3:2.0-alpha-1
+org.codehaus.mojo.hibernate3:maven-hibernate3:2.0
+org.codehaus.mojo.hibernate3:maven-hibernate3:2.1
+org.codehaus.mojo.hibernate3:maven-hibernate3:2.0-alpha-2
+org.codehaus.mojo:dashboard-maven-plugin:1.0.0-beta-1
+org.codehaus.mojo.webstart:webstart-pack200-anttasks:1.1
+org.codehaus.mojo.webstart:webstart:1.0-alpha-2
+org.codehaus.mojo:dbunit-maven-plugin:1.0-beta-1
+org.codehaus.mojo:jasperreports-maven-plugin:1.0-beta-1
+org.codehaus.mojo:xml-maven-plugin:1.0-beta-1
+org.codehaus.mojo:xml-maven-plugin:1.0-beta-2
+org.codehaus.mojo.groovy:groovy:1.0-beta-1
+org.codehaus.mojo.groovy:groovy:1.0-beta-2
+org.codehaus.mojo.groovy:groovy:1.0-beta-3
+org.codehaus.mojo.groovy:groovy:1.0-alpha-3
+org.codehaus.mojo:changelog-maven-plugin:2.0-beta-1
+org.codehaus.mojo:taglist-maven-plugin:2.0-beta-1
+org.codehaus.mojo:jaxws-maven-plugin:1.6
+org.codehaus.mojo:jaxws-maven-plugin:1.2
+org.codehaus.mojo:jaxws-maven-plugin:1.8
+org.codehaus.mojo:jaxws-maven-plugin:1.3
+org.codehaus.mojo:jaxws-maven-plugin:1.0
+org.codehaus.mojo:jaxws-maven-plugin:1.5
+org.codehaus.mojo:jaxws-maven-plugin:1.9
+org.codehaus.mojo:jaxws-maven-plugin:1.7
+org.codehaus.mojo:jaxws-maven-plugin:1.10
+org.codehaus.mojo:native-maven-plugin:1.0-alpha-1
+org.codehaus.mojo:native-maven-plugin:1.0-alpha-2
+org.codehaus.waffle:waffle:1.1
+org.codehaus.waffle:waffle:1.2
+org.codehaus.waffle:waffle:1.3
+org.codehaus.waffle:waffle:1.0
+org.codehaus.waffle:waffle:1.0-RC-2
+org.codehaus.waffle:waffle:1.0-RC-1
+org.codehaus.waffle:waffle-parent:1.0-beta-1
+org.codehaus.swizzle:dependency-report-plugin:1.0
+org.codehaus.swizzle:dependency-report-plugin:1.0.1
+org.codehaus.swizzle:dependency-report-plugin:1.0.2
+org.codehaus.swizzle:swizzle-jiramacro:1.0
+org.codehaus.swizzle:swizzle-jirareport:1.1
+org.codehaus.swizzle:swizzle-jirareport:1.2
+org.codehaus.swizzle:swizzle-jirareport:1.0
+org.codehaus.swizzle:swizzle-jirareport:1.2.1
+org.codehaus.swizzle:swizzle-jirareport:1.2.2
+org.codehaus.swizzle:swizzle-confluence:1.1
+org.codehaus.swizzle:swizzle-confluence:1.0
+org.codehaus.swizzle:swizzle-stream:1.0
+org.codehaus.swizzle:swizzle-stream:1.0.1
+org.codehaus.swizzle:swizzle-stream:1.0.2
+org.codehaus.swizzle:swizzle-jira:1.1
+org.codehaus.swizzle:swizzle-jira:1.2
+org.codehaus.swizzle:swizzle-jira:1.3
+org.codehaus.swizzle:swizzle-jira:1.0
+org.codehaus.swizzle:swizzle-jira:1.3.1
+org.codehaus.swizzle:swizzle-jira:1.3.2
+org.codehaus.castor:spring-orm:1.1
+org.codehaus.castor:spring-orm:1.2
+org.codehaus.castor:castor-anttasks:1.2
+org.codehaus.castor:castor-anttasks:1.1.1
+org.codehaus.castor:castor-anttasks:1.1.2.1
+org.codehaus.castor:castor-anttasks:1.1.2
+org.codehaus.castor:codegen-testcase:1.0
+org.codehaus.castor:adaptx:0.9.14
+org.codehaus.castor:castor-ddlgen:1.1
+org.codehaus.castor:castor-ddlgen:1.2
+org.codehaus.castor:castor-ddlgen:1.1.1
+org.codehaus.castor:castor-ddlgen:1.1-M3
+org.codehaus.castor:castor-ddlgen:1.1.2.1
+org.codehaus.castor:castor-ddlgen:1.1-M2
+org.codehaus.castor:castor-ddlgen:1.1.2
+org.codehaus.castor:castor-jdo:1.2
+org.codehaus.castor:castor-jdo:1.1.2.1
+org.codehaus.castor:castor-jdo:1.1.2
+org.codehaus.castor:castor-codegen:1.1
+org.codehaus.castor:castor-codegen:1.2
+org.codehaus.castor:castor-codegen:1.1.1
+org.codehaus.castor:castor-codegen:1.1-M3
+org.codehaus.castor:castor-codegen:1.1.2.1
+org.codehaus.castor:castor-codegen:1.1-M2
+org.codehaus.castor:castor-codegen:1.1.2
+org.codehaus.castor:spring-xml:1.2.1
+org.codehaus.castor:castor:1.1
+org.codehaus.castor:castor:1.2
+org.codehaus.castor:castor:1.1.1
+org.codehaus.castor:castor:1.0.5
+org.codehaus.castor:castor:1.1-M3
+org.codehaus.castor:castor:1.3rc1
+org.codehaus.castor:castor:1.1.2.1
+org.codehaus.castor:castor:1.0.4
+org.codehaus.castor:castor:1.1-M1
+org.codehaus.castor:castor:1.1-M2
+org.codehaus.castor:castor:1.1.2
+org.codehaus.castor:castor-codegen-anttask:1.1
+org.codehaus.castor:castor-codegen-anttask:1.1-M3
+org.codehaus.castor:castor-codegen-anttask:1.1-M2
+org.codehaus.castor:castor-xml-schema:1.2
+org.codehaus.guessencoding:guessencoding:1.0
+org.codehaus.xdoclet:maven2-xdoclet2-plugin:2.0.6
+org.codehaus.xdoclet:maven2-xdoclet2-plugin:2.0.5
+org.codehaus.cake.attributes:cake-attributes-parent:0.1
+org.codehaus.cake:cake-root-pom:0.1
+org.codehaus.cake.cache:cake-cache-parent:0.1
+org.codehaus.cake:cake-parent:1
+org.codehaus.cake.management:cake-management:0.1
+org.codehaus.cake.util:cake-util:0.1
+org.codehaus.cake.forkjoin:cake-forkjoin-parent:0.1
+org.codehaus.cake.test:cake-test-parent:0.1
+org.codehaus.cake.internal:cake-forkjoin:0.1
+org.codehaus.cake.internal:cake-picocontainer:1.3
+org.codehaus.cake.internal:cake-bootstrap-pom:0.1
+org.codehaus.cake.internal:cake-asm:3.1
+org.codehaus.cake.ops:cake-ops:0.1
+org.codehaus.cake.service:cake-service-parent:0.1
+org.codehaus.jettison:jettison:1.0-beta-1
+org.codehaus.jettison:jettison:1.0
+org.codehaus.jettison:jettison:1.0.1
+org.codehaus.jettison:jettison:1.0-RC1
+org.codehaus.jettison:jettison:1.0-RC2
+org.codehaus.jettison:jettison:1.0-alpha-1
+org.codehaus.xharness:xharness:1.0-beta1
+org.codehaus.xharness:xharness:1.0-beta2
+org.codehaus.cargo:cargo-parent:4.1
+org.codehaus.cargo:cargo-parent:3
+org.codehaus.cargo:cargo-parent:2
+org.codehaus.cargo:cargo-parent:1
+org.codehaus.cargo:cargo:0.8
+org.codehaus.cargo:cargo:0.7
+org.codehaus.cargo:cargo-maven-plugin:1.0-beta-1
+org.codehaus.cargo:cargo-maven-plugin:0.8
+org.codehaus.cargo:cargo-maven-plugin:1.0-alpha-4
+org.codehaus.cargo:cargo-maven-plugin:0.7
+org.codehaus.cargo:cargo-maven-plugin:1.0-alpha-6
+org.codehaus.cargo:cargo-maven-plugin:0.9
+org.codehaus.cargo:cargo-maven-plugin:1.0-alpha-5
+org.codehaus.cargo:cargo-maven-plugin:1.0-alpha-3
+org.codehaus.cargo:cargo-maven-plugin:1.0-alpha-1
+org.codehaus.cargo:cargo-maven-plugin:1.0-alpha-2
+org.codehaus.openxma:javaxdelta:1.1.0
+org.codehaus.openxma:openxma:1.0.0
+org.codehaus.openxma:openxma:1.0.1
+org.codehaus.fabric3:fabric3-messaging:0.5ALPHA2
+org.codehaus.fabric3:fabric3-messaging:0.5BETA1
+org.codehaus.fabric3:fabric3-messaging:0.5ALPHA1
+org.codehaus.fabric3:fabric3-system:0.5ALPHA2
+org.codehaus.fabric3:fabric3-system:0.5BETA1
+org.codehaus.fabric3:fabric3-system:0.5ALPHA1
+org.codehaus.fabric3:fabric3-contribution-war:0.5ALPHA2
+org.codehaus.fabric3:fabric3-contribution-war:0.5BETA1
+org.codehaus.fabric3.fabric3-db-exist:sunxacml:1.0
+org.codehaus.fabric3.fabric3-db-exist:xmldb:1.0
+org.codehaus.fabric3:fabric3-jmx:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jmx:0.1
+org.codehaus.fabric3:fabric3-jmx:0.5BETA1
+org.codehaus.fabric3:fabric3-jmx:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jmx:0.2
+org.codehaus.fabric3:fabric3-maven:0.2
+org.codehaus.fabric3:fabric3-jmx-agent:0.5BETA1
+org.codehaus.fabric3:fabric3-plugins-parent-pom:0.6.5
+org.codehaus.fabric3:fabric3-plugins-parent-pom:0.6
+org.codehaus.fabric3:fabric3-transform:0.5ALPHA2
+org.codehaus.fabric3:fabric3-transform:0.3
+org.codehaus.fabric3:fabric3-transform:0.1
+org.codehaus.fabric3:fabric3-transform:0.4
+org.codehaus.fabric3:fabric3-transform:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-transform:0.5BETA1
+org.codehaus.fabric3:fabric3-transform:0.5ALPHA1
+org.codehaus.fabric3:fabric3-transform:0.2
+org.codehaus.fabric3:fabric3-binding-ws:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-ws:0.3
+org.codehaus.fabric3:fabric3-binding-ws:0.1
+org.codehaus.fabric3:fabric3-binding-ws:0.4
+org.codehaus.fabric3:fabric3-binding-ws:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-ws:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-ws:0.2
+org.codehaus.fabric3:fabric3-extension:0.3
+org.codehaus.fabric3:fabric3-extension:0.1
+org.codehaus.fabric3:fabric3-extension:0.4
+org.codehaus.fabric3:fabric3-extension:0.3.1
+org.codehaus.fabric3:fabric3-extension:0.2
+org.codehaus.fabric3:fabric3-jpa-core:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jpa-core:0.1
+org.codehaus.fabric3:fabric3-jpa-core:0.5BETA1
+org.codehaus.fabric3:fabric3-jpa-core:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jpa-core:0.2
+org.codehaus.fabric3:fabric3-mock:0.5ALPHA2
+org.codehaus.fabric3:fabric3-mock:0.1
+org.codehaus.fabric3:fabric3-mock:0.5BETA1
+org.codehaus.fabric3:fabric3-mock:0.5ALPHA1
+org.codehaus.fabric3:fabric3-mock:0.2
+org.codehaus.fabric3.spec:sca-api-r1.0:0.1
+org.codehaus.fabric3.spec:sca-api-r1.0:0.2.1
+org.codehaus.fabric3.spec:sca-api-r1.0:0.2
+org.codehaus.fabric3.spec:sca-taglib-r0.9:0.5ALPHA2
+org.codehaus.fabric3.spec:sca-taglib-r0.9:0.5BETA1
+org.codehaus.fabric3:fabric3-monitor-api:0.5ALPHA2
+org.codehaus.fabric3:fabric3-monitor-api:0.5BETA1
+org.codehaus.fabric3:fabric3-monitor-api:0.5ALPHA1
+org.codehaus.fabric3:fabric3-db-h2:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-hessian:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-hessian:0.3
+org.codehaus.fabric3:fabric3-binding-hessian:0.1
+org.codehaus.fabric3:fabric3-binding-hessian:0.4
+org.codehaus.fabric3:fabric3-binding-hessian:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-hessian:0.2.1
+org.codehaus.fabric3:fabric3-binding-hessian:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-hessian:0.2
+org.codehaus.fabric3:runtime-development:0.3
+org.codehaus.fabric3:runtime-development:0.2.1
+org.codehaus.fabric3:fabric3-jdk-proxy:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jdk-proxy:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-ejb:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-ejb:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-ejb:0.5ALPHA1
+org.codehaus.fabric3:fabric3-junit:0.5ALPHA2
+org.codehaus.fabric3:fabric3-junit:0.1
+org.codehaus.fabric3:fabric3-junit:0.5BETA1
+org.codehaus.fabric3:fabric3-junit:0.5ALPHA1
+org.codehaus.fabric3:fabric3-junit:0.2
+org.codehaus.fabric3:fabric3-console:0.1
+org.codehaus.fabric3:fabric3-console:0.5BETA1
+org.codehaus.fabric3:fabric3-console:0.5ALPHA1
+org.codehaus.fabric3:fabric3-console:0.2
+org.codehaus.fabric3:fabric3-install-jxta:0.5ALPHA2
+org.codehaus.fabric3:fabric3-install-jxta:0.1
+org.codehaus.fabric3:fabric3-install-jxta:0.5BETA1
+org.codehaus.fabric3:fabric3-install-jxta:0.5ALPHA1
+org.codehaus.fabric3:module-parent:1
+org.codehaus.fabric3:fabric3-loader:0.5ALPHA2
+org.codehaus.fabric3:fabric3-loader:0.3
+org.codehaus.fabric3:fabric3-loader:0.1
+org.codehaus.fabric3:fabric3-loader:0.4
+org.codehaus.fabric3:fabric3-loader:0.5BETA1
+org.codehaus.fabric3:fabric3-loader:0.5ALPHA1
+org.codehaus.fabric3:fabric3-loader:0.3.1
+org.codehaus.fabric3:fabric3-async-loader:0.5ALPHA2
+org.codehaus.fabric3:fabric3-async-loader:0.1
+org.codehaus.fabric3:fabric3-async-loader:0.5BETA1
+org.codehaus.fabric3:fabric3-async-loader:0.5ALPHA1
+org.codehaus.fabric3:fabric3-development:0.2
+org.codehaus.fabric3:fabric3-contribution-scanner-war:0.5ALPHA2
+org.codehaus.fabric3:fabric3-contribution-scanner-war:0.5BETA1
+org.codehaus.fabric3:fabric3-async-runtime:0.5ALPHA2
+org.codehaus.fabric3:fabric3-async-runtime:0.1
+org.codehaus.fabric3:fabric3-async-runtime:0.5BETA1
+org.codehaus.fabric3:fabric3-async-runtime:0.5ALPHA1
+org.codehaus.fabric3:fabric3-resource:0.5ALPHA2
+org.codehaus.fabric3:fabric3-resource:0.1
+org.codehaus.fabric3:fabric3-resource:0.5BETA1
+org.codehaus.fabric3:fabric3-resource:0.5ALPHA1
+org.codehaus.fabric3:fabric3-resource:0.2
+org.codehaus.fabric3:fabric3-contribution-plugin:0.6.5
+org.codehaus.fabric3:fabric3-contribution-plugin:0.5ALPHA2
+org.codehaus.fabric3:fabric3-contribution-plugin:0.3
+org.codehaus.fabric3:fabric3-contribution-plugin:0.6
+org.codehaus.fabric3:fabric3-contribution-plugin:0.1
+org.codehaus.fabric3:fabric3-contribution-plugin:0.5BETA1
+org.codehaus.fabric3:fabric3-contribution-plugin:0.2.1
+org.codehaus.fabric3:fabric3-contribution-plugin:0.5ALPHA1
+org.codehaus.fabric3:fabric3-contribution-plugin:0.5.1
+org.codehaus.fabric3:fabric3-contribution-plugin:0.5
+org.codehaus.fabric3:fabric3-contribution-plugin:0.2
+org.codehaus.fabric3:fabric3-jpa-hibernate:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jpa-hibernate:0.1
+org.codehaus.fabric3:fabric3-jpa-hibernate:0.5BETA1
+org.codehaus.fabric3:fabric3-jpa-hibernate:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jpa-hibernate:0.2
+org.codehaus.fabric3:fabric3-security:0.5ALPHA2
+org.codehaus.fabric3:fabric3-security:0.5BETA1
+org.codehaus.fabric3:fabric3-security:0.5ALPHA1
+org.codehaus.fabric3:fabric3-tx-loader:0.1
+org.codehaus.fabric3:parent:3
+org.codehaus.fabric3:parent:2
+org.codehaus.fabric3:parent:1
+org.codehaus.fabric3:fabric3-contribution-scanner-spi:0.5ALPHA2
+org.codehaus.fabric3:fabric3-contribution-scanner-spi:0.3
+org.codehaus.fabric3:fabric3-contribution-scanner-spi:0.5BETA1
+org.codehaus.fabric3:fabric3-contribution-scanner-spi:0.5ALPHA1
+org.codehaus.fabric3:fabric3-contribution-scanner-spi:0.2
+org.codehaus.fabric3:fabric3-policy-spi:0.2
+org.codehaus.fabric3:fabric3-util:0.5ALPHA2
+org.codehaus.fabric3:fabric3-util:0.1
+org.codehaus.fabric3:fabric3-util:0.5BETA1
+org.codehaus.fabric3:fabric3-util:0.5ALPHA1
+org.codehaus.fabric3.itest:itest-parent:0.1
+org.codehaus.fabric3:fabric3-jetty:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jetty:0.3
+org.codehaus.fabric3:fabric3-jetty:0.1
+org.codehaus.fabric3:fabric3-jetty:0.4
+org.codehaus.fabric3:fabric3-jetty:0.5BETA1
+org.codehaus.fabric3:fabric3-jetty:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jetty:0.2
+org.codehaus.fabric3:fabric3-conversation-propagation:0.5ALPHA2
+org.codehaus.fabric3:fabric3-conversation-propagation:0.5BETA1
+org.codehaus.fabric3:fabric3-rs:0.6.5
+org.codehaus.fabric3:fabric3-rs:0.6
+org.codehaus.fabric3:fabric3-rs:0.5.1
+org.codehaus.fabric3:fabric3-rs:0.5
+org.codehaus.fabric3:fabric3-web:0.5ALPHA2
+org.codehaus.fabric3:fabric3-web:0.5BETA1
+org.codehaus.fabric3:fabric3-groovy:0.5ALPHA2
+org.codehaus.fabric3:fabric3-groovy:0.3
+org.codehaus.fabric3:fabric3-groovy:0.5BETA1
+org.codehaus.fabric3:fabric3-groovy:0.5ALPHA1
+org.codehaus.fabric3:fabric3-groovy:0.2
+org.codehaus.fabric3:fabric3-pojo:0.5ALPHA2
+org.codehaus.fabric3:fabric3-pojo:0.3
+org.codehaus.fabric3:fabric3-pojo:0.1
+org.codehaus.fabric3:fabric3-pojo:0.4
+org.codehaus.fabric3:fabric3-pojo:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-pojo:0.5BETA1
+org.codehaus.fabric3:fabric3-pojo:0.5ALPHA1
+org.codehaus.fabric3:fabric3-pojo:0.3.1
+org.codehaus.fabric3:fabric3-pojo:0.2
+org.codehaus.fabric3:fabric3-interface-wsdl:0.5ALPHA2
+org.codehaus.fabric3:fabric3-interface-wsdl:0.5BETA1
+org.codehaus.fabric3:fabric3-interface-wsdl:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-jms:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-jms:0.3
+org.codehaus.fabric3:fabric3-binding-jms:0.1
+org.codehaus.fabric3:fabric3-binding-jms:0.4
+org.codehaus.fabric3:fabric3-binding-jms:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-jms:0.2.1
+org.codehaus.fabric3:fabric3-binding-jms:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-jms:0.2
+org.codehaus.fabric3:fabric:4
+org.codehaus.fabric3:fabric:3
+org.codehaus.fabric3:fabric:2
+org.codehaus.fabric3:fabric:1
+org.codehaus.fabric3:fabric3-binding-codegen:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-codegen:0.5BETA1
+org.codehaus.fabric3.standalone:standalone-parent:0.1
+org.codehaus.fabric3.standalone:fabric3-standalone-host:0.5ALPHA2
+org.codehaus.fabric3.standalone:fabric3-standalone-host:0.3
+org.codehaus.fabric3.standalone:fabric3-standalone-host:0.5BETA1
+org.codehaus.fabric3.standalone:fabric3-standalone-host:0.5ALPHA1
+org.codehaus.fabric3.standalone:fabric3-standalone-host:0.3.1
+org.codehaus.fabric3.standalone:fabric3-standalone-host:0.2
+org.codehaus.fabric3.standalone:fabric3-standalone-shutdown:0.5ALPHA2
+org.codehaus.fabric3.standalone:fabric3-standalone-shutdown:0.5BETA1
+org.codehaus.fabric3.standalone:fabric3-standalone-shutdown:0.5ALPHA1
+org.codehaus.fabric3.standalone:fabric3-standalone-shutdown:0.2
+org.codehaus.fabric3.standalone:fabric3-standalone-api:0.5ALPHA2
+org.codehaus.fabric3.standalone:fabric3-standalone-api:0.3
+org.codehaus.fabric3.standalone:fabric3-standalone-api:0.5BETA1
+org.codehaus.fabric3.standalone:fabric3-standalone-api:0.5ALPHA1
+org.codehaus.fabric3.standalone:fabric3-standalone-api:0.2
+org.codehaus.fabric3.standalone:fabric3-standalone-server:0.5ALPHA2
+org.codehaus.fabric3.standalone:fabric3-standalone-server:0.3
+org.codehaus.fabric3.standalone:fabric3-standalone-server:0.5BETA1
+org.codehaus.fabric3.standalone:fabric3-standalone-server:0.5ALPHA1
+org.codehaus.fabric3.standalone:fabric3-standalone-server:0.2
+org.codehaus.fabric3:fabric3-maven-host:0.5ALPHA2
+org.codehaus.fabric3:fabric3-maven-host:0.3
+org.codehaus.fabric3:fabric3-maven-host:0.4
+org.codehaus.fabric3:fabric3-maven-host:0.5BETA1
+org.codehaus.fabric3:fabric3-maven-host:0.5ALPHA1
+org.codehaus.fabric3:fabric3-marshal-xstream:0.5ALPHA2
+org.codehaus.fabric3:fabric3-marshal-xstream:0.5BETA1
+org.codehaus.fabric3:fabric3-marshal-xstream:0.5ALPHA1
+org.codehaus.fabric3:fabric3-transform-api:0.5ALPHA2
+org.codehaus.fabric3:fabric3-transform-api:0.5BETA1
+org.codehaus.fabric3:fabric3-features-parent-pom:0.6.5
+org.codehaus.fabric3:fabric3-features-parent-pom:0.6
+org.codehaus.fabric3:fabric3-modules-parent-pom:0.6.5
+org.codehaus.fabric3:fabric3-modules-parent-pom:0.6
+org.codehaus.fabric3:fabric3-modules-parent-pom:0.5.1
+org.codehaus.fabric3:fabric3-modules-parent-pom:0.5
+org.codehaus.fabric3:fabric3-introspection-spi:0.5ALPHA2
+org.codehaus.fabric3:fabric3-introspection-spi:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-introspection-spi:0.5BETA1
+org.codehaus.fabric3:fabric3-introspection-spi:0.5ALPHA1
+org.codehaus.fabric3.development:fabric3-development-host:0.2.1
+org.codehaus.fabric3.development:fabric3-development-host:0.2
+org.codehaus.fabric3.development:development-parent:0.1
+org.codehaus.fabric3.development:fabric3-development-api:0.3
+org.codehaus.fabric3.development:fabric3-development-api:0.2
+org.codehaus.fabric3:fabric3-jpa-spi:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jpa-spi:0.1
+org.codehaus.fabric3:fabric3-jpa-spi:0.5BETA1
+org.codehaus.fabric3:fabric3-jpa-spi:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jpa-spi:0.2
+org.codehaus.fabric3:fabric3-java:0.5ALPHA2
+org.codehaus.fabric3:fabric3-java:0.1
+org.codehaus.fabric3:fabric3-java:0.5BETA1
+org.codehaus.fabric3:fabric3-java:0.5ALPHA1
+org.codehaus.fabric3:fabric3-java:0.2
+org.codehaus.fabric3:fabric3-feature-set-plugin:0.6.5
+org.codehaus.fabric3:fabric3-feature-set-plugin:0.6
+org.codehaus.fabric3:fabric3-messaging-jxta:0.5ALPHA2
+org.codehaus.fabric3:fabric3-messaging-jxta:0.1
+org.codehaus.fabric3:fabric3-messaging-jxta:0.5BETA1
+org.codehaus.fabric3:fabric3-messaging-jxta:0.5ALPHA1
+org.codehaus.fabric3:fabric3-messaging-jxta:0.2
+org.codehaus.fabric3:fabric3-host-api:0.5ALPHA2
+org.codehaus.fabric3:fabric3-host-api:0.3
+org.codehaus.fabric3:fabric3-host-api:0.1
+org.codehaus.fabric3:fabric3-host-api:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-host-api:0.5BETA1
+org.codehaus.fabric3:fabric3-host-api:0.5ALPHA1
+org.codehaus.fabric3:fabric3-host-api:0.2
+org.codehaus.fabric3:fabric3-itest-plugin:0.5ALPHA2
+org.codehaus.fabric3:fabric3-itest-plugin:0.3
+org.codehaus.fabric3:fabric3-itest-plugin:0.4
+org.codehaus.fabric3:fabric3-itest-plugin:0.5BETA1
+org.codehaus.fabric3:fabric3-itest-plugin:0.5ALPHA1
+org.codehaus.fabric3:fabric3-itest-plugin:0.3.1
+org.codehaus.fabric3:fabric3-itest-plugin:0.2
+org.codehaus.fabric3:fabric3-webapp-plugin:0.5ALPHA2
+org.codehaus.fabric3:fabric3-webapp-plugin:0.3
+org.codehaus.fabric3:fabric3-webapp-plugin:0.1
+org.codehaus.fabric3:fabric3-webapp-plugin:0.5BETA1
+org.codehaus.fabric3:fabric3-webapp-plugin:0.5ALPHA1
+org.codehaus.fabric3:fabric3-webapp-plugin:0.2
+org.codehaus.fabric3:fabric3-container-web-jetty:0.5ALPHA2
+org.codehaus.fabric3:fabric3-container-web-jetty:0.5BETA1
+org.codehaus.fabric3:fabric3-http-provisioning:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-ws-cxf:0.1
+org.codehaus.fabric3:fabric3-binding-ws-cxf:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-ws-cxf:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-ws-cxf:0.2
+org.codehaus.fabric3:fabric3-xmlfactory:0.5ALPHA2
+org.codehaus.fabric3:fabric3-xmlfactory:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-xmlfactory:0.5BETA1
+org.codehaus.fabric3:fabric3-xmlfactory:0.5ALPHA1
+org.codehaus.fabric3:fabric3-xapool:0.5ALPHA2
+org.codehaus.fabric3:fabric3-xapool:0.1
+org.codehaus.fabric3:fabric3-xapool:0.5BETA1
+org.codehaus.fabric3:fabric3-xapool:0.5ALPHA1
+org.codehaus.fabric3:binding-test-harness:0.5ALPHA2
+org.codehaus.fabric3:binding-test-harness:0.1
+org.codehaus.fabric3:binding-test-harness:0.5BETA1
+org.codehaus.fabric3:binding-test-harness:0.5ALPHA1
+org.codehaus.fabric3:binding-test-harness:0.2
+org.codehaus.fabric3:fabric3-fabric:0.5ALPHA2
+org.codehaus.fabric3:fabric3-fabric:0.3
+org.codehaus.fabric3:fabric3-fabric:0.1
+org.codehaus.fabric3:fabric3-fabric:0.4
+org.codehaus.fabric3:fabric3-fabric:0.5BETA1
+org.codehaus.fabric3:fabric3-fabric:0.5ALPHA1
+org.codehaus.fabric3:fabric3-fabric:0.3.1
+org.codehaus.fabric3:fabric3-fabric:0.3.2
+org.codehaus.fabric3:fabric3-fabric:0.2
+org.codehaus.fabric3:fabric3-spring:0.5ALPHA2
+org.codehaus.fabric3:fabric3-spring:0.5BETA1
+org.codehaus.fabric3:fabric3-spring:0.5ALPHA1
+org.codehaus.fabric3:fabric3-tx-jotm:0.5ALPHA2
+org.codehaus.fabric3:fabric3-tx-jotm:0.1
+org.codehaus.fabric3:fabric3-tx-jotm:0.5BETA1
+org.codehaus.fabric3:fabric3-tx-jotm:0.5ALPHA1
+org.codehaus.fabric3:fabric3-tx-jotm:0.2
+org.codehaus.fabric3:fabric3-maven-api:0.5ALPHA2
+org.codehaus.fabric3:fabric3-maven-api:0.4
+org.codehaus.fabric3:fabric3-maven-api:0.5BETA1
+org.codehaus.fabric3:fabric3-maven-api:0.5ALPHA1
+org.codehaus.fabric3:fabric3-contribution-scanner:0.5ALPHA2
+org.codehaus.fabric3:fabric3-contribution-scanner:0.3
+org.codehaus.fabric3:fabric3-contribution-scanner:0.5BETA1
+org.codehaus.fabric3:fabric3-contribution-scanner:0.2.1
+org.codehaus.fabric3:fabric3-contribution-scanner:0.5ALPHA1
+org.codehaus.fabric3:fabric3-contribution-scanner:0.2
+org.codehaus.fabric3:fabric3-binding-ws-jaxws:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-ws-jaxws:0.5BETA1
+org.codehaus.fabric3:fabric3-spi:0.5ALPHA2
+org.codehaus.fabric3:fabric3-spi:0.3
+org.codehaus.fabric3:fabric3-spi:0.1
+org.codehaus.fabric3:fabric3-spi:0.4
+org.codehaus.fabric3:fabric3-spi:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-spi:0.5BETA1
+org.codehaus.fabric3:fabric3-spi:0.5ALPHA1
+org.codehaus.fabric3:fabric3-spi:0.3.1
+org.codehaus.fabric3:fabric3-spi:0.2
+org.codehaus.fabric3:fabric3-tx:0.5ALPHA2
+org.codehaus.fabric3:fabric3-tx:0.3
+org.codehaus.fabric3:fabric3-tx:0.1
+org.codehaus.fabric3:fabric3-tx:0.5BETA1
+org.codehaus.fabric3:fabric3-tx:0.5ALPHA1
+org.codehaus.fabric3:fabric3-tx:0.2
+org.codehaus.fabric3:fabric3-introspection:0.5ALPHA2
+org.codehaus.fabric3:fabric3-introspection:0.5BETA1
+org.codehaus.fabric3:fabric3-introspection:0.5ALPHA1
+org.codehaus.fabric3:fabric3-api:0.5ALPHA2
+org.codehaus.fabric3:fabric3-api:0.3
+org.codehaus.fabric3:fabric3-api:0.1
+org.codehaus.fabric3:fabric3-api:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-api:0.5BETA1
+org.codehaus.fabric3:fabric3-api:0.5ALPHA1
+org.codehaus.fabric3:fabric3-api:0.2
+org.codehaus.fabric3:fabric3-binding-test:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-test:0.1
+org.codehaus.fabric3:fabric3-binding-test:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-test:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-ws-axis2:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-ws-axis2:0.1
+org.codehaus.fabric3:fabric3-binding-ws-axis2:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-ws-axis2:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-ws-axis2:0.2
+org.codehaus.fabric3.webapp:webapp-parent:0.1
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.5ALPHA2
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.3
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.4
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.5BETA1
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.5ALPHA1
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.3.2
+org.codehaus.fabric3.webapp:fabric3-webapp-host:0.2
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.5ALPHA2
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.3
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.4
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.5BETA1
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.5ALPHA1
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.3.1
+org.codehaus.fabric3.webapp:fabric3-webapp-api:0.2
+org.codehaus.fabric3:fabric3-jpa-api:0.5BETA1
+org.codehaus.fabric3:fabric3-scdl:0.5ALPHA2
+org.codehaus.fabric3:fabric3-scdl:0.3
+org.codehaus.fabric3:fabric3-scdl:0.1
+org.codehaus.fabric3:fabric3-scdl:0.4
+org.codehaus.fabric3:fabric3-scdl:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-scdl:0.5BETA1
+org.codehaus.fabric3:fabric3-scdl:0.5ALPHA1
+org.codehaus.fabric3:fabric3-scdl:0.3.1
+org.codehaus.fabric3:fabric3-binding-burlap:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-burlap:0.3
+org.codehaus.fabric3:fabric3-binding-burlap:0.1
+org.codehaus.fabric3:fabric3-binding-burlap:0.4
+org.codehaus.fabric3:fabric3-binding-burlap:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-burlap:0.2.1
+org.codehaus.fabric3:fabric3-binding-burlap:0.5ALPHA1
+org.codehaus.fabric3:fabric3-binding-burlap:0.2
+org.codehaus.fabric3:fabric3-policy:0.5ALPHA2
+org.codehaus.fabric3:fabric3-policy:0.3
+org.codehaus.fabric3:fabric3-policy:0.4
+org.codehaus.fabric3:fabric3-policy:0.5BETA1
+org.codehaus.fabric3:fabric3-policy:0.5ALPHA1
+org.codehaus.fabric3:fabric3-policy:0.2
+org.codehaus.fabric3:fabric3-container-web-spi:0.5ALPHA2
+org.codehaus.fabric3:fabric3-container-web-spi:0.5BETA1
+org.codehaus.fabric3:fabric3-monitor:0.5ALPHA2
+org.codehaus.fabric3:fabric3-monitor:0.1
+org.codehaus.fabric3:fabric3-monitor:0.5-ALPHA-1
+org.codehaus.fabric3:fabric3-monitor:0.5BETA1
+org.codehaus.fabric3:fabric3-monitor:0.5ALPHA1
+org.codehaus.fabric3:fabric3-discovery-jxta:0.5ALPHA2
+org.codehaus.fabric3:fabric3-discovery-jxta:0.1
+org.codehaus.fabric3:fabric3-discovery-jxta:0.5BETA1
+org.codehaus.fabric3:fabric3-discovery-jxta:0.5ALPHA1
+org.codehaus.fabric3:fabric3-discovery-jxta:0.2
+org.codehaus.fabric3:fabric3-binding-rmi:0.5ALPHA2
+org.codehaus.fabric3:fabric3-binding-rmi:0.5BETA1
+org.codehaus.fabric3:fabric3-binding-rmi:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jxta:0.5ALPHA2
+org.codehaus.fabric3:fabric3-jxta:0.1
+org.codehaus.fabric3:fabric3-jxta:0.5BETA1
+org.codehaus.fabric3:fabric3-jxta:0.5ALPHA1
+org.codehaus.fabric3:fabric3-jxta:0.2
+org.codehaus.fabric3:fabric3-naming:0.5ALPHA2
+org.codehaus.fabric3:fabric3-naming:0.5BETA1
+org.codehaus.fabric3:fabric3-naming:0.5ALPHA1
+org.codehaus.xsite:xsite:1.0
+org.codehaus.xsite:xsite-parent:1.0-beta-5
+org.codehaus.xsite:xsite-parent:1.0-beta-4
+org.codehaus.xsite:xsite-parent:1.0-beta-1
+org.codehaus.xsite:xsite-parent:1.0-beta-6
+org.codehaus.xsite:xsite-parent:1.0-beta-2
+org.codehaus.xsite:xsite-parent:1.0-beta-3
+org.codehaus.xsite:xsite-parent:1.0-beta-7
+org.codehaus.xsite:xsite-parent:1.0-beta-8
+org.codehaus.xsite:xsite-parent:1.0-beta-9
+org.codehaus.groovy:groovy-xmlrpc:0.4
+org.codehaus.groovy:groovy-all:1.6-beta-1
+org.codehaus.groovy:groovy-all:1.5.2
+org.codehaus.groovy:groovy-all:1.5.4
+org.codehaus.groovy:groovy-all:1.5.3
+org.codehaus.groovy:groovy-all:1.5.6
+org.codehaus.groovy:groovy-all:1.1-rc-2
+org.codehaus.groovy:groovy-all:1.5.7
+org.codehaus.groovy:groovy-all:1.1-rc-1
+org.codehaus.groovy:groovy-all:1.1-beta-2
+org.codehaus.groovy:groovy-all:1.5.1
+org.codehaus.groovy:groovy-all:1.6-beta-2
+org.codehaus.groovy:groovy-all:1.1-beta-3
+org.codehaus.groovy:groovy-all:1.5.5
+org.codehaus.groovy:groovy-all:1.1-rc-3
+org.codehaus.groovy:groovy-all:1.5.0
+org.codehaus.groovy.maven.support:gmaven-support:1.0-rc-1
+org.codehaus.groovy.maven.feature:gmaven-feature:1.0-rc-1
+org.codehaus.groovy.maven.examples:gmaven-examples:1.0-rc-1
+org.codehaus.groovy.maven.archetypes:gmaven-archetypes:1.0-rc-1
+org.codehaus.groovy.maven.runtime:gmaven-runtime:1.0-rc-1
+org.codehaus.groovy.maven:gmaven:1.0-rc-2
+org.codehaus.groovy.maven:gmaven:1.0-rc-3
+org.codehaus.groovy.maven:gmaven:1.0-rc-1
+org.codehaus.groovy:groovy-all-minimal:1.5.2
+org.codehaus.groovy:groovy-all-minimal:1.5.4
+org.codehaus.groovy:groovy-all-minimal:1.5.3
+org.codehaus.groovy:groovy-all-minimal:1.5.6
+org.codehaus.groovy:groovy-all-minimal:1.1-rc-2
+org.codehaus.groovy:groovy-all-minimal:1.5.7
+org.codehaus.groovy:groovy-all-minimal:1.1-rc-1
+org.codehaus.groovy:groovy-all-minimal:1.1-beta-2
+org.codehaus.groovy:groovy-all-minimal:1.5.1
+org.codehaus.groovy:groovy-all-minimal:1.1-beta-3
+org.codehaus.groovy:groovy-all-minimal:1.5.5
+org.codehaus.groovy:groovy-all-minimal:1.1-rc-3
+org.codehaus.groovy:groovy-all-minimal:1.5.0
+org.codehaus.groovy:groovy:1.6-beta-1
+org.codehaus.groovy:groovy:1.5.2
+org.codehaus.groovy:groovy:1.5.4
+org.codehaus.groovy:groovy:1.5.3
+org.codehaus.groovy:groovy:1.5.6
+org.codehaus.groovy:groovy:1.1-rc-2
+org.codehaus.groovy:groovy:1.5.7
+org.codehaus.groovy:groovy:1.1-rc-1
+org.codehaus.groovy:groovy:1.1-beta-2
+org.codehaus.groovy:groovy:1.5.1
+org.codehaus.groovy:groovy:1.6-beta-2
+org.codehaus.groovy:groovy:1.1-beta-3
+org.codehaus.groovy:groovy:1.5.5
+org.codehaus.groovy:groovy:1.1-rc-3
+org.codehaus.groovy:groovy:1.5.0
+org.codehaus.sonar:sonar:1.1
+org.codehaus.sonar:sonar:1.2
+org.codehaus.sonar:sonar:1.4RC1
+org.codehaus.sonar:sonar:1.4RC2
+org.codehaus.sonar:sonar:1.4.1
+org.codehaus.sonar:sonar:1.3
+org.codehaus.sonar:sonar:1.4.2
+org.codehaus.sonar:sonar:1.2.1
+org.codehaus.sonar:sonar:1.4
+org.codehaus.sonar:sonar:1.1-beta1
+org.codehaus.sonar:sonar:1.5M1
+org.codehaus.sonar:sonar:1.4.3
+org.codehaus.sonar:sonar:1.3RC1
+org.codehaus.jackson:jackson-asl:0.9.3
+org.codehaus.jet:jet-parent:1.0-beta-4
+org.codehaus.jet:jet-parent:1.0-beta-1
+org.codehaus.jet:jet-parent:1.0-beta-2
+org.codehaus.jet:jet-parent:1.0-beta-3
+org.codehaus.jra:jra:1.0-alpha-4
+org.codehaus.jra:jra:1.0-alpha-3
+org.codehaus.jra:jra:1.0-alpha-1
+org.codehaus.jra:jra:1.0-alpha-2
+org.codehaus.xfire:bcprov-jdk15:133
+org.codehaus.xfire:xmlsec:1.3.0
+org.codehaus.xfire.plugins:maven-bundle-plugin:1.0
+org.codehaus.xfire:xfire-parent:1.1
+org.codehaus.xfire:xfire-parent:1.2.3
+org.codehaus.xfire:xfire-parent:1.1-beta-1
+org.codehaus.xfire:xfire-parent:1.2.4
+org.codehaus.xfire:xfire-parent:1.2
+org.codehaus.xfire:xfire-parent:1.1.1
+org.codehaus.xfire:xfire-parent:1.2.6
+org.codehaus.xfire:xfire-parent:1.0
+org.codehaus.xfire:xfire-parent:1.2.1
+org.codehaus.xfire:xfire-parent:1.2.2
+org.codehaus.xfire:xfire-parent:1.2-RC
+org.codehaus.xfire:xfire-parent:1.0-RC1
+org.codehaus.xfire:xfire-parent:1.1-RC1
+org.codehaus.xfire:xfire-parent:1.1.2
+org.codehaus.xfire:xfire-parent:1.2.5
+org.codehaus.xfire:xfire-ws-security:1.1
+org.codehaus.xfire:xfire-ws-security:1.2.3
+org.codehaus.xfire:xfire-ws-security:1.1-beta-1
+org.codehaus.xfire:xfire-ws-security:1.2.4
+org.codehaus.xfire:xfire-ws-security:1.2
+org.codehaus.xfire:xfire-ws-security:1.1.1
+org.codehaus.xfire:xfire-ws-security:1.2.6
+org.codehaus.xfire:xfire-ws-security:1.2.1
+org.codehaus.xfire:xfire-ws-security:1.2.2
+org.codehaus.xfire:xfire-ws-security:1.2-RC
+org.codehaus.xfire:xfire-ws-security:1.1-RC1
+org.codehaus.xfire:xfire-ws-security:1.1.2
+org.codehaus.xfire:xfire-ws-security:1.2.5
+org.codehaus:gldapo:0.6
+org.codehaus:gldapo:0.8
+org.codehaus:gldapo:0.7.1
+org.codehaus:gldapo:0.7
+org.codehaus.staxmate:staxmate:1.1
+org.codehaus.staxmate:staxmate:1.1
+org.codehaus.staxmate:staxmate:1.2
+org.codehaus.staxmate:staxmate:1.3.0
+org.domdrides:domdrides:1.1
+org.domdrides:domdrides:1.2
+org.domdrides:domdrides:1.0
+org.bouncycastle:bcprov-jdk12:130
+org.bouncycastle:bcpg-jdk12:130
+org.ajaxanywhere:ajaxanywhere:1.2-rc2
+org.openqa.selenium.grid:selenium-grid:1.0.2
+org.docbook:docbook-xsl:1.72.0
+org.docbook:docbook-xml:4.4
+org.mockejb:mockejb:0.6-beta2
+org.tmatesoft:svn:1.1.0
+org.tmatesoft:svnkit:1.1.2
+org.geonames:geonames:1.0
+org.geonames:geonames:0.4
+org.geonames:georss:0.9.8
+org.xerial:xerial:3
+org.xerial:xerial:2
+org.xerial:xerial:1
+org.xerial:xerial-core:0.8.0
+org.xerial:xerial-core:0.8.8
+org.xerial:xerial-core:0.8.7
+org.xerial:sqlite-jdbc:3.6.2
+org.xerial:sqlite-jdbc:3.6.4
+org.xerial:sqlite-jdbc:3.6.0
+org.xerial:sqlite-jdbc:3.5.7
+org.xerial:sqlite-jdbc:3.5.9-universal
+org.xerial:sqlite-jdbc:3.5.9
+org.xerial:sqlite-jdbc:3.6.6
+org.xerial:sqlite-jdbc:3.6.3
+org.xerial:sqlite-jdbc:3.5.8
+org.xerial:sqlite-jdbc:3.6.4
+org.xerial.maven:maven-antlr-plugin:1.1.0
+org.xerial.maven:maven-antlr-plugin:1.0.4
+org.xerial.maven:doxia-aqua:1.0-alpha-10
+org.xerial.maven:doxia-aqua:1.0.5
+org.xerial.maven:doxia-aqua:1.0.4
+org.xerial:xerial-style:1.0
+org.xerial:xerial-project:1.1
+org.xerial:xerial-project:1.0
+org.xerial.thirdparty:org.antlr.antlr3:3.1.1
+org.xerial.thirdparty:nestedvm:1.0
+org.xerial.thirdparty:jdbc-api:1.4
+org.xerial.thirdparty:sqlitejdbc-nested:3.6.2
+org.xerial.thirdparty:sqlitejdbc-nested:3.6.0
+org.xerial.thirdparty:sqlitejdbc-nested:3.5.9
+org.xerial:xerial-storage:0.6.0
+org.xerial:xerial-wiki:1.0.8
+org.xerial:xerial-wiki:1.0
+org.krysalis:krysalis-barcode:1.0beta
+org.krysalis:krysalis-barcode-fop-ext-0.20.5:1.0beta
+org.krysalis:krysalis-barcode-fop-ext-0.20.5:1.0beta
+org.samba.jcifs:jcifs:1.2.19
+org.samba.jcifs:jcifs:1.2.6
+org.samba.jcifs:jcifs:1.2.9
+org.samba.jcifs:jcifs:1.2.15
+org.jempbox:jempbox:0.2.0
+org.jruby.jcodings:jcodings:1.0.0
+org.jruby:jruby:1.1
+org.jruby:jruby:1.1.5
+org.jruby:jruby:1.1RC2
+org.jruby:jruby:1.1b1
+org.jruby:jruby:1.0RC1
+org.jruby:jruby:1.0.3
+org.jruby:jruby:1.1.1
+org.jruby:jruby:0.9.1
+org.jruby:jruby:1.0
+org.jruby:jruby:1.0RC2
+org.jruby:jruby:0.9.9
+org.jruby:jruby:1.0.1
+org.jruby:jruby:0.9.2
+org.jruby:jruby:1.0.2
+org.jruby:jruby:1.0RC3
+org.jruby:jruby:1.1.4
+org.jruby:jruby:1.1RC3
+org.jruby:jruby:1.1RC1
+org.jruby:jruby:1.1.2
+org.jruby:jruby:0.9.8
+org.jruby:jruby:0.8.3
+org.jruby.joni:joni:1.0.3
+org.jruby.joni:joni:1.1.1
+org.jruby.joni:joni:1.0
+org.jruby.joni:joni:1.0.1
+org.jruby.joni:joni:1.0.2
+org.jruby.plugins:jruby-rake-plugin:1.1
+org.jruby.plugins:jruby-rake-plugin:1.1.5
+org.jruby.plugins:jruby-rake-plugin:1.1RC2
+org.jruby.plugins:jruby-rake-plugin:1.1b1
+org.jruby.plugins:jruby-rake-plugin:1.0RC1
+org.jruby.plugins:jruby-rake-plugin:1.0.3
+org.jruby.plugins:jruby-rake-plugin:1.1.1
+org.jruby.plugins:jruby-rake-plugin:1.0
+org.jruby.plugins:jruby-rake-plugin:1.0RC2
+org.jruby.plugins:jruby-rake-plugin:0.9.9
+org.jruby.plugins:jruby-rake-plugin:1.0.1
+org.jruby.plugins:jruby-rake-plugin:1.0.2
+org.jruby.plugins:jruby-rake-plugin:1.0RC3
+org.jruby.plugins:jruby-rake-plugin:1.1.4
+org.jruby.plugins:jruby-rake-plugin:1.1RC3
+org.jruby.plugins:jruby-rake-plugin:1.1RC1
+org.jruby.plugins:jruby-rake-plugin:1.1.2
+org.jruby.plugins:jruby-rake-plugin:0.9.8
+org.jruby:jruby-complete:1.1
+org.jruby:jruby-complete:1.1.5
+org.jruby:jruby-complete:1.1RC2
+org.jruby:jruby-complete:1.1b1
+org.jruby:jruby-complete:1.0RC1
+org.jruby:jruby-complete:1.0.3
+org.jruby:jruby-complete:1.1.1
+org.jruby:jruby-complete:1.0
+org.jruby:jruby-complete:1.0RC2
+org.jruby:jruby-complete:0.9.9
+org.jruby:jruby-complete:1.0.1
+org.jruby:jruby-complete:1.0.2
+org.jruby:jruby-complete:1.0RC3
+org.jruby:jruby-complete:1.1.4
+org.jruby:jruby-complete:1.1RC3
+org.jruby:jruby-complete:1.1RC1
+org.jruby:jruby-complete:1.1.2
+org.jruby:jruby-complete:0.9.8
+org.jruby.extras:goldspike:1.6
+org.jruby.extras:goldspike:1.3
+org.jruby.extras:goldspike:1.2.1
+org.jruby.extras:goldspike:1.5
+org.jruby.extras:goldspike:1.4
+org.jruby.extras:goldspike:1.6.1
+org.jruby.extras:rails-integration:1.1.1
+org.jruby.extras:rails-integration:1.0
+org.jruby.extras:constantine:0.3
+org.jruby.extras:constantine:0.2.1
+org.jruby:shared:1.1
+org.jruby:shared:1.1.5
+org.jruby:shared:1.1.3
+org.jruby:shared:1.1RC2
+org.jruby:shared:1.1b1
+org.jruby:shared:1.0RC1
+org.jruby:shared:1.0.3
+org.jruby:shared:1.1.1
+org.jruby:shared:1.0
+org.jruby:shared:1.0RC2
+org.jruby:shared:0.9.9
+org.jruby:shared:1.0.1
+org.jruby:shared:1.0.2
+org.jruby:shared:1.0RC3
+org.jruby:shared:1.1.4
+org.jruby:shared:1.1RC3
+org.jruby:shared:1.1RC1
+org.jruby:shared:1.1.2
+org.jruby:shared:0.9.8
+org.jruby.ext.posix:jna-posix:0.6
+org.jruby.ext.posix:jna-posix:0.8
+org.jruby.ext.posix:jna-posix:0.7
+org.jruby.ext.posix:jna-posix:0.5
+org.osgi:osgi_R4_core:1.0
+org.osgi:osgi_R4_compendium:1.0
+org.directwebremoting:dwr:3.0.M1
+org.directwebremoting:dwr:2.0.2
+org.directwebremoting:dwr:2.0.1
+org.directwebremoting:dwr:2.0.rc1
+org.directwebremoting:dwr:2.0.rc2
+org.directwebremoting:dwr:2.0.3
+org.netbeans.nbbuild:tasks:5.5
+org.netbeans.nbbuild:tasks:5.0
+org.netbeans.nbbuild:tasks:6.0
+org.netbeans:jemmy:2.2.7.5
+org.netbeans:lib:200310240100
+org.netbeans:lib:3.6
+org.netbeans.lib:cvsclient:20051129
+org.netbeans.lib:cvsclient:20060125
+org.tmate:javasvn-cli:1.1.0.beta
+org.tmate:javasvn-cli:1.0.4
+org.tmate:javasvn:1.0.3
+org.tmate:javasvn:1.1.0.beta
+org.tmate:javasvn:1.0.4
+org.h2database:h2database:1.0.20061217
+org.sat4j:org.sat4j.pb:2.0.4
+org.sat4j:org.sat4j.pb:2.0.0
+org.sat4j:org.sat4j.core:2.0.4
+org.sat4j:org.sat4j.core:2.0.0
+org.rxtx:rxtx:2.1.7
+org.gnu.inet:libidn:0.6.5
+org.infinitest:infinitest:4.0.1
+org.jlibrary:jlibrary-extractors:1.2
+org.jlibrary:jlibrary-server-httpdelegate:1.2
+org.jlibrary:jlibrary-server-axis:1.2
+org.jlibrary:jlibrary-ear:1.2
+org.jlibrary:jlibrary:1.2
+org.jlibrary:jlibrary-war:1.2
+org.jlibrary:jlibrary-server:1.2
+org.jlibrary:jlibrary-server-web:1.2
+org.jlibrary:jlibrary-server-axisdelegate:1.2
+org.quickserver:quickserver:1.4.5
+org.prefuse:demos:beta-20060220
+org.prefuse:prefuse:beta-20060220
+org.dspace.xmlui.jakarta:jakarta-bcel:5.1.20040329
+org.dspace.xmlui.jakarta:jakarta-regexp:1.4
+org.dspace.xmlui.ehcache:ehcache:1.1
+org.dspace.xmlui.jcs:jcs:1.2.5.20050313
+org.dspace.xmlui.excalibur:excalibur-xmlutil:2.1
+org.dspace.xmlui.excalibur:excalibur-pool-instrumented:2.1
+org.dspace.xmlui.excalibur:excalibur-store:2.1
+org.dspace.xmlui.excalibur:excalibur-pool-api:2.1
+org.dspace.xmlui.excalibur:excalibur-instrument-api:2.1
+org.dspace.xmlui.excalibur:excalibur-instrument-mgr-http:2.1
+org.dspace.xmlui.excalibur:excalibur-i18n:1.1
+org.dspace.xmlui.excalibur:excalibur-instrument-mgr-api:2.1
+org.dspace.xmlui.excalibur:excalibur-naming:1.0
+org.dspace.xmlui.excalibur:excalibur-instrument-mgr-impl:2.1
+org.dspace.xmlui.excalibur:excalibur-sourceresolve:2.1
+org.dspace.xmlui.excalibur:excalibur-component:2.1
+org.dspace.xmlui.excalibur:excalibur-pool-impl:2.1
+org.dspace.xmlui.excalibur:excalibur-logger:2.1
+org.dspace.xmlui.xml:xml-apis:1.3.03
+org.dspace.xmlui.xml:xml-commons-resolver:1.1
+org.dspace.xmlui.concurrent:concurrent:1.3.4
+org.dspace.xmlui.javac:javacImpl:0.9
+org.dspace.xmlui.javac:javacApi:0.9
+org.dspace.xmlui.eclipse:jdtcore:3.0.2
+org.dspace.xmlui.rhino:rhino-continuations:1.5r4
+org.dspace.xmlui.cocoon:cocoon-deprecated:2.1.9
+org.dspace.xmlui.cocoon:cocoon:2.1.9
+org.dspace:mets:1.5.2
+org.dspace:dspace-parent:1.5.1-beta
+org.dspace:dspace-parent:1.5.0-rc1
+org.dspace:dspace-parent:1.5.0-beta2
+org.dspace:dspace-parent:1.5.1
+org.dspace:dspace-parent:1.5.0-beta1
+org.dspace:dspace-parent:1.5.0
+org.dspace:dspace-xmlui-lang:1.5.0.0
+org.dspace:dspace-xmlui-lang:1.5.0.1
+org.dspace:cql-java:1.0
+org.dspace.maven.plugins:dspace-native2ascii-plugin:1.0
+org.dspace.maven.plugins:dspace-assembly-plugin:1.1
+org.dspace.maven.plugins:dspace-assembly-plugin:1.0
+org.dspace.maven.plugins:dspace-i18n-report-plugin:1.0
+org.dspace.oclc:oclc-srw:1.0.20080328
+org.dspace.oclc:oclc-srw-parallel-searching:1.0.20080317
+org.dspace.oclc:oclc-dbutils:1.0.20080317
+org.dspace:jargon:1.4.25
+org.dspace:jargon:2.0.0-beta
+org.dspace:dspace-api-lang:1.5.0.0
+org.dspace:dspace-rdf:1.5.1
+org.dspace:oaicat:1.5.48
+org.dspace:handle:6.2.5.02
+org.dspace:handle:5.3.4
+org.dspace:dspace-pom:1.5-alpha
+org.slf4j:slf4j-simple:1.0-rc5
+org.slf4j:slf4j-simple:1.0-beta4
+org.slf4j:slf4j-simple:1.0-rc2
+org.slf4j:slf4j-simple:1.4.0
+org.slf4j:slf4j-simple:1.0-beta9
+org.slf4j:slf4j-simple:1.2
+org.slf4j:slf4j-simple:1.4.1
+org.slf4j:slf4j-simple:1.3.0
+org.slf4j:slf4j-simple:1.4.2
+org.slf4j:slf4j-simple:1.0
+org.slf4j:slf4j-simple:1.0-rc1
+org.slf4j:slf4j-simple:1.0-rc3
+org.slf4j:slf4j-simple:1.3.1
+org.slf4j:slf4j-simple:1.0.1
+org.slf4j:slf4j-simple:1.1.0
+org.slf4j:slf4j-simple:1.1.0-RC1
+org.slf4j:slf4j-simple:1.1.0-RC0
+org.slf4j:slf4j-simple:1.0-beta7
+org.slf4j:slf4j-site:1.4.0
+org.slf4j:slf4j-site:1.4.1
+org.slf4j:slf4j-site:1.4.2
+org.slf4j:slf4j-site:1.3.1
+org.slf4j:slf4j-log4j12:1.0-rc5
+org.slf4j:slf4j-log4j12:1.0-rc2
+org.slf4j:slf4j-log4j12:1.4.0
+org.slf4j:slf4j-log4j12:1.0-beta9
+org.slf4j:slf4j-log4j12:1.2
+org.slf4j:slf4j-log4j12:1.4.1
+org.slf4j:slf4j-log4j12:1.3.0
+org.slf4j:slf4j-log4j12:1.4.2
+org.slf4j:slf4j-log4j12:1.0
+org.slf4j:slf4j-log4j12:1.0-rc1
+org.slf4j:slf4j-log4j12:1.0-rc3
+org.slf4j:slf4j-log4j12:1.3.1
+org.slf4j:slf4j-log4j12:1.0.1
+org.slf4j:slf4j-log4j12:1.1.0
+org.slf4j:slf4j-log4j12:1.1.0-RC1
+org.slf4j:slf4j-log4j12:1.1.0-RC0
+org.slf4j:nlog4j:1.2.25
+org.slf4j:nlog4j:1.2.14
+org.slf4j:nlog4j:1.2.17
+org.slf4j:nlog4j:1.2.19
+org.slf4j:nlog4j:1.2.24
+org.slf4j:nlog4j:1.2.21
+org.slf4j:nlog4j:1.2.18
+org.slf4j:nlog4j:1.2.23
+org.slf4j:log4j-over-slf4j:1.4.2
+org.slf4j:log4j-over-slf4j:1.1.0-RC1
+org.slf4j:log4j-over-slf4j:1.1.0-RC0
+org.slf4j:jcl104-over-slf4j:1.0-rc5
+org.slf4j:jcl104-over-slf4j:1.0-rc2
+org.slf4j:jcl104-over-slf4j:1.4.0
+org.slf4j:jcl104-over-slf4j:1.0-beta9
+org.slf4j:jcl104-over-slf4j:1.2
+org.slf4j:jcl104-over-slf4j:1.4.1
+org.slf4j:jcl104-over-slf4j:1.3.0
+org.slf4j:jcl104-over-slf4j:1.4.2
+org.slf4j:jcl104-over-slf4j:1.0
+org.slf4j:jcl104-over-slf4j:1.0-rc1
+org.slf4j:jcl104-over-slf4j:1.0-rc3
+org.slf4j:jcl104-over-slf4j:1.3.1
+org.slf4j:jcl104-over-slf4j:1.0.1
+org.slf4j:jcl104-over-slf4j:1.1.0
+org.slf4j:jcl104-over-slf4j:1.1.0-RC1
+org.slf4j:jcl104-over-slf4j:1.1.0-RC0
+org.slf4j:jcl104-over-slf4j:1.0-beta7
+org.slf4j:slf4j-jcl:1.0-rc5
+org.slf4j:slf4j-jcl:1.0-rc2
+org.slf4j:slf4j-jcl:1.4.0
+org.slf4j:slf4j-jcl:1.2
+org.slf4j:slf4j-jcl:1.4.1
+org.slf4j:slf4j-jcl:1.3.0
+org.slf4j:slf4j-jcl:1.4.2
+org.slf4j:slf4j-jcl:1.0
+org.slf4j:slf4j-jcl:1.0-rc3
+org.slf4j:slf4j-jcl:1.3.1
+org.slf4j:slf4j-jcl:1.0.1
+org.slf4j:slf4j-jcl:1.1.0
+org.slf4j:slf4j-jcl:1.1.0-RC1
+org.slf4j:slf4j-jcl:1.1.0-RC0
+org.slf4j:slf4j-nop:1.0-rc5
+org.slf4j:slf4j-nop:1.0-beta4
+org.slf4j:slf4j-nop:1.0-rc2
+org.slf4j:slf4j-nop:1.4.0
+org.slf4j:slf4j-nop:1.0-beta9
+org.slf4j:slf4j-nop:1.2
+org.slf4j:slf4j-nop:1.4.1
+org.slf4j:slf4j-nop:1.3.0
+org.slf4j:slf4j-nop:1.4.2
+org.slf4j:slf4j-nop:1.0
+org.slf4j:slf4j-nop:1.0-rc1
+org.slf4j:slf4j-nop:1.0-rc3
+org.slf4j:slf4j-nop:1.3.1
+org.slf4j:slf4j-nop:1.0.1
+org.slf4j:slf4j-nop:1.1.0
+org.slf4j:slf4j-nop:1.1.0-RC1
+org.slf4j:slf4j-nop:1.1.0-RC0
+org.slf4j:slf4j-nop:1.0-beta7
+org.slf4j:slf4j-log4j13:1.0
+org.slf4j:slf4j-log4j13:1.0.1
+org.slf4j:slf4j-skin:1.2
+org.slf4j:slf4j-jdk14:1.0-rc5
+org.slf4j:slf4j-jdk14:1.0-beta4
+org.slf4j:slf4j-jdk14:1.0-rc2
+org.slf4j:slf4j-jdk14:1.4.0
+org.slf4j:slf4j-jdk14:1.0-beta9
+org.slf4j:slf4j-jdk14:1.2
+org.slf4j:slf4j-jdk14:1.4.1
+org.slf4j:slf4j-jdk14:1.3.0
+org.slf4j:slf4j-jdk14:1.4.2
+org.slf4j:slf4j-jdk14:1.0
+org.slf4j:slf4j-jdk14:1.0-rc1
+org.slf4j:slf4j-jdk14:1.0-rc3
+org.slf4j:slf4j-jdk14:1.3.1
+org.slf4j:slf4j-jdk14:1.0.1
+org.slf4j:slf4j-jdk14:1.1.0
+org.slf4j:slf4j-jdk14:1.1.0-RC1
+org.slf4j:slf4j-jdk14:1.1.0-RC0
+org.slf4j:slf4j-jdk14:1.0-beta7
+org.slf4j:slf4j-parent:1.1.0-beta0
+org.slf4j:slf4j-parent:1.4.0
+org.slf4j:slf4j-parent:1.5.0-M0
+org.slf4j:slf4j-parent:1.2
+org.slf4j:slf4j-parent:1.4.1
+org.slf4j:slf4j-parent:1.5.2
+org.slf4j:slf4j-parent:1.3.0
+org.slf4j:slf4j-parent:1.4.2
+org.slf4j:slf4j-parent:1.5.4
+org.slf4j:slf4j-parent:1.5.3
+org.slf4j:slf4j-parent:1.5.6
+org.slf4j:slf4j-parent:1.3.1
+org.slf4j:slf4j-parent:1.5.5
+org.slf4j:slf4j-parent:1.4.3
+org.slf4j:slf4j-parent:1.1.0
+org.slf4j:slf4j-parent:1.1.0-RC1
+org.slf4j:slf4j-parent:1.5.0
+org.slf4j:slf4j-api:1.4.0
+org.slf4j:slf4j-api:1.2
+org.slf4j:slf4j-api:1.4.1
+org.slf4j:slf4j-api:1.3.0
+org.slf4j:slf4j-api:1.4.2
+org.slf4j:slf4j-api:1.3.1
+org.slf4j:slf4j-api:1.1.0
+org.slf4j:slf4j-api:1.1.0-RC1
+org.slf4j:slf4j-api:1.1.0-RC0
+org.slf4j:slf4j-archetype:1.4.0
+org.slf4j:slf4j-archetype:1.2
+org.slf4j:slf4j-archetype:1.4.1
+org.slf4j:slf4j-archetype:1.3.0
+org.slf4j:slf4j-archetype:1.4.2
+org.slf4j:slf4j-archetype:1.3.1
+org.slf4j:slf4j-archetype:1.1.0
+org.slf4j:slf4j-archetype:1.1.0-RC1
+org.slf4j:slf4j-archetype:1.1.0-RC0
+org.mule.tools:mule-assembly-verifier:1.1
+org.mule.tools:mule-assembly-verifier:1.2
+org.mule.tools:mule-assembly-verifier:1.0
+org.mule.tools:mule-test-exclusions-report-plugin:1.1
+org.mule.tools:mule-test-exclusions-report-plugin:1.2
+org.mule.tools:mule-test-exclusions-report-plugin:1.0
+org.mule.tools:mule-tools-visualizer:1.4.0
+org.mule.tools:mule-tools-visualizer:1.4-RC1
+org.mule.tools:mule-tools-visualizer:2.0-M1
+org.mule.tools:mule-transport-archetype:1.4.1
+org.mule.tools:mule-transport-archetype:1.4.2
+org.mule.tools:mule-transport-archetype:1.4.4
+org.mule.tools:mule-transport-archetype:2.0.0-M2
+org.mule.tools:mule-transport-archetype:1.4.3
+org.mule.tools:mule-transport-archetype:2.0-M1
+org.mule:mule:1.4.0
+org.mule:mule:1.4.1
+org.mule:mule:1.3
+org.mule:mule:1.4.2
+org.mule:mule:2.0.0-RC3
+org.mule:mule:2.1.0
+org.mule:mule:1.3.3
+org.mule:mule:1.4.4
+org.mule:mule:1.3.1
+org.mule:mule:2.0.2
+org.mule:mule:2.0.1
+org.mule:mule:2.0.0
+org.mule:mule:2.0.0-RC2
+org.mule:mule:2.0.0-RC1
+org.mule:mule:1.3.2
+org.mule:mule:2.0.0-M2
+org.mule:mule:1.4.3
+org.mule:mule:1.4-RC1
+org.mule:mule:1.3-rc5
+org.mule:mule:2.1.0-M2
+org.mule:mule:2.0-M1
+org.mule:mule:2.1.1
+org.mentaframework:mentawai:1.8
+org.mentaframework:mentawai:1.12
+org.mentaframework:mentawai:1.9
+org.mentaframework:mentawai:1.7
+org.mentaframework:mentawai:1.10.1
+org.mentaframework:mentawai:1.13
+org.mentaframework:mentawai:1.11
+org.safehaus.jug:jug:2.0.0
+org.easymock:easymockclassextension:2.3
+org.easymock:easymockclassextension:2.4
+org.easymock:easymockclassextension:2.2.2
+org.easymock:easymockclassextension:2.2.1
+org.easymock:easymockclassextension:2.2
+org.easymock:easymock:2.3
+org.easymock:easymock:2.4
+org.easymock:easymock:2.0
+org.easymock:easymock:2.2
+org.openspml:openspml:0.5
+org.jcrom:jcrom:1.1
+org.jcrom:jcrom:1.2
+org.jcrom:jcrom:1.3
+org.jcrom:jcrom:1.3.1
+org.zkoss.zkoss:gmapsz:2.0_7
+org.zkoss.zkforge:dojoz:0.2.2-1
+org.zkoss.zkforge:dojoz:0.4.1-1
+org.zkoss.zkforge:dojoz:0.2.2-2
+org.zkoss.zkforge.el:zcommons-el:1.0.0
+org.zkoss.zkforge.el:zcommons-el:1.0.1
+org.zkoss.zkforge:timelinez:1.1_3
+org.zkoss.zkforge:timelinez:1.1-1
+org.zkoss.zkforge:timelinez:1.2_1
+org.zkoss.zkforge:gmapsz:2.0-1
+org.zkoss.zkforge:gmapsz:2.0-3
+org.zkoss.zkforge:gmapsz:2.0-2
+org.zkoss.zkforge:fckez:2.6.1_1
+org.zkoss.zkforge:fckez:2.5.0_1
+org.zkoss.zkforge:fckez:2.3-2
+org.zkoss.zkforge:fckez:2.3-3
+org.zkoss.zkforge:fckez:2.5.1_1
+org.zkoss.zkforge:fckez:2.4.3_1
+org.zkoss.zkforge:fckez:2.3-1
+org.zkoss.common:zweb:3.0.1
+org.zkoss.common:zweb:3.0.0
+org.zkoss.common:zweb:3.0.7
+org.zkoss.common:zweb:3.0.5
+org.zkoss.common:zweb:3.0.6
+org.zkoss.common:zweb:3.0.0-RC
+org.zkoss.common:zweb:3.5.1
+org.zkoss.common:zweb:3.0.3
+org.zkoss.common:zweb:3.0.8
+org.zkoss.common:zweb:2.2.1
+org.zkoss.common:zweb:3.0.4
+org.zkoss.common:zweb:2.4.0
+org.zkoss.common:zweb:2.3.1
+org.zkoss.common:zweb:3.5.0
+org.zkoss.common:zweb:2.4.3
+org.zkoss.common:zweb:2.2.0
+org.zkoss.common:zweb:2.3.0
+org.zkoss.common:zweb:2.1.3
+org.zkoss.common:zweb:3.0.2
+org.zkoss.common:zweb:2.4.2
+org.zkoss.common:zweb:2.4.1
+org.zkoss.common:zcommon:3.0.1
+org.zkoss.common:zcommon:3.0.0
+org.zkoss.common:zcommon:3.0.7
+org.zkoss.common:zcommon:3.0.5
+org.zkoss.common:zcommon:3.0.6
+org.zkoss.common:zcommon:3.0.0-RC
+org.zkoss.common:zcommon:3.5.1
+org.zkoss.common:zcommon:3.0.3
+org.zkoss.common:zcommon:3.0.8
+org.zkoss.common:zcommon:2.2.1
+org.zkoss.common:zcommon:3.0.4
+org.zkoss.common:zcommon:2.4.0
+org.zkoss.common:zcommon:2.3.1
+org.zkoss.common:zcommon:3.5.0
+org.zkoss.common:zcommon:2.4.3
+org.zkoss.common:zcommon:2.2.0
+org.zkoss.common:zcommon:2.3.0
+org.zkoss.common:zcommon:2.1.3
+org.zkoss.common:zcommon:3.0.2
+org.zkoss.common:zcommon:2.4.2
+org.zkoss.common:zcommon:2.4.1
+org.zkoss.zk:zuljsf:0.8.1
+org.zkoss.zk:zhtml:3.0.1
+org.zkoss.zk:zhtml:3.0.0
+org.zkoss.zk:zhtml:3.0.7
+org.zkoss.zk:zhtml:3.0.5
+org.zkoss.zk:zhtml:3.0.6
+org.zkoss.zk:zhtml:3.0.0-RC
+org.zkoss.zk:zhtml:3.5.1
+org.zkoss.zk:zhtml:3.0.3
+org.zkoss.zk:zhtml:3.0.8
+org.zkoss.zk:zhtml:2.2.1
+org.zkoss.zk:zhtml:3.0.4
+org.zkoss.zk:zhtml:2.4.0
+org.zkoss.zk:zhtml:2.3.1
+org.zkoss.zk:zhtml:3.5.0
+org.zkoss.zk:zhtml:2.4.3
+org.zkoss.zk:zhtml:2.2.0
+org.zkoss.zk:zhtml:2.3.0
+org.zkoss.zk:zhtml:2.1.3
+org.zkoss.zk:zhtml:3.0.2
+org.zkoss.zk:zhtml:2.4.2
+org.zkoss.zk:zhtml:2.4.1
+org.zkoss.zk:zul:3.0.1
+org.zkoss.zk:zul:3.0.0
+org.zkoss.zk:zul:3.0.7
+org.zkoss.zk:zul:3.0.5
+org.zkoss.zk:zul:3.0.6
+org.zkoss.zk:zul:3.0.0-RC
+org.zkoss.zk:zul:3.5.1
+org.zkoss.zk:zul:3.0.3
+org.zkoss.zk:zul:3.0.8
+org.zkoss.zk:zul:2.2.1
+org.zkoss.zk:zul:3.0.4
+org.zkoss.zk:zul:2.4.0
+org.zkoss.zk:zul:2.3.1
+org.zkoss.zk:zul:3.5.0
+org.zkoss.zk:zul:2.4.3
+org.zkoss.zk:zul:2.2.0
+org.zkoss.zk:zul:2.3.0
+org.zkoss.zk:zul:2.1.3
+org.zkoss.zk:zul:3.0.2
+org.zkoss.zk:zul:2.4.2
+org.zkoss.zk:zul:2.4.1
+org.zkoss.zk:zkplus:3.0.1
+org.zkoss.zk:zkplus:3.0.0
+org.zkoss.zk:zkplus:3.0.7
+org.zkoss.zk:zkplus:3.0.5
+org.zkoss.zk:zkplus:3.0.6
+org.zkoss.zk:zkplus:3.0.0-RC
+org.zkoss.zk:zkplus:3.5.1
+org.zkoss.zk:zkplus:3.0.3
+org.zkoss.zk:zkplus:3.0.8
+org.zkoss.zk:zkplus:2.2.1
+org.zkoss.zk:zkplus:3.0.4
+org.zkoss.zk:zkplus:2.4.0
+org.zkoss.zk:zkplus:2.3.1
+org.zkoss.zk:zkplus:3.5.0
+org.zkoss.zk:zkplus:2.4.3
+org.zkoss.zk:zkplus:2.2.0
+org.zkoss.zk:zkplus:2.3.0
+org.zkoss.zk:zkplus:2.1.3
+org.zkoss.zk:zkplus:3.0.2
+org.zkoss.zk:zkplus:2.4.2
+org.zkoss.zk:zkplus:2.4.1
+org.zkoss.zk:zkmax:3.0.1
+org.zkoss.zk:zkmax:3.0.0
+org.zkoss.zk:zkmax:3.0.7
+org.zkoss.zk:zkmax:3.0.5
+org.zkoss.zk:zkmax:3.0.6
+org.zkoss.zk:zkmax:3.0.0-RC
+org.zkoss.zk:zkmax:3.5.1
+org.zkoss.zk:zkmax:3.0.3
+org.zkoss.zk:zkmax:3.0.8
+org.zkoss.zk:zkmax:3.0.4
+org.zkoss.zk:zkmax:3.5.0
+org.zkoss.zk:zkmax:3.0.2
+org.zkoss.zk:zml:3.0.1
+org.zkoss.zk:zml:3.0.0
+org.zkoss.zk:zml:3.0.7
+org.zkoss.zk:zml:3.0.5
+org.zkoss.zk:zml:3.0.6
+org.zkoss.zk:zml:3.0.0-RC
+org.zkoss.zk:zml:3.5.1
+org.zkoss.zk:zml:3.0.3
+org.zkoss.zk:zml:3.0.8
+org.zkoss.zk:zml:3.0.4
+org.zkoss.zk:zml:3.5.0
+org.zkoss.zk:zml:3.0.2
+org.zkoss.zk:zuljsp:1.0.0
+org.zkoss.zk:zkex:3.0.1
+org.zkoss.zk:zkex:3.0.0
+org.zkoss.zk:zkex:3.0.7
+org.zkoss.zk:zkex:3.0.5
+org.zkoss.zk:zkex:3.0.6
+org.zkoss.zk:zkex:3.5.1
+org.zkoss.zk:zkex:3.0.3
+org.zkoss.zk:zkex:3.0.8
+org.zkoss.zk:zkex:3.0.4
+org.zkoss.zk:zkex:3.5.0
+org.zkoss.zk:zkex:3.0.2
+org.zkoss.zk:zk:3.0.1
+org.zkoss.zk:zk:3.0.0
+org.zkoss.zk:zk:3.0.7
+org.zkoss.zk:zk:3.0.5
+org.zkoss.zk:zk:3.0.6
+org.zkoss.zk:zk:3.0.0-RC
+org.zkoss.zk:zk:3.5.1
+org.zkoss.zk:zk:3.0.3
+org.zkoss.zk:zk:3.0.8
+org.zkoss.zk:zk:2.2.1
+org.zkoss.zk:zk:3.0.4
+org.zkoss.zk:zk:2.4.0
+org.zkoss.zk:zk:2.3.1
+org.zkoss.zk:zk:3.5.0
+org.zkoss.zk:zk:2.4.3
+org.zkoss.zk:zk:2.2.0
+org.zkoss.zk:zk:2.3.0
+org.zkoss.zk:zk:2.1.3
+org.zkoss.zk:zk:3.0.2
+org.zkoss.zk:zk:2.4.2
+org.zkoss.zk:zk:2.4.1
+org.jtestr:jtestr:0.1.1
+org.jtestr:jtestr:0.3
+org.jtestr:jtestr:0.1
+org.jtestr:jtestr:0.2.1
+org.jtestr:jtestr:0.3.1
+org.jtestr:jtestr:0.2
+org.jtestr:jruby-complete:r7479
+org.schwering:irclib:1.04-bsd
+org.schwering:irclib:1.04-bsd
+org.schwering:irclib:1.10
+org.dojotoolkit:custom_rhino:0.9.0
+org.dojotoolkit:custom_rhino:0.4.3
+org.xsocket:xSocket:1.1
+org.xsocket:xSocket:2.0-alpha-1
+org.xsocket:xSocket:1.0-beta-4
+org.xsocket:xSocket:2.0-beta-2
+org.xsocket:xSocket:1.2
+org.xsocket:xSocket:1.0-beta-1
+org.xsocket:xSocket:1.0-beta-2
+org.xsocket:xSocket:2.0
+org.xsocket:xSocket:1.0
+org.xsocket:xSocket:0.9-beta-1
+org.xsocket:xSocket:1.2.1
+org.xsocket:xSocket:1.0-beta-3
+org.xsocket:xSocket:2.1.2
+org.xsocket:xSocket:2.0-beta-1
+org.xsocket:xSocket:2.1
+org.xsocket:xSocket:2.2
+org.xsocket:xSocket:2.1.1
+org.xsocket:xSocket:2.0-alpha-2
+org.xsocket:xSocket-multiplexed:2.0-alpha-4
+org.xsocket:xSocket-multiplexed:2.0
+org.xsocket:xSocket-multiplexed:2.0.2
+org.xsocket:xSocket-multiplexed:2.0.1
+org.xsocket:xSocket-multiplexed:2.0-beta-1
+org.xsocket:xSocket-multiplexed:2.0-alpha-3
+org.xsocket:xSocket-multiplexed:2.0-alpha-2
+org.xsocket:xSocket-http:2.0-alpha-5
+org.xsocket:xSocket-http:2.0-alpha-4
+org.xsocket:xSocket-http:2.0-beta-1
+org.xsocket:xSocket-http:2.0-alpha-3
+org.xsocket:xSocket-http:2.0-alpha-2
+org.jdbi:jdbi:2.2.1
+org.jdbi:jdbi:2.0.1
+org.jdbi:jdbi:2.2.0
+org.jdbi:jdbi:2.1.1
+org.extremecomponents:extremecomponents:1.0.1
+org.extremecomponents:extremecomponents:1.0.1-M4
+org.extremecomponents:extremecomponents:1.0.1-M3
+org.jframework:jframework:0.3
+org.jframework:jframework:0.6
+org.jframework:jframework:0.4
+org.jframework:jframework:0.5
+org.jframework:jframework:0.2
+org.ops4j:maven-inherit-plugin:1.1
+org.ops4j:maven-inherit-plugin:1.0
+org.ops4j.pax:construct:1.0
+org.ops4j.pax.construct:scripts:1.1
+org.ops4j.pax.construct:scripts:1.2
+org.ops4j.pax.construct:scripts:1.3
+org.ops4j.pax.construct:scripts:1.0
+org.ops4j.pax.construct:scripts:1.4
+org.ops4j.pax.construct:maven-archetype-osgi-wrapper:1.0.1
+org.ops4j.pax.construct:archetypes:1.0
+org.ops4j.pax.construct:archetypes:1.0.2
+org.ops4j:maven-pax-plugin:1.1
+org.ops4j:maven-pax-plugin:1.2
+org.ops4j:maven-pax-plugin:1.3
+org.ops4j:maven-pax-plugin:1.0
+org.ops4j:maven-pax-plugin:1.4
+org.wickettools.extjs:wicket-tools-extjs:0.1.0
+org.opends:openDS:1.0.0-build005
+org.jxta.platform:jxta:2.3.6
+org.jconfig:jconfig:2.9
+org.jzkit:a2j:2.0.4
+org.xbean:xbean:2.0
+org.xbean:xbean:2.1
+org.simpleframework:simple:4.0.5
+org.simpleframework:simple:4.0.6
+org.simpleframework:simple-xml:1.4.1
+org.simpleframework:simple-xml:1.7.3
+org.simpleframework:simple-xml:1.4
+org.simpleframework:simple-xml:1.6.2
+org.tuckey:urlrewrite:2.5.2
+net.java.dev.urlrewrite:urlrewritefilter:2.4
+org.tuckey:urlrewritefilter:3.0.4
+net.java.dev.urlrewrite:urlrewritefilter:2.5.1
+org.tuckey:urlrewritefilter:3.1.0
+org.freemarker:freemarker:2.3.14
+org.freemarker:freemarker:2.3.13
+org.freemarker:freemarker:2.3.11
+org.freemarker:freemarker:2.3.10
+org.freemarker:freemarker:2.3.12
+org.freemarker:freemarker:2.3.9
+org.cojen:cojen:2.0
+org.ccil.cowan.tagsoup:tagsoup:1.1.3
+org.ccil.cowan.tagsoup:tagsoup:1.2
+org.ccil.cowan.tagsoup:tagsoup:0.9.7
+org.ccil.cowan.tagsoup:tagsoup:1.0.1
+org.appfuse:appfuse-archetypes:2.0
+org.appfuse:appfuse-archetypes:2.0.2
+org.appfuse:appfuse-archetypes:2.0.1
+org.appfuse:appfuse-archetypes:2.0-rc1
+org.appfuse:appfuse:2.0
+org.appfuse:appfuse:2.0.2
+org.appfuse:appfuse:2.0.1
+org.appfuse:appfuse:2.0-rc1
+org.appfuse.archetypes:appfuse-basic-struts:2.0
+org.appfuse.archetypes:appfuse-basic-struts:2.0.2
+org.appfuse.archetypes:appfuse-basic-struts:2.0.1
+org.appfuse.archetypes:appfuse-basic-struts:2.0-rc1
+org.appfuse.archetypes:appfuse-basic-tapestry:2.0
+org.appfuse.archetypes:appfuse-basic-tapestry:2.0.2
+org.appfuse.archetypes:appfuse-basic-tapestry:2.0.1
+org.appfuse.archetypes:appfuse-basic-tapestry:2.0-rc1
+org.appfuse.archetypes:appfuse-modular-tapestry:2.0
+org.appfuse.archetypes:appfuse-modular-tapestry:2.0.2
+org.appfuse.archetypes:appfuse-modular-tapestry:2.0.1
+org.appfuse.archetypes:appfuse-modular-tapestry:2.0-rc1
+org.appfuse.archetypes:appfuse-basic-jsf:2.0
+org.appfuse.archetypes:appfuse-basic-jsf:2.0.2
+org.appfuse.archetypes:appfuse-basic-jsf:2.0.1
+org.appfuse.archetypes:appfuse-basic-jsf:2.0-rc1
+org.appfuse.archetypes:appfuse-core:2.0
+org.appfuse.archetypes:appfuse-core:2.0.2
+org.appfuse.archetypes:appfuse-core:2.0.1
+org.appfuse.archetypes:appfuse-core:2.0-rc1
+org.appfuse.archetypes:appfuse-basic-spring:2.0
+org.appfuse.archetypes:appfuse-basic-spring:2.0.2
+org.appfuse.archetypes:appfuse-basic-spring:2.0.1
+org.appfuse.archetypes:appfuse-basic-spring:2.0-rc1
+org.appfuse.archetypes:appfuse-modular-struts:2.0
+org.appfuse.archetypes:appfuse-modular-struts:2.0.2
+org.appfuse.archetypes:appfuse-modular-struts:2.0.1
+org.appfuse.archetypes:appfuse-modular-struts:2.0-rc1
+org.appfuse.archetypes:appfuse-modular-spring:2.0
+org.appfuse.archetypes:appfuse-modular-spring:2.0.2
+org.appfuse.archetypes:appfuse-modular-spring:2.0.1
+org.appfuse.archetypes:appfuse-modular-spring:2.0-rc1
+org.appfuse.archetypes:appfuse-modular-jsf:2.0
+org.appfuse.archetypes:appfuse-modular-jsf:2.0.2
+org.appfuse.archetypes:appfuse-modular-jsf:2.0.1
+org.appfuse.archetypes:appfuse-modular-jsf:2.0-rc1
+org.appfuse:tapestry-mock:3.0
+org.appfuse:maven-warpath-plugin:1.0-rc1
+org.objenesis:objenesis-parent:1.1
+org.objenesis:objenesis:1.0
+org.xins:xins-common:2.0
+org.xins:xins-common:1.5.2
+org.xins:xins-common:2.1
+org.xins:xins-common:1.5.0
+org.xins:xins-client:2.0
+org.xins:xins-client:1.5.2
+org.xins:xins-client:2.1
+org.xins:xins-client:1.5.0
+org.xins:xins-server:2.0
+org.xins:xins-server:1.5.2
+org.xins:xins-server:2.1
+org.xins:xins-server:1.5.0
+org.xins:logdoc:2.0
+org.xins:logdoc:1.5.2
+org.xins:logdoc:2.1
+org.xins:logdoc:1.5.0
+org.milyn:smooks-cartridge-base-pom:1.1.1
+org.milyn:smooks-cartridge-base-pom:1.1.2
+org.milyn:milyn:1.1.1
+org.milyn:milyn:1.1.2
+org.milyn:milyn-edisax:1.1.1
+org.milyn:milyn-edisax:1.1.2
+org.milyn.thirdparty:jackson:0.9.2
+milyn:flute:1.3
+org.milyn:milyn-smooks-dtd:0.1
+org.vafer:maven-skin:1.2
+org.vafer:maven-skin:1.3
+org.vafer:jdeb:0.3
+org.vafer:jdeb:0.6
+org.vafer:jdeb:0.1
+org.vafer:jdeb:0.4
+org.vafer:jdeb:0.7
+org.vafer:jdeb:0.5
+org.vafer:jdeb:0.2
+org.vafer:maven-pom:1.0
+org.vafer:dependency:0.3
+org.vafer:dependency:0.1
+org.vafer:dependency:0.4
+org.vafer:dependency:0.2
+org.vafer:drift:0.1
+org.jsecurity:jsecurity:0.9.0-RC2
+org.jsecurity:jsecurity:0.9.0-alpha
+org.jsecurity:jsecurity:0.9.0-RC1
+org.jsecurity:jsecurity:0.9.0-beta2
+org.mattressframework:mattress-parent:1.0.0-ALPHA1
+org.mattressframework:mattress-parent:1.0.0-ALPHA2
+org.mattressframework:mattress-parent:1.0.0-ALPHA3
+org.mockftpserver:MockFtpServer:1.2.3
+org.mockftpserver:MockFtpServer:1.2.4
+org.mockftpserver:MockFtpServer:1.2.1
+org.mockftpserver:MockFtpServer:1.2.2
+org.apithefire:apithefire-server:0.1.0
+org.apithefire:apithefire-sql:0.1.2
+org.apithefire:apithefire-servlet-wicket:0.1.1
+org.apithefire:apithefire-servlet-wicket:0.1.2
+org.apithefire:apithefire-test:0.1.1
+org.apithefire:apithefire-test:0.1.0
+org.apithefire:apithefire-test:0.1.2
+org.apithefire:apithefire-sql-h2:0.1.2
+org.apithefire:apithefire-persistence:0.1.2
+org.apithefire:apithefire:0.1.1
+org.apithefire:apithefire:0.1.0
+org.apithefire:apithefire:0.1.2
+org.apithefire:apithefire-util:0.1.1
+org.apithefire:apithefire-util:0.1.0
+org.apithefire:apithefire-util:0.1.2
+org.apithefire:apithefire-web:0.1.0
+org.apithefire:apithefire-persistence-openjpa:0.1.2
+org.apithefire:apithefire-servlet:0.1.1
+org.apithefire:apithefire-servlet:0.1.2
+org.apithefire:apithefire-all:0.1.1
+org.apithefire:apithefire-all:0.1.2
+org.apithefire:apithefire-server-jetty:0.1.0
+org.apithefire:apithefire-sql-c3p0:0.1.2
+org.apithefire:apithefire-web-wicket:0.1.0
+org.apithefire:apithefire-servlet-jetty:0.1.1
+org.apithefire:apithefire-servlet-jetty:0.1.2
+org.apithefire:apithefire-servlet-examples:0.1.2
+org.jostraca:jostraca:0.4.1
+org.opencms:opencms:5.0.1
+org.bluestemsoftware.specification.eoa.ext:dependency-manager-ext-api:0.8.1.0
+org.bluestemsoftware.specification.eoa.ext:dependency-manager-ext-api:0.8.0.1
+org.bluestemsoftware.specification.eoa.ext:specification-eoa-ext-api:0.8.1.0
+org.bluestemsoftware.specification.eoa.ext:specification-eoa-ext-api:0.8.0.1
+org.bluestemsoftware.eoa.apis:apis-trunk:1
+org.bluestemsoftware.eoa:eoa-parent:1
+org.bluestemsoftware.open.eoa.engine.spring:spring-engine-api:0.8.1.0
+org.bluestemsoftware.open.eoa.engine.spring:spring-engine-api:0.8.0.1
+org.bluestemsoftware.open.eoa.application.spring:spring-application-api:0.8.1.0
+org.bluestemsoftware.open.eoa.application.spring:spring-application-api:0.8.0.1
+org.bluestemsoftware.open.eoa.shared:shared-trunk:1
+org.bluestemsoftware.open.eoa.example.application.spring10:spring-10-application:0.8.1.0
+org.bluestemsoftware.open.eoa.example.application.spring10:spring-10-application:0.8.0.1
+org.bluestemsoftware.open.eoa.example:examples-trunk:1
+org.bluestemsoftware.open.eoa.treleis:treleis-standalone-trunks:0.8.1.0
+org.bluestemsoftware.open.eoa.treleis:treleis-standalone-trunks:0.8.0.1
+org.bluestemsoftware.open.eoa.ext:jaas-login-module:0.8.1.0
+org.bluestemsoftware.open.eoa.ext:jaas-login-module:0.8.0.1
+org.bluestemsoftware.open.eoa.ext:extensions-trunk:1
+org.bluestemsoftware.open.eoa.ext.dependency:system-dependency-management-trunk:1
+org.umlgraph:doclet:5.1
+org.swinglabs:swing-layout:1.0.3
+org.swinglabs:swing-worker:1.1
+org.swinglabs:multiplegradientpaint:1.0
+org.swinglabs:swingx:0.9.1
+org.swinglabs:swingx:0.9.2
+org.swinglabs:swingx:0.9
+org.hibernate:hibernate-search:3.0.0.cr1
+org.hibernate:hibernate-search:3.0.0.GA
+org.hibernate:hibernate-annotations:3.4.0.CR2
+org.hibernate:hibernate-annotations:3.2.0.cr3
+org.hibernate:hibernate-annotations:3.2.0.cr2
+org.hibernate:hibernate-annotations:3.1beta7
+org.hibernate:hibernate-annotations:3.3.1.GA
+org.hibernate:hibernate-annotations:3.0beta1
+org.hibernate:hibernate-annotations:3.2.1.ga
+org.hibernate:hibernate-annotations:3.1beta5
+org.hibernate:hibernate-annotations:3.2.0.ga
+org.hibernate:hibernate-annotations:3.4.0.GA
+org.hibernate:hibernate-annotations:3.0alpha3
+org.hibernate:hibernate-annotations:3.0beta2
+org.hibernate:hibernate-annotations:3.4.0.CR1
+org.hibernate:hibernate-annotations:3.1beta8
+org.hibernate:hibernate-annotations:3.1beta9
+org.hibernate:hibernate-annotations:3.1beta6
+org.hibernate:hibernate-annotations:3.3.0.ga
+org.hibernate:hibernate-annotations:3.2.0.cr1
+org.hibernate:jtidy:r8-20060801
+org.hibernate:jtidy:r8-21122004
+org.hibernate:jtidy:r8-20060801
+org.hibernate:jtidy:r8-21122004
+org.hibernate:hibernate-core-parent:2
+org.hibernate:hibernate-core-parent:1
+org.hibernate:hibernate-parent:3.3.0.SP1
+org.hibernate:hibernate-parent:3.3.0.GA
+org.hibernate:hibernate-parent:3.3.1.GA
+org.hibernate:hibernate-parent:3.3.0.CR1
+org.hibernate:hibernate-parent:3.3.0.CR2
+org.hibernate:ejb3-persistence:1.0.2.GA
+org.hibernate:ejb3-persistence:1.0.1.GA
+org.hibernate:ejb3-persistence:3.3.2.Beta1
+org.hibernate:hibernate:3.1
+org.hibernate:hibernate:3.0.1
+org.hibernate:hibernate:3.0.5
+org.hibernate:hibernate:3.0rc1
+org.hibernate:hibernate:3.1.2
+org.hibernate:hibernate:3.1beta3
+org.hibernate:hibernate:3.0
+org.hibernate:hibernate:3.0.3
+org.hibernate:hibernate:3.2.3.ga
+org.hibernate:hibernate:3.2.0.cr3
+org.hibernate:hibernate:3.1rc1
+org.hibernate:hibernate:3.1.1
+org.hibernate:hibernate:3.2.0.cr2
+org.hibernate:hibernate:3.0alpha
+org.hibernate:hibernate:3.0beta1
+org.hibernate:hibernate:3.2.1.ga
+org.hibernate:hibernate:3.2.2.ga
+org.hibernate:hibernate:3.0beta4b
+org.hibernate:hibernate:3.2.4.sp1
+org.hibernate:hibernate:3.2.6.ga
+org.hibernate:hibernate:3.1rc3
+org.hibernate:hibernate:3.2.0.ga
+org.hibernate:hibernate:3.0beta3
+org.hibernate:hibernate:3.2.0.cr4
+org.hibernate:hibernate:3.1rc2
+org.hibernate:hibernate:3.2.0.cr5
+org.hibernate:hibernate:3.2.5.ga
+org.hibernate:hibernate:3.2.4.ga
+org.hibernate:hibernate:3.1.3
+org.hibernate:hibernate:3.2.0.cr1
+org.hibernate:hibernate-tools:3.2.0.beta8
+org.hibernate:hibernate-tools:3.1.0.beta4
+org.hibernate:hibernate-tools:3.1.0.alpha5
+org.hibernate:hibernate-tools:3.2.0.beta9a
+org.hibernate:hibernate-tools:3.2.0.ga
+org.hibernate:hibernate-tools:3.1.0.beta2
+org.hibernate:hibernate-tools:3.2.0.beta6
+org.hibernate:antlr:2.7.5H3
+org.hibernate:jtidy:jtidy-r8-21122004
+org.hibernate:hibernate-cglib-repack:2.1_3
+org.hibernate:hibernate-validator:3.0.0.ga
+org.hibernate:hibernate-entitymanager:3.3.2.GA
+org.hibernate:hibernate-entitymanager:3.2.1.ga
+org.hibernate:hibernate-entitymanager:3.2.0.ga
+org.hibernate:hibernate-entitymanager:3.3.1.ga
+org.hibernate:hibernate-commons-annotations:3.1.0.GA
+org.hibernate:hibernate-commons-annotations:3.0.0.ga
+org.hibernate:hibernate-commons-annotations:3.3.0.ga
+org.grlea.log:simple-log-rollover:2.0.1
+org.grlea.log.adapters:simple-log-sl4j:1.7
+org.grlea.log.adapters:simple-log-commons-logging:2.0.1
+org.grlea.log.adapters:simple-log-commons-logging:1.7
+org.grlea.log.adapters:simple-log-slf4j:2.0.1
+org.grlea.log.adapters:simple-log-slf4j:1.7
+org.grlea.log:simple-log:2.0.1
+org.grlea.log:simple-log:1.7
+org.atomserver:atomserver:2.1.1.1
+org.atomserver:atomserver:2.0
+org.atomserver:atomserver:2.0.1.1
+org.atomserver:atomserver:2.1.2
+org.atomserver:atomserver:2.0.1
+org.atomserver:atomserver:2.1.4
+org.atomserver:atomserver:2.1
+org.atomserver:atomserver:2.1.3
+org.atomserver:atomserver:2.1.1
+org.jencks:jencks-amqpool:2.0
+org.jencks:jencks-parent:2.0
+org.jencks:jencks-parent:2.1
+org.jencks:jencks:1.2
+org.jencks:jencks:1.3
+org.jencks:jencks:2.0
+org.jencks:jencks:2.1
+org.testng:testng-spring:4.7
+org.testng:testng:5.8
+org.testng:testng:4.6.1
+org.testng:testng:4.4.7
+org.testng:testng:5.7
+org.testng:testng:5.5
+org.testng:testng:5.0.1
+org.testng:testng:5.0
+org.testng:testng:5.6
+org.testng:testng:5.0.2
+org.testng:testng:5.1
+org.testng:testng:4.7
+org.testng:testng-jdk14:4.4.7
+org.neodatis:neodatis-odb:1.9-beta-1
+org.xlightweb:xlightweb:2.0-beta-2
+org.xlightweb:xlightweb:2.0
+org.xlightweb:xlightweb:2.2.1
+org.xlightweb:xlightweb:2.1
+org.xlightweb:xlightweb:2.2
+org.xlightweb:xlightweb:2.1.1
+org.unitils:unitils:1.1
+org.unitils:unitils:2.0
+org.unitils:unitils:1.0-rc-2
+org.unitils:unitils:1.0
+org.unitils:unitils:1.1-rc-2
+org.unitils:unitils:1.0-rc-3
+org.unitils:unitils:1.0-rc-5
+org.unitils:unitils:1.0-rc-4
+org.unitils:unitils:1.0-rc-1
+org.rcfaces:org.rcfaces.core:1.0Beta3
+org.rcfaces:org.rcfaces.html:1.0Beta3
+org.extrema-sistemas.loom:loom-js:0.8.8
+org.extrema-sistemas.loom:loom-js:0.8.6
+org.extrema-sistemas.loom:loom-js:1.0-RC1
+org.extrema-sistemas.loom:loom-js:1.0-RC2
+org.extrema-sistemas.loom:loom-js:0.8.7
+org.extrema-sistemas.loom:loom:0.8.8
+org.extrema-sistemas.loom:loom:0.8.6
+org.extrema-sistemas.loom:loom:1.0-RC2.1
+org.extrema-sistemas.loom:loom:1.0-RC1
+org.extrema-sistemas.loom:loom:1.0-RC2
+org.extrema-sistemas.loom:loom:0.8.7
+org.openxri:openxri-client:1.0.1
+org.openxri:openxri-syntax:1.0.1
+org.puremvc:Utility_Java_MultiCore_Pipes:1.0
+org.puremvc:PureMVC_Java_MultiCore:1.0
+org.hammurapi:historyoutput-db:3.17.0
+org.hammurapi:historyinspector-db:3.17.0
+org.hammurapi:historyoutput:3.17.0
+org.hammurapi:historyinspector:3.17.0
+org.hammurapi:hammurapi-db:3.17.0
+org.hammurapi:hammurapi:3.17.0
+org.antlr:gunit:1.0.1
+org.antlr:antlr:3.1
+org.antlr:antlr:3.0.1
+org.antlr:antlr:3.0
+org.antlr:antlr:3.1.1
+org.antlr:antlr:3.0ea8
+org.antlr:antlr:3.0b5
+org.antlr:antlr-runtime:3.1
+org.antlr:antlr-runtime:3.0.1
+org.antlr:antlr-runtime:3.0
+org.antlr:antlr-runtime:3.1.1
+org.antlr:antlr3-maven-plugin:3.1.1
+org.antlr:stringtemplate:3.2
+org.antlr:stringtemplate:3.0
+org.antlr:stringtemplate:3.1-b1
+org.devlib.schmidt:imageinfo:1.9
+org.devlib.schmidt:imageinfo:1.7
+org.jyaml:jyaml:1.2
+org.jyaml:jyaml:1.3
+org.tango-project:tango-icon-theme:0.8.0
+org.tango-project:tango-icon-theme:0.6.7
+org.tango-project:tango-icon-theme:0.7.0
+org.tango-project:tango-icon-theme:0.7.1
+org.tango-project:tango-icon-theme:0.7.2
+org.tango-project:tango-icon-theme:0.6.1
+org.tango-project:tango-icon-theme:0.5.0
+org.objectweb.perseus:perseus-pool:1.5.4
+org.objectweb.perseus:perseus-concurrency:1.6
+org.objectweb.perseus:perseus-concurrency:1.5.4
+org.objectweb.perseus:perseus-dependency:1.5.4
+org.objectweb.perseus:perseus-cache:1.5.4
+org.objectweb.perseus:perseus-cache:jar
+org.objectweb.perseus:perseus-persistence:1.5.4
+org.objectweb.perseus:perseus-persistence:1.6.1
+org.objectweb.zeus:zeus:3.5
+org.objectweb.fractal.fraclet:fraclet-annotation-templates:2.0
+org.objectweb.fractal.fraclet:fraclet-annotation-annotations:2.0
+org.objectweb.fractal.fraclet:fraclet-annotation:2.0
+org.objectweb.fractal.fraclet.java:xml-spoonlet:3.0
+org.objectweb.fractal.fraclet.java:parent:3.2
+org.objectweb.fractal.fraclet.java:parent:3.1
+org.objectweb.fractal.fraclet.java:parent:3.0.1
+org.objectweb.fractal.fraclet.java:parent:3.0
+org.objectweb.fractal.fraclet.java:parent:3.0.3
+org.objectweb.fractal.fraclet.java:parent:3.0.2
+org.objectweb.fractal.fraclet.java.examples:comanche:3.0
+org.objectweb.fractal.fraclet.java.examples:parent:3.0
+org.objectweb.fractal.fraclet.java.examples:helloworld:3.0
+org.objectweb.fractal.fraclet.java:fractaladl-spoonlet:3.0.1
+org.objectweb.fractal.fraclet.java:fractaladl-spoonlet:3.0
+org.objectweb.fractal.fraclet.java:fraclet-annotations:3.0
+org.objectweb.fractal.fraclet.java:fractal-spoonlet:3.0
+org.objectweb.fractal.fraclet.java:fractal-spoonlet:3.0.2
+org.objectweb.fractal.fraclet.annotation:parent:2.0.2
+org.objectweb.fractal.fraclet:xdoclet-plugin-fractal:1.0
+org.objectweb.fractal.fraclet:xdoclet-plugin-fractal:2.1
+org.objectweb.fractal.fraclet:parent:2.0
+org.objectweb.fractal:fractal:2.0.1
+org.objectweb.fractal.fractalgui:fractal-gui:0.4.2
+org.objectweb.fractal.fractaljar:fractal-jar:0.1.1
+org.objectweb.fractal.julia:juliak:2.5
+org.objectweb.fractal.julia:julia-runtime-j2me:2.1.5
+org.objectweb.fractal.julia:julia-runtime-j2me:2.5
+org.objectweb.fractal.julia:julia-runtime-j2me:2.1.3
+org.objectweb.fractal.julia:julia-asm:2.1.5
+org.objectweb.fractal.julia:julia-asm:2.5
+org.objectweb.fractal.julia:julia-asm:2.1.3
+org.objectweb.fractal.julia:parent:2.5.2
+org.objectweb.fractal.julia:parent:2.5.1
+org.objectweb.fractal.julia:julia-runtime:2.1.5
+org.objectweb.fractal.julia:julia-runtime:2.5
+org.objectweb.fractal.julia:julia-runtime:2.1.3
+org.objectweb.fractal.julia:julia-mixins:2.1.5
+org.objectweb.fractal.julia:julia-mixins:2.5
+org.objectweb.fractal.julia:julia-mixins:2.1.3
+org.objectweb.fractal.cecilia:parent:1.1
+org.objectweb.fractal.cecilia:parent:1.2
+org.objectweb.fractal.cecilia:parent:1.0
+org.objectweb.fractal.cecilia:parent:1.2.1
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0-alpha-5
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0-alpha-1
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0-beta-2
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0.2
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0.1
+org.objectweb.fractal.cecilia.examples:cecilia-examples:2.0-beta-1
+org.objectweb.fractal.cecilia:maven-skin-cecilia:1.0
+org.objectweb.fractal.fractaladl.dumper:dumper:0.1
+org.objectweb.fractal.fractaladl.dumper:parent:0.1
+org.objectweb.fractal.fractaladl:parent:2.1.7
+org.objectweb.fractal.fractaladl:parent:2.1.8
+org.objectweb.fractal.fractaladl.juliac:parent:1.1
+org.objectweb.fractal.fractaladl.juliac:parent:1.2
+org.objectweb.fractal.fractaladl.juliac:parent:1.0
+org.objectweb.fractal.fractaladl.juliac.examples:parent:1.1
+org.objectweb.fractal.fractaladl.juliac:juliac-parent:1.3
+org.objectweb.fractal.fractaladl:fractal-adl:2.1.5
+org.objectweb.fractal.fractaladl:fractal-adl:2.1.3
+org.objectweb.fractal.fractalexplorer:parent:1.1.3
+org.objectweb.fractal.fractalexplorer:parent:1.1.2
+org.objectweb.fractal.fractalexplorer.examples:parent:1.1.3
+org.objectweb.fractal.fractalexplorer.examples:rmi:1.1.3
+org.objectweb.fractal.fractalexplorer.examples:helloworld:1.1.3
+org.objectweb.fractal.fractalexplorer:fractal-explorer:1.1.3
+org.objectweb.fractal.fractalexplorer:fractal-explorer:1.0
+org.objectweb.fractal.fractalexplorer:fractal-explorer:1.1.2
+org.objectweb.fractal:maven-bootstrap-cecilia-plugin:1.1
+org.objectweb.fractal:maven-bootstrap-cecilia-plugin:1.0
+org.objectweb.fractal:parent:2.0
+org.objectweb.fractal.fractaljmx:fractal-jmx:0.2.4
+org.objectweb.fractal.fractaljmx:fractal-jmx:0.2.3
+org.objectweb.fractal.fractaljmx:fractal-jmx-tmpl:0.2.3
+org.objectweb.fractal.fractaljmx:parent:0.2.4
+org.objectweb.fractal.fractaljmx:parent:0.2.5
+org.objectweb.fractal.fractaljmx:parent:0.3.0
+org.objectweb.fractal.juliac:juliac-parent:2.0
+org.objectweb.fractal.juliac:juliac-parent:2.1.2
+org.objectweb.fractal.juliac:juliac-parent:2.0.2
+org.objectweb.fractal.juliac:juliac-parent:2.0.1
+org.objectweb.fractal.juliac:juliac-parent:2.1.4
+org.objectweb.fractal.juliac:juliac-parent:2.1
+org.objectweb.fractal.juliac:juliac-parent:2.1.3
+org.objectweb.fractal.juliac:juliac-parent:2.1.1
+org.objectweb.fractal.fractalswing:fractal-swing:0.2
+org.objectweb.fractal.fractalswing:fractal-swing-tmpl:0.2
+org.objectweb.fractal.fractalrmi:fractal-rmi:0.3.3
+org.objectweb.fractal.fractalrmi:parent:0.3.5
+org.objectweb.fractal.fractalrmi:fractal-rmi-tmpl:0.3.3
+org.objectweb.fractal.bf:parent:0.1
+org.objectweb.fractal.bf.examples
+ :fractal-bf-examples-helloworld-rmi-nonremote
+ :0.3
+org.objectweb.fractal.bf.examples
+ :fractal-bf-examples-helloworld-rmi-nonremote
+ :0.4
+org.objectweb.fractal.bf:fractal-bf-parent:0.3
+org.objectweb.fractal.bf:fractal-bf-parent:0.4
+org.objectweb.fractal.bf:fractal-bf-parent:0.2
+org.objectweb.fractal.fscript:parent:2.0
+org.objectweb.fractal.fscript:parent:1.0
+org.objectweb.fractal.fscript:parent:2.1.0
+org.objectweb.fractal.fscript:parent:1.0.1
+org.objectweb.fractal.fscript:fscript:1.0
+org.objectweb.fractal.fscript:fscript:1.0.1
+org.objectweb.carol:cmi-parent:1.3.12
+org.objectweb.carol:carol:2.0.5
+org.objectweb.carol:carol-parent:2.2.10
+org.objectweb.bonita:chainsaw:2.0
+org.objectweb.bonita:chainsaw:2.1
+org.objectweb.bonita:config:2.0
+org.objectweb.bonita:config:2.1
+org.objectweb.bonita:bonita:2.0
+org.objectweb.bonita:bonita:2.1
+org.objectweb.bonita:loadclass:2.0
+org.objectweb.bonita:loadclass:2.1
+org.objectweb.bonita:formgenerator:2.0
+org.objectweb.bonita:formgenerator:2.1
+org.objectweb.bonita:bonita-client:2.0
+org.objectweb.bonita:bonita-client:2.1
+org.objectweb.bonita:herostruts:2.0
+org.objectweb.bonita:herostruts:2.1
+org.objectweb.bonita:manager:2.0
+org.objectweb.bonita:manager:2.1
+org.objectweb.bonita:bonita_ws:2.0
+org.objectweb.bonita:bonita_ws:2.1
+org.objectweb.bonita:jabber:2.0
+org.objectweb.bonita:jabber:2.1
+org.objectweb.deployment:deployment-scheduling:0.2
+org.objectweb.util.explorer:explorer:1.0
+org.objectweb.util.explorer.plugins:explorer-reflector-plugin:1.0
+org.objectweb.util.misc:ow-misc:1.0
+org.objectweb.util.misc:ow-trace:1.0
+org.objectweb.util:commandline:1.0
+org.objectweb.jonathan:jonathan:3.0.10
+org.objectweb.jonas.tools:jonas-fastrmic:1.0.0
+org.objectweb.jonas:jonas-ant-tasks:4.9.2
+org.objectweb.jonas:jonas:5.0-M1
+org.objectweb.joram:joram-client:5.1.0a
+org.objectweb.joram:joram-client:5.0.4
+org.objectweb.joram:joram-client:4.3.28
+org.objectweb.joram:joram-gui:4.3.28
+org.objectweb.joram:joram-kclient:4.3.28
+org.objectweb.joram:joram_ra_for_jonas:5.1.0a
+org.objectweb.joram:joram-parent:5.0.6
+org.objectweb.joram:joram-parent:5.0.7
+org.objectweb.joram:joram-parent:5.1.0
+org.objectweb.joram:joram-parent:5.0.8
+org.objectweb.joram:joram-parent:5.0.9
+org.objectweb.joram:joram-mom:5.1.0a
+org.objectweb.joram:joram-mom:5.0.4
+org.objectweb.joram:joram-mom:4.3.28
+org.objectweb.joram:jcup:4.3.28
+org.objectweb.joram:joram-raconfig:4.3.28
+org.objectweb.joram:joram-connector:5.1.0a
+org.objectweb.joram:joram-connector:5.0.4
+org.objectweb.joram:joram-connector:4.3.28
+org.objectweb.joram:joram-config:4.3.28
+org.objectweb.joram:joram-shared:5.1.0a
+org.objectweb.joram:joram-shared:5.0.4
+org.objectweb.joram:joram-shared:4.3.28
+org.objectweb.joram:joram_for_jonas_ra:5.1.0a
+org.objectweb.joram:joram_for_jonas_ra:5.0.4
+org.objectweb.joram:joram_for_jonas_ra:5.1.0
+org.objectweb.apollon:apollon-runtime:1.0
+org.objectweb.apollon:apollon:1.0
+org.objectweb.think.minus:minus:1.1-alpha-2
+org.objectweb.think.minus:cecilia-adl-dynamic:1.1-alpha-2
+org.objectweb.think.minus:cecilia-adl-export-bind-dynamic:1.1-alpha-2
+org.objectweb.think.minus.tools:tools:1.1
+org.objectweb.think.minus.tools:tools:1.2
+org.objectweb.think.minus.tools:tools:1.3
+org.objectweb.think.minus.tools:tools:1.1-alpha-2
+org.objectweb.think.minus.tools:tools:1.1-alpha-6
+org.objectweb.think.minus.tools:tools:1.1-alpha-5
+org.objectweb.think.minus.libc:libc:1.1-alpha-2
+org.objectweb.think.minus.libc:libc-parent:1.1-alpha-2
+org.objectweb.think.minus.libc:maven-targets:1.1-alpha-2
+org.objectweb.think.minus:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.utils:utils:1.1
+org.objectweb.think.minus.utils:utils:1.1-alpha-5
+org.objectweb.think.minus.utils:yuv-player-video:1.0
+org.objectweb.think.minus.examples.yuv-player:yuv-player:1.1-alpha-2
+org.objectweb.think.minus.examples.yuv-player:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.examples.cbst:cbst:1.1-alpha-2
+org.objectweb.think.minus.examples.cbst:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.examples.clientServer:clientServer-parent:1.1-alpha-2
+org.objectweb.think.minus.examples.clientServer:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.examples:examples:1.1
+org.objectweb.think.minus.examples:examples:1.1-alpha-5
+org.objectweb.think.minus.examples.helloworld:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.examples.helloworld:helloworld-parent:1.1-alpha-2
+org.objectweb.think.minus.test:java:1.0
+org.objectweb.think.minus.test:scripts:1.0
+org.objectweb.think.minus.test:parent:1.0
+org.objectweb.think.minus:minus-top-parent:1.1
+org.objectweb.think.minus:minus-top-parent:1.2
+org.objectweb.think.minus:minus-top-parent:1.1-alpha-5
+org.objectweb.think.minus.applications.pseudoGrub:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.applications.pseudoGrub:pseudoGrub-parent:1.1-alpha-2
+org.objectweb.think.minus.applications.pseudoGrub:integrator:1.1-alpha-2
+org.objectweb.think.minus.applications.pseudoGrub:lxsimenv:1.1-alpha-2
+org.objectweb.think.minus.applications.comete:comete:1.1
+org.objectweb.think.minus.applications.comete:comete:1.1-alpha-6
+org.objectweb.think.minus.applications.libL4:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.applications.libL4:libL4-parent:1.1-alpha-2
+org.objectweb.think.minus.applications.libL4:common:1.1-alpha-2
+org.objectweb.think.minus.applications.L4PseudoGrub:L4PseudoGrub-parent:1.1-alpha-2
+org.objectweb.think.minus.applications.L4PseudoGrub:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.applications.L4PseudoGrub:integrator:1.1-alpha-2
+org.objectweb.think.minus.applications.L4PseudoGrub:lxsimenv:1.1-alpha-2
+org.objectweb.think.minus.applications.L4Userland:L4Userland-parent:1.1-alpha-2
+org.objectweb.think.minus.applications.L4Userland:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.applications.L4Userland:integrator:1.1-alpha-2
+org.objectweb.think.minus.applications.L4Userland:lxsimenv:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:lxsimenv.debug:1.1
+org.objectweb.think.minus.applications.L4:lxsimenv.debug:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:lxsimenv.debug:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:maven-targets:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:integrator.debug:1.1
+org.objectweb.think.minus.applications.L4:integrator.debug:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:integrator.debug:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:stm8010:1.1
+org.objectweb.think.minus.applications.L4:stm8010:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:stm8010:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:stm8010.debug:1.1
+org.objectweb.think.minus.applications.L4:stm8010.debug:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:stm8010.debug:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:integrator:1.1
+org.objectweb.think.minus.applications.L4:integrator:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:integrator:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:lxsimenv:1.1
+org.objectweb.think.minus.applications.L4:lxsimenv:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:lxsimenv:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:L4-parent:1.1-alpha-2
+org.objectweb.think.minus.applications.L4:L4-parent:1.1-alpha-5
+org.objectweb.think.minus.applications.L4:L4:1.1
+org.objectweb.think.minus:cecilia-adl-export-bind:1.1-alpha-2
+org.objectweb.think.minus:root:1.1
+org.objectweb.think.minus:root:1.2
+org.objectweb.think.minus:root:1.1-alpha-2
+org.objectweb.think.minus:root:1.0
+org.objectweb.think.minus:root:1.2-alpha-1
+org.objectweb.think.minus:root:1.1-alpha-5
+org.objectweb.think.minus:minus-parent:1.1-alpha-2
+org.objectweb.celtix:celtix-codegen-plugin:1.0-beta-1
+org.objectweb.celtix:celtix-codegen-plugin:1.0
+org.objectweb.celtix:celtix-geronimo:1.0-beta-1
+org.objectweb.celtix:celtix-geronimo:1.0
+org.objectweb.celtix:celtix-testutils:1.0-beta-1
+org.objectweb.celtix:celtix-testutils:1.0
+org.objectweb.celtix:celtix-router:1.0-beta-1
+org.objectweb.celtix:celtix-router:1.0
+org.objectweb.celtix:celtix-jbi:1.0-beta-1
+org.objectweb.celtix:celtix-jbi:1.0
+org.objectweb.celtix:celtix-axisinterop:1.0-beta-1
+org.objectweb.celtix:celtix-axisinterop:1.0
+org.objectweb.celtix:celtix-rt:1.0-beta-1
+org.objectweb.celtix:celtix-rt:1.0
+org.objectweb.celtix:celtix-distribution:1.0
+org.objectweb.celtix:celtix:1.0-beta-1
+org.objectweb.celtix:celtix:1.0
+org.objectweb.celtix:celtix-api:1.0-beta-1
+org.objectweb.celtix:celtix-api:1.0
+org.objectweb.celtix:celtix-js:1.0
+org.objectweb.celtix:celtix-common:1.0-beta-1
+org.objectweb.celtix:celtix-common:1.0
+org.objectweb.celtix:celtix-tools:1.0-beta-1
+org.objectweb.celtix:celtix-tools:1.0
+org.objectweb.celtix:celtix-systests:1.0-beta-1
+org.objectweb.celtix:celtix-systests:1.0
+org.objectweb.dream.dreamannotation:dream-annotation:1.0.3
+org.objectweb.dream.dreamannotation:dream-annotation:1.0.2
+org.objectweb.dream.dreamannotation:parent:1.0.2
+org.objectweb.dream:parent:2.0
+org.objectweb.dream.dreamcore:parent:2.0
+org.objectweb.dream.dreamcore:dream-core:2.0
+org.objectweb.dream.dreamcore:dream-core:0.1
+org.objectweb.dream.dreamcore:dream-core:2.1
+org.objectweb.dream.dreamadl:dream-adl:2.0
+org.objectweb.dream.dreamadl:dream-adl:0.1
+org.objectweb.dream.dreamadl:dream-adl:2.2
+org.objectweb.dream.dreamadl:parent:2.0
+org.objectweb.dream.dreamadl:parent:2.2
+org.objectweb.dream.dreamadl:maven-check-adl-plugin:2.2
+org.objectweb.dream.dreamlib:dream-lib:2.0
+org.objectweb.dream.dreamlib:dream-lib:0.1
+org.objectweb.dream.dreamlib:dream-lib:2.1
+org.objectweb.dream.dreamlib:parent:2.0
+org.objectweb.petals:petals-se-perfconsumer:1.0
+org.objectweb.petals:petals-ws:0.1
+org.objectweb.petals:petals-ws:0.2
+org.objectweb.petals:maven-archetype-petals-jbi-binding-component:1.0.0
+org.objectweb.petals:petals-plugin-maven-jbi:1.2
+org.objectweb.petals:petals-plugins:3
+org.objectweb.petals:petals-plugins:2
+org.objectweb.petals:petals-plugins:1
+org.objectweb.petals:petals-fdf:1.0
+org.objectweb.petals:petals-samples:4
+org.objectweb.petals:petals-samples:5
+org.objectweb.petals:petals-samples:2
+org.objectweb.petals:petals-samples:1
+org.objectweb.petals:petals-se-pojo:1.3
+org.objectweb.petals:petals-se-pojo:1.4
+org.objectweb.petals:petals-cdk:1.2
+org.objectweb.petals:petals-cdk:1.4.1
+org.objectweb.petals:petals-cdk:1.3
+org.objectweb.petals:petals-cdk:1.4.2
+org.objectweb.petals:petals-cdk:1.4
+org.objectweb.petals:petals-cdk:2.0-beta1
+org.objectweb.petals:petals-cdk:3.0-beta
+org.objectweb.petals.tools:petals-webconsole:1.0
+org.objectweb.petals.tools.rmi:petals-rmi-proxyclient:1.0
+org.objectweb.petals.tools.rmi:petals-rmi-common:1.0
+org.objectweb.petals.tools.rmi:petals-rmi:1
+org.objectweb.petals.tools.rmi:petals-rmi-server:1.0
+org.objectweb.petals:petals-webapp:1.3
+org.objectweb.petals:petals-components:6
+org.objectweb.petals:petals-components:4
+org.objectweb.petals:petals-components:3
+org.objectweb.petals:petals-components:5
+org.objectweb.petals:petals-components:2
+org.objectweb.petals:petals-components:1
+org.objectweb.petals:petals-se-sampleclient:1.3
+org.objectweb.petals:petals-se-sampleclient:1.4
+org.objectweb.petals:petals-tools-jbi-common:1.0.1
+org.objectweb.petals:petals-quality:1.0
+org.objectweb.petals:petals-bc-filetransfer:1.3
+org.objectweb.petals:petals-bc-filetransfer:1.5
+org.objectweb.petals:petals-bc-filetransfer:1.4
+org.objectweb.petals:petals-se-rmi:1.0
+org.objectweb.petals:petals-bc-xmpp:1.0
+org.objectweb.petals:petals-common:1.2
+org.objectweb.petals:petals-common:1.4.1
+org.objectweb.petals:petals-common:1.3
+org.objectweb.petals:petals-common:1.4.2
+org.objectweb.petals:petals-common:1.5
+org.objectweb.petals:petals-common:1.4
+org.objectweb.petals:maven-archetype-petals-jbi-service-assembly:1.0.0
+org.objectweb.petals:petals-bc-soap:1.3
+org.objectweb.petals:petals-bc-soap:2.0
+org.objectweb.petals:petals-bc-soap:2.1.2
+org.objectweb.petals:petals-bc-soap:2.0.2
+org.objectweb.petals:petals-bc-soap:2.0.1
+org.objectweb.petals:petals-bc-soap:2.1
+org.objectweb.petals:petals-bc-soap:2.1.1
+org.objectweb.petals:petals-bc-soap:2.0.3
+org.objectweb.petals:maven-archetype-petals-jbi-service-engine:1.0.0
+org.objectweb.petals:petals-topology:1.0
+org.objectweb.petals:petals-bc-jms:2.0
+org.objectweb.petals:petals-se-script:0.1
+org.objectweb.petals:petals-ant:1.2
+org.objectweb.petals:petals-ant:1.3
+org.objectweb.petals:petals-ant:1.3-beta
+org.objectweb.petals:petals-ant:1.3.1
+org.objectweb.petals:petals-ant:1.3.2
+org.objectweb.petals:petals-se-xslt:1.3
+org.objectweb.petals:petals-se-xslt:2.0
+org.objectweb.petals:petals-demos:1
+org.objectweb.petals:petals-parent:6
+org.objectweb.petals:petals-parent:4
+org.objectweb.petals:petals-parent:3
+org.objectweb.petals:petals-parent:5
+org.objectweb.petals:petals-parent:2
+org.objectweb.petals:petals-parent:1
+org.objectweb.petals:petals-platform:6
+org.objectweb.petals:petals-platform:4
+org.objectweb.petals:petals-platform:3
+org.objectweb.petals:petals-platform:5
+org.objectweb.petals:petals-platform:2
+org.objectweb.petals:petals-platform:1
+org.objectweb.petals:petals-standalone:1.4.1
+org.objectweb.petals:petals-standalone:1.3
+org.objectweb.petals:petals-standalone:2.0
+org.objectweb.petals:petals-standalone:1.4.2
+org.objectweb.petals:petals-standalone:1.4.4
+org.objectweb.petals:petals-standalone:1.4
+org.objectweb.petals:petals-standalone:1.4.7
+org.objectweb.petals:petals-standalone:1.3-beta-2
+org.objectweb.petals:petals-standalone:1.4.3
+org.objectweb.petals:petals-standalone:1.4.5
+org.objectweb.petals:petals-standalone:1.4.6
+org.objectweb.petals:petals-standalone:1.5.0
+org.objectweb.petals:petals-kernel:1.2
+org.objectweb.petals:petals-kernel:1.4.1
+org.objectweb.petals:petals-kernel:1.3
+org.objectweb.petals:petals-kernel:2.0
+org.objectweb.petals:petals-kernel:1.4.2
+org.objectweb.petals:petals-kernel:1.4.4
+org.objectweb.petals:petals-kernel:1.4
+org.objectweb.petals:petals-kernel:1.4.7
+org.objectweb.petals:petals-kernel:1.3-beta-2
+org.objectweb.petals:petals-kernel:1.4.3
+org.objectweb.petals:petals-kernel:1.4.5
+org.objectweb.petals:petals-kernel:1.4.6
+org.objectweb.petals:petals-kernel:1.5.0
+org.objectweb.petals:petals-tools:6
+org.objectweb.petals:petals-tools:4
+org.objectweb.petals:petals-tools:3
+org.objectweb.petals:petals-tools:5
+org.objectweb.petals:petals-tools:2
+org.objectweb.petals:petals-tools:1
+org.objectweb.petals:petals-jbiapi-mock:0.1
+org.objectweb.petals:petals-axismodules:1
+org.objectweb.petals:petals-bc-ftp:2.0
+org.objectweb.petals:petals-se-csv:1.3
+org.objectweb.petals:petals-component-common:1.0.1
+org.objectweb.petals:petals-bc-mail:2.0
+org.objectweb.petals:petals-se-eip:1.0
+org.objectweb.petals:petals-rampart:1.0
+org.objectweb.petals:petals-plugins-maven:2
+org.objectweb.petals:petals-plugins-maven:1
+org.objectweb.petals:maven-archetype-petals-jbi-service-unit:1.0.0
+org.objectweb.petals:petals-bc-http:0.1
+org.objectweb.petals:petals-jbi-descriptor:1.1
+org.objectweb.petals:petals-jbi-descriptor:1.0
+org.objectweb.petals:petals-jbi-descriptor:1.2.0
+org.objectweb.petals:petals-component-framework:2.0
+org.objectweb.petals:petals-component-framework:2.0.4
+org.objectweb.petals:petals-component-framework:2.1.2
+org.objectweb.petals:petals-component-framework:2.0.2
+org.objectweb.petals:petals-component-framework:2.0.1
+org.objectweb.petals:petals-component-framework:2.1
+org.objectweb.petals:petals-component-framework:2.1.1
+org.objectweb.petals:petals-component-framework:2.0.3
+org.objectweb.petals:petals-test:1
+org.objectweb.petals:petals-se-helloworld:1.3
+org.objectweb.petals:petals-se-helloworld:2.0
+org.objectweb.petals:petals-jmx:1.1
+org.objectweb.petals:petals-jmx:1.0
+org.objectweb.petals:petals-se-clock:1.3
+org.objectweb.petals:petals-se-clock:1.4
+org.objectweb.petals:petals-se-perfprovider:1.0
+org.objectweb.petals:maven-petals-plugin:1.1.1
+org.objectweb.petals:maven-petals-plugin:1.2.0
+org.objectweb.petals:maven-petals-plugin:1.0.0
+org.objectweb.petals:maven-petals-plugin:1.2.1
+org.objectweb.petals:maven-petals-plugin:1.2.0-beta-1
+org.objectweb.petals:maven-petals-plugin:1.0.1
+org.objectweb.petals:maven-petals-plugin:1.2.2
+org.objectweb.petals:maven-petals-plugin:1.1.0
+org.objectweb.jorm:jorm-core:jar
+org.objectweb.jorm:jorm-core:2.9.3-patch
+org.objectweb.jorm:jorm-rdb-adapter:3.2.2
+org.objectweb.jorm:jorm-rdb-adapter:jar
+org.objectweb.jorm:jorm-api:jar
+org.objectweb.jorm:jorm-api:2.9.3-patch
+org.objectweb.jorm:jorm-runtime:jar
+org.objectweb.jorm:jorm-runtime:2.9.3-patch
+org.objectweb.jorm:jorm-compiler:2.9.3
+org.objectweb.monolog:monolog-api:1.8
+org.objectweb.monolog:monolog-parent:2.1.10
+org.objectweb.monolog:monolog-parent:2.1.11
+org.objectweb.monolog:monolog-parent:2.1.9
+org.objectweb.monolog:monolog-parent:2.1.8
+org.objectweb.monolog:monolog:1.8
+org.objectweb.tribe:tribe:0.4
+org.objectweb.medor:medor-exp:1.6.3
+org.objectweb.medor:medor-exp:jar
+org.objectweb.medor:medor:1.7.1
+org.objectweb.medor:medor:jar
+org.objectweb.howl:howl:1.0.1-1
+org.objectweb.lewys:lewys:1.0
+org.objectweb.clif:clif-only:1.2.2
+org.objectweb.clif:clif-full:1.2.2
+org.objectweb.clif:clif-without-fractal:1.3.0
+org.microemu:microemulator-app-swing:2.0.0
+org.microemu:microemu:2.0.2
+org.microemu:microemu:2.0.1
+org.pojomatic:pojomatic:0.1
+org.jvnet.mock-javamail:mock-javamail:1.1
+org.jvnet.mock-javamail:mock-javamail:1.6
+org.jvnet.mock-javamail:mock-javamail:1.2
+org.jvnet.mock-javamail:mock-javamail:1.3
+org.jvnet.mock-javamail:mock-javamail:1.0
+org.jvnet.mock-javamail:mock-javamail:1.5
+org.jvnet.mock-javamail:mock-javamail:1.7
+org.jvnet:mimepull:1.1
+org.jvnet:mimepull:1.3
+org.jvnet.jax-ws-commons:pom:1.0
+org.jvnet.staxex:stax-ex:1.2
+org.beanshell:bsh:1.3.0
+org.beanshell:beanshell:2.0b4
+org.opengroup:ARM_4_0:1.0
+org.openwfe:openwfe-decision:1.7.1pre4
+org.openwfe:openwfe-decision:1.7.2
+org.openwfe:openwfe-decision:1.7.1
+org.openwfe:openwfe-decision:1.7.1pre10
+org.openwfe:openwfe-decision:1.7.1pre7
+org.openwfe:openwfe-embed:1.7.1pre4
+org.openwfe:openwfe-embed:1.7.2
+org.openwfe:openwfe-embed:1.7.0
+org.openwfe:openwfe-embed:1.7.1
+org.openwfe:openwfe-embed:1.7.0pre9
+org.openwfe:openwfe-embed:1.7.0pre4
+org.openwfe:openwfe-embed:1.7.1pre10
+org.openwfe:openwfe-embed:1.7.1pre7
+org.openwfe:openwfe-top:1.7.2
+org.openwfe:openwfe-embed-wom:1.7.1pre4
+org.openwfe:openwfe-embed-wom:1.7.0
+org.openwfe:openwfe-embed-wom:1.7.1
+org.openwfe:openwfe-embed-wom:1.7.0pre9
+org.openwfe:openwfe-embed-wom:1.7.0pre4
+org.openwfe:openwfe-embed-wom:1.7.1pre10
+org.openwfe:openwfe-embed-wom:1.7.1pre7
+org.openwfe:openwfe-syndication:1.7.2
+org.openwfe:openwfe-worklist-actions:1.7.1pre4
+org.openwfe:openwfe-worklist-actions:1.7.2
+org.openwfe:openwfe-worklist-actions:1.7.0
+org.openwfe:openwfe-worklist-actions:1.7.1
+org.openwfe:openwfe-worklist-actions:1.7.0pre9
+org.openwfe:openwfe-worklist-actions:1.7.0pre4
+org.openwfe:openwfe-worklist-actions:1.7.1pre10
+org.openwfe:openwfe-worklist-actions:1.7.1pre7
+org.openwfe:openwfe-webserver:1.7.2
+org.openwfe:openwfe-ws:1.7.2
+org.openwfe:openwfe-uman-actions:1.7.2
+org.openwfe:openwfe-sql:1.7.2
+org.openwfe:openwfe-engine:1.7.1pre4
+org.openwfe:openwfe-engine:1.7.2
+org.openwfe:openwfe-engine:1.7.0
+org.openwfe:openwfe-engine:1.7.1
+org.openwfe:openwfe-engine:1.7.0pre9
+org.openwfe:openwfe-engine:1.7.0pre4
+org.openwfe:openwfe-engine:1.7.1pre10
+org.openwfe:openwfe-engine:1.7.1pre7
+org.openwfe:openwfe-jcr:1.7.2
+org.openwfe:openwfe-applic:1.7.1pre4
+org.openwfe:openwfe-applic:1.7.2
+org.openwfe:openwfe-applic:1.7.0
+org.openwfe:openwfe-applic:1.7.1
+org.openwfe:openwfe-applic:1.7.0pre9
+org.openwfe:openwfe-applic:1.7.0pre4
+org.openwfe:openwfe-applic:1.7.1pre10
+org.openwfe:openwfe-applic:1.7.1pre7
+org.openwfe:openwfe-webflow:1.7.2
+org.openwfe:openwfe-worklist:1.7.1pre4
+org.openwfe:openwfe-worklist:1.7.2
+org.openwfe:openwfe-worklist:1.7.0
+org.openwfe:openwfe-worklist:1.7.1
+org.openwfe:openwfe-worklist:1.7.0pre9
+org.openwfe:openwfe-worklist:1.7.0pre4
+org.openwfe:openwfe-worklist:1.7.1pre10
+org.openwfe:openwfe-worklist:1.7.1pre7
+org.openwfe:openwfe-engine-actions:1.7.1pre4
+org.openwfe:openwfe-engine-actions:1.7.2
+org.openwfe:openwfe-engine-actions:1.7.0
+org.openwfe:openwfe-engine-actions:1.7.1
+org.openwfe:openwfe-engine-actions:1.7.0pre9
+org.openwfe:openwfe-engine-actions:1.7.0pre4
+org.openwfe:openwfe-engine-actions:1.7.1pre10
+org.openwfe:openwfe-engine-actions:1.7.1pre7
+org.openwfe:openwfe:1.7.1pre4
+org.openwfe:openwfe:1.7.0
+org.openwfe:openwfe:1.7.1
+org.openwfe:openwfe:1.7.0pre9
+org.openwfe:openwfe:1.7.0pre4
+org.openwfe:openwfe:1.7.1pre10
+org.openwfe:openwfe-apre:1.7.2
+org.openwfe:openwfe:1.7.1pre7
+org.openwfe:openwfe-xlob:1.7.2
+org.openwfe:openwfe-apre:1.7.2
+org.openwfe:openwfe-query:1.7.2
+org.openwfe:openwfe-uman:1.7.2
+org.criticalsection:cs-java-parent:2
+org.criticalsection:cs-java-parent:1
+org.criticalsection:cs-checkstyle-config:1
+org.criticalsection.mtn4java:mtn4java:1.0-alpha-01
+org.criticalsection.mtn4java:mtn4java:1.0-alpha-02
+org.criticalsection.commons-exec:commons-exec:1.0-cs-01
+org.criticalsection.maven:mtn-maven-scm-provider:1.0-alpha-01
+org.criticalsection.maven:mtn-maven-scm-provider:1.0-alpha-02
+org.criticalsection.maven:mtn-maven-scm-translator:1.0-alpha-01
+org.criticalsection:cs-parent:2
+org.criticalsection:cs-parent:1
+org.trailsframework:trails:1.1
+org.trailsframework:trails:1.2
+org.trailsframework:trails:1.1.1
+org.trailsframework:trails:1.0
+org.trailsframework:trails:1.2.1
+org.trailsframework:codehaus-unity-skin:1.0
+org.trailsframework:trails-archetype:1.1
+org.trailsframework:trails-archetype:1.2
+org.trailsframework:trails-archetype:1.1.1
+org.trailsframework:trails-archetype:1.0
+org.trailsframework:trails-archetype:1.2.1
+org.trailsframework:trails-core:1.0
+org.trailsframework:trails-secure-archetype:1.1
+org.trailsframework:trails-secure-archetype:1.2
+org.trailsframework:trails-secure-archetype:1.1.1
+org.trailsframework:trails-secure-archetype:1.0
+org.trailsframework:trails-secure-archetype:1.2.1
+org.jini.maven-jini-plugin:jini-service-archetype:2.0
+org.jini.maven-jini-plugin:maven-jini-plugin:2.0
+org.picocontainer.persistence:picocontainer-persistence:2.0
+org.picocontainer:picocontainer-site-resources:2.0
+org.picocontainer:picocontainer-parent:1.3-RC-1
+org.picocontainer:picocontainer-parent:2.3
+org.picocontainer:picocontainer-parent:1.2
+org.picocontainer:picocontainer-parent:2.4
+org.picocontainer:picocontainer-parent:1.3
+org.picocontainer:picocontainer-parent:2.0
+org.picocontainer:picocontainer-parent:2.0-BETA-1
+org.picocontainer:picocontainer-parent:2.0-beta2
+org.picocontainer:picocontainer-parent:1.3-beta1
+org.picocontainer:picocontainer-parent:2.5
+org.picocontainer:picocontainer-parent:2.6
+org.picocontainer:picocontainer-parent:2.0.2
+org.picocontainer:picocontainer-parent:2.0.1
+org.picocontainer:picocontainer-parent:2.1
+org.picocontainer:picocontainer-parent:2.5.1
+org.picocontainer:picocontainer-parent:2.2
+org.picocontainer:picocontainer-logging:2.0
+org.picocontainer:picocontainer-logging:2.0.1
+org.picocontainer.script:picocontainer-script:2.0
+org.picocontainer.web:picocontainer-web:2.0
+org.picocontainer.web:picocontainer-web:2.0.1
+org.picocontainer.web:picocontainer-web:2.1
+org.concordion:concordion:1.3.0
+org.mantamq:manta:1.9
+org.openfast:openfast:0.9.6
+org.openfast:openfast:0.9.7
+org.openfast:openfast:0.9.4
+org.openfast:openfast:1.0.0
+org.openfast:openfast:0.9.5
+org.openfast:openfast:0.9.8
+org.textmining:tm-extractors:0.4
+org.hdiv:hdiv:2.0.3
+org.safris.xml:bind-generator:2.0
+org.safris.xml:bind-builder-maven:2.0
+org.safris.xml:bind-runtime:2.0
+org.safris.xml:bind-builder-ant:2.0
+org.jasig.cas:cas-client:3.1.2
+org.jasig.cas:cas-client:3.1.4
+org.jasig.cas:cas-client:3.1.1
+org.jasig.cas:cas-client:3.1.3
+org.jdom:jaxen-jdom:1.0-FCS
+org.jdom:saxpath:1.0-FCS
+org.jdom:jdom:1.1
+org.jdom:jaxen-core:1.0-FCS
+org.subethamail:subethasmtp:2.1.0
+org.subethamail:subethasmtp:2.0.1
+org.subethamail:subethasmtp-smtp:1.2
+org.subethamail:subethasmtp-smtp:1.0.3
+org.subethamail:subethasmtp-wiser:1.2
+org.subethamail:subethasmtp-parent:1.1
+org.subethamail:subethasmtp-parent:1.0.3
+org.cyclopsgroup:jmxterm:0.1
+org.cyclopsgroup:jmxterm:0.2
+org.cyclopsgroup:jmxterm:1.0-alpha-1
+org.cyclopsgroup:jmxterm:1.0-alpha-2
+org.cyclopsgroup:jcli:1.0-alpha-3
+org.cyclopsgroup:jcli:1.0-alpha-1
+org.cyclopsgroup:jcli:1.0-alpha-2
+org.cyclopsgroup:cym2:1.2-alpha-1
+org.cyclopsgroup:flatsite-maven-plugin:2.2-alpha-1
+org.cyclopsgroup:cyclopsgroup-master:0.1
+org.cyclopsgroup:cyclopsgroup-master:0.2
+org.coconut:coconut-trunks-parent:1.0
+org.coconut:coconut-parent:1.0-alpha3
+org.coconut.forkjoin:coconut-forkjoin-parent:0.1
+org.coconut:coconut-root-pom:1.0
+org.coconut.internal:coconut-build-tools:1.0
+org.coconut.internal:coconut-internal-picocontainer:1.3
+org.coconut.internal:coconut-internal-asm:3.0
+org.w3c.css:sac:1.3
+org.openrdf:openrdf-model:1.2.7
+org.openrdf:openrdf-model:1.2.6
+org.openrdf:openrdf-model:1.2.5
+org.openrdf:openrdf-util:1.2.7
+org.openrdf:openrdf-util:1.2.6
+org.openrdf:openrdf-util:1.2.5
+org.openrdf:elmo:0.3
+org.openrdf:rio:1.0.8
+org.openrdf:rio:1.0.9
+org.openrdf:rio:1.0.10
+org.openrdf:sesame:1.2.7
+org.openrdf:sesame:1.2.6
+org.openrdf:sesame:1.2.5
+org.vraptor:vraptor-extra-taglib:2.4
+org.vraptor:spring:2.4
+org.vraptor:mydvds:2.4
+org.vraptor:vraptor-parent:2.5.0
+org.vraptor:vraptor-parent:2.4
+org.vraptor:vraptor-parent:2.5.1
+org.vraptor:vraptor-distribution:2.4
+org.vraptor:vraptor:2.3
+org.vraptor:vraptor:2.3.2.2
+org.vraptor:vraptor:2.4
+org.vraptor:vraptor:2.2.2
+org.vraptor:vraptor:2.2.1
+org.vraptor:vraptor:2.3.1
+org.vraptor:vraptor:2.2.3
+org.vraptor:vraptor:2.3.3
+org.vraptor:vraptor:2.2
+org.vraptor:vraptor:2.1.1
+org.vraptor:vatx:1.0
+org.jacorb:jacorb-idl-compiler:2.2.3
+org.springunit:springunit:0.4.1
+org.springunit:springunit:0.5
+org.jibx:maven-jibx-plugin:1.1
+org.jibx:maven-jibx-plugin:1.1.6a
+org.jibx:maven-jibx-plugin:1.1.5
+org.jibx:maven-jibx-plugin:1.1.3
+org.jibx:maven-jibx-plugin:1.1.6
+org.jibx:maven-jibx-plugin:1.0
+org.jibx:jibx-extras:1.1.6a
+org.jibx:jibx-extras:1.1.5
+org.jibx:jibx-extras:1.1.6
+org.jibx:jibx-extras:1.0.1
+org.jibx:jibx-extras:1.0-RC1
+org.jibx:jibx-run:1.1.6a
+org.jibx:jibx-run:1.1.5
+org.jibx:jibx-run:1.1.6
+org.jibx:jibx-run:1.0.1
+org.jibx:jibx-run:1.0-RC1
+org.jibx:jibx-bind:1.1.6a
+org.jibx:jibx-bind:1.1.5
+org.jibx:jibx-bind:1.1.6
+org.jibx:jibx-bind:1.0.1
+org.jibx:jibx-bind:1.0-RC1
+org.hamcrest:hamcrest-library:1.0
+org.hamcrest:hamcrest-parent:1.1
+org.hamcrest:hamcrest-integration:1.0
+org.hamcrest:hamcrest-all:1.0
+org.hamcrest:hamcrest-api:1.0
+org.mockito:mockito-all:1.1
+org.mockito:mockito-all:1.2
+org.mockito:mockito-all:1.3
+org.mockito:mockito-all:1.5
+org.mockito:mockito-all:1.4
+org.mockito:mockito-core:1.3
+org.mockito:mockito-core:1.5
+org.jdtaus:jdtaus-commons:1.0
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.1
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.1.3
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.2
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.0-beta-2
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.0
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.0-beta-3
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.0.1
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.1.4
+org.jdtaus.core.lang:jdtaus-core-memory-manager:1.1.2
+org.jdtaus.core.lang:jdtaus-core-jdk14-executor:1.1
+org.jdtaus.core.lang:jdtaus-core-jdk14-executor:1.1.3
+org.jdtaus.core.lang:jdtaus-core-jdk14-executor:1.2
+org.jdtaus.core.lang:jdtaus-core-jdk14-executor:1.0
+org.jdtaus.core.lang:jdtaus-core-jdk14-executor:1.1.4
+org.jdtaus.core.lang:jdtaus-core-jdk14-executor:1.1.2
+org.jdtaus.core:jdtaus-core-messages:1.1
+org.jdtaus.core:jdtaus-core-messages:1.1.3
+org.jdtaus.core:jdtaus-core-messages:1.2
+org.jdtaus.core:jdtaus-core-messages:1.0
+org.jdtaus.core:jdtaus-core-messages:1.0.1
+org.jdtaus.core:jdtaus-core-messages:1.1.4
+org.jdtaus.core:jdtaus-core-messages:1.1.2
+org.jdtaus.core:jdtaus-core-runtime:1.6
+org.jdtaus.core:jdtaus-core-runtime:1.5
+org.jdtaus.core:jdtaus-core-runtime:1.5-2
+org.jdtaus.core:jdtaus-core-runtime:1.5-1
+org.jdtaus.core:jdtaus-core-schemas:1.0
+org.jdtaus.core:jdtaus-core-it:1.0-beta-5
+org.jdtaus.core:jdtaus-core-it:1.1
+org.jdtaus.core:jdtaus-core-it:1.0-beta-4
+org.jdtaus.core:jdtaus-core-it:1.2.3
+org.jdtaus.core:jdtaus-core-it:1.2
+org.jdtaus.core:jdtaus-core-it:1.0-beta-1
+org.jdtaus.core:jdtaus-core-it:1.0-beta-2
+org.jdtaus.core:jdtaus-core-it:1.3
+org.jdtaus.core:jdtaus-core-it:1.0
+org.jdtaus.core:jdtaus-core-it:1.2.1
+org.jdtaus.core:jdtaus-core-it:1.0-beta-3
+org.jdtaus.core:jdtaus-core-it:1.2.2
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-5
+org.jdtaus.core:jdtaus-core-utilities:1.1
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-4
+org.jdtaus.core:jdtaus-core-utilities:1.2
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-1
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-6
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-2
+org.jdtaus.core:jdtaus-core-utilities:1.3
+org.jdtaus.core:jdtaus-core-utilities:1.4-1
+org.jdtaus.core:jdtaus-core-utilities:1.0
+org.jdtaus.core:jdtaus-core-utilities:1.3.3
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-3
+org.jdtaus.core:jdtaus-core-utilities:1.0-beta-7
+org.jdtaus.core:jdtaus-core-utilities:1.4
+org.jdtaus.core:jdtaus-core-utilities:1.3.1
+org.jdtaus.core:jdtaus-core-utilities:1.3.4
+org.jdtaus.core:jdtaus-core-utilities:1.3.2
+org.jdtaus.core.container:jdtaus-core-client-container:1.1
+org.jdtaus.core.container:jdtaus-core-client-container:1.0-beta-4
+org.jdtaus.core.container:jdtaus-core-client-container:1.6
+org.jdtaus.core.container:jdtaus-core-client-container:1.2.3
+org.jdtaus.core.container:jdtaus-core-client-container:1.2.4
+org.jdtaus.core.container:jdtaus-core-client-container:1.2
+org.jdtaus.core.container:jdtaus-core-client-container:1.0-beta-1
+org.jdtaus.core.container:jdtaus-core-client-container:1.0-beta-2
+org.jdtaus.core.container:jdtaus-core-client-container:1.3
+org.jdtaus.core.container:jdtaus-core-client-container:1.0
+org.jdtaus.core.container:jdtaus-core-client-container:1.2.1
+org.jdtaus.core.container:jdtaus-core-client-container:1.0-beta-3
+org.jdtaus.core.container:jdtaus-core-client-container:1.5
+org.jdtaus.core.container:jdtaus-core-client-container:1.4
+org.jdtaus.core.container:jdtaus-core-client-container:1.3.1
+org.jdtaus.core.container:jdtaus-core-client-container:1.5-2
+org.jdtaus.core.container:jdtaus-core-client-container:1.2.2
+org.jdtaus.core.container:jdtaus-core-client-container:1.5-1
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.1
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0-beta-1
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0-beta-2
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0.3
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0-beta-3
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0.1
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0.2
+org.jdtaus.core.container:jdtaus-core-servlet-container:1.0.4
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.1
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.2
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.0-beta-1
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.0-beta-2
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.1.1
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.0
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.0-beta-3
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.0.1
+org.jdtaus.core.logging:jdtaus-core-log4j-logging:1.1.2
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.1
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.1.3
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.2
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.0-beta-1
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.0-beta-2
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.0
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.0-beta-3
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.0.1
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.1.4
+org.jdtaus.core.logging:jdtaus-core-jdk-logging:1.1.2
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.1
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.1.3
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.2
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.0-beta-1
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.0-beta-2
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.0
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.0-beta-3
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.0.1
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.1.4
+org.jdtaus.core.logging:jdtaus-core-commons-logging:1.1.2
+org.jdtaus.core:jdtaus-core-spi:1.1
+org.jdtaus.core:jdtaus-core-spi:1.0-beta-4
+org.jdtaus.core:jdtaus-core-spi:1.6
+org.jdtaus.core:jdtaus-core-spi:1.2
+org.jdtaus.core:jdtaus-core-spi:1.0-beta-1
+org.jdtaus.core:jdtaus-core-spi:1.0-beta-2
+org.jdtaus.core:jdtaus-core-spi:1.3
+org.jdtaus.core:jdtaus-core-spi:1.0
+org.jdtaus.core:jdtaus-core-spi:1.3.3
+org.jdtaus.core:jdtaus-core-spi:1.0-beta-3
+org.jdtaus.core:jdtaus-core-spi:1.5
+org.jdtaus.core:jdtaus-core-spi:1.3.1
+org.jdtaus.core:jdtaus-core-spi:1.3.2
+org.jdtaus.core.monitor:jdtaus-core-task-monitor:1.1
+org.jdtaus.core.monitor:jdtaus-core-task-monitor:1.1.3
+org.jdtaus.core.monitor:jdtaus-core-task-monitor:1.2
+org.jdtaus.core.monitor:jdtaus-core-task-monitor:1.0
+org.jdtaus.core.monitor:jdtaus-core-task-monitor:1.1.4
+org.jdtaus.core.monitor:jdtaus-core-task-monitor:1.1.2
+org.jdtaus.core.monitor:jdtaus-core-client-monitoring:1.0-beta-4
+org.jdtaus.core.monitor:jdtaus-core-client-monitoring:1.0-beta-1
+org.jdtaus.core.monitor:jdtaus-core-client-monitoring:1.0-beta-2
+org.jdtaus.core.monitor:jdtaus-core-client-monitoring:1.0
+org.jdtaus.core.monitor:jdtaus-core-client-monitoring:1.0-beta-3
+org.jdtaus.core.monitor:jdtaus-core-client-monitoring:1.0.1
+org.jdtaus.core.monitor:jdtaus-core-server-monitoring:1.0-beta-4
+org.jdtaus.core.monitor:jdtaus-core-server-monitoring:1.0-beta-1
+org.jdtaus.core.monitor:jdtaus-core-server-monitoring:1.0-beta-2
+org.jdtaus.core.monitor:jdtaus-core-server-monitoring:1.0
+org.jdtaus.core.monitor:jdtaus-core-server-monitoring:1.0-beta-3
+org.jdtaus.core.monitor:jdtaus-core-server-monitoring:1.0.1
+org.jdtaus.core.text:jdtaus-core-application-logger:1.1
+org.jdtaus.core.text:jdtaus-core-application-logger:1.2.3
+org.jdtaus.core.text:jdtaus-core-application-logger:1.2
+org.jdtaus.core.text:jdtaus-core-application-logger:1.0-beta-1
+org.jdtaus.core.text:jdtaus-core-application-logger:1.0-beta-2
+org.jdtaus.core.text:jdtaus-core-application-logger:1.3
+org.jdtaus.core.text:jdtaus-core-application-logger:1.1.1
+org.jdtaus.core.text:jdtaus-core-application-logger:1.0
+org.jdtaus.core.text:jdtaus-core-application-logger:1.2.1
+org.jdtaus.core.text:jdtaus-core-application-logger:1.0-beta-3
+org.jdtaus.core.text:jdtaus-core-application-logger:1.2.2
+org.jdtaus.core.sax:jdtaus-core-entity-resolver:1.1
+org.jdtaus.core.sax:jdtaus-core-entity-resolver:1.0
+org.jdtaus.core.sax:jdtaus-core-entity-resolver:1.1-1
+org.jdtaus:jdtaus-site:1.0
+org.jdtaus:jdtaus-gpl-resource-bundle:1.0
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-11
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-5
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-4
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-1
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-6
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-2
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-3
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-7
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-8
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-9
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-10
+org.jdtaus.editor:jdtaus-editor-client-application:1.0-beta-12
+org.jdtaus.editor:jdtaus-editor-webstart-application:1.0-beta-4
+org.jdtaus.editor:jdtaus-editor-webstart-application:1.0-beta-1
+org.jdtaus.editor:jdtaus-editor-webstart-application:1.0-beta-2
+org.jdtaus.editor:jdtaus-editor-webstart-application:1.0-beta-3
+org.jdtaus:jdtaus-lgpl-resource-bundle:1.0
+org.jdtaus.sequences:jdtaus-sequences-it:1.0-alpha-1
+org.jdtaus.sequences:jdtaus-sequences-ri-jaxb:1.0-alpha-1
+org.jdtaus.sequences:jdtaus-sequences-spi:1.0-alpha-1
+org.jdtaus.sequences:jdtaus-sequences-messages:1.0-alpha-1
+org.jdtaus:jdtaus-editor:1.0-beta-1
+org.jdtaus.mojo:jdtaus-resource-mojo:1.1
+org.jdtaus.mojo:jdtaus-resource-mojo:3.2
+org.jdtaus.mojo:jdtaus-resource-mojo:3.1
+org.jdtaus.mojo:jdtaus-resource-mojo:1.0-beta-4
+org.jdtaus.mojo:jdtaus-resource-mojo:1.0-beta-1
+org.jdtaus.mojo:jdtaus-resource-mojo:1.0-beta-2
+org.jdtaus.mojo:jdtaus-resource-mojo:1.3
+org.jdtaus.mojo:jdtaus-resource-mojo:2.0
+org.jdtaus.mojo:jdtaus-resource-mojo:3.0
+org.jdtaus.mojo:jdtaus-resource-mojo:1.0
+org.jdtaus.mojo:jdtaus-resource-mojo:2.2.1
+org.jdtaus.mojo:jdtaus-resource-mojo:1.0-beta-3
+org.jdtaus.mojo:jdtaus-resource-mojo:2.1
+org.jdtaus.mojo:jdtaus-resource-mojo:2.2
+org.jdtaus.mojo:jdtaus-resource-mojo:2.1.1
+org.jdtaus.mojo:jdtaus-container-mojo:1.1
+org.jdtaus.mojo:jdtaus-container-mojo:3.1
+org.jdtaus.mojo:jdtaus-container-mojo:1.2
+org.jdtaus.mojo:jdtaus-container-mojo:1.0-beta-1
+org.jdtaus.mojo:jdtaus-container-mojo:1.0-beta-2
+org.jdtaus.mojo:jdtaus-container-mojo:2.0
+org.jdtaus.mojo:jdtaus-container-mojo:3.0
+org.jdtaus.mojo:jdtaus-container-mojo:1.0
+org.jdtaus.mojo:jdtaus-container-mojo:1.0-beta-3
+org.jdtaus.mojo:jdtaus-container-mojo:2.1
+org.jdtaus.mojo:jdtaus-container-mojo:2.1.1
+org.jdtaus:jdtaus-core:1.1
+org.jdtaus:jdtaus-core:1.6
+org.jdtaus:jdtaus-core:1.2
+org.jdtaus:jdtaus-core:1.0-beta-1
+org.jdtaus:jdtaus-core:1.0-beta-2
+org.jdtaus:jdtaus-core:1.3
+org.jdtaus:jdtaus-core:1.0
+org.jdtaus:jdtaus-core:1.0-beta-3
+org.jdtaus:jdtaus-core:1.5
+org.jdtaus:jdtaus-core:1.4
+org.jdtaus.banking:jdtaus-banking-charsets:1.1
+org.jdtaus.banking:jdtaus-banking-charsets:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-charsets:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-charsets:1.0.3
+org.jdtaus.banking:jdtaus-banking-charsets:1.0
+org.jdtaus.banking:jdtaus-banking-charsets:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-charsets:1.0.1
+org.jdtaus.banking:jdtaus-banking-charsets:1.0.2
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.1
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.0-beta-4
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.3
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.7
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.4
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.3
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.6
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.0
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.1
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.2
+org.jdtaus.banking:jdtaus-banking-ri-bankleitzahlenverzeichnis:1.2.5
+org.jdtaus.banking:jdtaus-banking-schemas:1.0
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0-beta-5
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.1
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0-beta-4
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.2
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.3
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.2.1
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.4
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.3.1
+org.jdtaus.banking:jdtaus-banking-ri-currencydirectory:1.0.1
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-5
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.1
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-4
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.6
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.2
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-1
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.4.1
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-6
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-2
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.3
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.4.2
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-3
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.5
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-7
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.4
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.3.1
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-8
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.5.1
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-9
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.4.3
+org.jdtaus.banking.dtaus:jdtaus-banking-ri-dtaus:1.0-beta-10
+org.jdtaus.banking:jdtaus-banking-messages:1.1
+org.jdtaus.banking:jdtaus-banking-messages:1.2.3
+org.jdtaus.banking:jdtaus-banking-messages:1.2
+org.jdtaus.banking:jdtaus-banking-messages:1.3
+org.jdtaus.banking:jdtaus-banking-messages:1.0
+org.jdtaus.banking:jdtaus-banking-messages:1.2.1
+org.jdtaus.banking:jdtaus-banking-messages:1.2.2
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.0-beta-5
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.1
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.0-beta-4
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.2.3
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.2
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.3
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.0
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.2.1
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-ri-textschluesselverzeichnis:1.2.2
+org.jdtaus.banking:jdtaus-banking-spi:1.0-beta-5
+org.jdtaus.banking:jdtaus-banking-spi:1.1
+org.jdtaus.banking:jdtaus-banking-spi:1.0-beta-4
+org.jdtaus.banking:jdtaus-banking-spi:1.2.3
+org.jdtaus.banking:jdtaus-banking-spi:1.2
+org.jdtaus.banking:jdtaus-banking-spi:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-spi:1.0-beta-6
+org.jdtaus.banking:jdtaus-banking-spi:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-spi:1.3
+org.jdtaus.banking:jdtaus-banking-spi:1.0
+org.jdtaus.banking:jdtaus-banking-spi:1.2.1
+org.jdtaus.banking:jdtaus-banking-spi:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-spi:1.2.2
+org.jdtaus.banking:jdtaus-banking-utilities:1.1
+org.jdtaus.banking:jdtaus-banking-utilities:1.1.3
+org.jdtaus.banking:jdtaus-banking-utilities:1.2
+org.jdtaus.banking:jdtaus-banking-utilities:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-utilities:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-utilities:1.1.1
+org.jdtaus.banking:jdtaus-banking-utilities:1.0
+org.jdtaus.banking:jdtaus-banking-utilities:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-utilities:1.0.1
+org.jdtaus.banking:jdtaus-banking-utilities:1.0.2
+org.jdtaus.banking:jdtaus-banking-utilities:1.1.4
+org.jdtaus.banking:jdtaus-banking-utilities:1.1.2
+org.jdtaus.banking:jdtaus-banking-it:1.0-beta-5
+org.jdtaus.banking:jdtaus-banking-it:1.1
+org.jdtaus.banking:jdtaus-banking-it:1.0-beta-4
+org.jdtaus.banking:jdtaus-banking-it:1.1.3
+org.jdtaus.banking:jdtaus-banking-it:1.2
+org.jdtaus.banking:jdtaus-banking-it:1.0-beta-1
+org.jdtaus.banking:jdtaus-banking-it:1.0-beta-2
+org.jdtaus.banking:jdtaus-banking-it:1.1.1
+org.jdtaus.banking:jdtaus-banking-it:1.0
+org.jdtaus.banking:jdtaus-banking-it:1.0-beta-3
+org.jdtaus.banking:jdtaus-banking-it:1.1.2
+org.jdtaus:jdtaus-banking:1.1
+org.jdtaus:jdtaus-banking:1.0-beta-4
+org.jdtaus:jdtaus-banking:1.2
+org.jdtaus:jdtaus-banking:1.0-beta-1
+org.jdtaus:jdtaus-banking:1.0-beta-2
+org.jdtaus:jdtaus-banking:1.3
+org.jdtaus:jdtaus-banking:1.0
+org.jdtaus:jdtaus-banking:1.0-beta-3
+org.jdtaus:jdtaus-banking:1.4
+org.jdtaus.icons:jdtaus-icons-it:1.0-alpha-1
+org.jdtaus.icons:jdtaus-icons-ri-jlfgr:1.0-alpha-1
+org.jdtaus.common:jdtaus-correspondents-api:1.0-alpha-1
+org.jdtaus.common:jdtaus-icons-api:1.0-alpha-1
+org.jdtaus.common:jdtaus-sequences-api:1.0-alpha-1
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-5
+org.jdtaus.common:jdtaus-banking-api:1.1
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-4
+org.jdtaus.common:jdtaus-banking-api:1.6
+org.jdtaus.common:jdtaus-banking-api:1.2
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-1
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-6
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-2
+org.jdtaus.common:jdtaus-banking-api:1.3
+org.jdtaus.common:jdtaus-banking-api:1.0
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-3
+org.jdtaus.common:jdtaus-banking-api:1.5
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-7
+org.jdtaus.common:jdtaus-banking-api:1.4
+org.jdtaus.common:jdtaus-banking-api:1.3.1
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-8
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-9
+org.jdtaus.common:jdtaus-banking-api:1.0-beta-10
+org.jdtaus.common:jdtaus-core-api:1.1
+org.jdtaus.common:jdtaus-core-api:1.0-beta-4
+org.jdtaus.common:jdtaus-core-api:1.6
+org.jdtaus.common:jdtaus-core-api:1.2
+org.jdtaus.common:jdtaus-core-api:1.0-beta-1
+org.jdtaus.common:jdtaus-core-api:1.4.1
+org.jdtaus.common:jdtaus-core-api:1.0-beta-2
+org.jdtaus.common:jdtaus-core-api:1.3
+org.jdtaus.common:jdtaus-core-api:1.1.1
+org.jdtaus.common:jdtaus-core-api:1.4.2
+org.jdtaus.common:jdtaus-core-api:1.0
+org.jdtaus.common:jdtaus-core-api:1.4.4
+org.jdtaus.common:jdtaus-core-api:1.0-beta-3
+org.jdtaus.common:jdtaus-core-api:1.5
+org.jdtaus.common:jdtaus-core-api:1.4
+org.jdtaus.common:jdtaus-core-api:1.4.3
+org.jdtaus.common:jdtaus-core-api:1.4.5
+org.jdtaus.correspondents:jdtaus-correspondents-it:1.0-alpha-1
+org.jdtaus.correspondents:jdtaus-correspondents-spi:1.0-alpha-1
+org.jdtaus.correspondents:jdtaus-correspondents-messages:1.0-alpha-1
+org.jdtaus.correspondents:jdtaus-correspondents-ri-jaxb:1.0-alpha-1
+org.gamio:gamio-api:1.0.0
+org.gamio:gamio-api:1.0.1
+org.tigris.antelope:antelopetasks:3.2.10
+org.tigris.log4javascript:log4javascript:1.3.1
+org.liquibase:liquibase-core:1.4.1
+org.liquibase:liquibase-core:1.7.0
+org.liquibase:liquibase-core:1.5.2
+org.liquibase:liquibase-core:1.8.1
+org.liquibase:liquibase-core:1.3.3
+org.liquibase:liquibase-core:1.8.0
+org.liquibase:liquibase-core:1.5.1
+org.liquibase:liquibase-core:1.6.1
+org.liquibase:liquibase-plugin:1.5.1.0
+org.liquibase:liquibase-plugin:1.6.1.0
+org.liquibase:liquibase-plugin:1.8.0.0
+org.liquibase:liquibase-plugin:1.7.0.0
+org.liquibase:liquibase-plugin:1.8.1.0
+org.liquibase:liquibase-plugin:1.5.2.0
+org.liquibase:liquibase-plugin:1.4.1.0
+org.liquibase:liquibase-plugin:1.3.3.0
+org.dbunit:dbunit:2.2.2
+org.dbunit:dbunit:2.2.1
+org.dbunit:dbunit:2.2.3
+org.dbunit:dbunit:2.3.0
+org.dbunit:dbunit:2.2
+org.swixml:swixml:1.5.144
+org.databene:databene-commons:0.4.1
+org.databene:databene-commons:0.4.4
+org.databene:databene-commons:0.4.5
+org.databene:databene-commons:0.4.2
+org.databene:databene-commons:0.4.3
+org.databene:databene-benerator:0.5.4
+org.databene:databene-benerator:0.5.3
+org.databene:databene-benerator:0.5.1
+org.databene:databene-benerator:0.5.5
+org.databene:databene-benerator:0.5.2
+org.databene:maven-benerator-plugin:0.5.4
+org.databene:maven-benerator-plugin:0.5.5
+org.databene:databene-webdecs:0.4.1
+org.databene:databene-webdecs:0.4.4
+org.databene:databene-webdecs:0.4.5
+org.databene:databene-webdecs:0.4.2
+org.databene:databene-webdecs:0.4.3
+org.apache.yoko:yoko:1.0
+org.apache.bcel:bcel:5.2
+org.apache.ant:ant-commons-net:1.7.0
+org.apache.ant:ant-commons-net:1.7.1
+org.apache.ant:ant-apache-bsf:1.7.0
+org.apache.ant:ant-apache-bsf:1.7.1
+org.apache.ant:ant-commons-logging:1.7.0
+org.apache.ant:ant-commons-logging:1.7.1
+org.apache.ant:ant-antlr:1.7.0
+org.apache.ant:ant-antlr:1.7.1
+org.apache.ant:ant-nodeps:1.7.0
+org.apache.ant:ant-nodeps:1.7.1
+org.apache.ant:ant:1.7.0
+org.apache.ant:ant:1.7.1
+org.apache.ant:ant-stylebook:1.7.0
+org.apache.ant:ant-stylebook:1.7.1
+org.apache.ant:ant-antunit:1.1
+org.apache.ant:ant-antunit:1.0
+org.apache.ant:ant-trax:1.7.0
+org.apache.ant:ant-trax:1.7.1
+org.apache.ant:ant-javamail:1.7.0
+org.apache.ant:ant-javamail:1.7.1
+org.apache.ant:ant-apache-log4j:1.7.0
+org.apache.ant:ant-apache-log4j:1.7.1
+org.apache.ant:ant-parent:1.7.0
+org.apache.ant:ant-parent:1.7.1
+org.apache.ant:ant-launcher:1.7.0
+org.apache.ant:ant-launcher:1.7.1
+org.apache.ant:ant-junit:1.7.0
+org.apache.ant:ant-junit:1.7.1
+org.apache.ant:ant-jsch:1.7.0
+org.apache.ant:ant-jsch:1.7.1
+org.apache.ant:ant-apache-bcel:1.7.0
+org.apache.ant:ant-apache-bcel:1.7.1
+org.apache.ant:ant-jmf:1.7.0
+org.apache.ant:ant-jmf:1.7.1
+org.apache.ant:ant-testutil:1.7.0
+org.apache.ant:ant-testutil:1.7.1
+org.apache.ant:ant-weblogic:1.7.0
+org.apache.ant:ant-weblogic:1.7.1
+org.apache.ant:ant-jai:1.7.0
+org.apache.ant:ant-jai:1.7.1
+org.apache.ant:ant-swing:1.7.0
+org.apache.ant:ant-swing:1.7.1
+org.apache.ant:ant-netrexx:1.7.0
+org.apache.ant:ant-netrexx:1.7.1
+org.apache.ant:ant-apache-regexp:1.7.0
+org.apache.ant:ant-apache-regexp:1.7.1
+org.apache.ant:ant-jdepend:1.7.0
+org.apache.ant:ant-jdepend:1.7.1
+org.apache.ant:ant-apache-resolver:1.7.0
+org.apache.ant:ant-apache-resolver:1.7.1
+org.apache.ant:ant-apache-oro:1.7.0
+org.apache.ant:ant-apache-oro:1.7.1
+org.apache.commons:commons-build-plugin:1.1
+org.apache.commons:commons-build-plugin:1.0
+org.apache.commons:commons-parent:9
+org.apache.commons:commons-parent:10
+org.apache.commons:commons-parent:8
+org.apache.commons:commons-parent:11
+org.apache.commons:commons-parent:6
+org.apache.commons:commons-parent:4
+org.apache.commons:commons-parent:3
+org.apache.commons:commons-parent:7
+org.apache.commons:commons-parent:5
+org.apache.commons:commons-parent:2
+org.apache.commons:commons-parent:1
+org.apache.commons:commons-jci:1.0
+commons-io:commons-io:1.3.2
+org.apache.commons:commons-email:1.1
+org.apache.commons:commons-sandbox-parent:6
+org.apache.commons:commons-sandbox-parent:4
+org.apache.commons:commons-sandbox-parent:3
+org.apache.commons:commons-sandbox-parent:7
+org.apache.commons:commons-sandbox-parent:5
+org.apache.commons:commons-sandbox-parent:2
+org.apache.commons:commons-sandbox-parent:1
+org.apache.struts:struts-faces:1.3.5
+org.apache.struts:struts-faces:1.3.8
+org.apache.struts:struts2-parent:2.0.14
+org.apache.struts:struts2-parent:2.0.8
+org.apache.struts:struts2-parent:2.0.11.1
+org.apache.struts:struts2-parent:2.1.2
+org.apache.struts:struts2-parent:2.0.11.2
+org.apache.struts:struts2-parent:2.0.11
+org.apache.struts:struts2-parent:2.0.6
+org.apache.struts:struts2-parent:2.0.5
+org.apache.struts:struts2-parent:2.0.9
+org.apache.struts:struts2-parent:2.0.12
+org.apache.struts:struts2-config-browser-plugin:2.0.11.2
+org.apache.struts:struts2-config-browser-plugin:2.0.5
+org.apache.struts:struts-core:1.3.5
+org.apache.struts:struts-core:1.3.8
+org.apache.struts:struts2-spring-plugin:2.0.11.2
+org.apache.struts:struts2-spring-plugin:2.0.5
+org.apache.struts:struts2-sitemesh-plugin:2.0.11.2
+org.apache.struts:struts2-sitemesh-plugin:2.0.5
+org.apache.struts:struts-el:1.3.5
+org.apache.struts:struts-el:1.3.8
+org.apache.struts:struts2-core:2.0.11.2
+org.apache.struts:struts2-core:2.0.5
+org.apache.struts:struts2-rest-showcase:2.1.2
+org.apache.struts:struts-mailreader-dao:1.3.5
+org.apache.struts:struts-mailreader-dao:1.3.8
+org.apache.struts:struts2-tiles-plugin:2.0.11.2
+org.apache.struts:struts2-tiles-plugin:2.0.5
+org.apache.struts:struts2-jasperreports-plugin:2.0.11.2
+org.apache.struts:struts2-jasperreports-plugin:2.0.5
+org.apache.struts.shale:shale-test:1.0.2
+org.apache.struts:struts2-portlet:2.0.11.2
+org.apache.struts:struts2-portlet:2.0.5
+org.apache.struts:struts2-jsf-plugin:2.0.11.2
+org.apache.struts:struts2-jsf-plugin:2.0.5
+org.apache.struts:struts2-sitegraph-plugin:2.0.11.2
+org.apache.struts:struts2-sitegraph-plugin:2.0.5
+org.apache.struts:struts-master:4
+org.apache.struts:struts-master:3
+org.apache.struts:struts2-struts1-plugin:2.0.11.2
+org.apache.struts:struts2-struts1-plugin:2.0.5
+org.apache.struts:struts2-api:2.0.5
+org.apache.struts:struts-annotations:1.0.3
+org.apache.struts:struts-annotations:1.0.2
+org.apache.struts:struts-parent:1.3.5
+org.apache.struts:struts-parent:1.3.8
+org.apache.struts:struts-parent:1.3.9
+org.apache.struts:struts-parent:2
+org.apache.struts:struts-parent:1
+org.apache.struts:struts2-continuations-plugin:2.0.5
+org.apache.struts:struts2-codebehind-plugin:2.0.11.2
+org.apache.struts:struts2-codebehind-plugin:2.0.5
+org.apache.struts:struts-scripting:1.3.5
+org.apache.struts:struts-scripting:1.3.8
+org.apache.struts:struts-taglib:1.3.5
+org.apache.struts:struts-taglib:1.3.8
+org.apache.struts:struts2-mailreader:2.0.11.2
+org.apache.struts:struts2-mailreader:2.0.5
+org.apache.struts:struts2-jfreechart-plugin:2.0.11.2
+org.apache.struts:struts2-jfreechart-plugin:2.0.5
+org.apache.struts:struts-extras:1.3.5
+org.apache.struts:struts-extras:1.3.8
+org.apache.struts:struts-tiles:1.3.5
+org.apache.struts:struts-tiles:1.3.8
+org.apache.struts:struts2-blank:2.0.11.2
+org.apache.struts:struts2-blank:2.0.5
+org.apache.struts:struts2-rest-plugin:2.1.2
+org.apache.struts:struts2-plexus-plugin:2.0.11.2
+org.apache.struts:struts2-plexus-plugin:2.0.5
+org.apache.struts:struts2-pell-multipart-plugin:2.0.11.2
+org.apache.struts:struts2-pell-multipart-plugin:2.0.5
+org.apache.struts:struts2-showcase:2.0.11.2
+org.apache.struts:struts2-showcase:2.0.5
+org.apache.openejb:openejb:3.1
+org.apache.openejb:openejb:3.0
+org.apache.openejb:openejb:3.0-beta-1
+org.apache.openejb:openejb:3.0-beta-2
+org.apache.openejb:asm-finder:3.1
+org.apache.openejb:commons-dbcp-all:1.3-r699049
+org.apache.velocity:velocity:1.6-beta1
+org.apache.velocity:velocity:1.5
+org.apache.velocity:velocity:1.6-beta2
+org.apache.velocity.tools:velocity-tools:2.0-alpha1
+org.apache.velocity:velocity-tools:1.3
+org.apache.velocity:velocity-tools:2.0-beta2
+org.apache.synapse:Apache-Synapse:1.1
+org.apache.synapse:Apache-Synapse:1.2
+org.apache.synapse:Apache-Synapse:1.1.1
+org.apache.synapse:Apache-Synapse:1.0
+org.apache.synapse:Apache-Synapse:1.1.2
+org.apache.ode:ode-bpel-api:1.1
+org.apache.ode:ode-bpel-api:1.2
+org.apache.ode:ode-bpel-api:1.1.1
+org.apache.ode:ode-jca-ra:1.1
+org.apache.ode:ode-jca-ra:1.2
+org.apache.ode:ode-jca-ra:1.1.1
+org.apache.ode:ode-dao-hibernate-db:1.1
+org.apache.ode:ode-dao-hibernate-db:1.2
+org.apache.ode:ode-dao-hibernate-db:1.1.1
+org.apache.ode:ode-utils:1.1
+org.apache.ode:ode-utils:1.2
+org.apache.ode:ode-utils:1.1.1
+org.apache.ode:ode-bpel-test:1.1
+org.apache.ode:ode-bpel-test:1.2
+org.apache.ode:ode-bpel-test:1.1.1
+org.apache.ode:ode-bpel-compiler:1.1
+org.apache.ode:ode-bpel-compiler:1.2
+org.apache.ode:ode-bpel-compiler:1.1.1
+org.apache.ode:apache-ode-docs:1.2
+org.apache.ode:ode-bpel-epr:1.1
+org.apache.ode:ode-bpel-epr:1.2
+org.apache.ode:ode-bpel-epr:1.1.1
+org.apache.ode:apache-ode-sources:1.2
+org.apache.ode:ode-dao-jpa:1.1
+org.apache.ode:ode-dao-jpa:1.2
+org.apache.ode:ode-dao-jpa:1.1.1
+org.apache.ode:ode-jbi:1.1
+org.apache.ode:ode-jbi:1.2
+org.apache.ode:ode-jbi:1.1.1
+org.apache.ode:ode-axis2:1.1
+org.apache.ode:ode-axis2:1.2
+org.apache.ode:ode-axis2:1.1.1
+org.apache.ode:ode-bpel-connector:1.1
+org.apache.ode:ode-bpel-connector:1.2
+org.apache.ode:ode-bpel-connector:1.1.1
+org.apache.ode:ode-bpel-ql:1.1
+org.apache.ode:ode-bpel-ql:1.2
+org.apache.ode:ode-bpel-ql:1.1.1
+org.apache.ode:ode-dao-jpa-ojpa-derby:1.1
+org.apache.ode:ode-dao-jpa-ojpa-derby:1.2
+org.apache.ode:ode-dao-jpa-ojpa-derby:1.1.1
+org.apache.ode:ode-tools:1.1
+org.apache.ode:ode-tools:1.2
+org.apache.ode:ode-tools:1.1.1
+org.apache.ode:ode-dao-hibernate:1.1
+org.apache.ode:ode-dao-hibernate:1.2
+org.apache.ode:ode-dao-hibernate:1.1.1
+org.apache.ode:ode-bpel-runtime:1.1
+org.apache.ode:ode-bpel-runtime:1.2
+org.apache.ode:ode-bpel-runtime:1.1.1
+org.apache.ode:ode-bpel-store:1.1
+org.apache.ode:ode-bpel-store:1.2
+org.apache.ode:ode-bpel-store:1.1.1
+org.apache.ode:apache-ode-jbi:1.2
+org.apache.ode:ode-jca-server:1.1
+org.apache.ode:ode-jca-server:1.2
+org.apache.ode:ode-jca-server:1.1.1
+org.apache.ode:ode-axis2-war:1.1
+org.apache.ode:ode-axis2-war:1.2
+org.apache.ode:ode-axis2-war:1.1.1
+org.apache.ode:apache-ode-war:1.2
+org.apache.ode:ode-bpel-dao:1.1
+org.apache.ode:ode-bpel-dao:1.2
+org.apache.ode:ode-bpel-dao:1.1.1
+org.apache.ode:ode-bpel-scripts:1.1
+org.apache.ode:ode-bpel-scripts:1.2
+org.apache.ode:ode-bpel-scripts:1.1.1
+org.apache.ode:ode-jacob:1.1
+org.apache.ode:ode-jacob:1.2
+org.apache.ode:ode-jacob:1.1.1
+org.apache.ode:ode-scheduler-simple:1.1
+org.apache.ode:ode-scheduler-simple:1.2
+org.apache.ode:ode-scheduler-simple:1.1.1
+org.apache.ode:ode-bpel-api-jca:1.1
+org.apache.ode:ode-bpel-api-jca:1.2
+org.apache.ode:ode-bpel-api-jca:1.1.1
+org.apache.ode:ode-bpel-schemas:1.1
+org.apache.ode:ode-bpel-schemas:1.2
+org.apache.ode:ode-bpel-schemas:1.1.1
+org.apache.ode:ode-bpel-obj:1.1
+org.apache.ode:ode-bpel-obj:1.2
+org.apache.ode:ode-bpel-obj:1.1.1
+org.apache.ode:ode-jacob-ap:1.1
+org.apache.ode:ode-jacob-ap:1.2
+org.apache.ode:ode-jacob-ap:1.1.1
+org.apache.xmlbeans:xmlbeans:2.4.0
+org.apache.xmlbeans:xmlbeans:2.2.0
+org.apache.xmlbeans:xmlbeans:2.3.0
+org.apache.xmlbeans:xmlbeans-xpath:2.4.0
+org.apache.xmlbeans:xmlbeans-xpath:2.2.0
+org.apache.xmlbeans:xmlbeans-xpath:2.3.0
+org.apache.xmlbeans:xmlbeans-qname:2.4.0
+org.apache.xmlbeans:xmlbeans-qname:2.3.0
+org.apache.xmlbeans:xmlbeans-xmlpublic:2.4.0
+org.apache.xmlbeans:xmlbeans-xmlpublic:2.2.0
+org.apache.xmlbeans:xmlbeans-xmlpublic:2.3.0
+org.apache.jcs:jcs:1.3
+org.apache.continuum:continuum:1.2
+org.apache.continuum:continuum:1.2.2
+org.apache.continuum:continuum-parent:2
+org.apache.continuum:continuum-parent:1
+org.apache.ibatis:ibatis-sqlmap:2.3.4.726
+org.apache.ibatis:ibatis-sqlmap:2.3.0
+org.apache.fulcrum:fulcrum-parent:1
+org.apache.excalibur.containerkit:excalibur-containerkit:1
+org.apache.excalibur.containerkit:excalibur-instrument-api:2.2.1
+org.apache.excalibur.containerkit:excalibur-lifecycle-impl:2.2.1
+org.apache.excalibur.containerkit:excalibur-lifecycle-api:2.2.1
+org.apache.excalibur.containerkit:excalibur-instrument-mgr-http:2.2.1
+org.apache.excalibur.containerkit:excalibur-instrument-mgr-api:2.2.1
+org.apache.excalibur.containerkit:excalibur-instrument-client:2.2.1
+org.apache.excalibur.containerkit:excalibur-instrument-mgr-impl:2.2.1
+org.apache.excalibur.containerkit:excalibur-logger:2.2.1
+org.apache.excalibur.containerkit:excalibur-lifecycle-modules:1
+org.apache.excalibur.testcase:excalibur-testcase:2.2.1
+org.apache.excalibur:excalibur:3
+org.apache.excalibur:excalibur:2
+org.apache.excalibur:excalibur:1
+org.apache.excalibur.fortress.bean:excalibur-fortress-bean:1.3.1
+org.apache.excalibur.fortress.testcase:excalibur-fortress-testcase:1.3.1
+org.apache.excalibur.fortress.container:excalibur-fortress-container-impl:1.3.1
+org.apache.excalibur.fortress.container:excalibur-fortress-container-api:1.3.1
+org.apache.excalibur.fortress.container:excalibur-fortress-container-test:1.3.1
+org.apache.excalibur.fortress.platform:excalibur-fortress-platform:1.3.1
+org.apache.excalibur.fortress.migration:excalibur-fortress-migration:1.3.1
+org.apache.excalibur.fortress:excalibur-fortress-modules:1
+org.apache.excalibur.fortress.meta:excalibur-fortress-meta:1.3.1
+org.apache.excalibur.fortress.meta:maven-fortress-plugin:1.3.1
+org.apache.excalibur.fortress.examples:excalibur-fortress-examples:1.3.1
+org.apache.excalibur.event:excalibur-event-impl:2.2.1
+org.apache.excalibur.event:excalibur-event-modules:1
+org.apache.excalibur.event:excalibur-event-api:2.2.1
+org.apache.excalibur.deprecated:excalibur-deprecated-modules:1
+org.apache.excalibur.component:excalibur-component-tests:2.2.1
+org.apache.excalibur.component:excalibur-component:2.2.1
+org.apache.excalibur.components:excalibur-xmlutil:2.2.1
+org.apache.excalibur.components:excalibur-components-modules:1
+org.apache.excalibur.components:excalibur-pool-instrumented:2.2.1
+org.apache.excalibur.components:excalibur-store:2.2.1
+org.apache.excalibur.components:excalibur-pool-api:2.2.1
+org.apache.excalibur.components:excalibur-thread-impl:2.2.1
+org.apache.excalibur.components:excalibur-datasource:2.2.2
+org.apache.excalibur.components:excalibur-datasource:2.2.1
+org.apache.excalibur.components:excalibur-thread-api:2.2.1
+org.apache.excalibur.components:excalibur-thread-instrumented:2.2.1
+org.apache.excalibur.components:excalibur-sourceresolve:2.2.2
+org.apache.excalibur.components:excalibur-sourceresolve:2.2.1
+org.apache.excalibur.components:excalibur-sourceresolve:2.2.3
+org.apache.excalibur.components:excalibur-pool-modules:1
+org.apache.excalibur.components:excalibur-monitor:2.2.1
+org.apache.excalibur.components:excalibur-thread-modules:1
+org.apache.excalibur.components:excalibur-pool-impl:2.2.1
+org.apache.httpcomponents:httpcomponents-client:4.0-alpha3
+org.apache.httpcomponents:httpcomponents-client:4.0-alpha1
+org.apache.httpcomponents:httpcomponents-client:4.0-alpha4
+org.apache.httpcomponents:httpcomponents-client:4.0-alpha2
+org.apache.httpcomponents:httpcomponents-client:4.0-beta1
+org.apache.httpcomponents:httpcomponents-core:4.0-beta3
+org.apache.httpcomponents:httpcomponents-core:4.0-beta2
+org.apache.httpcomponents:httpcomponents-core:4.0-alpha5
+org.apache.httpcomponents:httpcomponents-core:4.0-beta1
+org.apache.httpcomponents:httpcomponents-core:4.0-alpha6
+org.apache.httpcomponents:project:4.0
+org.apache.httpcomponents:jakarta-httpcore:4.0-alpha2
+org.apache.httpcomponents:httpcore:4.0-alpha3
+org.apache.httpcomponents:httpcore:4.0-alpha4
+org.apache.xmlgraphics:batik-extension:1.7
+org.apache.xmlgraphics:batik-script:1.7
+org.apache.xmlgraphics:batik-bridge:1.7
+org.apache.xmlgraphics:fop:0.94
+org.apache.xmlgraphics:fop:0.93
+org.apache.xmlgraphics:fop:0.95beta
+org.apache.xmlgraphics:fop:0.95-1
+org.apache.xmlgraphics:fop:0.95
+org.apache.xmlgraphics:fop:0.95beta-1
+org.apache.xmlgraphics:batik-swing:1.7
+org.apache.xmlgraphics:batik-codec:1.7
+org.apache.xmlgraphics:batik-ext:1.7
+org.apache.xmlgraphics:batik-svggen:1.7
+org.apache.xmlgraphics:batik-anim:1.7
+org.apache.xmlgraphics:batik-dom:1.7
+org.apache.xmlgraphics:batik-slideshow:1.7
+org.apache.xmlgraphics:batik-util:1.7
+org.apache.xmlgraphics:batik-transcoder:1.7
+org.apache.xmlgraphics:batik-gvt:1.7
+org.apache.xmlgraphics:batik-parser:1.7
+org.apache.xmlgraphics:batik-gui-util:1.7
+org.apache.xmlgraphics:batik-svg-dom:1.7
+org.apache.xmlgraphics:batik-awt-util:1.7
+org.apache.xmlgraphics:batik-xml:1.7
+org.apache.xmlgraphics:batik-js:1.7
+org.apache.xmlgraphics:batik-css:1.7
+org.apache.xmlgraphics:xmlgraphics-commons:1.1
+org.apache.xmlgraphics:xmlgraphics-commons:1.2
+org.apache.xmlgraphics:xmlgraphics-commons:1.3
+org.apache.xmlgraphics:xmlgraphics-commons:1.3.1
+org.apache.torque:torque:3.3
+org.apache.torque:torque:3.3-RC3
+org.apache.activemq:activeio-parent:3.0.1
+org.apache.activemq:activeio-parent:3.1.0
+org.apache.activemq:activemq-parent:5.0.0
+org.apache.activemq:activemq-parent:4.1.2
+org.apache.activemq:activemq-parent:5.2.0
+org.apache.activemq:activemq-parent:5.1.0
+org.apache.activemq:activemq-parent:4.1.1
+org.apache.jackrabbit:jackrabbit-jcr-client:1.1
+org.apache.jackrabbit:jackrabbit-jcr-client:1.1.1
+org.apache.jackrabbit:jackrabbit-jcr-client:1.0
+org.apache.jackrabbit:jackrabbit-jcr-client:1.0.1
+org.apache.jackrabbit:jackrabbit-server:1.1
+org.apache.jackrabbit:jackrabbit-server:1.0
+org.apache.jackrabbit:jackrabbit-server:1.0.1
+org.apache.jackrabbit:jackrabbit:1.2.3
+org.apache.jackrabbit:jackrabbit:1.3
+org.apache.jackrabbit:jackrabbit:1.2.1
+org.apache.jackrabbit:jackrabbit:1.3.3
+org.apache.jackrabbit:jackrabbit:1.4
+org.apache.jackrabbit:jackrabbit:1.3.1
+org.apache.jackrabbit:jackrabbit:1.2.2
+org.apache.jackrabbit:jackrabbit-jca:1.1
+org.apache.jackrabbit:jackrabbit-jca:1.1.1
+org.apache.jackrabbit:jackrabbit-jca:1.0
+org.apache.jackrabbit:jackrabbit-jca:1.0.1
+org.apache.jackrabbit:jackrabbit-core:1.1
+org.apache.jackrabbit:jackrabbit-core:1.1.1
+org.apache.jackrabbit:jackrabbit-core:1.0
+org.apache.jackrabbit:jackrabbit-core:1.0.1
+org.apache.jackrabbit:jackrabbit-jcr-webdav:1.1
+org.apache.jackrabbit:jackrabbit-jcr-webdav:1.1.1
+org.apache.jackrabbit:jackrabbit-jcr-webdav:1.0
+org.apache.jackrabbit:jackrabbit-jcr-webdav:1.0.1
+org.apache.jackrabbit:jackrabbit-jcr-rmi:1.1
+org.apache.jackrabbit:jackrabbit-jcr-rmi:1.1.1
+org.apache.jackrabbit:jackrabbit-jcr-rmi:1.0
+org.apache.jackrabbit:jackrabbit-jcr-rmi:1.0.1
+org.apache.jackrabbit:jackrabbit-index-filters:1.1
+org.apache.jackrabbit:jackrabbit-index-filters:1.1.1
+org.apache.jackrabbit:jackrabbit-index-filters:1.0
+org.apache.jackrabbit:jackrabbit-index-filters:1.0.1
+org.apache.jackrabbit:jackrabbit-jcr-commons:1.1
+org.apache.jackrabbit:jackrabbit-jcr-commons:1.1.1
+org.apache.jackrabbit:jackrabbit-jcr-commons:1.0
+org.apache.jackrabbit:jackrabbit-jcr-commons:1.0.1
+org.apache.jackrabbit:jackrabbit-jcr-server:1.1
+org.apache.jackrabbit:jackrabbit-jcr-server:1.0
+org.apache.jackrabbit:jackrabbit-jcr-server:1.0.1
+org.apache.jackrabbit:jackrabbit-spi2dav_ex:1.5-R42198
+org.apache.servicemix:servicemix-wsn2005:2008.01
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xstream-1.2.2:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xstream-1.2.2:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl-1.3:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.neethi-2.0.2:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlschema:1.4.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.smack:3.0.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.antlr-runtime:3.0.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.openjpa:1.2.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.joda-time:1.5.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.howl-1.0.1-1:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ant-1.7.0:1.0.0-rc1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ant-1.7.0:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ant-1.7.0:1.0-m3
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ant-1.7.0:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.fastinfoset:1.2.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlschema-1.3.2:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.wss4j:1.5.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xpp3:1.1.4c_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.oro:2.0.8_1
+org.apache.servicemix.bundles:bundles-pom:2
+org.apache.servicemix.bundles:bundles-pom:1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.oscore:2.2.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jing:20030619_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.mina:1.1.6_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch:0.1.31_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.groovy:1.5.6_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.mina-1.1.6-r602102:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.osworkflow:2.7.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib-2.1_3:1.0.0-rc1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib-2.1_3:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib-2.1_3:1.0-m3
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib-2.1_3:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:2.1_3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.aopalliance-1.0:1.0.0-rc1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.aopalliance-1.0:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.aopalliance-1.0:1.0-m3
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.aopalliance-1.0:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jcr-api:1.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.flatpack:3.1.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-jexl:1.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.qpid:1.0-incubating-M2.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-vfs:1.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.asm-2.2.3:1.0.0-rc1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.asm-2.2.3:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.asm-2.2.3:1.0-m3
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.asm-2.2.3:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.drools:4.0.7_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.wsdl4j-1.6.1:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jdt-core:3.2.3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.woodstox:3.2.7_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.aopalliance:1.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.cxf-2.0.5:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit-4.4:1.0.0-rc1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit-4.4:1.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit-4.4:1.0-m3
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit-4.4:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxws-api-2.0:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-dbcp:1.2.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.asm:2.2.3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-csv:1.0-r706899_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.quartz:1.5.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jetty-bundle:6.1.12rc1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.irclib:1.10_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jasper:6.0.14_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-codec:1.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlbeans:2.4.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ognl:2.7.3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.httpcore:4.0-alpha6_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.velocity:1.5_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jencks-2.1:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlresolver-1.2:4.0-m1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.ant:1.7.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit:4.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.oscache:2.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.antlr:3.0.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.1.6_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.abdera:0.4.0-incubating_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.mina-1.1.6:1.0.0-rc1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.mina-1.1.6:1.0-m3
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.mina-1.1.6:1.0-m2
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.josql:1.5_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jexcelapi:2.4.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlresolver:1.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.propertyset:1.3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.saxon:9.1.0.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-httpclient:3.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlsec:1.3.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.xstream:1.3_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jencks:2.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-beanutils:1.7.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.hamcrest:1.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-net:1.4.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.howl:1.0.1-1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.jdom:1.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.juel:2.1.0_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.werken-xpath:0.9.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.wsdl4j:1.6.1_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-jxpath:1.2_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.neethi:2.0.4_1
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-io:1.3.2_1
+org.apache.servicemix.jbi:jbi:1.0-m1
+org.apache.servicemix.jbi:jbi:1.0.0-m2
+org.apache.servicemix.jbi:jbi:1.0.0-m3
+org.apache.servicemix.jbi:org.apache.servicemix.jbi.api:1.0-m1
+org.apache.servicemix.jbi:org.apache.servicemix.jbi.deployer:1.0-m1
+org.apache.servicemix.jbi:org.apache.servicemix.jbi.deployer:1.0.0-m2
+org.apache.servicemix.jbi:org.apache.servicemix.jbi.deployer:1.0.0-m3
+org.apache.servicemix:sharedlibraries:3.2
+org.apache.servicemix:sharedlibraries:3.2.2
+org.apache.servicemix:sharedlibraries:3.1.2
+org.apache.servicemix:sharedlibraries:3.2.2
+org.apache.servicemix:sharedlibraries:3.2.1
+org.apache.servicemix:sharedlibraries:3.2.3
+org.apache.servicemix:servicemix-soap:2008.01
+org.apache.servicemix:core:3.2
+org.apache.servicemix:core:3.2.2
+org.apache.servicemix:core:3.1.2
+org.apache.servicemix:core:3.2.2
+org.apache.servicemix:core:3.3
+org.apache.servicemix:core:3.2.1
+org.apache.servicemix:core:3.2.3
+org.apache.servicemix.tooling:tooling:3.2
+org.apache.servicemix.tooling:tooling:3.2.2
+org.apache.servicemix.tooling:tooling:3.1.2
+org.apache.servicemix.tooling:tooling:3.2.2
+org.apache.servicemix.tooling:tooling:3.2.1
+org.apache.servicemix.tooling:tooling:3.2.3
+org.apache.servicemix.tooling:maven-plugins-pom:1
+org.apache.servicemix.tooling:xfire-maven-plugin:4.0
+org.apache.servicemix.tooling:res-maven-plugin:4.0
+org.apache.servicemix.tooling:depends-maven-plugin:1.0
+org.apache.servicemix.tooling:jbi-maven-plugin:4.0
+org.apache.servicemix.tooling:checksum-maven-plugin:1.0
+org.apache.servicemix.tooling:features-maven-plugin:1.0
+org.apache.servicemix.transaction.bundles:bundles:4.0-m1
+org.apache.servicemix.transaction:transaction:4.0-m1
+org.apache.servicemix.transaction:org.apache.servicemix.transaction:4.0-m1
+org.apache.servicemix:bindingcomponents:3.2
+org.apache.servicemix:bindingcomponents:3.2.2
+org.apache.servicemix:bindingcomponents:3.1.2
+org.apache.servicemix:bindingcomponents:3.2.2
+org.apache.servicemix:bindingcomponents:3.2.1
+org.apache.servicemix:bindingcomponents:3.2.3
+org.apache.servicemix:servicemix-eip:2008.01
+org.apache.servicemix.kernel.bundles:bundles:1.0.0-rc1
+org.apache.servicemix.kernel.bundles:bundles:1.0-m1
+org.apache.servicemix.kernel.bundles:bundles:1.0-m3
+org.apache.servicemix.kernel.bundles:bundles:1.0-m2
+org.apache.servicemix.kernel.testing:testing:1.0.0-rc1
+org.apache.servicemix.kernel.testing:testing:1.0-m1
+org.apache.servicemix.kernel.testing:testing:1.0-m3
+org.apache.servicemix.kernel.testing:testing:1.0.0
+org.apache.servicemix.kernel.testing:testing:1.0.0-rc2
+org.apache.servicemix.kernel.testing:testing:1.0-m2
+org.apache.servicemix.kernel.testing:depends-maven-plugin:1.0.0-rc1
+org.apache.servicemix.kernel.testing:depends-maven-plugin:1.0-m1
+org.apache.servicemix.kernel.testing:depends-maven-plugin:1.0-m3
+org.apache.servicemix.kernel.testing:depends-maven-plugin:1.0-m2
+org.apache.servicemix.kernel.testing:org.apache.servicemix.kernel.testing.support:1.0.0-rc1
+org.apache.servicemix.kernel.testing:org.apache.servicemix.kernel.testing.support:1.0-m1
+org.apache.servicemix.kernel.testing:org.apache.servicemix.kernel.testing.support:1.0-m3
+org.apache.servicemix.kernel.testing:org.apache.servicemix.kernel.testing.support:1.0.0
+org.apache.servicemix.kernel.testing:org.apache.servicemix.kernel.testing.support:1.0.0-rc2
+org.apache.servicemix.kernel.testing:org.apache.servicemix.kernel.testing.support:1.0-m2
+org.apache.servicemix.kernel.testing:features-maven-plugin:1.0.0-rc1
+org.apache.servicemix.kernel.testing:features-maven-plugin:1.0-m3
+org.apache.servicemix.kernel:apache-servicemix-kernel:1.0.0-rc1
+org.apache.servicemix.kernel:apache-servicemix-kernel:1.0-m1
+org.apache.servicemix.kernel:apache-servicemix-kernel:1.0-m3
+org.apache.servicemix.kernel:apache-servicemix-kernel:1.0.0
+org.apache.servicemix.kernel:apache-servicemix-kernel:1.0.0-rc2
+org.apache.servicemix.kernel:apache-servicemix-kernel:1.0-m2
+org.apache.servicemix.kernel:kernel:1.0.0-rc1
+org.apache.servicemix.kernel:kernel:1.0-m1
+org.apache.servicemix.kernel:kernel:1.0-m3
+org.apache.servicemix.kernel:kernel:1.0.0
+org.apache.servicemix.kernel:kernel:1.0.0-rc2
+org.apache.servicemix.kernel:kernel:1.0-m2
+org.apache.servicemix.kernel.jaas:jaas:1.0.0-rc1
+org.apache.servicemix.kernel.jaas:jaas:1.0.0
+org.apache.servicemix.kernel.jaas:jaas:1.0.0-rc2
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.keystore:1.0.0-rc1
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.keystore:1.0.0
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.keystore:1.0.0-rc2
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.boot:1.0.0-rc1
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.boot:1.0.0
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.boot:1.0.0-rc2
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.config:1.0.0-rc1
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.config:1.0.0
+org.apache.servicemix.kernel.jaas:org.apache.servicemix.kernel.jaas.config:1.0.0-rc2
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor:1.0.0-rc1
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor:1.0-m1
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor:1.0-m3
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor:1.0.0
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor:1.0.0-rc2
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor:1.0-m2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.wrapper:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.wrapper:1.0-m1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.wrapper:1.0-m3
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.wrapper:1.0.0
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.wrapper:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.wrapper:1.0-m2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.obr:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.obr:1.0-m1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.obr:1.0-m3
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.obr:1.0.0
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.obr:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.obr:1.0-m2
+org.apache.servicemix.kernel.gshell:gshell:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:gshell:1.0-m1
+org.apache.servicemix.kernel.gshell:gshell:1.0-m3
+org.apache.servicemix.kernel.gshell:gshell:1.0.0
+org.apache.servicemix.kernel.gshell:gshell:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:gshell:1.0-m2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.features:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.features:1.0-m1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.features:1.0-m3
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.features:1.0.0
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.features:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.features:1.0-m2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.log:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.log:1.0-m3
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.log:1.0.0
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.log:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core:1.0-m1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core:1.0-m3
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core:1.0.0
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core:1.0-m2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.osgi:1.0.0-rc1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.osgi:1.0-m1
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.osgi:1.0-m3
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.osgi:1.0.0
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.osgi:1.0.0-rc2
+org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.osgi:1.0-m2
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring:1.0.0-rc1
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring:1.0-m1
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring:1.0-m3
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring:1.0.0
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring:1.0.0-rc2
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring:1.0-m2
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.main:1.0.0-rc1
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.main:1.0-m1
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.main:1.0-m3
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.main:1.0.0
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.main:1.0.0-rc2
+org.apache.servicemix.kernel:org.apache.servicemix.kernel.main:1.0-m2
+org.apache.servicemix:servicemix-jms:2008.01
+org.apache.servicemix:shared-libraries-pom:2008.01
+org.apache.servicemix.nmr.bundles:bundles:1.0-m1
+org.apache.servicemix.nmr:nmr-parent:1.0-m1
+org.apache.servicemix.nmr:nmr-parent:1.0.0-m2
+org.apache.servicemix.nmr:nmr-parent:1.0.0-m3
+org.apache.servicemix.nmr:apache-servicemix-nmr:1.0-m1
+org.apache.servicemix.nmr:apache-servicemix-nmr:1.0.0-m2
+org.apache.servicemix.nmr:apache-servicemix-nmr:1.0.0-m3
+org.apache.servicemix.nmr:org.apache.servicemix.nmr.bundle:1.0-m1
+org.apache.servicemix.nmr:org.apache.servicemix.nmr.bundle:1.0.0-m2
+org.apache.servicemix.nmr:org.apache.servicemix.nmr.bundle:1.0.0-m3
+org.apache.servicemix:servicemix-mail:2008.01
+org.apache.servicemix:servicemix-http:2008.01
+org.apache.servicemix:servicemix-quartz:2008.01
+org.apache.servicemix:servicemix-file:2008.01
+org.apache.servicemix.specs:org.apache.servicemix.specs.scripting-api-1.0:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.scripting-api-1.0:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.1:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.1:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.1:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.1:1.1.0
+org.apache.servicemix.specs:specs:1.1.1
+org.apache.servicemix.specs:specs:1.0.0
+org.apache.servicemix.specs:specs:1.0.1
+org.apache.servicemix.specs:specs:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.0:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.0:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.0:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.0:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.locator:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.locator:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.locator:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.locator:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.0:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.0:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.0:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.0:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.1:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.1:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.1:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.1:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.0:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.0:1.0.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.0:1.0.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.0:1.1.0
+org.apache.servicemix.specs:org.apache.servicemix.specs.jbi-api-1.0:1.1.1
+org.apache.servicemix.specs:org.apache.servicemix.specs.jbi-api-1.0:1.1.0
+org.apache.servicemix.activemq:activemq:4.0-m1
+org.apache.servicemix.activemq:org.apache.servicemix.activemq:4.0-m1
+org.apache.servicemix:servicemix:3.2
+org.apache.servicemix:servicemix:3.2.2
+org.apache.servicemix:servicemix:3.1.2
+org.apache.servicemix:servicemix:3.2.2
+org.apache.servicemix:servicemix:3.3
+org.apache.servicemix:servicemix:3.2.1
+org.apache.servicemix:servicemix:3.2.3
+org.apache.servicemix.management:management:4.0-m1
+org.apache.servicemix.management:org.apache.servicemix.management.core:4.0-m1
+org.apache.servicemix.management:org.apache.servicemix.management.acegi:4.0-m1
+org.apache.servicemix:components-pom:2
+org.apache.servicemix:components-pom:1
+org.apache.servicemix:parent:3.2
+org.apache.servicemix:parent:3.2.2
+org.apache.servicemix:parent:3.2.2
+org.apache.servicemix:parent:3.3
+org.apache.servicemix:parent:3.2.1
+org.apache.servicemix:parent:3.2.3
+org.apache.servicemix:servicemix-xmpp:2008.01
+org.apache.servicemix:servicemix-saxon:2008.01
+org.apache.servicemix:servicemix-validation:2008.01
+org.apache.servicemix:servicemix-jsr181:2008.01
+org.apache.servicemix.examples:cxf-osgi:4.0-m1
+org.apache.servicemix.examples:cxf-camel-nmr:4.0-m1
+org.apache.servicemix.examples:camel-nmr:4.0-m1
+org.apache.servicemix.examples:examples:4.0-m1
+org.apache.servicemix.examples:cxf-nmr:4.0-m1
+org.apache.servicemix.examples:camel-osgi:4.0-m1
+org.apache.servicemix:servicemix-pom:1.0
+org.apache.servicemix:servicemix-pom:2
+org.apache.servicemix.camel.bundles:bundles:4.0-m1
+org.apache.servicemix.camel:org.apache.servicemix.camel.component:4.0-m1
+org.apache.servicemix.camel:camel:4.0-m1
+org.apache.servicemix.features:features:4.0-m1
+org.apache.servicemix.features:apache-servicemix:4.0-m1
+org.apache.servicemix:servicemix-ftp:2008.01
+org.apache.servicemix:archetypes:3.2
+org.apache.servicemix:archetypes:3.2.2
+org.apache.servicemix:archetypes:3.1.2
+org.apache.servicemix:archetypes:3.2.2
+org.apache.servicemix:archetypes:2008.01
+org.apache.servicemix:archetypes:3.2.1
+org.apache.servicemix:archetypes:3.2.3
+org.apache.servicemix:servicemix-common:2008.01
+org.apache.servicemix:servicemix-truezip:2008.01
+org.apache.servicemix:servicemix-script:2008.01
+org.apache.servicemix:servicemix-snmp:2008.01
+org.apache.servicemix.war.bundles:bundles:4.0-m1
+org.apache.servicemix.war:org.apache.servicemix.war.deployer:4.0-m1
+org.apache.servicemix.war:war:4.0-m1
+org.apache.servicemix:platforms:3.2
+org.apache.servicemix:platforms:3.2.2
+org.apache.servicemix:platforms:3.1.2
+org.apache.servicemix:platforms:3.2.2
+org.apache.servicemix:platforms:3.3
+org.apache.servicemix:platforms:3.2.1
+org.apache.servicemix:platforms:3.2.3
+org.apache.servicemix:servicemix-drools:2008.01
+org.apache.servicemix:servicemix-bean:2008.01
+org.apache.servicemix:assemblies:3.2
+org.apache.servicemix:assemblies:3.2.2
+org.apache.servicemix:assemblies:3.1.2
+org.apache.servicemix:assemblies:3.2.2
+org.apache.servicemix:assemblies:3.3
+org.apache.servicemix:assemblies:3.2.1
+org.apache.servicemix:assemblies:3.2.3
+org.apache.servicemix.legal:legal:1.0
+org.apache.servicemix:servicemix-cxf-bc:2008.01
+org.apache.servicemix:deployables:3.2
+org.apache.servicemix:deployables:3.2.2
+org.apache.servicemix:deployables:3.1.2
+org.apache.servicemix:deployables:3.2.2
+org.apache.servicemix:deployables:3.2.1
+org.apache.servicemix:deployables:3.2.3
+org.apache.servicemix:servicemix-cxf-se:2008.01
+org.apache.servicemix:serviceengines:3.2
+org.apache.servicemix:serviceengines:3.2.2
+org.apache.servicemix:serviceengines:3.1.2
+org.apache.servicemix:serviceengines:3.2.2
+org.apache.servicemix:serviceengines:3.2.1
+org.apache.servicemix:serviceengines:3.2.3
+org.apache.servicemix:servicemix-scripting:2008.01
+org.apache.servicemix:servicemix-osworkflow:2008.01
+org.apache.servicemix:common:3.2
+org.apache.servicemix:common:3.2.2
+org.apache.servicemix:common:3.1.2
+org.apache.servicemix:common:3.2.2
+org.apache.servicemix:common:3.3
+org.apache.servicemix:common:3.2.1
+org.apache.servicemix:common:3.2.3
+org.apache.servicemix:servicemix-shared:2008.01
+org.apache.servicemix:servicemix-soap2:2008.01
+org.apache.servicemix:web:3.2
+org.apache.servicemix:web:3.2.2
+org.apache.servicemix:web:3.1.2
+org.apache.servicemix:web:3.2.2
+org.apache.servicemix:web:3.3
+org.apache.servicemix:web:3.2.1
+org.apache.servicemix:web:3.2.3
+org.apache.servicemix:servicemix-camel:2008.01
+org.apache.servicemix.cxf.bundles:bundles:4.0-m1
+org.apache.servicemix.cxf:org.apache.servicemix.cxf.transport.osgi:4.0-m1
+org.apache.servicemix.cxf:org.apache.servicemix.cxf.transport.nmr:4.0-m1
+org.apache.servicemix.cxf:org.apache.servicemix.cxf.binding.nmr:4.0-m1
+org.apache.servicemix.cxf:cxf:4.0-m1
+org.apache.axis:axis-saaj:1.4
+org.apache.axis:axis:1.4
+org.apache.axis:axis-ant:1.4
+org.apache.axis:axis-jaxrpc:1.4
+org.apache.wicket:wicket-parent:1.3.0-beta4
+org.apache.wicket:wicket-parent:1.3.5
+org.apache.wicket:wicket-parent:1.4-m1
+org.apache.wicket:wicket-parent:1.3.0
+org.apache.wicket:wicket-parent:1.3.0-rc2
+org.apache.wicket:wicket-parent:1.3.0-beta2
+org.apache.wicket:wicket-parent:1.3.3
+org.apache.wicket:wicket-parent:1.3.1
+org.apache.wicket:wicket-parent:1.4-m3
+org.apache.wicket:wicket-parent:1.3.4
+org.apache.wicket:wicket-parent:1.4-rc1
+org.apache.wicket:wicket-parent:1.3.2
+org.apache.wicket:wicket-parent:1.4-m2
+org.apache.wicket:wicket-parent:1.3.0-beta3
+org.apache.wicket:wicket-parent:1.3.0-rc1
+org.apache.felix:org.apache.felix.ipojo.ant:1.0.0
+org.apache.felix:org.apache.felix.ipojo.ant:0.8.1
+org.apache.felix.commons:commons-build:1.0.0
+org.apache.felix:maven-ipojo-plugin:0.8.0
+org.apache.felix:maven-ipojo-plugin:1.0.0
+org.apache.felix:org.apache.felix.upnp.basedriver:0.8.0
+org.apache.felix:org.apache.felix.ipojo.arch:0.8.0
+org.apache.felix:org.apache.felix.ipojo.arch:1.0.0
+org.apache.felix:felix:1.0.0
+org.apache.felix:felix:1.0.1
+org.apache.felix:felix:1.0.2
+org.apache.felix:org.apache.felix.ipojo.metadata:0.8.0
+org.apache.felix:org.apache.felix.ipojo.metadata:1.0.0
+org.apache.felix:
+ org.apache.felix.ipojo.handler.whiteboard
+ :1.0.0
+org.apache.felix:
+ org.apache.felix.ipojo.handler.extender.pattern
+ :0.8.0
+org.apache.felix:maven-scr-plugin:1.0.8
+org.apache.felix:maven-scr-plugin:1.0.3
+org.apache.felix:maven-scr-plugin:1.0.5
+org.apache.felix:maven-scr-plugin:1.0.1
+org.apache.felix:maven-scr-plugin:1.0.2
+org.apache.felix:maven-scr-plugin:0.2.0
+org.apache.felix:maven-scr-plugin:0.4.0
+org.apache.felix:maven-scr-plugin:1.0.6
+org.apache.felix:maven-scr-plugin:1.0.4
+org.apache.felix:maven-scr-plugin:1.0.7
+org.apache.felix:org.apache.felix.ipojo.annotations:0.8.0
+org.apache.felix:org.apache.felix.ipojo.annotations:1.0.0
+org.apache.felix:
+ org.apache.felix.ipojo.handler.extender
+ :1.0.0
+org.apache.felix:org.apache.felix.ipojo.composite:1.0.0
+org.apache.felix:org.apache.felix.ipojo.composite:0.8.1
+org.apache.felix:maven-bundle-plugin:1.0.0
+org.apache.felix:org.apache.felix.ipojo.manipulator:0.8.0
+org.apache.felix:org.apache.felix.ipojo.manipulator:1.0.0
+org.apache.felix:org.apache.felix.ipojo.handler.temporal:1.0.0
+org.apache.felix:org.apache.felix.ipojo.handler.temporal:0.8.1
+org.apache.felix:
+ org.apache.felix.ipojo.handler.white.board.pattern
+ :0.8.0
+org.apache.felix:org.apache.felix.ipojo:0.8.0
+org.apache.felix:org.apache.felix.ipojo:1.0.0
+org.apache.myfaces.commons:myfaces-commons-examples11:1.0.0
+org.apache.myfaces.commons:commons11:1.0.0
+org.apache.myfaces.commons:commons12:1.0.0
+org.apache.myfaces.commons:myfaces-commons-examples12:1.0.0
+org.apache.myfaces.commons:myfaces-commons:1.1.2
+org.apache.myfaces.core:myfaces-api:1.1.5
+org.apache.myfaces.core:myfaces-api:1.1.4
+org.apache.myfaces.core:myfaces-api:1.1.2
+org.apache.myfaces.core:myfaces-impl:1.1.5
+org.apache.myfaces.core:myfaces-impl:1.1.4
+org.apache.myfaces.core:myfaces-impl:1.1.2
+org.apache.myfaces.core:myfaces-core-project:1.1.5
+org.apache.myfaces.core:myfaces-core-project:1.2.3
+org.apache.myfaces.core:myfaces-core-project:1.2.4
+org.apache.myfaces.core:myfaces-core-project:1.1.6
+org.apache.myfaces.core:myfaces-core-project:1.2.0
+org.apache.myfaces.core:myfaces-core-project:1.2.2
+org.apache.myfaces.core:myfaces-core-project:1.1.4
+org.apache.myfaces.core:myfaces-core-project:1.1.2
+org.apache.myfaces.core:myfaces-core-project:1.2.5
+org.apache.myfaces.trinidad:trinidad:1.0.8
+org.apache.myfaces.trinidad:trinidad:1.2.3
+org.apache.myfaces.trinidad:trinidad:1.2.7
+org.apache.myfaces.trinidad:trinidad:1.2.4
+org.apache.myfaces.trinidad:trinidad:1.0.3
+org.apache.myfaces.trinidad:trinidad:1.2.6
+org.apache.myfaces.trinidad:trinidad:1.2.9
+org.apache.myfaces.trinidad:trinidad:1.2.1
+org.apache.myfaces.trinidad:trinidad:1.0.5
+org.apache.myfaces.trinidad:trinidad:1.0.1
+org.apache.myfaces.trinidad:trinidad:1.0.2
+org.apache.myfaces.trinidad:trinidad:1.2.10
+org.apache.myfaces.trinidad:trinidad:1.2.2
+org.apache.myfaces.trinidad:trinidad:1.0.6
+org.apache.myfaces.trinidad:trinidad:1.0.4
+org.apache.myfaces.trinidad:trinidad:1.0.7
+org.apache.myfaces.trinidad:trinidad:1.2.8
+org.apache.myfaces.trinidad:trinidad:1.2.5
+org.apache.myfaces.trinidad:trinidad:1.0.9
+org.apache.myfaces.trinidad:trinidad:1.0.10
+org.apache.myfaces:myfaces:6
+org.apache.myfaces:myfaces:4
+org.apache.myfaces:myfaces:3
+org.apache.myfaces:myfaces:5
+org.apache.myfaces:myfaces:2
+org.apache.myfaces:myfaces:1
+org.apache.myfaces.portlet-bridge:portlet-bridge:1.0.0-alpha
+org.apache.myfaces.portlet-bridge:portlet-bridge:1.0.0-alpha-2
+org.apache.myfaces.portlet-bridge:portlet-bridge-master-pom:2
+org.apache.myfaces.portlet-bridge:portlet-bridge-master-pom:1
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.3
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.7
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.4
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.6
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.1
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.0.1
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.0.2
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.2
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.8
+org.apache.myfaces.trinidadbuild:maven-plugin-parent:1.2.5
+org.apache.myfaces.trinidadbuild:myfaces-archetype-trinidad:1.0.1
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-xrts-plugin:1.2.5
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-javascript-plugin:1.2.5
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-jdev-plugin:1.2.5
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-tagdoc-plugin:1.2.5
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-javacc-plugin:1.2.5
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-faces-plugin:1.2.5
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.2.3
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.2.4
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.2.1
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.0.1
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.2.1.1
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.0.2
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.2.2
+org.apache.myfaces.trinidadbuild:maven-i18n-plugin:1.2.5
+org.apache.myfaces.maven:wagon-maven-plugin:1.0.0
+org.apache.myfaces.maven:wagon-maven-plugin:1.0.5
+org.apache.myfaces.maven:wagon-maven-plugin:1.0.1
+org.apache.myfaces.maven:wagon-maven-plugin:1.0.2
+org.apache.myfaces.maven:wagon-maven-plugin:1.0.6
+org.apache.myfaces.maven:myfaces-master:1.0.0
+org.apache.myfaces.maven:myfaces-master:1.0.5
+org.apache.myfaces.maven:myfaces-master:1.0.1
+org.apache.myfaces.maven:myfaces-master:1.0.2
+org.apache.myfaces.maven:myfaces-master:1.0.6
+org.apache.myfaces.maven:myfaces-master:1.0.4
+org.apache.myfaces.maven:build-tools:1.0.0
+org.apache.myfaces.maven:build-tools:1.0.5
+org.apache.myfaces.maven:build-tools:1.0.6
+org.apache.myfaces.maven:maven-project:1.0.0
+org.apache.myfaces.maven:maven-project:1.0.5
+org.apache.myfaces.maven:maven-project:1.0.1
+org.apache.myfaces.maven:maven-project:1.0.2
+org.apache.myfaces.maven:maven-project:1.0.6
+org.apache.myfaces.shared:myfaces-shared-project:2.0.7
+org.apache.myfaces.shared:myfaces-shared-project:3.0.1
+org.apache.myfaces.shared:myfaces-shared-project:3.0.0
+org.apache.myfaces.shared:myfaces-shared-project:3.0.5
+org.apache.myfaces.shared:myfaces-shared-project:3.0.3
+org.apache.myfaces.shared:myfaces-shared-project:2.0.8
+org.apache.myfaces.shared:myfaces-shared-project:3.0.4
+org.apache.myfaces.shared:myfaces-shared-project:2.0.1
+org.apache.myfaces.shared:myfaces-shared-project:2.0.0
+org.apache.myfaces.shared:myfaces-shared-project:2.0.5
+org.apache.myfaces.shared:myfaces-shared-project:3.0.2
+org.apache.myfaces.shared:myfaces-shared-project:2.0.9
+org.apache.myfaces.shared:myfaces-shared-project:2.0.3
+org.apache.myfaces.tomahawk:tomahawk-project:1.1.5
+org.apache.myfaces.tomahawk:tomahawk-project:1.1.6
+org.apache.myfaces.tomahawk:tomahawk-project:1.1.8
+org.apache.myfaces.tomahawk:tomahawk-project:1.1.7
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.1
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.2
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.3
+org.apache.myfaces.orchestra:myfaces-orchestra-maven:1.1
+org.apache.myfaces.orchestra:myfaces-orchestra-maven:1.2
+org.apache.myfaces.orchestra:myfaces-orchestra-maven:1.0
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.0
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.1
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.2
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.3
+org.apache.myfaces.orchestra:myfaces-orchestra-core:1.0
+org.apache.myfaces.orchestra:myfaces-orchestra-core15:1.0
+org.apache.myfaces.buildtools:myfaces-builder-plugin:1.0.1
+org.apache.myfaces.buildtools:myfaces-builder-plugin:1.0.2
+org.apache.myfaces.buildtools:checkstyle-rules:1
+org.apache.myfaces.buildtools:myfaces-archetype-parent:1.0.0
+org.apache.myfaces.buildtools:myfaces-archetype-parent:1.0.1
+org.apache.myfaces.buildtools:myfaces-builder-annotations:1.0.1
+org.apache.myfaces.buildtools:myfaces-builder-annotations:1.0.2
+org.apache.myfaces.buildtools:myfaces-plugin-parent:1.0.0
+org.apache.myfaces.buildtools:myfaces-plugin-parent:1.0.1
+org.apache.myfaces.buildtools:myfaces-plugin-parent:1.0.2
+org.apache.myfaces.tobago:maven-theme-plugin:1.0.7
+org.apache.myfaces.tobago:tobago-facelets:1.0.7
+org.apache.myfaces.tobago:tobago-tool-apt:1.0.7
+org.apache.myfaces.tobago:maven-apt-plugin:1.0.7
+org.apache.myfaces.tobago:tobago:1.0.15
+org.apache.myfaces.tobago:tobago:1.0.14
+org.apache.myfaces.tobago:tobago:1.0.8
+org.apache.myfaces.tobago:tobago:1.0.16
+org.apache.myfaces.tobago:tobago:1.0.20
+org.apache.myfaces.tobago:tobago:1.0.12
+org.apache.myfaces.tobago:tobago:1.0.11
+org.apache.myfaces.tobago:tobago:1.0.19
+org.apache.myfaces.tobago:tobago:1.0.17
+org.apache.myfaces.tobago:tobago:1.0.18
+org.apache.myfaces.tobago:tobago:1.0.7
+org.apache.myfaces.tobago:tobago:1.0.13
+org.apache.myfaces.tobago:tobago:1.0.9
+org.apache.myfaces.tobago:tobago:1.0.10
+org.apache:apache-resource-bundles:2
+org.apache.archiva:archiva-parent:3
+org.apache.ddlutils:ddlutils:1.0
+org.apache.portals.jetspeed-2:jetspeed-2:2.1.3
+org.apache.portals.bridges:portals-bridges:1.0.3
+org.apache.portals.bridges:portals-bridges:1.0.4
+org.apache.portals.bridges:portals-bridges-perl:1.0
+org.apache.portals.bridges:portals-bridges-frameworks:1.0
+org.apache.portals.bridges:portals-bridges-common:1.0
+org.apache.portals.bridges:portals-bridges-php:1.0
+org.apache.portals.bridges:portals-bridges-struts:1.2.4-1.0
+org.apache.portals.bridges:portals-bridges-struts:1.2.7-1.0
+org.apache.portals.bridges:portals-bridges-velocity:1.0
+org.apache.portals.bridges:portals-bridges-jsf:1.0
+org.apache.portals.bridges:portals-bridges-portletfilter:1.0
+org.apache.tapestry:maven-skin:1.1
+org.apache.tapestry:maven-skin:1.2
+org.apache.tapestry:maven-skin:1
+org.apache.tapestry:tapestry-annotations:4.1.6
+org.apache.tapestry:tapestry-annotations:4.1.2
+org.apache.tapestry:tapestry-annotations:4.1
+org.apache.tapestry:tapestry-annotations:4.1.3
+org.apache.tapestry:tapestry-annotations:4.1.5
+org.apache.tapestry:tapestry-annotations:4.1.1
+org.apache.tapestry:tapestry-simple:5.0.1
+org.apache.tapestry:tapestry-simple:5.0.2
+org.apache.tapestry:tapestry-ioc:5.0.4
+org.apache.tapestry:tapestry-ioc:5.0.1
+org.apache.tapestry:tapestry-ioc:5.0.3
+org.apache.tapestry:tapestry-ioc:5.0.2
+org.apache.tapestry:tapestry-portlet:4.1.6
+org.apache.tapestry:tapestry-portlet:4.1.2
+org.apache.tapestry:tapestry-portlet:4.1
+org.apache.tapestry:tapestry-portlet:4.1.3
+org.apache.tapestry:tapestry-portlet:4.1.5
+org.apache.tapestry:tapestry-portlet:4.1.1
+org.apache.tapestry:tapestry-VlibBeans:4.1
+org.apache.tapestry:tapestry-VlibBeans:4.1.1
+org.apache.tapestry:tapestry-framework:4.1.6
+org.apache.tapestry:tapestry-framework:4.1.2
+org.apache.tapestry:tapestry-framework:4.1
+org.apache.tapestry:tapestry-framework:4.1.3
+org.apache.tapestry:tapestry-framework:4.1.5
+org.apache.tapestry:tapestry-framework:4.1.1
+org.apache.tapestry:tapestry-hibernate:5.0.4
+org.apache.tapestry:tapestry-hibernate:5.0.3
+org.apache.tapestry:tapestry-core:5.0.4
+org.apache.tapestry:tapestry-core:5.0.1
+org.apache.tapestry:tapestry-core:5.0.3
+org.apache.tapestry:tapestry-core:5.0.2
+org.apache.tapestry:quickstart:5.0.4
+org.apache.tapestry:quickstart:5.0.3
+org.apache.tapestry:tapestry-test:4.1.4
+org.apache.tapestry:tapestry-test:4.1.2
+org.apache.tapestry:tapestry-test:4.1
+org.apache.tapestry:tapestry-test:5.0.4
+org.apache.tapestry:tapestry-test:5.0.3
+org.apache.tapestry:tapestry-test:4.1.3
+org.apache.tapestry:tapestry-TimeTracker:4.1.6
+org.apache.tapestry:tapestry-TimeTracker:4.1.2
+org.apache.tapestry:tapestry-TimeTracker:4.1
+org.apache.tapestry:tapestry-TimeTracker:4.1.3
+org.apache.tapestry:tapestry-TimeTracker:4.1.5
+org.apache.tapestry:tapestry-TimeTracker:4.1.1
+org.apache.tapestry:tapestry-contrib:4.1.6
+org.apache.tapestry:tapestry-contrib:4.1.2
+org.apache.tapestry:tapestry-contrib:4.1
+org.apache.tapestry:tapestry-contrib:4.1.3
+org.apache.tapestry:tapestry-contrib:4.1.5
+org.apache.tapestry:tapestry-contrib:4.1.1
+org.apache.tapestry:tapestry-site:4.1
+org.apache.tapestry:tapestry-site:4.1.1
+org.apache.tapestry:tapestry-spring:5.0.4
+org.apache.tapestry:tapestry-spring:5.0.3
+org.apache.tapestry:tapestry-examples:4.1.6
+org.apache.tapestry:tapestry-examples:4.1.2
+org.apache.tapestry:tapestry-examples:4.1
+org.apache.tapestry:tapestry-examples:4.1.3
+org.apache.tapestry:tapestry-examples:4.1.5
+org.apache.tapestry:tapestry-examples:4.1.1
+org.apache.tapestry:tapestry-project:5.0.10
+org.apache.tapestry:tapestry-project:4.1.6
+org.apache.tapestry:tapestry-project:5.0.14
+org.apache.tapestry:tapestry-project:4.1.2
+org.apache.tapestry:tapestry-project:4.1
+org.apache.tapestry:tapestry-project:5.0.6
+org.apache.tapestry:tapestry-project:5.0.7
+org.apache.tapestry:tapestry-project:5.0.5
+org.apache.tapestry:tapestry-project:5.0.4
+org.apache.tapestry:tapestry-project:5.0.12
+org.apache.tapestry:tapestry-project:5.0.1
+org.apache.tapestry:tapestry-project:5.0.9
+org.apache.tapestry:tapestry-project:5.0.3
+org.apache.tapestry:tapestry-project:5.0.13
+org.apache.tapestry:tapestry-project:4.1.3
+org.apache.tapestry:tapestry-project:4.1.5
+org.apache.tapestry:tapestry-project:5.0.11
+org.apache.tapestry:tapestry-project:5.0.15
+org.apache.tapestry:tapestry-project:5.0.2
+org.apache.tapestry:tapestry-project:5.0.16
+org.apache.tapestry:tapestry-project:4.1.1
+org.apache.tapestry:tapestry-Workbench:4.1.6
+org.apache.tapestry:tapestry-Workbench:4.1.2
+org.apache.tapestry:tapestry-Workbench:4.1
+org.apache.tapestry:tapestry-Workbench:4.1.3
+org.apache.tapestry:tapestry-Workbench:4.1.5
+org.apache.tapestry:tapestry-Workbench:4.1.1
+org.apache.tapestry:tapestry-archetype:4.1.6
+org.apache.tapestry:tapestry-Vlib:4.1
+org.apache.tapestry:tapestry-Vlib:4.1.1
+org.apache.tapestry:tapestry-component-report:5.0.4
+org.apache.tapestry:tapestry-component-report:5.0.3
+org.apache.tapestry:tapestry-component-report:5.0.2
+org.apache.xbean:xbean:2.3
+org.apache.xbean:xbean:3.0.1
+org.apache.xbean:xbean:2.4
+org.apache.xbean:xbean:2.8
+org.apache.xbean:xbean:3.0
+org.apache.xbean:xbean:2.7
+org.apache.xbean:xbean:2.5
+org.apache.xbean:xbean:2.6
+org.apache.xbean:xbean:3.2
+org.apache.xbean:xbean:3.1
+org.apache.xbean:xbean:2.3
+org.apache.xbean:xbean:3.0.1
+org.apache.xbean:xbean:2.4
+org.apache.xbean:xbean:2.8
+org.apache.xbean:xbean:3.0
+org.apache.xbean:xbean:3.4.2
+org.apache.xbean:xbean:2.7
+org.apache.xbean:xbean:2.5
+org.apache.xbean:xbean:2.6
+org.apache.xbean:xbean:3.3
+org.apache.xbean:xbean:3.4.3
+org.apache.xbean:xbean:3.4.1
+org.apache.xbean:xbean:3.4
+org.apache.xbean:xbean:2.2
+org.apache.shale.extras:mailreader-jpa:1.0.3
+org.apache.shale.extras:mailreader-jpa:1.0.4
+org.apache.shale:shale-master:3
+org.apache.shale:shale-master:2
+org.apache.shale:shale-master:1
+org.apache.shale:shale-parent:1.0.3
+org.apache.shale:shale-parent:1.0.5
+org.apache.shale:shale-parent:1.0.4
+org.apache.sandesha2:sandesha2-parent:1.2
+org.apache.sandesha2:sandesha2-parent:1.3
+org.apache.pluto:pluto-resources:1.1.3
+org.apache.pluto:pluto-deploy:1.0.1
+org.apache.pluto:pluto-deploy:1.0.1-rc4
+org.apache.pluto:pluto:1.1.5
+org.apache.pluto:pluto:1.1.3
+org.apache.pluto:pluto:1.1.1
+org.apache.pluto:pluto:1.1.6
+org.apache.pluto:pluto:1.0.1
+org.apache.pluto:pluto:1.1.0-beta2
+org.apache.pluto:pluto:1.0.1-rc4
+org.apache.pluto:pluto:1.1.4
+org.apache.pluto:pluto:1.1.0
+org.apache.pluto:pluto:1.1.2
+org.apache.pluto:pluto-container:1.1.1
+org.apache.pluto:pluto-container:1.1.0-beta2
+org.apache.pluto:pluto-container:1.1.0
+org.apache.pluto:pluto-container:1.1.2
+org.apache.pluto:pluto-descriptors:1.0.1
+org.apache.pluto:pluto-descriptors:1.0.1-rc4
+org.apache.pluto:pluto-portal:1.0.1
+org.apache.pluto:pluto-portal:1.0.1-rc4
+org.apache.ivy:ivy:2.0.0-beta2
+org.apache.ivy:ivy:2.0.0-rc2
+org.apache.ivy:ivy:2.0.0-rc1
+org.apache.ivy:ivy:2.0.0-beta1
+org.apache.db.torque:torque:3.3-RC2
+org.apache.db.torque:torque:3.3-RC1
+org.apache.maven:maven:2.0-SNAPSHOT
+org.apache.maven:maven:2.0-SNAPSHOT
+org.apache.maven:maven:2.0-alpha-1
+org.apache.maven:maven:2.0-SNAPSHOT
+org.apache.maven.reporting:maven-reporting:2.0-beta-2
+org.apache.maven.reporting:maven-reporting:2.0
+org.apache.maven.reporting:maven-reporting:2.0.4
+org.apache.maven.reporting:maven-reporting:2.0.2
+org.apache.maven.reporting:maven-reporting:2.0.1
+org.apache.maven.reporting:maven-reporting:2.0-beta-1
+org.apache.maven.reporting:maven-reporting:2.0.5
+org.apache.maven.reporting:maven-reporting:2.0-beta-3
+org.apache.maven.reporting:maven-reporting:2.0.3
+org.apache.maven.reporting:maven-reporting-api:2.0-beta-3
+org.apache.maven.reporting:maven-reporting-impl:2.0.4.1
+org.apache.maven.reporting:maven-reporting-impl:2.0-beta-3
+org.apache.maven.enforcer:enforcer:1
+org.apache.maven:maven-archiver:2.3
+org.apache.maven:maven-archiver:2.1
+org.apache.maven:maven-archiver:2.0-beta-3
+org.apache.maven:maven-archiver:2.2
+org.apache.maven:maven-parent:9
+org.apache.maven:maven-parent:8
+org.apache.maven:maven-parent:6
+org.apache.maven:maven-parent:4
+org.apache.maven:maven-parent:3
+org.apache.maven:maven-parent:7
+org.apache.maven:maven-parent:5
+org.apache.maven:maven-parent:2
+org.apache.maven:maven-parent:1
+org.apache.maven:maven-artifact-ant:2.0-alpha-1
+org.apache.maven:maven-artifact-ant:2.0-beta-3
+org.apache.maven:maven-artifact-ant:2.0-alpha-2
+org.apache.maven:maven-plugin-tools:2.0.4
+org.apache.maven:maven-plugin-tools:2.1
+org.apache.maven:maven-plugin-tools:2.0.5
+org.apache.maven:maven-plugin-tools:2.0-beta-3
+org.apache.maven:maven-plugin-tools:2.0.3
+org.apache.maven.continuum:continuum-parent:1.0-alpha-1-SNAPSHOT
+org.apache.maven.continuum:continuum-parent:1.0-alpha-1-SNAPSHOT
+org.apache.maven.continuum:continuum-parent:1.1
+org.apache.maven.continuum:continuum-parent:1.1-beta-1
+org.apache.maven.continuum:continuum-parent:1.0-beta-1
+org.apache.maven.continuum:continuum-parent:1.1-beta-4
+org.apache.maven.continuum:continuum-parent:1.0.3
+org.apache.maven.continuum:continuum-parent:1.0
+org.apache.maven.continuum:continuum-parent:1.0-alpha-4
+org.apache.maven.continuum:continuum-parent:1.1-beta-2
+org.apache.maven.continuum:continuum-parent:1.0.1
+org.apache.maven.continuum:continuum-parent:1.0.2
+org.apache.maven.continuum:continuum-parent:1.1-beta-3
+org.apache.maven.continuum:continuum-parent:1.0-alpha-2
+org.apache.maven.continuum.jpox:jpox-enhancer:1.1.0-20060413
+org.apache.maven.continuum.jpox:jpox:1.1.0-20060413
+org.apache.maven:maven-plugin-api:2.0-beta-2
+org.apache.maven:maven-plugin-api:2.0
+org.apache.maven:maven-plugin-api:2.0.4
+org.apache.maven:maven-plugin-api:2.0.2
+org.apache.maven:maven-plugin-api:2.0.1
+org.apache.maven:maven-plugin-api:2.0-beta-1
+org.apache.maven:maven-plugin-api:2.0-alpha-3
+org.apache.maven:maven-plugin-api:2.0-beta-3
+org.apache.maven:maven-plugin-api:2.0.3
+org.apache.maven.skins:maven-skins:3
+org.apache.maven.skins:maven-skins:2
+org.apache.maven.skins:maven-skins:1
+org.apache.maven:maven-core:2.0-beta-2
+org.apache.maven:maven-core:2.0
+org.apache.maven:maven-core:2.0.4
+org.apache.maven:maven-core:2.0.2
+org.apache.maven:maven-core:2.0.1
+org.apache.maven:maven-core:2.0-beta-1
+org.apache.maven:maven-core:2.0-alpha-3
+org.apache.maven:maven-core:2.0-beta-3
+org.apache.maven:maven-core:2.0.3
+org.apache.maven:maven-jxr:1.0-beta-1
+org.apache.maven:maven-jxr:1.0
+org.apache.maven:maven-core-it-support:1.1
+org.apache.maven:maven-core-it-support:1.2
+org.apache.maven:maven-core-it-support:1.2
+org.apache.maven:maven-core-it-support:1.3
+org.apache.maven:maven-core-it-support:1.0
+org.apache.maven:maven-core-it-support:1.4
+org.apache.maven:maven-plugin-tools-java:2.0-beta-3
+org.apache.maven.wagon:wagon:1.0-alpha-3-SNAPSHOT
+org.apache.maven.wagon:wagon:1.0-alpha-3-SNAPSHOT
+org.apache.maven.wagon:wagon:1.0-alpha-3-SNAPSHOT
+org.apache.maven.wagon:wagon:1.0-alpha-3-SNAPSHOT
+org.apache.maven.wagon:wagon:1.0-alpha-2
+org.apache.maven.wagon:wagon:1.0-alpha-3-SNAPSHOT
+org.apache.maven.wagon:wagon:1.0-alpha-3-SNAPSHOT
+org.apache.maven.wagon:wagon-providers:1.0-alpha-5
+org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5
+org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5
+org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-5
+org.apache.maven.wagon:wagon:1.0-beta-4
+org.apache.maven.wagon:wagon:1.0-beta-1
+org.apache.maven.wagon:wagon:1.0-beta-2
+org.apache.maven.wagon:wagon:1.0-alpha-4
+org.apache.maven.wagon:wagon:1.0-beta-3
+org.apache.maven.wagon:wagon:1.0-alpha-6
+org.apache.maven.wagon:wagon:1.0-alpha-3
+org.apache.maven.wagon:wagon:1.0-alpha-2
+org.apache.maven.wagon:wagon-file:1.0-alpha-5
+org.apache.maven.wagon:wagon-provider:test-1.0-alpha-3
+org.apache.maven.wagon:wagon-http:1.0-alpha-5
+org.apache.maven.wagon:wagon-scm:1.0-alpha-5
+org.apache.maven.wagon:wagon-ssh:1.0-alpha-5
+org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5
+org.apache.maven.wagon:wagon-ftp:1.0-alpha-5
+org.apache.maven:maven-artifact:2.0-beta-2
+org.apache.maven:maven-artifact:2.0-1
+org.apache.maven:maven-artifact:2.0
+org.apache.maven:maven-artifact:2.0.4
+org.apache.maven:maven-artifact:2.0.2
+org.apache.maven:maven-artifact:2.0.1
+org.apache.maven:maven-artifact:2.0-beta-1
+org.apache.maven:maven-artifact:2.0-alpha-3
+org.apache.maven:maven-artifact:2.0-beta-3
+org.apache.maven:maven-artifact:2.0.3
+org.apache.maven:maven-script-beanshell:2.0-beta-3
+org.apache.maven.archiva:archiva:1.0
+org.apache.maven.archiva:archiva-parent:1.0-beta-4
+org.apache.maven.archiva:archiva-parent:1.0-beta-1
+org.apache.maven.archiva:archiva-parent:1.0-beta-2
+org.apache.maven.archiva:archiva-parent:1.0-beta-3
+org.apache.maven.archiva:archiva-parent:2
+org.apache.maven.archiva:archiva-parent:1
+org.apache.maven.archiva:archiva-parent:1.0-alpha-1
+org.apache.maven.plugin-testing:maven-plugin-testing:1.2
+org.apache.maven:maven-plugin-surrogate-parent:5
+org.apache.maven.plugins:maven-scm-plugin:1.1
+org.apache.maven.plugins:maven-scm-plugin:1.0-beta-4
+org.apache.maven.plugins:maven-scm-plugin:1.0-beta-1
+org.apache.maven.plugins:maven-scm-plugin:1.0-beta-2
+org.apache.maven.plugins:maven-scm-plugin:1.0
+org.apache.maven.plugins:maven-scm-plugin:1.0-alpha-4
+org.apache.maven.plugins:maven-scm-plugin:1.0-rc1
+org.apache.maven.plugins:maven-scm-plugin:1.0-beta-3
+org.apache.maven.plugins:maven-scm-plugin:1.0-alpha-3
+org.apache.maven.plugins:maven-scm-plugin:1.0-alpha-2
+org.apache.maven.plugins:maven-plugin-parent:2.0-beta-2
+org.apache.maven.plugins:maven-plugin-parent:2.0
+org.apache.maven.plugins:maven-plugin-parent:2.0.1
+org.apache.maven.plugins:maven-plugin-parent:2.0-beta-1
+org.apache.maven.plugins:maven-plugin-parent:2.0-alpha-3
+org.apache.maven.plugins:maven-plugin-parent:2.0-beta-3
+org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-4
+org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-3
+org.apache.maven.plugins:maven-plugins:9
+org.apache.maven.plugins:maven-plugins:10
+org.apache.maven.plugins:maven-plugins:8
+org.apache.maven.plugins:maven-plugins:11
+org.apache.maven.plugins:maven-plugins:6
+org.apache.maven.plugins:maven-plugins:4
+org.apache.maven.plugins:maven-plugins:3
+org.apache.maven.plugins:maven-plugins:7
+org.apache.maven.plugins:maven-plugins:12
+org.apache.maven.plugins:maven-plugins:5
+org.apache.maven.plugins:maven-plugins:2
+org.apache.maven.plugins:maven-plugins:1
+org.apache.maven.plugins:maven-surefire-report-plugin:2.3
+org.apache.maven.plugins:maven-plugin-plugin:2.0-beta-2
+org.apache.maven.plugins:maven-plugin-plugin:2.4
+org.apache.maven.plugins:maven-plugin-plugin:2.4.3
+org.apache.maven.plugins:maven-plugin-plugin:2.4.2
+org.apache.maven.plugins:maven-plugin-plugin:2.0-beta-3
+org.apache.maven.plugins:maven-plugin-plugin:2.4.1
+org.apache.maven.plugins:maven-stage-plugin:1.0-alpha-1
+org.apache.maven.plugins:maven-surefire-plugin:2.3
+org.apache.maven.plugins:maven-release-plugin:2.0-beta-5
+org.apache.maven.plugins:maven-release-plugin:2.0-beta-2
+org.apache.maven.plugins:maven-release-plugin:2.0-beta-7
+org.apache.maven.plugins:maven-release-plugin:2.0-beta-6
+org.apache.maven.plugins:maven-release-plugin:2.0-beta-8
+org.apache.maven.plugins:maven-antrun-plugin:1.0-rc1
+org.apache.maven.plugins:maven-site-plugin:2.0-beta-2
+org.apache.maven.plugins:maven-clean-plugin:2.0-rc1
+org.apache.maven.plugins:maven-jar-plugin:2.0-rc1
+org.apache.maven.plugins:maven-repository-plugin:2.0
+org.apache.maven.plugins:maven-repository-plugin:2.1
+org.apache.maven.plugins:maven-eclipse-plugin:2.3
+org.apache.maven.plugins:maven-eclipse-plugin:2.0-beta-2
+org.apache.maven.plugins:maven-eclipse-plugin:2.4
+org.apache.maven.plugins:maven-eclipse-plugin:2.0
+org.apache.maven.plugins:maven-eclipse-plugin:2.5
+org.apache.maven.plugins:maven-eclipse-plugin:2.0-beta-1
+org.apache.maven.plugins:maven-eclipse-plugin:2.1
+org.apache.maven.plugins:maven-eclipse-plugin:2.5.1
+org.apache.maven.plugins:maven-eclipse-plugin:2.2
+org.apache.maven.plugins:maven-ejb-plugin:2.0-rc1
+org.apache.maven.plugins:maven-rar-plugin:2.0-rc1
+org.apache.maven.plugins:maven-resources-plugin:2.0-beta-2
+org.apache.maven.plugins:maven-enforcer-plugin:1.0-alpha-4
+org.apache.maven.plugins:maven-enforcer-plugin:1.0-alpha-3
+org.apache.maven.plugins:maven-enforcer-plugin:1.0-alpha-1
+org.apache.maven.plugins:maven-enforcer-plugin:1.0-alpha-2
+org.apache.maven.plugins:maven-ear-plugin:2.0-beta-2
+org.apache.maven.plugins:maven-source-plugin:2.0-rc1
+org.apache.maven.plugins:maven-dependency-plugin:2.0-alpha-1
+org.apache.maven.plugins:maven-dependency-plugin:2.0-alpha-4
+org.apache.maven.plugins:maven-dependency-plugin:2.0
+org.apache.maven.plugins:maven-dependency-plugin:2.0-alpha-3
+org.apache.maven.plugins:maven-dependency-plugin:2.0-alpha-2
+org.apache.maven:maven-script:2.0.4
+org.apache.maven:maven-script:2.0.5
+org.apache.maven:maven-script:2.0-beta-3
+org.apache.maven:maven-script:2.0.3
+org.apache.maven:maven-model:2.0-beta-2
+org.apache.maven:maven-model:2.0
+org.apache.maven:maven-model:2.0.4
+org.apache.maven:maven-model:2.0.2
+org.apache.maven:maven-model:2.0.1
+org.apache.maven:maven-model:2.0-beta-1
+org.apache.maven:maven-model:2.0-alpha-3
+org.apache.maven:maven-model:2.0-beta-3
+org.apache.maven:maven-model:2.0.3
+org.apache.maven:maven-plugin-tools-ant:2.0.4
+org.apache.maven:maven-plugin-tools-ant:2.0.2
+org.apache.maven:maven-plugin-tools-ant:2.0.1
+org.apache.maven:maven-plugin-tools-ant:2.0.3
+org.apache.maven:maven-plugin-tools-pluggy:2.0-beta-3
+org.apache.maven:maven-plugin-tools-api:2.0-beta-3
+org.apache.maven.artifact:maven-artifact:3.0-alpha-1
+org.apache.maven:maven:2.0-alpha-1
+org.apache.maven:maven:2.0-beta-2
+org.apache.maven:maven:2.0
+org.apache.maven:maven:2.0.4
+org.apache.maven:maven:2.0.2
+org.apache.maven:maven:2.0.1
+org.apache.maven:maven:2.0-beta-1
+org.apache.maven:maven:2.0-alpha-3
+org.apache.maven:maven:2.0-beta-3
+org.apache.maven:maven:2.0-alpha-2
+org.apache.maven:maven:2.0.3
+org.apache.maven:maven-artifact-manager:2.0-beta-2
+org.apache.maven:maven-artifact-manager:2.0-1
+org.apache.maven:maven-artifact-manager:2.0
+org.apache.maven:maven-artifact-manager:2.0.4
+org.apache.maven:maven-artifact-manager:2.0.2
+org.apache.maven:maven-artifact-manager:2.0.1
+org.apache.maven:maven-artifact-manager:2.0-beta-1
+org.apache.maven:maven-artifact-manager:2.0-alpha-3
+org.apache.maven:maven-artifact-manager:2.0-beta-3
+org.apache.maven:maven-artifact-manager:2.0.3
+org.apache.maven.its:maven-core-it-support:1.1
+org.apache.maven.its:maven-core-it-support:1.2
+org.apache.maven.its:maven-core-it-support:1.3
+org.apache.maven.its:maven-core-it-support:1.0
+org.apache.maven.its:maven-core-it-support:1.4
+org.apache.maven.its:maven-core-it-support-old-location:1.1
+org.apache.maven:maven-plugin-tools-beanshell:2.0-beta-3
+org.apache.maven:maven-monitor:2.0-beta-2
+org.apache.maven:maven-monitor:2.0
+org.apache.maven:maven-monitor:2.0.4
+org.apache.maven:maven-monitor:2.0.2
+org.apache.maven:maven-monitor:2.0.1
+org.apache.maven:maven-monitor:2.0-beta-1
+org.apache.maven:maven-monitor:2.0-alpha-3
+org.apache.maven:maven-monitor:2.0-beta-3
+org.apache.maven:maven-monitor:2.0.3
+org.apache.maven.release:maven-release:4
+org.apache.maven.release:maven-release:3
+org.apache.maven.release:maven-release:5
+org.apache.maven.release:maven-release:2
+org.apache.maven.release:maven-release:1
+org.apache.maven:maven-artifact-test:2.0-beta-2
+org.apache.maven:maven-artifact-test:2.0
+org.apache.maven:maven-artifact-test:2.0.4
+org.apache.maven:maven-artifact-test:2.0.2
+org.apache.maven:maven-artifact-test:2.0.1
+org.apache.maven:maven-artifact-test:2.0-beta-1
+org.apache.maven:maven-artifact-test:2.0-alpha-3
+org.apache.maven:maven-artifact-test:2.0-beta-3
+org.apache.maven:maven-artifact-test:2.0.3
+org.apache.maven:maven-plugin-parameter-documenter:2.0-beta-3
+org.apache.maven:maven-repository-metadata:2.0-beta-2
+org.apache.maven:maven-repository-metadata:2.0
+org.apache.maven:maven-repository-metadata:2.0.4
+org.apache.maven:maven-repository-metadata:2.0.2
+org.apache.maven:maven-repository-metadata:2.0.1
+org.apache.maven:maven-repository-metadata:2.0-beta-1
+org.apache.maven:maven-repository-metadata:2.0-beta-3
+org.apache.maven:maven-repository-metadata:2.0.3
+org.apache.maven.scm:maven-scm-manager-plexus:1.0-alpha-3
+org.apache.maven.scm:maven-scm-provider-synergy:1.0-beta-4
+org.apache.maven.scm:maven-scm-provider-synergy:1.0
+org.apache.maven.scm:maven-scm-provider-synergy:1.0-rc1
+org.apache.maven.scm:maven-scm-provider-cvs:1.0-alpha-2-20050712.151302-2
+org.apache.maven.scm:maven-scm-provider-cvs:1.0-alpha-3
+org.apache.maven.scm:maven-scm-provider-starteam:1.0-alpha-2-20050712.153836-2
+org.apache.maven.scm:maven-scm-provider-starteam:1.0-alpha-3
+org.apache.maven.scm:maven-scm-client:1.0-alpha-2-20050712.155255-1
+org.apache.maven.scm:maven-scm-client:1.0-alpha-3
+org.apache.maven.scm:maven-scm-api:1.0-alpha-2-20050712.151302-2
+org.apache.maven.scm:maven-scm-api:1.0-alpha-3
+org.apache.maven.scm:maven-scm-provider-svn:1.0-alpha-3
+org.apache.maven.scm:maven-scm:1.1
+org.apache.maven.scm:maven-scm:1.0-beta-4
+org.apache.maven.scm:maven-scm:1.0-beta-1
+org.apache.maven.scm:maven-scm:1.0-beta-2
+org.apache.maven.scm:maven-scm:1.0-alpha-2-SNAPSHOT
+org.apache.maven.scm:maven-scm:1.0
+org.apache.maven.scm:maven-scm:1.0-alpha-4
+org.apache.maven.scm:maven-scm:1.0-rc1
+org.apache.maven.scm:maven-scm:1.0-beta-3
+org.apache.maven.scm:maven-scm:1.0-alpha-1
+org.apache.maven.scm:maven-scm:1.0-alpha-2
+org.apache.maven.scm:maven-scm:test-1.0-alpha-2-20050712.151302-2
+org.apache.maven.scm:maven-scm-provider-perforce:1.0-alpha-2-20050712.153728-1
+org.apache.maven.scm:maven-scm-provider-perforce:1.0-alpha-3
+org.apache.maven.scm:maven-scm-provider-clearcase:1.0-alpha-2-20050712.153508-1
+org.apache.maven.scm:maven-scm-provider-clearcase:1.0-alpha-3
+org.apache.maven.scm:maven-scm-test:1.0-alpha-3
+org.apache.maven.scm:maven-scm-provider-local:1.0-alpha-2-20050712.153620-1
+org.apache.maven.scm:maven-scm-provider-local:1.0-alpha-3
+org.apache.maven.archetypes:maven-archetypes:1.0-alpha-1-SNAPSHOT
+org.apache.maven.archetypes:maven-archetype-bundles:3
+org.apache.maven.archetypes:maven-archetype-bundles:2
+org.apache.maven.archetypes:maven-archetype-bundles:1
+org.apache.maven.archetypes:maven-archetypes:1.0-alpha-3
+org.apache.maven.archetypes:maven-archetypes:1.0-alpha-1
+org.apache.maven.archetypes:maven-archetypes:1.0-alpha-2
+org.apache.maven:maven-core-it-support-old-location:1.1
+org.apache.maven.jxr:jxr:2.1
+org.apache.maven.archetype:maven-archetype:2.0-alpha-1
+org.apache.maven.archetype:maven-archetype:1.0-alpha-7
+org.apache.maven.archetype:maven-archetype:2.0-alpha-4
+org.apache.maven.archetype:maven-archetype:1.0-alpha-4
+org.apache.maven.archetype:maven-archetype:2.0-alpha-3
+org.apache.maven.archetype:maven-archetype:2.0-alpha-2
+org.apache.maven.archetype:maven-archetype-parent:2
+org.apache.maven.archetype:maven-archetype-parent:1
+org.apache.maven.archetype:maven-archetype-core:1.0-alpha-4
+org.apache.maven.shared:maven-downloader:1.1
+org.apache.maven.shared:maven-downloader:1.0
+org.apache.maven.shared:maven-runtime:1.0-alpha-1
+org.apache.maven.shared:shared-components-parent:2
+org.apache.maven.shared:shared-components-parent:1
+org.apache.maven.shared:maven-doxia-tools:1.0
+org.apache.maven.shared:maven-doxia-tools:1.0.1
+org.apache.maven.shared:maven-dependency-analyzer:1.0
+org.apache.maven.shared:maven-dependency-analyzer:1.0-alpha-1
+org.apache.maven.shared:maven-dependency-analyzer:1.0-alpha-2
+org.apache.maven.shared:maven-shared-components:9
+org.apache.maven.shared:maven-shared-components:10
+org.apache.maven.shared:maven-shared-components:8
+org.apache.maven.shared:maven-shared-components:6
+org.apache.maven.shared:maven-shared-components:4
+org.apache.maven.shared:maven-shared-components:3
+org.apache.maven.shared:maven-shared-components:7
+org.apache.maven.shared:maven-shared-components:5
+org.apache.maven.shared:maven-shared-components:2
+org.apache.maven.shared:maven-shared-components:1
+org.apache.maven.shared:maven-enforcer-rule-api:1.0-alpha-1
+org.apache.maven.shared:maven-enforcer-rule-api:1.0-alpha-2
+org.apache.maven.shared:maven-filtering:1.0-beta-1
+org.apache.maven.shared:maven-filtering:1.0-beta-2
+org.apache.maven.shared:maven-dependency-tree:1.1
+org.apache.maven.shared:maven-dependency-tree:1.2
+org.apache.maven.shared:maven-dependency-tree:1.0
+org.apache.maven.shared:maven-dependency-tree:1.0-alpha-2
+org.apache.maven:maven-embedder:2.0
+org.apache.maven:maven-embedder:2.0.4
+org.apache.maven:maven-embedder:2.0.1
+org.apache.maven:maven-embedder:2.0.3
+org.apache.maven:maven-plugin-descriptor:2.0-beta-2
+org.apache.maven:maven-plugin-descriptor:2.0
+org.apache.maven:maven-plugin-descriptor:2.0.4
+org.apache.maven:maven-plugin-descriptor:2.0.2
+org.apache.maven:maven-plugin-descriptor:2.0.1
+org.apache.maven:maven-plugin-descriptor:2.0-beta-1
+org.apache.maven:maven-plugin-descriptor:2.0-alpha-3
+org.apache.maven:maven-plugin-descriptor:2.0-beta-3
+org.apache.maven:maven-plugin-descriptor:2.0.3
+org.apache.maven:maven-plugin-registry:2.0.7
+org.apache.maven:maven-plugin-registry:2.0-beta-2
+org.apache.maven:maven-plugin-registry:2.0
+org.apache.maven:maven-plugin-registry:2.0.8
+org.apache.maven:maven-plugin-registry:2.0.4
+org.apache.maven:maven-plugin-registry:2.0.2
+org.apache.maven:maven-plugin-registry:2.0.1
+org.apache.maven:maven-plugin-registry:2.0-beta-1
+org.apache.maven:maven-plugin-registry:2.0.6
+org.apache.maven:maven-plugin-registry:2.0.5
+org.apache.maven:maven-plugin-registry:2.0-alpha-3
+org.apache.maven:maven-plugin-registry:2.0-beta-3
+org.apache.maven:maven-plugin-registry:2.0.3
+org.apache.maven:maven-archetype-core:1.0-alpha-3
+org.apache.maven:maven-archetype-core:1.0-alpha-2
+org.apache.maven:maven-model-v3:2.0
+org.apache.maven.plugin-tools:maven-plugin-tools:2.4
+org.apache.maven.plugin-tools:maven-plugin-tools:2.4.3
+org.apache.maven.plugin-tools:maven-plugin-tools:2.4.2
+org.apache.maven.plugin-tools:maven-plugin-tools:2.4.1
+org.apache.maven:maven-site:1.0
+org.apache.maven:maven-settings:2.0-beta-3
+org.apache.maven:maven-plugin-tools-model:2.0.4
+org.apache.maven:maven-plugin-tools-model:2.0.2
+org.apache.maven:maven-plugin-tools-model:2.0.1
+org.apache.maven:maven-plugin-tools-model:2.0.3
+org.apache.maven:maven-profile:2.0-beta-3
+org.apache.maven.surefire:surefire-root:1.1
+org.apache.maven.surefire:surefire:2.3
+org.apache.maven.surefire:surefire:2.4
+org.apache.maven.surefire:surefire:2.0
+org.apache.maven.surefire:surefire:2.3.1
+org.apache.maven.surefire:surefire:2.4.3
+org.apache.maven.surefire:surefire:2.4.2
+org.apache.maven.surefire:surefire:2.4.1
+org.apache.maven.doxia:doxia-sitetools:1.0-alpha-10
+org.apache.maven.doxia:doxia-sitetools:1.0-alpha-9
+org.apache.maven.doxia:doxia-sitetools:1.0-alpha-11
+org.apache.maven.doxia:doxia:1.0-alpha-7
+org.apache.maven.doxia:doxia:1.0-alpha-10
+org.apache.maven.doxia:doxia:1.0-alpha-9
+org.apache.maven.doxia:doxia:1.0-alpha-8
+org.apache.maven.doxia:doxia:1.0-alpha-6
+org.apache.maven.doxia:doxia:1.0-alpha-11
+org.apache.maven:maven-project:2.0-beta-3
+org.apache.tomcat:el-api:6.0.18
+org.apache.tomcat:el-api:6.0.14
+org.apache.tomcat:el-api:6.0.13
+org.apache.tomcat:el-api:6.0.16
+org.apache.tomcat:tribes:6.0.18
+org.apache.tomcat:tribes:6.0.14
+org.apache.tomcat:tribes:6.0.13
+org.apache.tomcat:tribes:6.0.16
+org.apache.tomcat:jasper-jdt:6.0.18
+org.apache.tomcat:jasper-jdt:6.0.14
+org.apache.tomcat:jasper-jdt:6.0.13
+org.apache.tomcat:jasper-jdt:6.0.16
+org.apache.tomcat:annotations-api:6.0.18
+org.apache.tomcat:annotations-api:6.0.14
+org.apache.tomcat:annotations-api:6.0.13
+org.apache.tomcat:annotations-api:6.0.16
+org.apache.tomcat:servlet-api:6.0.18
+org.apache.tomcat:servlet-api:6.0.14
+org.apache.tomcat:servlet-api:6.0.13
+org.apache.tomcat:servlet-api:6.0.16
+org.apache.tomcat:catalina:6.0.18
+org.apache.tomcat:catalina:6.0.14
+org.apache.tomcat:catalina:6.0.13
+org.apache.tomcat:catalina:6.0.16
+org.apache.tomcat:jsp-api:6.0.18
+org.apache.tomcat:jsp-api:6.0.14
+org.apache.tomcat:jsp-api:6.0.13
+org.apache.tomcat:jsp-api:6.0.16
+org.apache.tomcat:jasper:6.0.18
+org.apache.tomcat:jasper:6.0.14
+org.apache.tomcat:jasper:6.0.13
+org.apache.tomcat:jasper:6.0.16
+org.apache.tomcat.extras:juli-adapters:6.0.18
+org.apache.tomcat.extras:juli-adapters:6.0.14
+org.apache.tomcat.extras:juli-adapters:6.0.13
+org.apache.tomcat.extras:juli-adapters:6.0.16
+org.apache.tomcat.extras:juli:6.0.18
+org.apache.tomcat.extras:juli:6.0.14
+org.apache.tomcat.extras:juli:6.0.13
+org.apache.tomcat.extras:juli:6.0.16
+org.apache.tomcat:dbcp:6.0.18
+org.apache.tomcat:dbcp:6.0.14
+org.apache.tomcat:dbcp:6.0.13
+org.apache.tomcat:dbcp:6.0.16
+org.apache.tomcat:jasper-el:6.0.18
+org.apache.tomcat:jasper-el:6.0.14
+org.apache.tomcat:jasper-el:6.0.13
+org.apache.tomcat:jasper-el:6.0.16
+org.apache.tomcat:catalina-ha:6.0.18
+org.apache.tomcat:catalina-ha:6.0.14
+org.apache.tomcat:catalina-ha:6.0.13
+org.apache.tomcat:catalina-ha:6.0.16
+org.apache.tomcat:juli:6.0.18
+org.apache.tomcat:juli:6.0.14
+org.apache.tomcat:juli:6.0.13
+org.apache.tomcat:juli:6.0.16
+org.apache.tomcat:coyote:6.0.18
+org.apache.tomcat:coyote:6.0.14
+org.apache.tomcat:coyote:6.0.13
+org.apache.tomcat:coyote:6.0.16
+org.apache.camel:camel-parent:1.4.0
+org.apache.camel:camel-parent:1.3.0
+org.apache.camel:camel-parent:1.2.0
+org.apache.camel:camel-parent:1.0.0
+org.apache.camel:camel-parent:1.1.0
+org.apache.camel:camel-parent:1.5.0
+org.apache.camel:camel-spring-integration:1.4.0
+org.apache.camel:camel-spring-integration:1.5.0
+org.apache.tuscany.sca:tuscany-sca-all:1.3
+org.apache.tuscany.sca:tuscany-sca-all:1.3.1
+org.apache.tuscany.sca:tuscany-sca-all:1.3.2
+org.apache.tuscany.sca:tuscany-sca:1.3
+org.apache.tuscany.sca:tuscany-sca:1.3.1
+org.apache.tuscany.sca:tuscany-sca:1.3.2
+org.apache.tuscany.sdo:tuscany-sdo-api-r${specVersion}:1.1.1
+org.apache.tuscany.sdo:tuscany-sdo:1.1.1
+org.apache.solr:solr-parent:1.3.0
+org.apache.solr:solr-core:1.3.0
+org.apache.solr:solr-dataimporthandler:1.3.0
+org.apache.solr:solr-common:1.3.0
+org.apache.solr:solr-commons-csv:1.3.0
+org.apache.solr:solr-lucene-core:1.3.0
+org.apache.solr:solr-solrj:1.3.0
+org.apache.solr:solr-lucene-analyzers:1.3.0
+org.apache.solr:solr-lucene-snowball:1.3.0
+org.apache.solr:solr-lucene-queries:1.3.0
+org.apache.solr:solr-lucene-spellchecker:1.3.0
+org.apache.solr:solr-lucene-highlighter:1.3.0
+org.apache.james:james-project:1.1
+org.apache.james:james-project:1.2
+org.apache.james:maven-skin:1.1
+org.apache.james:james-server-site-2-2-0:1.1
+org.apache.james:james-server-site-2-2-0:1.0
+org.apache.james:apache-jsieve:0.2
+org.apache.james:james-parent:1.1
+org.apache.james:apache-jspf:0.9.5
+org.apache.james:apache-mime4j:0.3
+org.apache.james:apache-mime4j:0.4
+org.apache.james:apache-mime4j:0.5
+org.apache.james:james-server-root:1.1
+org.apache.james:james-server-root:1.0
+org.apache.directory.daemon:build:1.0.0
+org.apache.directory.daemon:build:1.0.1
+org.apache.directory.daemon:build:1.0.2
+org.apache.directory.daemon:build:1.0-RC1
+org.apache.directory.daemon:build:1.1.0
+org.apache.directory.daemon:build:1.0-RC2
+org.apache.directory.daemon:build:1.0-RC3
+org.apache.directory.daemon:daemon-parent:1.1.5
+org.apache.directory.daemon:daemon-parent:1.1.3
+org.apache.directory.daemon:daemon-parent:1.1.1
+org.apache.directory.daemon:daemon-parent:1.1.4
+org.apache.directory.daemon:daemon-parent:1.1.2
+org.apache.directory.installers:installers-parent:1.5.2
+org.apache.directory.installers:installers-parent:1.5.4
+org.apache.directory.installers:installers-parent:1.5.3
+org.apache.directory.server:build:1.0.0
+org.apache.directory.server:build:1.0.1
+org.apache.directory.server:build:1.0.2
+org.apache.directory.server:build:1.0-RC1
+org.apache.directory.server:build:1.0-RC4
+org.apache.directory.server:build:1.0-RC2
+org.apache.directory.server:build:1.0-RC3
+org.apache.directory.server:build:1.5.0
+org.apache.directory.server:apacheds-protocol-shared:1.0.0
+org.apache.directory.server:apacheds-protocol-shared:1.0.1
+org.apache.directory.server:apacheds-protocol-shared:1.0-RC1
+org.apache.directory.server:apacheds-protocol-shared:1.0-RC4
+org.apache.directory.server:apacheds-protocol-shared:1.0-RC2
+org.apache.directory.server:apacheds-protocol-shared:1.0-RC3
+org.apache.directory.server:apacheds-protocol-shared:1.5.0
+org.apache.directory.server:apacheds-parent:1.5.2
+org.apache.directory.server:apacheds-parent:1.5.4
+org.apache.directory.server:apacheds-parent:1.5.3
+org.apache.directory.server:apacheds-parent:1.5.1
+org.apache.directory:build:1.0.3
+org.apache.directory:build:1.0
+org.apache.directory:build:1.0.5
+org.apache.directory:build:1.0.1
+org.apache.directory:build:1.0.2
+org.apache.directory:build:1.0.6
+org.apache.directory:build:1.0.4
+org.apache.directory.project:project:9
+org.apache.directory.project:project:10
+org.apache.directory.project:project:14
+org.apache.directory.project:project:8
+org.apache.directory.project:project:11
+org.apache.directory.project:project:7
+org.apache.directory.project:project:12
+org.apache.directory.project:project:13
+org.apache.directory.shared:shared-parent:0.9.7
+org.apache.directory.shared:shared-parent:0.9.13
+org.apache.directory.shared:shared-parent:0.9.9
+org.apache.directory.shared:shared-parent:0.9.10
+org.apache.directory.shared:shared-parent:0.9.12
+org.apache.directory.shared:shared-parent:0.9.11
+org.apache.directory.shared:shared-parent:0.9.8
+org.apache.directory.shared:shared-bouncycastle-reduced:0.9.9
+org.apache.directory.shared:shared-bouncycastle-reduced:0.9.10
+org.apache.directory.shared:shared-bouncycastle-reduced:0.9.12
+org.apache.directory.shared:shared-bouncycastle-reduced:0.9.11
+org.apache.directory.shared:build:0.9.5.2
+org.apache.directory.shared:build:0.9.6
+org.apache.directory.shared:build:0.9.4
+org.apache.directory.shared:build:0.9.5
+org.apache.directory.shared:build:0.9.5.1
+org.apache.directory.shared:build:0.9.5.5
+org.apache.directory.shared:build:0.9.5.4
+org.apache.directory.shared:build:0.9.5.3
+org.apache.directory.studio:parent:1.3.0.v20081014
+org.apache.directory.studio:parent:1.3.0.v20081020
+org.apache.directory.studio:maven-studio-plugin:1.0.0
+org.apache.directory.studio:studio-maven-plugin:1.0.1
+org.apache.directory.mina:build:0.9.1
+org.apache.directory.mina:build:0.9.4
+org.apache.directory.mina:build:0.9.5
+org.apache.directory.mina:build:0.9.3
+org.apache.directory.mina:build:0.9.2
+org.apache.directory.mina:mina:0.8.4
+org.apache.directory.mina:mina:0.8.3
+org.apache.bsf:parent:3.0-beta2
+org.apache.bsf:bsf-all:3.0-beta2
+org.apache.bsf:bsf-all:3.0-beta1
+org.apache.bsf:bsf-utils:3.0-beta1
+org.apache.woden:woden:1.0M8
+org.apache.neethi:neethi:2.0.4
+org.apache.neethi:neethi:2.0.2
+org.apache.neethi:neethi:2.0.3
+org.apache.poi:openxml4j:1.0-beta
+org.apache.poi:poi:3.0-FINAL
+org.apache.poi:poi-scratchpad:3.0.2-FINAL
+org.apache.poi:poi-scratchpad:3.2-FINAL
+org.apache.poi:poi-scratchpad:3.1-beta2
+org.apache.poi:poi-scratchpad:3.0.2-beta2
+org.apache.poi:poi-scratchpad:3.1-FINAL
+org.apache.poi:poi-scratchpad:3.1-beta1
+org.apache.poi:poi-scratchpad:3.0.1-FINAL
+org.apache.poi:poi-scratchpad:3.5-beta1
+org.apache.poi:poi-scratchpad:3.0.2-beta1
+org.apache.poi:poi-scratchpad:3.5-beta3
+org.apache.poi:poi-contrib:3.0.2-FINAL
+org.apache.poi:poi-contrib:3.2-FINAL
+org.apache.poi:poi-contrib:3.1-beta2
+org.apache.poi:poi-contrib:3.0.2-beta2
+org.apache.poi:poi-contrib:3.1-FINAL
+org.apache.poi:poi-contrib:3.1-beta1
+org.apache.poi:poi-contrib:3.0.1-FINAL
+org.apache.poi:poi-contrib:3.5-beta1
+org.apache.poi:poi-contrib:3.0.2-beta1
+org.apache.poi:poi-contrib:3.5-beta3
+org.apache.poi:ooxml-schemas:1.0
+org.apache.poi:poi:3.0.2-FINAL
+org.apache.poi:poi:3.2-FINAL
+org.apache.poi:poi:3.1-beta2
+org.apache.poi:poi:3.0.2-beta2
+org.apache.poi:poi:3.1-FINAL
+org.apache.poi:poi:3.1-beta1
+org.apache.poi:poi:3.0.1-FINAL
+org.apache.poi:poi:3.5-beta1
+org.apache.poi:poi:3.0-FINAL
+org.apache.poi:poi:3.0.2-beta1
+org.apache.poi:poi:3.5-beta3
+org.apache.geronimo.genesis:genesis:1.1
+org.apache.geronimo.genesis:genesis:1.2
+org.apache.geronimo.genesis:genesis:1.3
+org.apache.geronimo.genesis:genesis:1.0
+org.apache.geronimo.genesis:genesis:1.5
+org.apache.geronimo.genesis:genesis:1.4
+org.apache.geronimo.genesis:genesis:1.3.1
+org.apache.geronimo.genesis.config:config:1.1
+org.apache.geronimo.genesis.plugins:plugins:1.1
+org.apache.geronimo.schema:geronimo-schema-j2ee_1.4:1.1
+org.apache.geronimo.schema:geronimo-schema-j2ee_1.4:1.2
+org.apache.geronimo.schema:geronimo-schema-jee_5:1.1
+org.apache.geronimo.schema:geronimo-schema-jee_5:1.0
+org.apache.geronimo.genesis:genesis:1.0
+org.apache.geronimo.javamail:javamail:1.0
+org.apache.geronimo.javamail:geronimo-javamail-1.4:1.1
+org.apache.geronimo.javamail:geronimo-javamail-1.4:1.2
+org.apache.geronimo.javamail:geronimo-javamail-1.4:1.3
+org.apache.geronimo.javamail:javamail-1.3.1:1.1
+org.apache.geronimo.javamail:geronimo-javamail_1.4:1.6
+org.apache.geronimo.javamail:geronimo-javamail_1.4:1.5
+org.apache.geronimo.javamail:geronimo-javamail_1.4:1.4
+org.apache.geronimo:geronimo-transaction:1.0
+org.apache.geronimo.specs:geronimo-j2ee-jacc_1.0_spec:1.0
+org.apache.geronimo.specs:geronimo-activation_1.0.2_spec:1.0
+org.apache.geronimo.specs:geronimo-jaxrpc_1.1_spec:1.0
+org.apache.geronimo.specs:geronimo-jaxr_1.0_spec:1.0
+org.apache.geronimo.specs:geronimo-javamail_1.3.1_spec:1.0
+org.apache.geronimo.specs:geronimo-corba_2.3_spec:1.0
+org.apache.geronimo.specs:specs-parent:1.6
+org.apache.geronimo.specs:specs-parent:1.5
+org.apache.geronimo.specs:specs:1.1
+org.apache.geronimo.specs:specs:1.2
+org.apache.geronimo.specs:specs:1.3
+org.apache.geronimo.specs:specs:1.4
+org.apache.geronimo.specs:geronimo-qname_1.1_spec:1.0
+org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0
+org.apache.geronimo.specs:geronimo-servlet_2.4_spec:1.0
+org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:1.0
+org.apache.geronimo.specs:geronimo-j2ee-management_1.0_spec:1.0
+org.apache.geronimo.specs:geronimo-ejb_2.1_spec:1.0
+org.apache.geronimo.specs:geronimo-jsp_2.0_spec:1.0
+org.apache.geronimo.specs:geronimo-saaj_1.1_spec:1.0
+org.apache.geronimo.specs:geronimo-j2ee-deployment_1.1_spec:1.0
+org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:1.0
+org.apache.geronimo.specs:geronimo-j2ee_1.4_spec:1.0
+org.apache.geronimo.plugins:server-repo:1.0
+org.apache.geronimo.plugins:directory-parent:1.0
+org.apache.geronimo.plugins:car-maven-plugin:1.1
+org.apache.geronimo.gshell:gshell:1.0-alpha-1
+org.apache.geronimo.samples:samples-parent:2.1.2
+org.apache.geronimo:geronimo:1.2-beta
+org.apache.geronimo:geronimo:2.1.2
+org.apache.geronimo:geronimo:2.0.2
+org.apache.geronimo:geronimo:2.0.1
+org.apache.geronimo:geronimo:2.1
+org.apache.geronimo:geronimo:2.1.3
+org.apache.geronimo:geronimo:2.1.1
+org.apache.geronimo.devtools:maven-plugins:1.0
+org.apache.geronimo.devtools:maven-eclipsepde-plugin:1.0
+org.apache.geronimo.devtools:maven-emf-plugin:1.0
+org.apache.geronimo.components:geronimo-txmanager-parent:2.0
+org.apache.geronimo.components:geronimo-txmanager-parent:2.0.2
+org.apache.geronimo.components:geronimo-txmanager-parent:2.0.1
+org.apache.geronimo.components:geronimo-txmanager-parent:2.1
+org.apache.geronimo.components:geronimo-txmanager-parent:2.1
+org.apache.geronimo.components:geronimo-txmanager-parent:2.1.1
+org.apache.juddi:juddi-web-lean:2.0rc5
+org.apache.juddi:juddi-web:2.0rc5
+org.apache.juddi:juddi:2.0rc5
+org.apache.juddi:juddi-parent:2.0rc5
+org.apache.juddi:juddi-client:2.0rc5
+org.apache.xmlrpc:xmlrpc-common:3.0b1
+org.apache.xmlrpc:xmlrpc-common:3.0rc1
+org.apache.xmlrpc:xmlrpc-client:3.0b1
+org.apache.xmlrpc:xmlrpc-client:3.0rc1
+org.apache.xmlrpc:xmlrpc-server:3.0b1
+org.apache.xmlrpc:xmlrpc-server:3.0rc1
+org.apache.xmlrpc:xmlrpc:3.1
+org.apache.xmlrpc:xmlrpc:3.0b1
+org.apache.xmlrpc:xmlrpc:3.0rc1
+org.apache.xmlrpc:xmlrpc:3.0
+org.apache.xmlrpc:xmlrpc:3.1.1
+org.apache.derby:derbynet:10.4.2.0
+org.apache.derby:derbynet:10.1.1.0
+org.apache.derby:derbynet:10.3.1.4
+org.apache.derby:derbynet:10.1.3.1
+org.apache.derby:derbynet:10.3.2.1
+org.apache.derby:derbynet:10.2.2.0
+org.apache.derby:derbynet:10.1.2.1
+org.apache.derby:derbynet:10.4.1.3
+org.apache.derby:derbynet:10.2.1.6
+org.apache.derby:derbyLocale_pt_BR:10.4.2.0
+org.apache.derby:derbyLocale_pt_BR:10.1.1.0
+org.apache.derby:derbyLocale_pt_BR:10.3.1.4
+org.apache.derby:derbyLocale_pt_BR:10.1.3.1
+org.apache.derby:derbyLocale_pt_BR:10.3.2.1
+org.apache.derby:derbyLocale_pt_BR:10.2.2.0
+org.apache.derby:derbyLocale_pt_BR:10.1.2.1
+org.apache.derby:derbyLocale_pt_BR:10.4.1.3
+org.apache.derby:derbyLocale_pt_BR:10.2.1.6
+org.apache.derby:derbyLocale_ko_KR:10.4.2.0
+org.apache.derby:derbyLocale_ko_KR:10.1.1.0
+org.apache.derby:derbyLocale_ko_KR:10.3.1.4
+org.apache.derby:derbyLocale_ko_KR:10.1.3.1
+org.apache.derby:derbyLocale_ko_KR:10.3.2.1
+org.apache.derby:derbyLocale_ko_KR:10.2.2.0
+org.apache.derby:derbyLocale_ko_KR:10.1.2.1
+org.apache.derby:derbyLocale_ko_KR:10.4.1.3
+org.apache.derby:derbyLocale_ko_KR:10.2.1.6
+org.apache.derby:derbyLocale_de_DE:10.4.2.0
+org.apache.derby:derbyLocale_de_DE:10.1.1.0
+org.apache.derby:derbyLocale_de_DE:10.3.1.4
+org.apache.derby:derbyLocale_de_DE:10.1.3.1
+org.apache.derby:derbyLocale_de_DE:10.3.2.1
+org.apache.derby:derbyLocale_de_DE:10.2.2.0
+org.apache.derby:derbyLocale_de_DE:10.1.2.1
+org.apache.derby:derbyLocale_de_DE:10.4.1.3
+org.apache.derby:derbyLocale_de_DE:10.2.1.6
+org.apache.derby:derbyclient:10.4.2.0
+org.apache.derby:derbyclient:10.1.1.0
+org.apache.derby:derbyclient:10.3.1.4
+org.apache.derby:derbyclient:10.1.3.1
+org.apache.derby:derbyclient:10.3.2.1
+org.apache.derby:derbyclient:10.2.2.0
+org.apache.derby:derbyclient:10.1.2.1
+org.apache.derby:derbyclient:10.4.1.3
+org.apache.derby:derbyclient:10.2.1.6
+org.apache.derby:derbyLocale_fr:10.4.2.0
+org.apache.derby:derbyLocale_fr:10.1.1.0
+org.apache.derby:derbyLocale_fr:10.3.1.4
+org.apache.derby:derbyLocale_fr:10.1.3.1
+org.apache.derby:derbyLocale_fr:10.3.2.1
+org.apache.derby:derbyLocale_fr:10.2.2.0
+org.apache.derby:derbyLocale_fr:10.1.2.1
+org.apache.derby:derbyLocale_fr:10.4.1.3
+org.apache.derby:derbyLocale_fr:10.2.1.6
+org.apache.derby:derbytools:10.4.2.0
+org.apache.derby:derbytools:10.1.1.0
+org.apache.derby:derbytools:10.3.1.4
+org.apache.derby:derbytools:10.1.3.1
+org.apache.derby:derbytools:10.3.2.1
+org.apache.derby:derbytools:10.2.2.0
+org.apache.derby:derbytools:10.1.2.1
+org.apache.derby:derbytools:10.4.1.3
+org.apache.derby:derbytools:10.2.1.6
+org.apache.derby:derbyLocale_ru:10.4.2.0
+org.apache.derby:derbyLocale_ru:10.3.1.4
+org.apache.derby:derbyLocale_ru:10.3.2.1
+org.apache.derby:derbyLocale_ru:10.4.1.3
+org.apache.derby:derbyLocale_es:10.4.2.0
+org.apache.derby:derbyLocale_es:10.1.1.0
+org.apache.derby:derbyLocale_es:10.3.1.4
+org.apache.derby:derbyLocale_es:10.1.3.1
+org.apache.derby:derbyLocale_es:10.3.2.1
+org.apache.derby:derbyLocale_es:10.2.2.0
+org.apache.derby:derbyLocale_es:10.1.2.1
+org.apache.derby:derbyLocale_es:10.4.1.3
+org.apache.derby:derbyLocale_es:10.2.1.6
+org.apache.derby:derbywar:10.4.2.0
+org.apache.derby:derbywar:10.1.1.0
+org.apache.derby:derbywar:10.3.1.4
+org.apache.derby:derbywar:10.1.3.1
+org.apache.derby:derbywar:10.3.2.1
+org.apache.derby:derbywar:10.2.2.0
+org.apache.derby:derbywar:10.1.2.1
+org.apache.derby:derbywar:10.4.1.3
+org.apache.derby:derbywar:10.2.1.6
+org.apache.derby:derbyLocale_cs:10.4.2.0
+org.apache.derby:derbyLocale_cs:10.3.1.4
+org.apache.derby:derbyLocale_cs:10.3.2.1
+org.apache.derby:derbyLocale_cs:10.4.1.3
+org.apache.derby:derbyLocale_hu:10.4.2.0
+org.apache.derby:derbyLocale_hu:10.3.1.4
+org.apache.derby:derbyLocale_hu:10.3.2.1
+org.apache.derby:derbyLocale_hu:10.4.1.3
+org.apache.derby:derbyLocale_zh_CN:10.4.2.0
+org.apache.derby:derbyLocale_zh_CN:10.1.1.0
+org.apache.derby:derbyLocale_zh_CN:10.3.1.4
+org.apache.derby:derbyLocale_zh_CN:10.1.3.1
+org.apache.derby:derbyLocale_zh_CN:10.3.2.1
+org.apache.derby:derbyLocale_zh_CN:10.2.2.0
+org.apache.derby:derbyLocale_zh_CN:10.1.2.1
+org.apache.derby:derbyLocale_zh_CN:10.4.1.3
+org.apache.derby:derbyLocale_zh_CN:10.2.1.6
+org.apache.derby:derbyLocale_ja_JP:10.4.2.0
+org.apache.derby:derbyLocale_ja_JP:10.1.1.0
+org.apache.derby:derbyLocale_ja_JP:10.3.1.4
+org.apache.derby:derbyLocale_ja_JP:10.1.3.1
+org.apache.derby:derbyLocale_ja_JP:10.3.2.1
+org.apache.derby:derbyLocale_ja_JP:10.2.2.0
+org.apache.derby:derbyLocale_ja_JP:10.1.2.1
+org.apache.derby:derbyLocale_ja_JP:10.4.1.3
+org.apache.derby:derbyLocale_ja_JP:10.2.1.6
+org.apache.derby:derbyLocale_pl:10.4.2.0
+org.apache.derby:derbyLocale_pl:10.3.1.4
+org.apache.derby:derbyLocale_pl:10.3.2.1
+org.apache.derby:derbyLocale_pl:10.4.1.3
+org.apache.derby:derbyLocale_zh_TW:10.4.2.0
+org.apache.derby:derbyLocale_zh_TW:10.1.1.0
+org.apache.derby:derbyLocale_zh_TW:10.3.1.4
+org.apache.derby:derbyLocale_zh_TW:10.1.3.1
+org.apache.derby:derbyLocale_zh_TW:10.3.2.1
+org.apache.derby:derbyLocale_zh_TW:10.2.2.0
+org.apache.derby:derbyLocale_zh_TW:10.1.2.1
+org.apache.derby:derbyLocale_zh_TW:10.4.1.3
+org.apache.derby:derbyLocale_zh_TW:10.2.1.6
+org.apache.derby:derby:10.4.2.0
+org.apache.derby:derby:10.1.1.0
+org.apache.derby:derby:10.3.1.4
+org.apache.derby:derby:10.1.3.1
+org.apache.derby:derby:10.3.2.1
+org.apache.derby:derby:10.2.2.0
+org.apache.derby:derby:10.1.2.1
+org.apache.derby:derby:10.4.1.3
+org.apache.derby:derby:10.2.1.6
+org.apache.derby:derbyLocale_it:10.4.2.0
+org.apache.derby:derbyLocale_it:10.1.1.0
+org.apache.derby:derbyLocale_it:10.3.1.4
+org.apache.derby:derbyLocale_it:10.1.3.1
+org.apache.derby:derbyLocale_it:10.3.2.1
+org.apache.derby:derbyLocale_it:10.2.2.0
+org.apache.derby:derbyLocale_it:10.1.2.1
+org.apache.derby:derbyLocale_it:10.4.1.3
+org.apache.derby:derbyLocale_it:10.2.1.6
+org.apache.beehive:beehive-controls:1.0.1
+org.apache.beehive:beehive-controls:1.0.2
+org.apache.beehive:beehive-control-jdbc:1.0.1
+org.apache.beehive:beehive-netui-core:1.0.1
+org.apache.beehive:beehive-netui-core:1.0.2
+org.apache.beehive:beehive-jms-control:1.0.2
+org.apache.beehive:beehive-control-ejb:1.0.1
+org.apache.beehive:beehive-netui-tags:1.0.1
+org.apache.beehive:beehive-netui-tags:1.0.2
+org.apache.beehive:beehive-control-jms:1.0.1
+org.apache.beehive:beehive-jdbc-control:1.0.2
+org.apache.beehive:beehive-ejb-control:1.0.2
+org.apache.beehive:beehive-netui-compiler:1.0.1
+org.apache.beehive:beehive-netui-compiler:1.0.2
+org.apache.anakia:anakia:1.0
+org.apache.rampart:rampart-project:1.3
+org.apache.rampart:rampart-project:1.4
+org.apache.openjpa:openjpa-xmlstore:1.0.0
+org.apache.openjpa:openjpa-kernel:1.0.0
+org.apache.openjpa:openjpa-parent:1.0.3
+org.apache.openjpa:openjpa-parent:1.2.0
+org.apache.openjpa:openjpa-parent:1.0.0
+org.apache.openjpa:openjpa-parent:1.0.1
+org.apache.openjpa:openjpa-parent:1.0.2
+org.apache.openjpa:openjpa-parent:1.1.0
+org.apache.openjpa:openjpa-examples:1.0.0
+org.apache.openjpa:openjpa-jdbc:1.0.0
+org.apache.openjpa:openjpa-persistence:1.0.0
+org.apache.openjpa:openjpa-jdbc-5:1.0.0
+org.apache.openjpa:openjpa-lib:1.0.0
+org.apache.openjpa:openjpa-persistence-jdbc:1.0.0
+org.apache.openjpa:openjpa-kernel-5:1.0.0
+org.apache.ftpserver:ftpserver-core:1.0.0-M3
+org.apache.ftpserver:ftpserver-core:1.0.0-M2
+org.apache.ftpserver:ftpserver-deprecated:1.0.0-M2
+org.apache.ftpserver:ftpserver-parent:1.0.0-M3
+org.apache.ftpserver:ftpserver-parent:1.0.0-M2
+org.apache.ftpserver:ftplet-api:1.0.0-M3
+org.apache.ftpserver:ftplet-api:1.0.0-M2
+org.apache.dvsl:dvsl:1.0
+org.apache.texen:texen:1.0
+org.apache.avalon.logkit:avalon-logkit:2.2.1
+org.apache.avalon.cornerstone.scheduler:cornerstone-scheduler-impl:2.2.2
+org.apache.avalon.cornerstone.scheduler:cornerstone-scheduler-impl:2.2.1
+org.apache.avalon.cornerstone.scheduler:cornerstone-scheduler-api:2.2.2
+org.apache.avalon.cornerstone.scheduler:cornerstone-scheduler-api:2.2.1
+org.apache.avalon.cornerstone.connection:cornerstone-connection-impl:2.2.2
+org.apache.avalon.cornerstone.connection:cornerstone-connection-impl:2.2.1
+org.apache.avalon.cornerstone.connection:cornerstone-connection-api:2.2.2
+org.apache.avalon.cornerstone.connection:cornerstone-connection-api:2.2.1
+org.apache.avalon.cornerstone.datasources:cornerstone-datasources-api:2.2.2
+org.apache.avalon.cornerstone.datasources:cornerstone-datasources-api:2.2.1
+org.apache.avalon.cornerstone.datasources:cornerstone-datasources-impl:2.2.2
+org.apache.avalon.cornerstone.datasources:cornerstone-datasources-impl:2.2.1
+org.apache.avalon.cornerstone.threads:cornerstone-threads-impl:2.2.2
+org.apache.avalon.cornerstone.threads:cornerstone-threads-impl:2.2.1
+org.apache.avalon.cornerstone.threads:cornerstone-threads-api:2.2.2
+org.apache.avalon.cornerstone.threads:cornerstone-threads-api:2.2.1
+org.apache.avalon.cornerstone.sockets:cornerstone-sockets-api:2.2.2
+org.apache.avalon.cornerstone.sockets:cornerstone-sockets-api:2.2.1
+org.apache.avalon.cornerstone.sockets:cornerstone-sockets-impl:2.2.2
+org.apache.avalon.cornerstone.sockets:cornerstone-sockets-impl:2.2.1
+org.apache.avalon.cornerstone:avalon-cornerstone-modules:1
+org.apache.avalon.cornerstone.store:cornerstone-store-impl:2.2.2
+org.apache.avalon.cornerstone.store:cornerstone-store-impl:2.2.1
+org.apache.avalon.cornerstone.store:cornerstone-store-api:2.2.2
+org.apache.avalon.cornerstone.store:cornerstone-store-api:2.2.1
+org.apache.avalon.framework:avalon-framework-api:4.3.1
+org.apache.avalon.framework:avalon-framework-impl:4.3.1
+org.apache.avalon:avalon-framework:1
+org.apache.lucene:lucene-swing:2.3.2
+org.apache.lucene:lucene-swing:1.9.1
+org.apache.lucene:lucene-swing:2.1.0
+org.apache.lucene:lucene-swing:2.4.0
+org.apache.lucene:lucene-swing:2.3.1
+org.apache.lucene:lucene-swing:2.0.0
+org.apache.lucene:lucene-swing:2.2.0
+org.apache.lucene:lucene-swing:2.3.0
+org.apache.lucene:lucene-highlighter:2.3.2
+org.apache.lucene:lucene-highlighter:1.9.1
+org.apache.lucene:lucene-highlighter:2.1.0
+org.apache.lucene:lucene-highlighter:2.4.0
+org.apache.lucene:lucene-highlighter:2.3.1
+org.apache.lucene:lucene-highlighter:2.0.0
+org.apache.lucene:lucene-highlighter:2.2.0
+org.apache.lucene:lucene-highlighter:2.3.0
+org.apache.lucene:lucene-core:2.3.2
+org.apache.lucene:lucene-core:1.9.1
+org.apache.lucene:lucene-core:2.1.0
+org.apache.lucene:lucene-core:2.4.0
+org.apache.lucene:lucene-core:2.3.1
+org.apache.lucene:lucene-core:2.0.0
+org.apache.lucene:lucene-core:2.2.0
+org.apache.lucene:lucene-core:2.3.0
+org.apache.lucene:lucene-wikipedia:2.3.2
+org.apache.lucene:lucene-wikipedia:2.4.0
+org.apache.lucene:lucene-wikipedia:2.3.1
+org.apache.lucene:lucene-wikipedia:2.3.0
+org.apache.lucene:lucene-snowball:2.3.2
+org.apache.lucene:lucene-snowball:1.9.1
+org.apache.lucene:lucene-snowball:2.1.0
+org.apache.lucene:lucene-snowball:2.4.0
+org.apache.lucene:lucene-snowball:2.3.1
+org.apache.lucene:lucene-snowball:2.0.0
+org.apache.lucene:lucene-snowball:2.2.0
+org.apache.lucene:lucene-snowball:2.3.0
+org.apache.lucene:lucene-instantiated:2.4.0
+org.apache.lucene:lucene-bdb-je:2.3.2
+org.apache.lucene:lucene-bdb-je:2.4.0
+org.apache.lucene:lucene-bdb-je:2.3.1
+org.apache.lucene:lucene-bdb-je:2.2.0
+org.apache.lucene:lucene-bdb-je:2.3.0
+org.apache.lucene:lucene-misc:2.3.2
+org.apache.lucene:lucene-misc:1.9.1
+org.apache.lucene:lucene-misc:2.1.0
+org.apache.lucene:lucene-misc:2.4.0
+org.apache.lucene:lucene-misc:2.3.1
+org.apache.lucene:lucene-misc:2.0.0
+org.apache.lucene:lucene-misc:2.2.0
+org.apache.lucene:lucene-misc:2.3.0
+org.apache.lucene:lucene-xml-query-parser:2.3.2
+org.apache.lucene:lucene-xml-query-parser:1.9.1
+org.apache.lucene:lucene-xml-query-parser:2.1.0
+org.apache.lucene:lucene-xml-query-parser:2.4.0
+org.apache.lucene:lucene-xml-query-parser:2.3.1
+org.apache.lucene:lucene-xml-query-parser:2.0.0
+org.apache.lucene:lucene-xml-query-parser:2.2.0
+org.apache.lucene:lucene-xml-query-parser:2.3.0
+org.apache.lucene:lucene-regex:2.3.2
+org.apache.lucene:lucene-regex:1.9.1
+org.apache.lucene:lucene-regex:2.1.0
+org.apache.lucene:lucene-regex:2.4.0
+org.apache.lucene:lucene-regex:2.3.1
+org.apache.lucene:lucene-regex:2.0.0
+org.apache.lucene:lucene-regex:2.2.0
+org.apache.lucene:lucene-regex:2.3.0
+org.apache.lucene:lucene-demos:2.3.2
+org.apache.lucene:lucene-demos:1.9.1
+org.apache.lucene:lucene-demos:2.1.0
+org.apache.lucene:lucene-demos:2.4.0
+org.apache.lucene:lucene-demos:2.3.1
+org.apache.lucene:lucene-demos:2.0.0
+org.apache.lucene:lucene-demos:2.2.0
+org.apache.lucene:lucene-demos:2.3.0
+org.apache.lucene:lucene-surround:2.3.2
+org.apache.lucene:lucene-surround:1.9.1
+org.apache.lucene:lucene-surround:2.1.0
+org.apache.lucene:lucene-surround:2.4.0
+org.apache.lucene:lucene-surround:2.3.1
+org.apache.lucene:lucene-surround:2.0.0
+org.apache.lucene:lucene-surround:2.2.0
+org.apache.lucene:lucene-surround:2.3.0
+org.apache.lucene:lucene-queries:2.3.2
+org.apache.lucene:lucene-queries:1.9.1
+org.apache.lucene:lucene-queries:2.1.0
+org.apache.lucene:lucene-queries:2.4.0
+org.apache.lucene:lucene-queries:2.3.1
+org.apache.lucene:lucene-queries:2.0.0
+org.apache.lucene:lucene-queries:2.2.0
+org.apache.lucene:lucene-queries:2.3.0
+org.apache.lucene:lucene-memory:2.3.2
+org.apache.lucene:lucene-memory:1.9.1
+org.apache.lucene:lucene-memory:2.1.0
+org.apache.lucene:lucene-memory:2.4.0
+org.apache.lucene:lucene-memory:2.3.1
+org.apache.lucene:lucene-memory:2.0.0
+org.apache.lucene:lucene-memory:2.2.0
+org.apache.lucene:lucene-memory:2.3.0
+org.apache.lucene:lucene-spellchecker:2.3.2
+org.apache.lucene:lucene-spellchecker:1.9.1
+org.apache.lucene:lucene-spellchecker:2.1.0
+org.apache.lucene:lucene-spellchecker:2.4.0
+org.apache.lucene:lucene-spellchecker:2.3.1
+org.apache.lucene:lucene-spellchecker:2.0.0
+org.apache.lucene:lucene-spellchecker:2.2.0
+org.apache.lucene:lucene-spellchecker:2.3.0
+org.apache.lucene:lucene-lucli:2.3.2
+org.apache.lucene:lucene-lucli:1.9.1
+org.apache.lucene:lucene-lucli:2.1.0
+org.apache.lucene:lucene-lucli:2.4.0
+org.apache.lucene:lucene-lucli:2.3.1
+org.apache.lucene:lucene-lucli:2.0.0
+org.apache.lucene:lucene-lucli:2.2.0
+org.apache.lucene:lucene-lucli:2.3.0
+org.apache.lucene:lucene-bdb:2.3.2
+org.apache.lucene:lucene-bdb:2.4.0
+org.apache.lucene:lucene-bdb:2.3.1
+org.apache.lucene:lucene-bdb:2.2.0
+org.apache.lucene:lucene-bdb:2.3.0
+org.apache.lucene:lucene-wordnet:2.3.2
+org.apache.lucene:lucene-wordnet:1.9.1
+org.apache.lucene:lucene-wordnet:2.1.0
+org.apache.lucene:lucene-wordnet:2.4.0
+org.apache.lucene:lucene-wordnet:2.3.1
+org.apache.lucene:lucene-wordnet:2.0.0
+org.apache.lucene:lucene-wordnet:2.2.0
+org.apache.lucene:lucene-wordnet:2.3.0
+org.apache.lucene:lucene-benchmark:2.3.2
+org.apache.lucene:lucene-benchmark:2.4.0
+org.apache.lucene:lucene-benchmark:2.3.1
+org.apache.lucene:lucene-benchmark:2.2.0
+org.apache.lucene:lucene-benchmark:2.3.0
+org.apache.lucene:lucene-ant:2.3.2
+org.apache.lucene:lucene-ant:1.9.1
+org.apache.lucene:lucene-ant:2.1.0
+org.apache.lucene:lucene-ant:2.4.0
+org.apache.lucene:lucene-ant:2.3.1
+org.apache.lucene:lucene-ant:2.0.0
+org.apache.lucene:lucene-ant:2.2.0
+org.apache.lucene:lucene-ant:2.3.0
+org.apache.lucene:lucene-similarity:1.9.1
+org.apache.lucene:lucene-similarity:2.1.0
+org.apache.lucene:lucene-similarity:2.0.0
+org.apache.lucene:lucene-similarity:2.2.0
+org.apache.lucene:lucene-analyzers:2.3.2
+org.apache.lucene:lucene-analyzers:1.9.1
+org.apache.lucene:lucene-analyzers:2.1.0
+org.apache.lucene:lucene-analyzers:2.4.0
+org.apache.lucene:lucene-analyzers:2.3.1
+org.apache.lucene:lucene-analyzers:2.0.0
+org.apache.lucene:lucene-analyzers:2.2.0
+org.apache.lucene:lucene-analyzers:2.3.0
+org.apache.lucene:lucene-parent:2.3.2
+org.apache.lucene:lucene-parent:1.9.1
+org.apache.lucene:lucene-parent:2.1.0
+org.apache.lucene:lucene-parent:2.4.0
+org.apache.lucene:lucene-parent:2.3.1
+org.apache.lucene:lucene-parent:2.0.0
+org.apache.lucene:lucene-parent:2.2.0
+org.apache.lucene:lucene-parent:2.3.0
+org.apache.mina:build:1.0.8
+org.apache.mina:build:1.1.5
+org.apache.mina:build:1.1.3
+org.apache.mina:build:2.0.0-M1
+org.apache.mina:build:1.0.3
+org.apache.mina:build:1.1.1
+org.apache.mina:build:1.1.6
+org.apache.mina:build:1.0.0
+org.apache.mina:build:1.0.5
+org.apache.mina:build:1.0.1
+org.apache.mina:build:1.0.2
+org.apache.mina:build:1.1.7
+org.apache.mina:build:1.1.4
+org.apache.mina:build:2.0.0-M2
+org.apache.mina:build:1.0.6
+org.apache.mina:build:1.1.0
+org.apache.mina:build:1.0.4
+org.apache.mina:build:1.0.7
+org.apache.mina:build:1.1.2
+org.apache.mina:build:1.0.9
+org.apache.mina:build:1.0.10
+org.apache.mina:build:2.0.0-M3
+org.apache:apache:4
+org.apache:apache:3
+org.apache:apache:2
+org.apache:apache:1
+org.apache.hivemind:maven-skin:2.0
+org.apache.hivemind:hivemind-framework:2.0-alpha-1
+org.apache.hivemind:hivemind-project:2.0-alpha-1
+org.apache.hivemind:hivemind-jmx:2.0-alpha-1
+org.apache.hivemind:hivemind-annotations:2.0-alpha-1
+org.apache.hivemind:hivemind-xml:2.0-alpha-1
+org.apache.hivemind:hivemind-lib:2.0-alpha-1
+org.apache.hivemind:hivemind-examples:2.0-alpha-1
+org.apache.jdo:jdo2-tck:2.0-rc1
+org.apache.jdo:jdo2-enhancer:2.0
+org.apache.jdo:jdo2-enhancer:2.0-rc1
+org.apache.jdo:jdo2-enhancer:2.1
+org.apache.jdo:jdo2-enhancer:2.0-beta
+org.apache.jdo:jdo2-enhancer:2.1.1
+org.apache.jdo:jdo2-model:2.1
+org.apache.jdo:jdo2-model:2.1.1
+org.apache.jdo:jdo2-util:2.1
+org.apache.jdo:jdo2-util:2.1.1
+org.apache.jdo:jdo2-core:2.0
+org.apache.jdo:jdo2-core:2.0-rc1
+org.apache.jdo:jdo2-core:2.0-beta
+org.apache.axis2:axis2-jibx:1.0
+org.apache.axis2:axis2-xmlbeans:1.0
+org.apache.axis2:axis2-tools:1.0
+org.apache.axis2:axis2-kernel:1.0
+org.apache.axis2:axis2-adb:1.0
+org.apache.axis2:axis2-parent:1.1
+org.apache.axis2:axis2-parent:1.2
+org.apache.axis2:axis2-parent:1.4.1
+org.apache.axis2:axis2-parent:1.3
+org.apache.axis2:axis2-parent:1.4
+org.apache.axis2:axis2:1.1
+org.apache.axis2:axis2:1.2
+org.apache.axis2:axis2:1.4.1
+org.apache.axis2:axis2:1.3
+org.apache.axis2:axis2:1.4
+org.apache.axis2:axis2-codegen:1.0
+org.apache.cocoon:cocoon-databases-hsqldb-server:1.0.0-M1
+org.apache.cocoon:cocoon-bootstrap:1.0.0-M1
+org.apache.cocoon:cocoon-apples-impl:1.0.0-M1
+org.apache.cocoon:cocoon-forms:1
+org.apache.cocoon:cocoon-databases-hsqldb-client:1.0.0
+org.apache.cocoon:cocoon-databases-hsqldb-client:1.0.0-RC1
+org.apache.cocoon:cocoon-databases-hsqldb-client:1.0.0-RC2
+org.apache.cocoon:cocoon-databases-hsqldb-client:1.0.0-M1
+org.apache.cocoon:cocoon-apples:1
+org.apache.cocoon:cocoon-batik:1
+org.apache.cocoon:cocoon-template:2
+org.apache.cocoon:cocoon-template:1
+org.apache.cocoon:cocoon-archetypes:2
+org.apache.cocoon:cocoon-archetypes:1
+org.apache.cocoon:cocoon-commons-modules:1
+org.apache.cocoon:cocoon-mail-impl:1.0.0
+org.apache.cocoon:cocoon-mail-impl:1.0.0-RC1
+org.apache.cocoon:cocoon-mail-impl:1.0.0-RC2
+org.apache.cocoon:cocoon-mail-impl:1.0.0-M1
+org.apache.cocoon:cocoon-template-impl:1.0.0-M2
+org.apache.cocoon:cocoon-template-impl:1.0.0-M1
+org.apache.cocoon:cocoon:6
+org.apache.cocoon:cocoon:4
+org.apache.cocoon:cocoon:3
+org.apache.cocoon:cocoon:7
+org.apache.cocoon:cocoon:5
+org.apache.cocoon:cocoon:2
+org.apache.cocoon:cocoon:1
+org.apache.cayenne:cayenne-parent:3.0M3
+org.apache.cayenne:cayenne-parent:3.0M1
+org.apache.cayenne:cayenne-parent:3.0M2
+org.apache.cayenne:cayenne-parent:3.0M4
+org.apache.cayenne:cayenne-nodeps:2.0.4
+org.apache.cayenne:cayenne-nodeps:2.0.2
+org.apache.cayenne:cayenne-nodeps:2.0.3
+org.apache.cayenne:cayenne-modeler:2.0.4
+org.apache.cayenne:cayenne-modeler:2.0.2
+org.apache.cayenne:cayenne-modeler:2.0.3
+org.apache.cayenne:cayenne-client-nodeps:2.0.4
+org.apache.cayenne:cayenne-client-nodeps:2.0.2
+org.apache.cayenne:cayenne-client-nodeps:2.0.3
+org.apache.cayenne:cayenne:2.0.4
+org.apache.cayenne:cayenne:2.0.3
+org.apache.ws.jaxme:jaxmexs:0.5.1
+org.apache.ws.jaxme:jaxmexs:0.5.2
+org.apache.ws.jaxme:jaxme2-rt:0.5.1
+org.apache.ws.jaxme:jaxme2-rt:0.5.2
+org.apache.ws.jaxme:jaxmepm:0.5.1
+org.apache.ws.jaxme:jaxmepm:0.5.2
+org.apache.ws.jaxme:jaxme2:0.5.1
+org.apache.ws.jaxme:jaxme2:0.5.2
+org.apache.ws.jaxme:jaxmeapi:0.5.1
+org.apache.ws.jaxme:jaxmeapi:0.5.2
+org.apache.ws.jaxme:maven-jaxme-plugin:1.0.3
+org.apache.ws.jaxme:maven-jaxme-plugin:1.0
+org.apache.ws.jaxme:maven-jaxme-plugin:1.0.1
+org.apache.ws.jaxme:maven-jaxme-plugin:1.0.2
+org.apache.ws.jaxme:jaxmejs:0.5.1
+org.apache.ws.jaxme:jaxmejs:0.5.2
+org.apache.ws.commons.schema:XmlSchema:1.2
+org.apache.ws.commons.schema:XmlSchema:1.4.1
+org.apache.ws.commons.schema:XmlSchema:1.4.2
+org.apache.ws.commons.schema:XmlSchema:1.4
+org.apache.ws.commons.schema:XmlSchema:1.3.1
+org.apache.ws.commons.schema:XmlSchema:1.3.2
+org.apache.ws.commons.schema:XmlSchema:SNASHOT
+org.apache.ws.commons.util:ws-commons-util:1.0.2
+org.apache.ws.commons:ws-commons-util:1.0
+org.apache.ws.commons:ws-commons-util:1.0.1
+org.apache.ws.commons:ws-commons-java5:1.0
+org.apache.ws.commons:ws-commons-java5:1.0.1
+org.apache.ws.commons.axiom:axiom-parent:1.1
+org.apache.ws.commons.axiom:axiom-parent:1.2.3
+org.apache.ws.commons.axiom:axiom-parent:1.2.4
+org.apache.ws.commons.axiom:axiom-parent:1.2
+org.apache.ws.commons.axiom:axiom-parent:1.1.1
+org.apache.ws.commons.axiom:axiom-parent:1.2.1
+org.apache.ws.commons.axiom:axiom-parent:1.2.2
+org.apache.ws.commons.axiom:axiom-parent:1.2.5
+org.apache.ws.commons.axiom:axiom:1.2.7
+org.apache.ws.commons.axiom:axiom:1.2.6
+org.apache.ws.commons:XmlSchema:SNAPSHOT
+org.apache.ws.commons:XmlSchema:1.0.3
+org.apache.ws.commons:XmlSchema:1.0
+org.apache.ws.commons:XmlSchema:1.0.1
+org.apache.ws.commons:XmlSchema:1.0.2
+org.apache.ws.commons.neethi:neethi:2.0
+org.apache.ws.scout:scout-parent:1.0rc2
+org.apache.ws.scout:scout-parent:1.0rc1
+org.apache.ws.security:wss4j:1.5.4
+org.apache.ws.xmlrpc:xmlrpc:3.0a1
+org.apache.ws.xmlrpc:xmlrpc:2.0.1
+org.apache.cxf:cxf-integration:2.0.7
+org.apache.cxf:cxf-integration:2.0.8
+org.apache.cxf:cxf-integration:2.1.2
+org.apache.cxf:cxf-integration:2.0.6
+org.apache.cxf:cxf-integration:2.1
+org.apache.cxf:cxf-integration:2.1.3
+org.apache.cxf:cxf-integration:2.0.9
+org.apache.cxf:cxf-integration:2.1.1
+org.apache.cxf:cxf-integration-jca:2.0.7
+org.apache.cxf:cxf-integration-jca:2.0.8
+org.apache.cxf:cxf-integration-jca:2.1.2
+org.apache.cxf:cxf-integration-jca:2.0.6
+org.apache.cxf:cxf-integration-jca:2.1
+org.apache.cxf:cxf-integration-jca:2.1.3
+org.apache.cxf:cxf-integration-jca:2.0.9
+org.apache.cxf:cxf-integration-jca:2.1.1
+org.apache.cxf:cxf-maven-plugins:2.1.2
+org.apache.cxf:cxf-maven-plugins:2.1
+org.apache.cxf:cxf-maven-plugins:2.1.3
+org.apache.cxf:cxf-maven-plugins:2.1.1
+org.apache.cxf:cxf-rt-frontend-js:2.0.7
+org.apache.cxf:cxf-rt-frontend-js:2.0.8
+org.apache.cxf:cxf-rt-frontend-js:2.1.2
+org.apache.cxf:cxf-rt-frontend-js:2.0.6
+org.apache.cxf:cxf-rt-frontend-js:2.1
+org.apache.cxf:cxf-rt-frontend-js:2.1.3
+org.apache.cxf:cxf-rt-frontend-js:2.0.9
+org.apache.cxf:cxf-rt-frontend-js:2.1.1
+org.apache.cxf:cxf-rt-transports-http-jetty:2.0.7
+org.apache.cxf:cxf-rt-transports-http-jetty:2.0.8
+org.apache.cxf:cxf-rt-transports-http-jetty:2.1.2
+org.apache.cxf:cxf-rt-transports-http-jetty:2.0.6
+org.apache.cxf:cxf-rt-transports-http-jetty:2.1
+org.apache.cxf:cxf-rt-transports-http-jetty:2.1.3
+org.apache.cxf:cxf-rt-transports-http-jetty:2.0.9
+org.apache.cxf:cxf-rt-transports-http-jetty:2.1.1
+org.apache.cxf:cxf-bundle:2.0.7
+org.apache.cxf:cxf-bundle:2.0.8
+org.apache.cxf:cxf-bundle:2.1.2
+org.apache.cxf:cxf-bundle:2.0.6
+org.apache.cxf:cxf-bundle:2.1
+org.apache.cxf:cxf-bundle:2.1.3
+org.apache.cxf:cxf-bundle:2.0.9
+org.apache.cxf:cxf-bundle:2.1.1
+org.apache.cxf:cxf-anttasks:2.0.7
+org.apache.cxf:cxf-anttasks:2.0.8
+org.apache.cxf:cxf-anttasks:2.1.2
+org.apache.cxf:cxf-anttasks:2.0.6
+org.apache.cxf:cxf-anttasks:2.1
+org.apache.cxf:cxf-anttasks:2.1.3
+org.apache.cxf:cxf-anttasks:2.0.9
+org.apache.cxf:cxf-anttasks:2.1.1
+org.apache.cxf:cxf-common:2.0.7
+org.apache.cxf:cxf-common:2.0.8
+org.apache.cxf:cxf-common:2.1.2
+org.apache.cxf:cxf-common:2.0.6
+org.apache.cxf:cxf-common:2.1
+org.apache.cxf:cxf-common:2.1.3
+org.apache.cxf:cxf-common:2.0.9
+org.apache.cxf:cxf-common:2.1.1
+org.apache.cxf:cxf-corbatools-maven-plugin:2.1.2
+org.apache.cxf:cxf-corbatools-maven-plugin:2.1
+org.apache.cxf:cxf-corbatools-maven-plugin:2.1.3
+org.apache.cxf:cxf-corbatools-maven-plugin:2.1.1
+org.apache.cxf:cxf-eclipse-plugin:2.0.7
+org.apache.cxf:cxf-eclipse-plugin:2.0.8
+org.apache.cxf:cxf-eclipse-plugin:2.1.2
+org.apache.cxf:cxf-eclipse-plugin:2.0.6
+org.apache.cxf:cxf-eclipse-plugin:2.1
+org.apache.cxf:cxf-eclipse-plugin:2.1.3
+org.apache.cxf:cxf-eclipse-plugin:2.0.9
+org.apache.cxf:cxf-eclipse-plugin:2.1.1
+org.apache.cxf:cxf-rt-testsupport:2.1.2
+org.apache.cxf:cxf-rt-testsupport:2.1
+org.apache.cxf:cxf-rt-testsupport:2.1.3
+org.apache.cxf:cxf-rt-testsupport:2.1.1
+org.apache.cxf:cxf-tools-java2wsdl-test:2.0.7
+org.apache.cxf:cxf-tools-java2wsdl-test:2.0.8
+org.apache.cxf:cxf-tools-java2wsdl-test:2.0.6
+org.apache.cxf:cxf-tools-java2wsdl-test:2.0.9
+org.apache.cxf:cxf-rt-transports-http:2.0.7
+org.apache.cxf:cxf-rt-transports-http:2.0.8
+org.apache.cxf:cxf-rt-transports-http:2.1.2
+org.apache.cxf:cxf-rt-transports-http:2.0.6
+org.apache.cxf:cxf-rt-transports-http:2.1
+org.apache.cxf:cxf-rt-transports-http:2.1.3
+org.apache.cxf:cxf-rt-transports-http:2.0.9
+org.apache.cxf:cxf-rt-transports-http:2.1.1
+org.apache.cxf:cxf-http-basic:2.0.7
+org.apache.cxf:cxf-http-basic:2.0.8
+org.apache.cxf:cxf-http-basic:2.1.2
+org.apache.cxf:cxf-http-basic:2.0.6
+org.apache.cxf:cxf-http-basic:2.1
+org.apache.cxf:cxf-http-basic:2.1.3
+org.apache.cxf:cxf-http-basic:2.0.9
+org.apache.cxf:cxf-http-basic:2.1.1
+org.apache.cxf:cxf-common-schemas:2.0.7
+org.apache.cxf:cxf-common-schemas:2.0.8
+org.apache.cxf:cxf-common-schemas:2.1.2
+org.apache.cxf:cxf-common-schemas:2.0.6
+org.apache.cxf:cxf-common-schemas:2.1
+org.apache.cxf:cxf-common-schemas:2.1.3
+org.apache.cxf:cxf-common-schemas:2.0.9
+org.apache.cxf:cxf-common-schemas:2.1.1
+org.apache.cxf:cxf-distribution-manifest:2.0.7
+org.apache.cxf:cxf-distribution-manifest:2.0.8
+org.apache.cxf:cxf-distribution-manifest:2.1.2
+org.apache.cxf:cxf-distribution-manifest:2.0.6
+org.apache.cxf:cxf-distribution-manifest:2.1
+org.apache.cxf:cxf-distribution-manifest:2.1.3
+org.apache.cxf:cxf-distribution-manifest:2.0.9
+org.apache.cxf:cxf-distribution-manifest:2.1.1
+org.apache.cxf:apache-cxf:2.0.7
+org.apache.cxf:apache-cxf:2.0.8
+org.apache.cxf:apache-cxf:2.1.2
+org.apache.cxf:apache-cxf:2.0.6
+org.apache.cxf:apache-cxf:2.1
+org.apache.cxf:apache-cxf:2.1.3
+org.apache.cxf:apache-cxf:2.0.9
+org.apache.cxf:apache-cxf:2.1.1
+org.apache.cxf:cxf-rt-transports-jbi:2.0.7
+org.apache.cxf:cxf-rt-transports-jbi:2.0.8
+org.apache.cxf:cxf-rt-transports-jbi:2.1.2
+org.apache.cxf:cxf-rt-transports-jbi:2.0.6
+org.apache.cxf:cxf-rt-transports-jbi:2.1
+org.apache.cxf:cxf-rt-transports-jbi:2.1.3
+org.apache.cxf:cxf-rt-transports-jbi:2.0.9
+org.apache.cxf:cxf-rt-transports-jbi:2.1.1
+org.apache.cxf:cxf-rt-frontend-simple:2.0.7
+org.apache.cxf:cxf-rt-frontend-simple:2.0.8
+org.apache.cxf:cxf-rt-frontend-simple:2.1.2
+org.apache.cxf:cxf-rt-frontend-simple:2.0.6
+org.apache.cxf:cxf-rt-frontend-simple:2.1
+org.apache.cxf:cxf-rt-frontend-simple:2.1.3
+org.apache.cxf:cxf-rt-frontend-simple:2.0.9
+org.apache.cxf:cxf-rt-frontend-simple:2.1.1
+org.apache.cxf:cxf-tools-java2ws:2.1.2
+org.apache.cxf:cxf-tools-java2ws:2.1
+org.apache.cxf:cxf-tools-java2ws:2.1.3
+org.apache.cxf:cxf-tools-java2ws:2.1.1
+org.apache.cxf:cxf-xjc-ts:2.0.7
+org.apache.cxf:cxf-xjc-ts:2.0.8
+org.apache.cxf:cxf-xjc-ts:2.1.2
+org.apache.cxf:cxf-xjc-ts:2.0.6
+org.apache.cxf:cxf-xjc-ts:2.1
+org.apache.cxf:cxf-xjc-ts:2.1.3
+org.apache.cxf:cxf-xjc-ts:2.0.9
+org.apache.cxf:cxf-xjc-ts:2.1.1
+org.apache.cxf:cxf-parent:2.0.7
+org.apache.cxf:cxf-parent:2.0.8
+org.apache.cxf:cxf-parent:2.1.2
+org.apache.cxf:cxf-parent:2.0.6
+org.apache.cxf:cxf-parent:2.1
+org.apache.cxf:cxf-parent:2.1.3
+org.apache.cxf:cxf-parent:2.0.9
+org.apache.cxf:cxf-parent:2.1.1
+org.apache.cxf:cxf-bundle-minimal:2.0.8
+org.apache.cxf:cxf-bundle-minimal:2.1.2
+org.apache.cxf:cxf-bundle-minimal:2.1.3
+org.apache.cxf:cxf-bundle-minimal:2.0.9
+org.apache.cxf:cxf-xjc-dv-test:2.0.7
+org.apache.cxf:cxf-xjc-dv-test:2.0.8
+org.apache.cxf:cxf-xjc-dv-test:2.1.2
+org.apache.cxf:cxf-xjc-dv-test:2.0.6
+org.apache.cxf:cxf-xjc-dv-test:2.1
+org.apache.cxf:cxf-xjc-dv-test:2.1.3
+org.apache.cxf:cxf-xjc-dv-test:2.0.9
+org.apache.cxf:cxf-xjc-dv-test:2.1.1
+org.apache.cxf:cxf-api:2.0.7
+org.apache.cxf:cxf-api:2.0.8
+org.apache.cxf:cxf-api:2.1.2
+org.apache.cxf:cxf-api:2.0.6
+org.apache.cxf:cxf-api:2.1
+org.apache.cxf:cxf-api:2.1.3
+org.apache.cxf:cxf-api:2.0.9
+org.apache.cxf:cxf-api:2.1.1
+org.apache.cxf:cxf-rt-frontend-jaxrs:2.1.2
+org.apache.cxf:cxf-rt-frontend-jaxrs:2.1
+org.apache.cxf:cxf-rt-frontend-jaxrs:2.1.3
+org.apache.cxf:cxf-rt-frontend-jaxrs:2.1.1
+org.apache.cxf:cxf-tools-validator:2.0.7
+org.apache.cxf:cxf-tools-validator:2.0.8
+org.apache.cxf:cxf-tools-validator:2.1.2
+org.apache.cxf:cxf-tools-validator:2.0.6
+org.apache.cxf:cxf-tools-validator:2.1
+org.apache.cxf:cxf-tools-validator:2.1.3
+org.apache.cxf:cxf-tools-validator:2.0.9
+org.apache.cxf:cxf-tools-validator:2.1.1
+org.apache.cxf:cxf-rt-frontend-jaxws:2.0.7
+org.apache.cxf:cxf-rt-frontend-jaxws:2.0.8
+org.apache.cxf:cxf-rt-frontend-jaxws:2.1.2
+org.apache.cxf:cxf-rt-frontend-jaxws:2.0.6
+org.apache.cxf:cxf-rt-frontend-jaxws:2.1
+org.apache.cxf:cxf-rt-frontend-jaxws:2.1.3
+org.apache.cxf:cxf-rt-frontend-jaxws:2.0.9
+org.apache.cxf:cxf-rt-frontend-jaxws:2.1.1
+org.apache.cxf:cxf-common-utilities:2.0.7
+org.apache.cxf:cxf-common-utilities:2.0.8
+org.apache.cxf:cxf-common-utilities:2.1.2
+org.apache.cxf:cxf-common-utilities:2.0.6
+org.apache.cxf:cxf-common-utilities:2.1
+org.apache.cxf:cxf-common-utilities:2.1.3
+org.apache.cxf:cxf-common-utilities:2.0.9
+org.apache.cxf:cxf-common-utilities:2.1.1
+org.apache.cxf:cxf-tools-corba:2.1.2
+org.apache.cxf:cxf-tools-corba:2.1
+org.apache.cxf:cxf-tools-corba:2.1.3
+org.apache.cxf:cxf-tools-corba:2.1.1
+org.apache.cxf:cxf-java2ws-plugin:2.1.2
+org.apache.cxf:cxf-java2ws-plugin:2.1
+org.apache.cxf:cxf-java2ws-plugin:2.1.3
+org.apache.cxf:cxf-java2ws-plugin:2.1.1
+org.apache.cxf:cxf-testutils:2.0.7
+org.apache.cxf:cxf-testutils:2.0.8
+org.apache.cxf:cxf-testutils:2.1.2
+org.apache.cxf:cxf-testutils:2.0.6
+org.apache.cxf:cxf-testutils:2.1
+org.apache.cxf:cxf-testutils:2.1.3
+org.apache.cxf:cxf-testutils:2.0.9
+org.apache.cxf:cxf-testutils:2.1.1
+org.apache.cxf:cxf-xjc-ts-test:2.0.7
+org.apache.cxf:cxf-xjc-ts-test:2.0.8
+org.apache.cxf:cxf-xjc-ts-test:2.1.2
+org.apache.cxf:cxf-xjc-ts-test:2.0.6
+org.apache.cxf:cxf-xjc-ts-test:2.1
+org.apache.cxf:cxf-xjc-ts-test:2.1.3
+org.apache.cxf:cxf-xjc-ts-test:2.0.9
+org.apache.cxf:cxf-xjc-ts-test:2.1.1
+org.apache.cxf:cxf-archetypes:2.0.7
+org.apache.cxf:cxf-archetypes:2.0.8
+org.apache.cxf:cxf-archetypes:2.1.2
+org.apache.cxf:cxf-archetypes:2.0.6
+org.apache.cxf:cxf-archetypes:2.1
+org.apache.cxf:cxf-archetypes:2.1.3
+org.apache.cxf:cxf-archetypes:2.0.9
+org.apache.cxf:cxf-archetypes:2.1.1
+org.apache.cxf:cxf-xjc-dv:2.0.7
+org.apache.cxf:cxf-xjc-dv:2.0.8
+org.apache.cxf:cxf-xjc-dv:2.1.2
+org.apache.cxf:cxf-xjc-dv:2.0.6
+org.apache.cxf:cxf-xjc-dv:2.1
+org.apache.cxf:cxf-xjc-dv:2.1.3
+org.apache.cxf:cxf-xjc-dv:2.0.9
+org.apache.cxf:cxf-xjc-dv:2.1.1
+org.apache.cxf:cxf-rt-transports-local:2.0.7
+org.apache.cxf:cxf-rt-transports-local:2.0.8
+org.apache.cxf:cxf-rt-transports-local:2.1.2
+org.apache.cxf:cxf-rt-transports-local:2.0.6
+org.apache.cxf:cxf-rt-transports-local:2.1
+org.apache.cxf:cxf-rt-transports-local:2.1.3
+org.apache.cxf:cxf-rt-transports-local:2.0.9
+org.apache.cxf:cxf-rt-transports-local:2.1.1
+org.apache.cxf:cxf-bundle-jaxrs:2.1.2
+org.apache.cxf:cxf-bundle-jaxrs:2.1.3
+org.apache.cxf:cxf-codegen-plugin:2.0.7
+org.apache.cxf:cxf-codegen-plugin:2.0.8
+org.apache.cxf:cxf-codegen-plugin:2.1.2
+org.apache.cxf:cxf-codegen-plugin:2.0.6
+org.apache.cxf:cxf-codegen-plugin:2.1
+org.apache.cxf:cxf-codegen-plugin:2.1.3
+org.apache.cxf:cxf-codegen-plugin:2.0.9
+org.apache.cxf:cxf-codegen-plugin:2.1.1
+org.apache.cxf:cxf-rt-transports-jms:2.0.7
+org.apache.cxf:cxf-rt-transports-jms:2.0.8
+org.apache.cxf:cxf-rt-transports-jms:2.1.2
+org.apache.cxf:cxf-rt-transports-jms:2.0.6
+org.apache.cxf:cxf-rt-transports-jms:2.1
+org.apache.cxf:cxf-rt-transports-jms:2.1.3
+org.apache.cxf:cxf-rt-transports-jms:2.0.9
+org.apache.cxf:cxf-rt-transports-jms:2.1.1
+org.apache.cxf:cxf-tools-misctools:2.0.7
+org.apache.cxf:cxf-tools-misctools:2.0.8
+org.apache.cxf:cxf-tools-misctools:2.1.2
+org.apache.cxf:cxf-tools-misctools:2.0.6
+org.apache.cxf:cxf-tools-misctools:2.1
+org.apache.cxf:cxf-tools-misctools:2.1.3
+org.apache.cxf:cxf-tools-misctools:2.0.9
+org.apache.cxf:cxf-tools-misctools:2.1.1
+org.apache.cxf:cxf-wsdl-validator-plugin:2.1.2
+org.apache.cxf:cxf-wsdl-validator-plugin:2.1.3
+org.apache.cxf:cxf-wsdl-validator-plugin:2.1.1
+org.apache.cxf:cxf-tools-wsdlto-frontend-javascript:2.1.2
+org.apache.cxf:cxf-tools-wsdlto-frontend-javascript:2.1
+org.apache.cxf:cxf-tools-wsdlto-frontend-javascript:2.1.3
+org.apache.cxf:cxf-tools-wsdlto-frontend-javascript:2.1.1
+org.apache.cxf:cxf-tools-javato:2.0.7
+org.apache.cxf:cxf-tools-javato:2.0.8
+org.apache.cxf:cxf-tools-javato:2.1.2
+org.apache.cxf:cxf-tools-javato:2.0.6
+org.apache.cxf:cxf-tools-javato:2.1
+org.apache.cxf:cxf-tools-javato:2.1.3
+org.apache.cxf:cxf-tools-javato:2.0.9
+org.apache.cxf:cxf-tools-javato:2.1.1
+org.apache.cxf:cxf-tools-common:2.0.7
+org.apache.cxf:cxf-tools-common:2.0.8
+org.apache.cxf:cxf-tools-common:2.1.2
+org.apache.cxf:cxf-tools-common:2.0.6
+org.apache.cxf:cxf-tools-common:2.1
+org.apache.cxf:cxf-tools-common:2.1.3
+org.apache.cxf:cxf-tools-common:2.0.9
+org.apache.cxf:cxf-tools-common:2.1.1
+org.apache.cxf:cxf-bundle-parent:2.0.8
+org.apache.cxf:cxf-bundle-parent:2.1.2
+org.apache.cxf:cxf-bundle-parent:2.1.3
+org.apache.cxf:cxf-bundle-parent:2.0.9
+org.apache.cxf:cxf-buildtools:2.0.7
+org.apache.cxf:cxf-buildtools:2.0.8
+org.apache.cxf:cxf-buildtools:2.1.2
+org.apache.cxf:cxf-buildtools:2.0.6
+org.apache.cxf:cxf-buildtools:2.1
+org.apache.cxf:cxf-buildtools:2.1.3
+org.apache.cxf:cxf-buildtools:2.0.9
+org.apache.cxf:cxf-buildtools:2.1.1
+org.apache.cxf:cxf-tools-wsdlto-core:2.0.7
+org.apache.cxf:cxf-tools-wsdlto-core:2.0.8
+org.apache.cxf:cxf-tools-wsdlto-core:2.1.2
+org.apache.cxf:cxf-tools-wsdlto-core:2.0.6
+org.apache.cxf:cxf-tools-wsdlto-core:2.1
+org.apache.cxf:cxf-tools-wsdlto-core:2.1.3
+org.apache.cxf:cxf-tools-wsdlto-core:2.0.9
+org.apache.cxf:cxf-tools-wsdlto-core:2.1.1
+org.apache.cxf:cxf-common-xsd:2.0.7
+org.apache.cxf:cxf-common-xsd:2.0.8
+org.apache.cxf:cxf-common-xsd:2.1.2
+org.apache.cxf:cxf-common-xsd:2.0.6
+org.apache.cxf:cxf-common-xsd:2.1
+org.apache.cxf:cxf-common-xsd:2.1.3
+org.apache.cxf:cxf-common-xsd:2.0.9
+org.apache.cxf:cxf-common-xsd:2.1.1
+org.apache.cxf:cxf-tools-wsdlto-test:2.0.7
+org.apache.cxf:cxf-tools-wsdlto-test:2.0.8
+org.apache.cxf:cxf-tools-wsdlto-test:2.1.2
+org.apache.cxf:cxf-tools-wsdlto-test:2.0.6
+org.apache.cxf:cxf-tools-wsdlto-test:2.1
+org.apache.cxf:cxf-tools-wsdlto-test:2.1.3
+org.apache.cxf:cxf-tools-wsdlto-test:2.0.9
+org.apache.cxf:cxf-tools-wsdlto-test:2.1.1
+org.apache.cxf:cxf-eclipse-plugin-generator:2.0.7
+org.apache.cxf:cxf-eclipse-plugin-generator:2.0.8
+org.apache.cxf:cxf-eclipse-plugin-generator:2.1.2
+org.apache.cxf:cxf-eclipse-plugin-generator:2.0.6
+org.apache.cxf:cxf-eclipse-plugin-generator:2.1
+org.apache.cxf:cxf-eclipse-plugin-generator:2.1.3
+org.apache.cxf:cxf-eclipse-plugin-generator:2.0.9
+org.apache.cxf:cxf-eclipse-plugin-generator:2.1.1
+org.apache.cxf:cxf-integration-jbi:2.0.7
+org.apache.cxf:cxf-integration-jbi:2.0.8
+org.apache.cxf:cxf-integration-jbi:2.1.2
+org.apache.cxf:cxf-integration-jbi:2.0.6
+org.apache.cxf:cxf-integration-jbi:2.1
+org.apache.cxf:cxf-integration-jbi:2.1.3
+org.apache.cxf:cxf-integration-jbi:2.0.9
+org.apache.cxf:cxf-integration-jbi:2.1.1
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.0.7
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.0.8
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.1.2
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.0.6
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.1
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.1.3
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.0.9
+org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.1.1
+org.apache.cxf:cxf-xjc:2.0.7
+org.apache.cxf:cxf-xjc:2.0.8
+org.apache.cxf:cxf-xjc:2.1.2
+org.apache.cxf:cxf-xjc:2.0.6
+org.apache.cxf:cxf-xjc:2.1
+org.apache.cxf:cxf-xjc:2.1.3
+org.apache.cxf:cxf-xjc:2.0.9
+org.apache.cxf:cxf-xjc:2.1.1
+org.apache.cxf:cxf-systests:2.0.7
+org.apache.cxf:cxf-systests:2.0.8
+org.apache.cxf:cxf-systests:2.1.2
+org.apache.cxf:cxf-systests:2.0.6
+org.apache.cxf:cxf-systests:2.1
+org.apache.cxf:cxf-systests:2.1.3
+org.apache.cxf:cxf-systests:2.0.9
+org.apache.cxf:cxf-systests:2.1.1
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.0.7
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.0.8
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.1.2
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.0.6
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.1
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.1.3
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.0.9
+org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.1.1
+org.apache.cxf:cxf-tools:2.0.7
+org.apache.cxf:cxf-tools:2.0.8
+org.apache.cxf:cxf-tools:2.1.2
+org.apache.cxf:cxf-tools:2.0.6
+org.apache.cxf:cxf-tools:2.1
+org.apache.cxf:cxf-tools:2.1.3
+org.apache.cxf:cxf-tools:2.0.9
+org.apache.cxf:cxf-tools:2.1.1
+org.apache.cxf:cxf-tools-wsdlto:2.0.7
+org.apache.cxf:cxf-tools-wsdlto:2.0.8
+org.apache.cxf:cxf-tools-wsdlto:2.1.2
+org.apache.cxf:cxf-tools-wsdlto:2.0.6
+org.apache.cxf:cxf-tools-wsdlto:2.1
+org.apache.cxf:cxf-tools-wsdlto:2.1.3
+org.apache.cxf:cxf-tools-wsdlto:2.0.9
+org.apache.cxf:cxf-tools-wsdlto:2.1.1
+org.apache.cxf:cxf-rt-management:2.0.7
+org.apache.cxf:cxf-rt-management:2.0.8
+org.apache.cxf:cxf-rt-management:2.1.2
+org.apache.cxf:cxf-rt-management:2.0.6
+org.apache.cxf:cxf-rt-management:2.1
+org.apache.cxf:cxf-rt-management:2.1.3
+org.apache.cxf:cxf-rt-management:2.0.9
+org.apache.cxf:cxf-rt-management:2.1.1
+org.apache.cxf:cxf-rt:2.0.7
+org.apache.cxf:cxf-rt:2.0.8
+org.apache.cxf:cxf-rt:2.1.2
+org.apache.cxf:cxf-rt:2.0.6
+org.apache.cxf:cxf-rt:2.1
+org.apache.cxf:cxf-rt:2.1.3
+org.apache.cxf:cxf-rt:2.0.9
+org.apache.cxf:cxf-rt:2.1.1
+org.apache.cxf:cxf-xml2fastinfoset-plugin:2.1.2
+org.apache.cxf:cxf-xml2fastinfoset-plugin:2.1
+org.apache.cxf:cxf-xml2fastinfoset-plugin:2.1.3
+org.apache.cxf:cxf-xml2fastinfoset-plugin:2.1.1
+org.apache.cxf:cxf-rt-core:2.0.7
+org.apache.cxf:cxf-rt-core:2.0.8
+org.apache.cxf:cxf-rt-core:2.1.2
+org.apache.cxf:cxf-rt-core:2.0.6
+org.apache.cxf:cxf-rt-core:2.1
+org.apache.cxf:cxf-rt-core:2.1.3
+org.apache.cxf:cxf-rt-core:2.0.9
+org.apache.cxf:cxf-rt-core:2.1.1
+org.apache.cxf:cxf:2.0.7
+org.apache.cxf:cxf:2.0.8
+org.apache.cxf:cxf:2.1.2
+org.apache.cxf:cxf:2.0.6
+org.apache.cxf:cxf:2.1
+org.apache.cxf:cxf:2.1.3
+org.apache.cxf:cxf:2.0.9
+org.apache.cxf:cxf:2.1.1
+org.apache.cxf:cxf-tools-java2wsdl:2.0.7
+org.apache.cxf:cxf-tools-java2wsdl:2.0.8
+org.apache.cxf:cxf-tools-java2wsdl:2.0.6
+org.apache.cxf:cxf-tools-java2wsdl:2.0.9
+org.apache.cactus:cactus:1.8.0
+org.apache.tiles:tiles-master:1
+org.apache.tiles:tiles-parent:2.0.4
+org.apache.tiles:tiles-parent:2.1.0
+org.apache.tiles:tiles-parent:2.0.1
+org.apache.tiles:tiles-parent:2.0.6
+org.apache.tiles:tiles-parent:2.0.5
+org.apache.tiles:tiles-parent:2.0.3
+org.jvending.registry:registry-j2se:1.1.0
+org.jvending.registry:registry-cdc:1.3.0
+org.jvending.registry:registry-cdc:1.0.0
+org.asteriskjava:asterisk-java:0.3
+org.asteriskjava:asterisk-java:0.3-m2
+org.asteriskjava:asterisk-java:0.2-rc1
+org.asteriskjava:asterisk-java:0.3.1
+org.asteriskjava:asterisk-java:0.2-rc2
+org.asteriskjava:asterisk-java:0.2
+org.asteriskjava:asterisk-java:0.3-m1
+org.eclipse.ecf.core:source:1.0.0-v20070627-1030
+org.eclipse.ecf.filetransfer:ui:1.0.0-v20070627-1030
+org.eclipse.ecf:filetransfer:1.0.0-v20070627-1030
+org.eclipse.ecf:ui:1.0.0-v20070627-1030
+org.eclipse:ecf:1.0.0-v20070627-1030
+org.eclipse.ecf:sharedobject:1.0.0-v20070627-1030
+org.eclipse.ecf.provider.filetransfer:httpclient:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:filetransfer:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:ui:1.0.0-v20070627-1030
+org.eclipse.ecf:provider:1.0.0-v20070627-1030
+org.eclipse.ecf.provider.xmpp:ui:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:xmpp:1.0.0-v20070627-1030
+org.eclipse.ecf.provider.irc:ui:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:irc:1.0.0-v20070627-1030
+org.eclipse.ecf.provider.bittorrent:ui:0.1.0-v20070627-1030
+org.eclipse.ecf.provider:bittorrent:0.1.0-v20070627-1030
+org.eclipse.ecf.provider:remoteservice:1.0.0-v20070627-1030
+org.eclipse.ecf.provider.msn:ui:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:msn:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:datashare:1.0.0-v20070627-1030
+org.eclipse.ecf.provider:jmdns:1.0.0-v20070627-1030
+org.eclipse.ecf.protocol:msn:0.3.1-v20070627-1030
+org.eclipse.ecf.examples:source:1.0.0-v20070627-1030
+org.eclipse.ecf:server:1.0.0-v20070627-1030
+org.eclipse.ecf.server:generic:1.0.0-v20070627-1030
+org.eclipse.ecf.telephony.call:ui:1.0.0-v20070627-1030
+org.eclipse.ecf.telephony:call:1.0.0-v20070627-1030
+org.eclipse.ecf:remoteservice:1.0.0-v20070627-1030
+org.eclipse.ecf:doc:1.0.0-v20070627-1030
+org.eclipse.ecf:datashare:1.0.0-v20070627-1030
+org.eclipse.ecf.example:clients:1.0.0-v20070627-1030
+org.eclipse.ecf.example:collab:1.0.0-v20070627-1030
+org.eclipse.ecf.example.collab:editor:1.0.0-v20070627-1030
+org.eclipse.ecf:identity:1.0.0-v20070627-1030
+org.eclipse.ecf.presence:ui:1.0.0-v20070627-1030
+org.eclipse.ecf:presence:1.0.0-v20070627-1030
+org.eclipse.ecf.presence.collab:ui:1.0.0-v20070627-1030
+org.eclipse.ecf.presence:bot:1.0.0-v20070627-1030
+org.eclipse.ecf.discovery:ui:1.0.0-v20070627-1030
+org.eclipse.ecf:discovery:1.0.0-v20070627-1030
+org.eclipse.ant:core:3.1.200-v20070522
+org.eclipse.ant:core:3.1.100-v20060531
+org.eclipse.ant:ui:3.2.100-v20070511
+org.eclipse.ant:ui:3.2.1-r321_v20060828
+org.eclipse.core:variables:3.2.0-v20070426
+org.eclipse.core:variables:3.1.100-v20060605
+org.eclipse.core:net:1.0.0-I20070531
+org.eclipse.core:resources:3.3.0-v20070604
+org.eclipse.core.resources:compatibility:3.2.100-v20070502
+org.eclipse.core.resources:compatibility:3.2.0-v20060603
+org.eclipse.core.resources:win32:3.3.0-v20070226
+org.eclipse.core.resources:win32:3.2.0-v20060603
+org.eclipse.core.resources:jmx:1.0.0-v20070510
+org.eclipse.core:resources:3.2.1-R32x_v20060914
+org.eclipse.core:expressions:3.2.1-r321_v20060721
+org.eclipse.core:expressions:3.3.0-v20070606-0010
+org.eclipse.core:databinding:1.0.0-I20070606-0010
+org.eclipse.core.databinding:beans:1.0.0-I20070606-0010
+org.eclipse.core:boot:3.1.100-v20060603
+org.eclipse.core.runtime:compatibility:3.1.100-v20060603
+org.eclipse.core.runtime:compatibility:3.1.200-v20070502
+org.eclipse.core.runtime.compatibility:auth:3.2.100-v20070502
+org.eclipse.core.runtime.compatibility:auth:3.2.0-v20060601
+org.eclipse.core.runtime.compatibility:registry:3.2.100-v20070316
+org.eclipse.core.runtime.compatibility:registry:3.2.1-R32x_v20060907
+org.eclipse.core:runtime:3.2.0-v20060603
+org.eclipse.core:runtime:3.3.100-v20070530
+org.eclipse.core:contenttype:3.2.0-v20060603
+org.eclipse.core:contenttype:3.2.100-v20070319
+org.eclipse.core:commands:3.3.0-I20070605-0010
+org.eclipse.core:commands:3.2.0-I20060605-1400
+org.eclipse.core.filesystem.linux:ppc:1.0.100-v20070430
+org.eclipse.core.filesystem.linux:x86_64:1.0.100-v20070510
+org.eclipse.core.filesystem.linux:x86:1.1.0-v20070416
+org.eclipse.core.filesystem:macosx:1.0.0-v20060603
+org.eclipse.core:filesystem:1.0.0-v20060603
+org.eclipse.core.filesystem.win32:x86:1.1.0-v20070510
+org.eclipse.core.filesystem.win32:x86:1.0.0-v20060603
+org.eclipse.core:filesystem:1.1.0-v20070606
+org.eclipse.core.filesystem.solaris:sparc:1.0.100-v20070425
+org.eclipse.core:filebuffers:3.2.1-r321_v20060721
+org.eclipse.core:filebuffers:3.3.0-v20070606-0010
+org.eclipse.core:jobs:3.2.0-v20060603
+org.eclipse.core:jobs:3.3.0-v20070423
+org.eclipse.equinox.launcher.win32.win32:x86:1.0.0-v20070523
+org.eclipse.equinox.launcher.motif.aix:ppc:1.0.0-v20070524
+org.eclipse.equinox.launcher.gtk.linux:ppc:1.0.0-v20070606
+org.eclipse.equinox.launcher.gtk.linux:x86_64:1.0.0-v20070606
+org.eclipse.equinox.launcher.gtk.linux:x86:1.0.0-v20070606
+org.eclipse.equinox.launcher.gtk.solaris:sparc:1.0.0-v20070606
+org.eclipse.equinox.launcher.carbon:macosx:1.0.0-v20070606
+org.eclipse.equinox.launcher.wpf.win32:x86:1.0.0-v20070523
+org.eclipse.equinox:launcher:1.0.0-v20070606
+org.eclipse.equinox:app:1.0.0-v20070606
+org.eclipse.equinox:device:1.0.0-v20070226
+org.eclipse.equinox:osgi:3.1.1
+org.eclipse.equinox:event:1.0.100-v20070516
+org.eclipse.equinox.jsp:jasper:1.0.0-v20070607
+org.eclipse.equinox.jsp.jasper:registry:1.0.0-v20070607
+org.eclipse.equinox:servletbridge:1.0.0-v20070523
+org.eclipse.equinox.http:servlet:1.0.0-v20070606
+org.eclipse.equinox.http:jetty:1.0.0-v20070607
+org.eclipse.equinox.http:servletbridge:1.0.0-v20070523
+org.eclipse.equinox:http:1.0.100-v20070423
+org.eclipse.equinox.http:registry:1.0.0-v20070608
+org.eclipse.equinox.jmx.server:rmi:1.0.0-v20070510
+org.eclipse.equinox.jmx.server:xmlrpc:1.0.0-v20070608
+org.eclipse.equinox.jmx:server:1.0.0-v20070510
+org.eclipse.equinox.jmx:client:1.0.0-v20070515
+org.eclipse.equinox.jmx.client:rmi:1.0.0
+org.eclipse.equinox.jmx.client:xmlrpc:1.0.0-v20070515
+org.eclipse.equinox.jmx:common:1.0.0-v20070510
+org.eclipse.equinox.jmx:vm:1.0.0-v20070515
+org.eclipse.equinox:useradmin:1.0.0-v20070226
+org.eclipse.equinox:metatype:1.0.0-v20070226
+org.eclipse.equinox:source:3.3.0-v20070502-7n7LECYEOFjsvtv1NlGpLb
+org.eclipse.equinox:log:1.0.100-v20070226
+org.eclipse.equinox:registry:3.3.0-v20070522
+org.eclipse.equinox.registry:jmx:1.0.0-v20070510
+org.eclipse.equinox:registry:3.2.1-R32x_v20060814
+org.eclipse.equinox:common:3.2.0-v20060603
+org.eclipse.equinox:common:3.3.0-v20070426
+org.eclipse.equinox:preferences:3.2.100-v20070522
+org.eclipse.equinox.preferences:jmx:1.0.0-v20070510
+org.eclipse.equinox:preferences:3.2.1-R32x_v20060717
+org.eclipse.equinox:cm:3.2.0-v20070116
+org.eclipse.pde:core:3.2.1-v20060915-0800
+org.eclipse.pde:core:3.3.0-v20070608-1300
+org.eclipse.pde.ui:templates:3.3.0-v20070608-1300
+org.eclipse.pde:ui:3.2.1-v20060816-0800
+org.eclipse.pde:ui:3.3.0-v20070608-1300
+org.eclipse.pde:build:3.3.0-v20070612
+org.eclipse.pde:build:3.2.1-r321_v20060823
+org.eclipse.pde.doc:user:3.3.0-v20070614-0800
+org.eclipse.pde.doc:user:3.2.1-v20060816-0800
+org.eclipse.pde:source:3.3.0-v20070607-7N7M-DUUEF6Ez0H46IcCC
+org.eclipse.pde:source:3.2.1-r321_v20060823-6vYLLdQ3Nk8DrFG
+org.eclipse.pde.junit:runtime:3.2.0-v20060605
+org.eclipse.pde.junit:runtime:3.3.0-v20070608-1300
+org.eclipse.pde:runtime:3.2.0-v20060605
+org.eclipse.pde:runtime:3.3.0-v20070608-1300
+org.eclipse:pde:3.3.0-v20070608-1300
+org.eclipse:pde:3.2.1-v20060810-0800
+org.eclipse:gef:3.2.100-v20070620
+org.eclipse.xsd:cheatsheets:2.3.0-v200706262000
+org.eclipse.xsd:mapping:2.3.0-v200706262000
+org.eclipse.xsd.mapping:editor:2.3.0-v200706262000
+org.eclipse:xsd:2.3.0-v200706262000
+org.eclipse.xsd:xsd:2.1.1
+org.eclipse.xsd:editor:2.3.0-v200706262000
+org.eclipse.xsd:doc:2.3.0-v200706262000
+org.eclipse.xsd:source:2.3.0-v200706262000
+org.eclipse.xsd:edit:2.3.0-v200706262000
+org.eclipse.xsd.ecore:importer:2.3.0-v200706262000
+org.eclipse.xsd.ecore:converter:2.3.0-v200706262000
+org.eclipse.xsd.ecore:exporter:2.3.0-v200706262000
+org.eclipse.ui:cheatsheets:3.2.1-R321_v20060720
+org.eclipse.ui:cheatsheets:3.3.0-v20070507
+org.eclipse.ui:navigator:3.3.0-I20070605-0010
+org.eclipse.ui.navigator:resources:3.3.0-I20070605-0010
+org.eclipse.ui.navigator:resources:3.2.1-M20060906-0800b
+org.eclipse.ui:navigator:3.2.1-M20060913-0800
+org.eclipse:ui:3.3.0-I20070614-0800
+org.eclipse.ui:net:1.0.0-I20070516
+org.eclipse.ui:views:3.2.100-I20070319-0010
+org.eclipse.ui:views:3.2.1-M20060906-0800
+org.eclipse.ui.views.properties:tabbed:3.3.0-I20070605-0010
+org.eclipse.ui.views.properties:tabbed:3.2.1-M20060830-0800
+org.eclipse.ui:browser:3.2.0-v20060602
+org.eclipse.ui:browser:3.2.100-v20070524A
+org.eclipse.ui:forms:3.2.0-v20060602
+org.eclipse.ui:forms:3.3.0-v20070511
+org.eclipse:ui:3.2.1-M20060913-0800
+org.eclipse.ui:console:3.2.0-v20070530
+org.eclipse.ui:console:3.1.100-v20060605
+org.eclipse.ui:win32:3.2.100-I20070319-0010
+org.eclipse.ui:win32:3.2.0-I20060605-1400
+org.eclipse.ui.presentations:r21:3.2.100-I20070605-0010
+org.eclipse.ui.presentations:r21:3.2.0-I20060605-1400
+org.eclipse.ui:ide:3.3.0-I20070620
+org.eclipse.ui.ide:application:1.0.0-I20070530-0100
+org.eclipse.ui:ide:3.2.1-M20060915-1030
+org.eclipse.ui:carbon:3.2.100-I20070605-0010
+org.eclipse.ui:editors:3.2.1-r321_v20060721
+org.eclipse.ui:editors:3.3.0-v20070606-0010
+org.eclipse.ui:intro:3.2.100-v20070530
+org.eclipse.ui.intro:universal:3.2.100-v20070530A
+org.eclipse.ui.intro:universal:3.2.1-R321_v20060905
+org.eclipse.ui:intro:3.2.1-R321_v20060810
+org.eclipse.ui.workbench:texteditor:3.2.0-v20060605-1400
+org.eclipse.ui.workbench:texteditor:3.3.0-v20070606-0010
+org.eclipse.ui.workbench:compatibility:3.2.0-I20070319-0010
+org.eclipse.ui.workbench:compatibility:3.2.0-I20060605-1400
+org.eclipse.ui:workbench:3.2.1-M20060906-0800
+org.eclipse.ui:workbench:3.3.0-I20070608-1100
+org.eclipse.ui:externaltools:3.1.200-v20070416
+org.eclipse.ui:externaltools:3.1.101-r321_v20060802
+org.eclipse.jdt:core:3.2.1-v_677_R32x
+org.eclipse.jdt:core:3.2.0.653
+org.eclipse.jdt:core:3.1.1
+org.eclipse.jdt:core:3.2.0.666
+org.eclipse.jdt:core:3.2.0.658
+org.eclipse.jdt.core:manipulation:1.0.1-r321_v20060721
+org.eclipse.jdt.core:manipulation:1.1.0-v20070606-0010
+org.eclipse.jdt:core:3.3.0-v_771
+org.eclipse.jdt:core:3.1.0
+org.eclipse.jdt:core:3.1.0-RC4
+org.eclipse.jdt:ui:3.2.1-r321_v20060907
+org.eclipse.jdt:ui:3.3.0-v20070607-0010
+org.eclipse:jdt:3.3.0-v20070607-1300
+org.eclipse.jdt.compiler:tool:1.0.0-v_771
+org.eclipse.jdt.launching:macosx:3.1.100-v20061211
+org.eclipse.jdt:launching:3.3.0-v20070510
+org.eclipse.jdt:launching:3.2.1-r321_v20060731
+org.eclipse:jdt:3.2.1-r321_v20060823
+org.eclipse.jdt.doc:isv:3.2.1-r321_v20060907
+org.eclipse.jdt.doc:isv:3.3.0-v20070613
+org.eclipse.jdt.doc:user:3.2.0-v20060605-1400
+org.eclipse.jdt.doc:user:3.3.0-v20070608-1300
+org.eclipse.jdt.source.macosx.carbon:ppc:3.3.0-v20070606-0010-7o7jCHEFpPoqQYvnXqejeR
+org.eclipse.jdt:source:3.2.1-r321_v20060905-R4CM1Znkvre9wC-
+org.eclipse.jdt:source:3.3.0-v20070606-0010-7o7jCHEFpPoqQYvnXqejeR
+org.eclipse.jdt:junit:3.2.1-r321_v20060810
+org.eclipse.jdt.junit:runtime:3.2.1-r321_v20060721
+org.eclipse.jdt.junit:runtime:3.3.0-v20070606-0010
+org.eclipse.jdt:junit:3.3.0-v20070606-0010
+org.eclipse.jdt.apt:core:3.2.1-R32x_v20060822-2100
+org.eclipse.jdt.apt:core:3.3.0-v20070607-1200
+org.eclipse.jdt.apt:ui:3.2.1-R32x_v20060822-2100
+org.eclipse.jdt.apt:ui:3.3.0-v20070430-1135
+org.eclipse.jdt.apt.pluggable:core:1.0.0-v20070529-2100
+org.eclipse.jdt:debug:3.3.0-v20070530a
+org.eclipse.jdt.debug:ui:3.2.100-v20070531-1800
+org.eclipse.jdt.debug:ui:3.2.1-r321_v20060918
+org.eclipse.jdt:debug:3.2.1-r321_v20060731
+org.eclipse.jdt.junit4:runtime:1.0.1-r321_v20060905
+org.eclipse.jdt.junit4:runtime:1.0.100-v20070606-0010
+org.eclipse.osgi:services:3.1.200-v20070605
+org.eclipse.osgi:services:3.1.100-v20060601
+org.eclipse:osgi:3.3.0-v20070530
+org.eclipse.osgi:util:3.1.200-v20070605
+org.eclipse.osgi:util:3.1.100-v20060601
+org.eclipse.osgi:jmx:1.0.0-v20070510
+org.eclipse:osgi:3.2.1-R32x_v20060919
+org.eclipse.jem:beaninfo:2.0.0-v200705302225
+org.eclipse.jem:ui:2.0.0-v200705302225
+org.eclipse:jem:2.0.100-v200709051030
+org.eclipse.jem:util:2.0.1-v200709051030
+org.eclipse.jem:proxy:2.0.0-v200705302225
+org.eclipse.jem:workbench:2.0.0-v200705302225
+org.eclipse:search:3.2.1-r321_v20060726
+org.eclipse:search:3.3.0-v20070606-0010
+org.eclipse.uml2tools:doc:0.7.0-v200707030850
+org.eclipse:uml2tools:0.7.0-v200707030850
+org.eclipse.mylyn.pde:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.bugzilla:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.bugzilla:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.bugzilla:ide:2.0.0-v20070627-1400
+org.eclipse.mylyn.resources:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.java:ui:2.0.0-v20070628-1000
+org.eclipse.mylyn.context:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.context:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.monitor:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.monitor:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn:compatibility:2.0.0-v20070627-1400
+org.eclipse.mylyn.trac:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.trac:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.ide:ant:2.0.0-v20070627-1400
+org.eclipse.mylyn.ide:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.jira:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.jira:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.team:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.team:cvs:2.0.0-v20070627-1400
+org.eclipse.mylyn.tasks:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.tasks:ui:2.0.0-v20070627-1400
+org.eclipse.mylyn.help:ui:2.0.0-v20070627-1400
+org.eclipse:mylyn:2.0.0-v20070627-1400
+org.eclipse.mylyn.web:core:2.0.0-v20070627-1400
+org.eclipse.mylyn.web:ui:2.0.0-v20070627-1400
+org.eclipse:draw2d:3.2.100-v20070529
+org.eclipse.wtp:wsdl:1.0.0
+org.eclipse.wst.css:core:1.1.101-v200705302225
+org.eclipse.wst.css:ui:1.0.201-v200705302225
+org.eclipse.wst.dtd:core:1.1.101-v200705302225
+org.eclipse.wst.dtd.ui:infopop:1.0.2-v200706110217
+org.eclipse.wst.dtd:ui:1.0.201-v200705302225
+org.eclipse.wst.xsd:core:1.1.201-v200707172046
+org.eclipse.wst.xsd:ui:1.2.1-v200709112242
+org.eclipse.wst.dtdeditor.doc:user:1.0.300-v200705302225
+org.eclipse.wst.wsi:ui:1.0.300-v200706062140
+org.eclipse.wst.wsi.ui.doc:user:1.0.203-v200706120315
+org.eclipse.wst:wsi:1.0.105-v200706120315
+org.eclipse.wst.xmleditor.doc:user:1.0.300-v200705302225
+org.eclipse.wst.xml:core:1.1.201-v200709201331
+org.eclipse.wst.xml:ui:1.0.301-v200709112242
+org.eclipse.wst.xml.ui:infopop:1.0.2-v200706110217
+org.eclipse.wst.validation:ui:1.1.102-v200706071630
+org.eclipse.wst:validation:1.1.102-v200709122200
+org.eclipse.wst.validation:infopop:1.0.202-v200706110217
+org.eclipse.wst.sse:core:1.1.202-v200709061102
+org.eclipse.wst.sse:ui:1.0.303-v200709061102
+org.eclipse.wst.sse.ui:infopop:1.0.102-v200706110217
+org.eclipse.wst.sse.doc:user:1.0.300-v200705302225
+org.eclipse:wst:1.0.2-v200706120315
+org.eclipse.wst.server:core:1.0.205-v20070829b
+org.eclipse.wst.server.ui.doc:user:1.0.303-v200705302225
+org.eclipse.wst.server.ui:infopop:1.0.5-v200705302225
+org.eclipse.wst.server:ui:1.0.205-v20070912
+org.eclipse.wst.server.http:core:1.0.0-v200705302225
+org.eclipse.wst.server.http:ui:1.0.0-v200705302225
+org.eclipse.wst.server.preview:adapter:1.0.1-v20070814b
+org.eclipse.wst.server:preview:1.0.0-v200705302225
+org.eclipse.wst.xsdeditor.doc:user:1.0.300-v200705302225
+org.eclipse.wst.command.env:core:1.0.203-v200707302047
+org.eclipse.wst.command:env:1.0.204-v200708202226
+org.eclipse.wst.command.env:ui:1.0.203-v200709052219
+org.eclipse.wst.command.env.doc:user:1.5.1-v200706120315
+org.eclipse.wst.command.env:infopop:1.0.3-v200706110217
+org.eclipse.wst.doc:user:1.1.0-v200705302225
+org.eclipse.wst.javascript:core:1.0.101-v200706071955
+org.eclipse.wst.javascript:ui:1.0.102-v200709112242
+org.eclipse.wst.javascript.ui:infopop:1.0.2-v200706110217
+org.eclipse.wst.webtools.doc:user:1.0.300-v200705302225
+org.eclipse.wst.standard:schemas:1.0.1-v200705302225
+org.eclipse.wst.internet:cache:1.0.201-v200705302225
+org.eclipse.wst.internet.monitor:core:1.0.203-v20070608
+org.eclipse.wst.internet.monitor:ui:1.0.204-v20070716b
+org.eclipse.wst.common:core:1.1.101-v200706120315
+org.eclipse.wst.common:snippets:1.1.101-v200705302225
+org.eclipse.wst.common:uriresolver:1.1.201-v200705302225
+org.eclipse.wst.common:environment:1.0.200-v200705302225
+org.eclipse.wst.common:ui:1.1.200-v200705302225
+org.eclipse.wst.common.ui:properties:1.0.102-v200706120315
+org.eclipse.wst.common:emf:1.1.104-v200709131115
+org.eclipse.wst.common.project.facet:core:1.2.1-v200708281831
+org.eclipse.wst.common.project.facet:ui:1.2.1-v200708232226
+org.eclipse.wst.common.frameworks:ui:1.1.101-v200709122200
+org.eclipse.wst.common:frameworks:1.1.102-v200706071630
+org.eclipse.wst.common:infopop:1.0.2-v200706110217
+org.eclipse.wst.common.emfworkbench:integration:1.1.104-v200709122200
+org.eclipse.wst.common:modulecore:1.1.103-v200709192345
+org.eclipse.wst.wsdl.ui.doc:user:1.0.300-v200705302225
+org.eclipse.wst.wsdl:ui:1.2.1-v200709112242
+org.eclipse.wst.wsdl:validation:1.1.201-v200706062140
+org.eclipse.wst:wsdl:1.1.100-v200707201214
+org.eclipse.wst.ws:explorer:1.0.205-v200709052219
+org.eclipse.wst.ws:ui:1.0.203-v200708222126
+org.eclipse.wst.ws:parser:1.0.201-v200706061845
+org.eclipse.wst:ws:1.0.203-v200709052219
+org.eclipse.wst.ws:infopop:1.0.203-v200706110217
+org.eclipse.wst.web:ui:1.1.101-v200706071630
+org.eclipse.wst.web.ui:infopop:1.0.202-v200706110217
+org.eclipse.wst:web:1.1.102-v200709122200
+org.eclipse.wst.html:core:1.1.102-v200709181730
+org.eclipse.wst.html:ui:1.0.202-v200708292012
+org.eclipse.wst.html.ui:infopop:1.0.2-v200706110217
+org.eclipse:platform:3.3.0-v20070613
+org.eclipse.platform.doc:isv:3.2.1-r321_v2006030
+org.eclipse.platform.doc:isv:3.3.0-v20070621
+org.eclipse.platform.doc:user:3.2.1-R32x_v200608101155
+org.eclipse.platform.doc:user:3.3.0-I20070615-1300
+org.eclipse.platform.source.linux.gtk:ppc:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform.source.linux.gtk:x86_64:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform.source.linux.gtk:x86:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform.source.macosx.carbon:ppc:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform:source:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform:source:3.2.1-r321_v20060921-b_XVA-INSQSyMtx
+org.eclipse.platform.source.win32.win32:x86:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform.source.win32.win32:x86:3.2.1-r321_v20060921-b_XVA-INSQSyMtx
+org.eclipse.platform.source.win32.wpf:x86:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse.platform.source.solaris.gtk:sparc:3.3.0-v20070612-_19UEkLEzwsdF9jSqQ-G
+org.eclipse:platform:3.2.0-v20060601
+org.eclipse:swt:3.3.0-v3346
+org.eclipse.swt.win32.win32:x86:3.3.0-v3346
+org.eclipse.swt.win32.win32:x86:3.2.1-v3235
+org.eclipse:swt:3.2.1-v3235e
+org.eclipse.swt.motif.aix:ppc:3.3.0-v3346
+org.eclipse.swt.gtk.linux:ppc:3.3.0-v3346
+org.eclipse.swt.gtk.linux:x86_64:3.3.0-v3346
+org.eclipse.swt.gtk.linux:x86:3.3.0-v3346
+org.eclipse.swt.gtk.solaris:sparc:3.3.0-v3346
+org.eclipse.swt:jmx:1.0.0-v20070510
+org.eclipse.swt.carbon:macosx:3.3.0-v3346
+org.eclipse.swt.wpf.win32:x86:3.3.0-v3346
+org.eclipse.gmf:xpand:1.0.0-v20070608-1300
+org.eclipse.gmf.codegen:ui:1.1.0-v20070621-0000
+org.eclipse.gmf:codegen:2.0.0-v20070621-0000
+org.eclipse.gmf.codegen:edit:2.0.0-v20070614-1400
+org.eclipse.gmf.graphdef.codegen:ui:1.0.100-v20070621-0000
+org.eclipse.gmf.graphdef:codegen:2.0.0-v20070621-0000
+org.eclipse.gmf:graphdef:2.0.0-v20070621-0000
+org.eclipse.gmf.graphdef:edit:2.0.0-v20070601-1400
+org.eclipse.gmf:tooldef:2.0.0-v20070621-0000
+org.eclipse.gmf.tooldef:edit:2.0.0-v20070601-1400
+org.eclipse.gmf.doc:ui:1.1.0-v20070601-1400
+org.eclipse:gmf:1.0.0-v20070601-1400
+org.eclipse.gmf.runtime.gef:ui:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.draw2d.ui:render:1.0.100-v20070614-1400
+org.eclipse.gmf.runtime.draw2d.ui.render:awt:1.0.100-v20070614-1400
+org.eclipse.gmf.runtime.draw2d:ui:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.emf:core:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.emf.clipboard:core:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.emf:ui:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.emf.ui:properties:1.0.2-v20070601-1400
+org.eclipse.gmf.runtime.emf.type:core:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.emf.type:ui:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.emf.commands:core:1.0.3-v20070601-1400
+org.eclipse.gmf.runtime.common:core:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.common.ui:services:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.common.ui.services:dnd:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.common.ui.services.dnd:ide:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.common.ui.services:action:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.common.ui.services:properties:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.common.ui:printing:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.common.ui.printing:win32:1.0.2-v20070601-1400
+org.eclipse.gmf.runtime.common:ui:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.common.ui:action:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.common.ui.action:ide:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.diagram:core:1.0.100-v20070601-1400
+org.eclipse.gmf.runtime.diagram.ui:actions:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.diagram.ui.resources:editor:1.0.3-v20070601-1400
+org.eclipse.gmf.runtime.diagram.ui.resources.editor:ide:1.0.3-v20070601-1400
+org.eclipse.gmf.runtime.diagram.ui.printing:render:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.diagram.ui:printing:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.diagram.ui:render:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.diagram.ui:dnd:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.diagram:ui:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.diagram.ui:properties:1.0.100-v20070608-1300
+org.eclipse.gmf.runtime.diagram.ui:geoshapes:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.diagram.ui.providers:ide:1.0.1-v20070601-1400
+org.eclipse.gmf.runtime.diagram.ui:providers:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime:notation:1.0.100-v20070621-0000
+org.eclipse.gmf.runtime.notation:edit:1.0.1-v20070621-0000
+org.eclipse.gmf.runtime.notation:providers:1.0.1-v20070601-1400
+org.eclipse.gmf:map:2.0.0-v20070621-0000
+org.eclipse.gmf.map:edit:2.0.0-v20070621-0000
+org.eclipse.gmf.bridge:ui:1.1.0-v20070621-0000
+org.eclipse.gmf.bridge.ui:dashboard:2.0.0-v20070621-0000
+org.eclipse.gmf:bridge:1.1.0-v20070621-0000
+org.eclipse.gmf:common:1.1.0-v20070621-0000
+org.eclipse.gmf:validate:1.1.0-v20070621-0000
+org.eclipse.gmf.ecore:editor:2.0.0-v20070621-0000
+org.eclipse.gmf:sdk:1.0.0-v20070601-1400
+org.eclipse.emf:cheatsheets:2.3.0-v200706262000
+org.eclipse.emf:codegen-ecore-ui:2.1.0
+org.eclipse.emf:importer-ecore:2.1.0
+org.eclipse.emf:importer:2.3.0-v200706262000
+org.eclipse.emf.importer:rose:2.3.0-v200706262000
+org.eclipse.emf.importer:java:2.3.0-v200706262000
+org.eclipse.emf:importer:2.1.0
+org.eclipse.emf.importer:ecore:2.3.0-v200706262000
+org.eclipse.emf:commonj-sdo:2.1.0
+org.eclipse.emf:ant:2.3.0-v200706262000
+org.eclipse.emf:ant:2.1.0
+org.eclipse.emf:importer-rose:2.1.1
+org.eclipse.emf:mapping:2.3.0-v200706262000
+org.eclipse.emf.mapping:ui:2.3.0-v200706262000
+org.eclipse.emf.mapping:xsd2ecore:2.3.0-v200706262000
+org.eclipse.emf.mapping.xsd2ecore:editor:2.3.0-v200706262000
+org.eclipse.emf:mapping:2.1.0
+org.eclipse.emf.mapping:ecore2ecore:2.3.0-v200706262000
+org.eclipse.emf.mapping.ecore2ecore:editor:2.3.0-v200706262000
+org.eclipse.emf.mapping:ecore2xml:2.3.0-v200706262000
+org.eclipse.emf.mapping.ecore2xml:ui:2.3.0-v200706262000
+org.eclipse.emf.mapping:ecore:2.3.0-v200706262000
+org.eclipse.emf.mapping.ecore:editor:2.3.0-v200706262000
+org.eclipse.emf:converter:2.3.0-v200706262000
+org.eclipse.emf.transaction:ui:1.0.100-v200706071723
+org.eclipse.emf.transaction:examples:1.0.100-v200706071723
+org.eclipse.emf.transaction:doc:1.1.0-v200706071723
+org.eclipse.emf.transaction:source:1.1.0-v200706071723-208Y8s733G3E4C5B96
+org.eclipse.emf:transaction:1.1.0-v200706131240
+org.eclipse.emf:exporter:2.3.0-v200706262000
+org.eclipse.emf:common-ui:2.1.0
+org.eclipse:emf:2.3.0-v200706262000
+org.eclipse.emf:edit-ui:2.1.0
+org.eclipse.emf:ecore-sdo-editor:2.1.0
+org.eclipse.emf:codegen:2.3.0-v200706262000
+org.eclipse.emf.codegen:ui:2.3.0-v200706262000
+org.eclipse.emf:codegen:2.1.0
+org.eclipse.emf.codegen:ecore:2.3.0-v200706262000
+org.eclipse.emf.codegen.ecore:ui:2.3.0-v200706262000
+org.eclipse.emf:ecore-xmi:2.1.0
+org.eclipse.emf:ecore-sdo:2.1.1
+org.eclipse.emf:mapping-ecore2ecore:2.1.0
+org.eclipse.emf:ecore-change-edit:2.1.0
+org.eclipse.emf:mapping-ecore2ecore-editor:2.1.0
+org.eclipse.emf:validation:1.1.0-v200706071520
+org.eclipse.emf.validation:ui:1.1.0-v200706071520
+org.eclipse.emf.validation.ui:ide:1.0.100-v200706071520
+org.eclipse.emf.validation:examples:1.1.0-v200706131235
+org.eclipse.emf.validation:ocl:1.1.0-v200706071520
+org.eclipse.emf.validation.ocl:source:1.1.0-v200706071520-10-7w311817182631
+org.eclipse.emf.validation:doc:1.1.0-v200706071520
+org.eclipse.emf.validation:source:1.1.0-v200706071520-318Y9oA55P5M5P8JA5
+org.eclipse.emf:ecore-editor:2.1.0
+org.eclipse.emf.commonj:sdo:2.3.0-v200706262000
+org.eclipse.emf:importer-java:2.1.1
+org.eclipse.emf.workspace:ui:1.0.100-v200706071723
+org.eclipse.emf.workspace:doc:1.1.0-v200706071723
+org.eclipse.emf.workspace:source:1.1.0-v200706071723-208Y8s733G3E4C5B96
+org.eclipse.emf:workspace:1.1.0-v200706131240
+org.eclipse.emf.ocl:examples:1.1.0-v200706071450
+org.eclipse.emf.ocl:doc:1.1.0-v200706071450
+org.eclipse.emf.ocl:source:1.1.0-v200706071450-10-7w311817312619
+org.eclipse.emf:ocl:1.1.0-v200706201508
+org.eclipse.emf:mapping-ui:2.1.0
+org.eclipse.emf:doc:2.3.0-v200706262000
+org.eclipse.emf:source:2.3.0-v200706262000
+org.eclipse.emf:edit:2.3.0-v200706262000
+org.eclipse.emf.edit:ui:2.3.0-v200706262000
+org.eclipse.emf:edit:2.1.1
+org.eclipse.emf:mapping-ecore2xml:2.1.0
+org.eclipse.emf:codegen-ecore:2.1.0
+org.eclipse.emf:ecore-edit:2.1.1
+org.eclipse.emf:common:2.3.0-v200706262000
+org.eclipse.emf.common:ui:2.3.0-v200706262000
+org.eclipse.emf:common:2.1.0
+org.eclipse.emf:mapping-ecore2xml-ui:2.1.1
+org.eclipse.emf:ecore-change:2.1.0
+org.eclipse.emf.ecore:change:2.3.0-v200706262000
+org.eclipse.emf.ecore.change:edit:2.3.0-v200706262000
+org.eclipse.emf:ecore:2.3.0-v200706262000
+org.eclipse.emf.ecore:editor:2.3.0-v200706262000
+org.eclipse.emf:ecore:2.1.0
+org.eclipse.emf.ecore:edit:2.3.0-v200706262000
+org.eclipse.emf.ecore:xmi:2.3.0-v200706262000
+org.eclipse.emf.ecore:sdo:2.3.0-v200706262000
+org.eclipse.emf.ecore.sdo:editor:2.3.0-v200706262000
+org.eclipse.emf.ecore.sdo:doc:2.3.0-v200706262000
+org.eclipse.emf.ecore.sdo:source:2.3.0-v200706262000
+org.eclipse.emf.ecore.sdo:edit:2.3.0-v200706262000
+org.eclipse.emf:codegen-ui:2.1.0
+org.eclipse.emf:ecore-sdo-edit:2.1.0
+org.eclipse.emf.query:examples:1.1.0-v200706131231
+org.eclipse.emf.query.ocl:source:1.1.0-v200706071712-10-7w311817182823
+org.eclipse.emf.query:ocl:1.1.0-v200706071712
+org.eclipse.emf.query:doc:1.1.0-v200706071712
+org.eclipse.emf.query:source:1.1.0-v200706071712-10-7w311817182823
+org.eclipse.emf:query:1.1.0-v200706071712
+org.eclipse:parent:1
+org.eclipse.hyades.probekit.doc:user:4.2.100-v200707090100
+org.eclipse.jst.jee:ui:1.0.1-v200709122200
+org.eclipse.jst:jee:1.0.1-v200709251200
+org.eclipse.jst.jee:ejb:1.0.1-v200709251200
+org.eclipse.jst.jee:web:1.0.1-v200709251200
+org.eclipse.jst.j2ee.navigator:ui:1.1.102-v200709122200
+org.eclipse.jst.j2ee:core:1.1.103-v200709191000
+org.eclipse.jst.j2ee.webservice:ui:1.1.102-v200709122200
+org.eclipse.jst.j2ee:webservice:1.1.101-v200709122200
+org.eclipse.jst.j2ee:ui:1.1.102-v200709122200
+org.eclipse.jst.j2ee.xdoclet:runtime:1.1.2-v200706120315
+org.eclipse.jst.j2ee.doc:user:1.0.300-v200705302225
+org.eclipse.jst.j2ee:infopop:1.0.203-v200706110217
+org.eclipse.jst:j2ee:1.1.105-v200709122200
+org.eclipse.jst.j2ee.jca:ui:1.1.100-v200706071630
+org.eclipse.jst.j2ee:jca:1.1.104-v200709122200
+org.eclipse.jst.j2ee:ejb:1.1.104-v200709122200
+org.eclipse.jst.j2ee.ejb.annotation:model:1.1.2-v200706120315
+org.eclipse.jst.j2ee.ejb.annotations:emitter:1.1.2-v200708301745
+org.eclipse.jst.j2ee.ejb.annotations:ui:1.1.2-v200706191638
+org.eclipse.jst.j2ee.ejb.annotations:xdoclet:1.1.2-v200708301745
+org.eclipse.jst.j2ee:web:1.1.104-v200709122200
+org.eclipse.jst.pagedesigner.jsp:core:1.0.1-v20070912
+org.eclipse.jst.pagedesigner.jsf:ui:1.0.1-v20070912
+org.eclipse.jst:pagedesigner:1.0.1-v20070912
+org.eclipse.jst.servlet:ui:1.1.102-v200709122200
+org.eclipse.jst.servlet.ui:infopop:1.0.202-v200706110217
+org.eclipse.jst.jsp:core:1.2.1-v200709181730
+org.eclipse.jst.jsp.ui:infopop:1.0.3-v200706110217
+org.eclipse.jst.jsp:ui:1.1.201-v200709061102
+org.eclipse.jst.jsf:core:1.0.1-v20070921
+org.eclipse.jst.jsf:ui:1.0.1-v20070912
+org.eclipse.jst.jsf.doc:user:1.0.1-v20070912
+org.eclipse.jst.jsf.standard:tagsupport:1.0.1-v20070912
+org.eclipse.jst.jsf.common:ui:1.0.1-v20070912
+org.eclipse.jst.jsf:common:1.0.1-v20070918
+org.eclipse.jst.jsf.facesconfig:ui:1.0.1-v20070912
+org.eclipse.jst.jsf:facesconfig:1.0.1-v20070912
+org.eclipse:jst:1.0.2-v200706120315
+org.eclipse.jst.server:core:1.0.205-v20070829b
+org.eclipse.jst.server:ui:1.0.203-v200705302225
+org.eclipse.jst.server.ui.doc:user:1.0.301-v200708161939
+org.eclipse.jst.server.ui:infopop:1.0.3-v200706110217
+org.eclipse.jst.server:installable:1.5.102-v20070608
+org.eclipse.jst.server.tomcat:core:1.1.1-v20070827
+org.eclipse.jst.server.tomcat:ui:1.1.0-v200705302225
+org.eclipse.jst.server.preview:adapter:1.0.1-v20070814b
+org.eclipse.jst.server.generic:oc4j:1.5.105-v200709061325
+org.eclipse.jst.server.generic:core:1.0.205-v200709061325
+org.eclipse.jst.server.generic:ui:1.0.205-v200709061325
+org.eclipse.jst.server.generic:jonas:1.5.105-v200709061325
+org.eclipse.jst.server.generic:jboss:1.5.105-v200709061325
+org.eclipse.jst.server.websphere:core:1.0.201-v20070608
+org.eclipse.jst.standard:schemas:1.0.0-v200706221355
+org.eclipse.jst.common.project.facet:core:1.1.1-v200706120315
+org.eclipse.jst.common:frameworks:1.1.102-v200709122200
+org.eclipse.jst.common.annotations:core:1.1.2-v200706120315
+org.eclipse.jst.common.annotations:ui:1.1.2-v200706120315
+org.eclipse.jst.common.annotations:controller:1.1.2-v200708301745
+org.eclipse.jst.ejb:ui:1.1.102-v200709122200
+org.eclipse.jst.ejb.doc:user:1.0.300-v200705302225
+org.eclipse.jst.ws:uddiregistry:1.0.200-v200705311743
+org.eclipse.jst.ws:ui:1.0.202-v200708202218
+org.eclipse.jst.ws.axis.ui.doc:user:1.0.300-v200706111751
+org.eclipse.jst.ws.axis.creation:ui:1.0.205-v200708151945
+org.eclipse.jst.ws.axis:infopop:1.0.203-v200708222303
+org.eclipse.jst.ws.axis.consumption:core:1.0.204-v200708151945
+org.eclipse.jst.ws.axis.consumption:ui:1.0.203-v200708151945
+org.eclipse.jst.ws.creation:ui:1.0.205-v200708151945
+org.eclipse.jst.ws.creation.ejb:ui:1.0.100-v200706030600
+org.eclipse.jst.ws.doc:user:1.0.300-v200705302225
+org.eclipse.jst.ws:infopop:1.0.203-v200709190403
+org.eclipse.jst:ws:1.0.204-v200707251745
+org.eclipse.jst.ws.axis2:core:1.0.1-v200709191532
+org.eclipse.jst.ws.axis2:ui:1.0.1-v200708282350
+org.eclipse.jst.ws.axis2.creation:core:1.0.1-v200708241921
+org.eclipse.jst.ws.axis2.creation:ui:1.0.1-v200708241921
+org.eclipse.jst.ws.axis2.consumption:core:1.0.1-v200708241921
+org.eclipse.jst.ws.axis2.consumption:ui:1.0.1-v200709121418
+org.eclipse.jst.ws:consumption:1.0.203-v200705311743
+org.eclipse.jst.ws.consumption.ui.doc:user:1.0.300-v200706111751
+org.eclipse.jst.ws.consumption:ui:1.0.205-v200708202218
+org.eclipse.jst.ws.consumption:infopop:1.0.203-v200706110217
+org.eclipse.ltk.core:refactoring:3.2.1-r321_v20060823
+org.eclipse.ltk.core:refactoring:3.3.0-v20070606-0010
+org.eclipse.ltk.ui:refactoring:3.2.1-r321_v20060726
+org.eclipse.ltk.ui:refactoring:3.3.0-v20070606-0010
+org.eclipse.cvs:source:1.0.0-v20070606-7C79_79EI99g_Y9e
+org.eclipse:cvs:1.0.0-v20070606
+org.eclipse.jface:databinding:1.1.0-I20070606-0010
+org.eclipse.jface:databinding:1.0.0-I20060605-1400
+org.eclipse:jface:3.3.0-I20070606-0010
+org.eclipse:jface:3.2.1-M20060908-1000
+org.eclipse.jface:text:3.2.1-r321_v20060810
+org.eclipse.jface:text:3.3.0-v20070606-0010
+org.eclipse.jsch:core:1.0.0-I20070426
+org.eclipse.jsch:ui:1.0.0-I20070525
+org.eclipse:tomcat:4.1.130-v20060601
+org.eclipse:tomcat:4.1.230-v20070531
+org.eclipse:bittorrent:0.3.0-v20070627-1030
+org.eclipse.ocl:doc:1.1.0-v200706071450
+org.eclipse.ocl:source:1.1.0-v200706071450-32-9oA55P5M8C8KCK
+org.eclipse:ocl:1.1.0-v200706201508
+org.eclipse.ocl.uml:source:1.1.0-v200706071450-10-7w311817182561
+org.eclipse.ocl:uml:1.1.0-v200706071450
+org.eclipse.ocl:ecore:1.1.0-v200706071450
+org.eclipse.update.core:linux:3.2.0-v20070615
+org.eclipse.update:core:3.2.1-v20092006
+org.eclipse.update:core:3.2.100-v20070615
+org.eclipse.update.core:win32:3.2.1-v20092006
+org.eclipse.update.core:win32:3.2.100-v20070615
+org.eclipse.update:scheduler:3.2.1-v20092006
+org.eclipse.update:scheduler:3.2.100-v20070615
+org.eclipse.update:ui:3.2.1-v20092006
+org.eclipse.update:ui:3.2.100-v20070615
+org.eclipse.update:configurator:3.2.1-v20092006
+org.eclipse.update:configurator:3.2.100-v20070615
+org.eclipse:rcp:3.2.0-v20070612
+org.eclipse:rcp:3.2.0-v20060605
+org.eclipse.rcp.source.linux.gtk:ppc:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp.source.linux.gtk:x86_64:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp.source.linux.gtk:x86:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp.source.macosx.carbon:ppc:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp:source:3.2.1-r321_v20060801-2ekW2BxmcpPUOoq
+org.eclipse.rcp.source.win32.win32:x86:3.2.1-r321_v20060801-2ekW2BxmcpPUOoq
+org.eclipse.rcp.source.win32.win32:x86:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp.source.win32.wpf:x86:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp:source:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp.source.solaris.gtk:sparc:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.rcp.source.aix.motif:ppc:3.3.0-v20070607-8y8eE8NEbsN3X_fjWS8HPNG
+org.eclipse.team:core:3.2.1-M20060711
+org.eclipse.team:core:3.3.0-I20070607
+org.eclipse.team:ui:3.2.1-M200608151725
+org.eclipse.team:ui:3.3.0-I20070607
+org.eclipse.team.cvs:core:3.2.1-M200608161750
+org.eclipse.team.cvs:core:3.3.0-I20070607
+org.eclipse.team.cvs:ui:3.3.0-I20070607
+org.eclipse.team.cvs:ui:3.2.1-M20060831
+org.eclipse.team.cvs:ssh:3.2.100-I20061208
+org.eclipse.team.cvs:ssh:3.2.0-I200606011710
+org.eclipse.team.cvs:ssh2:3.2.0-I200606051140
+org.eclipse.team.cvs:ssh2:3.2.100-I20070604
+org.eclipse.uml2.codegen.ecore:ui:1.3.0-v200706251652
+org.eclipse.uml2.codegen:ecore:1.3.0-v200706251652
+org.eclipse.uml2:examples:2.1.0-v200706251652
+org.eclipse.uml2.examples:source:2.1.0-v200706251652
+org.eclipse.uml2.examples.uml:ui:2.1.0-v200706251652
+org.eclipse:uml2:2.1.0-v200706251652
+org.eclipse.uml2:doc:2.1.0-v200706251652
+org.eclipse.uml2:source:2.1.0-v200706251652
+org.eclipse.uml2.uml:resources:2.1.0-v200706251652
+org.eclipse.uml2.uml:editor:2.1.0-v200706251652
+org.eclipse.uml2:uml:2.1.0-v200706251652
+org.eclipse.uml2.uml:edit:2.1.0-v200706251652
+org.eclipse.uml2.uml.ecore:importer:2.1.0-v200706251652
+org.eclipse.uml2.uml.ecore:exporter:2.1.0-v200706251652
+org.eclipse.uml2.common:edit:1.3.0-v200706251652
+org.eclipse.uml2:common:1.3.0-v200706251652
+org.eclipse.uml2.diagram:parser:0.7.0-v200707030850
+org.eclipse.uml2.diagram:codegen:0.7.0-v200707030850
+org.eclipse.uml2.diagram.codegen:edit:0.7.0-v200707030850
+org.eclipse.uml2.diagram:clazz:0.7.0-v200707030850
+org.eclipse.uml2.diagram:activity:0.7.0-v200707030850
+org.eclipse.uml2.diagram:source:0.7.0-v200707030850
+org.eclipse.uml2:diagram:0.7.0-v200707030850
+org.eclipse.uml2.diagram:profile:0.7.0-v200707030850
+org.eclipse.uml2.diagram:statemachine:0.7.0-v200707030850
+org.eclipse.uml2.diagram:def:0.7.0-v200707030850
+org.eclipse.uml2.diagram:common:0.7.0-v200707030850
+org.eclipse.uml2.diagram:component:0.7.0-v200707030850
+org.eclipse.debug:core:3.2.1-v20060823
+org.eclipse.debug:core:3.3.0-v20070607-1800
+org.eclipse.debug:ui:3.2.1-v20060823
+org.eclipse.debug:ui:3.3.0-v20070607-1800
+org.eclipse:text:3.2.0-v20060605-1400
+org.eclipse:text:3.3.0-v20070606-0010
+org.eclipse.mylar.bugzilla:core:2.0.0-v20070615-compatibility
+org.eclipse.mylar.bugzilla:ui:2.0.0-v20070615-compatibility
+org.eclipse.mylar:resources:2.0.0-v20070615-compatibility
+org.eclipse.mylar:java:2.0.0-v20070615-compatibility
+org.eclipse.mylar.context:core:2.0.0-v20070615-compatibility
+org.eclipse.mylar.context:ui:2.0.0-v20070615-compatibility
+org.eclipse.mylar.monitor:usage:2.0.0-v20070615-compatibility
+org.eclipse.mylar.monitor:core:2.0.0-v20070615-compatibility
+org.eclipse.mylar.monitor:ui:2.0.0-v20070615-compatibility
+org.eclipse.mylar.trac:core:2.0.0-v20070615-compatibility
+org.eclipse.mylar.trac:ui:2.0.0-v20070615-compatibility
+org.eclipse.mylar:ide:2.0.0-v20070615-compatibility
+org.eclipse.mylar:doc:2.0.0-v20070615-compatibility
+org.eclipse.mylar.jira:core:2.0.0-v20070615-compatibility
+org.eclipse.mylar.jira:ui:2.0.0-v20070615-compatibility
+org.eclipse.mylar:team:2.0.0-v20070615-compatibility
+org.eclipse.mylar.tasks:core:2.0.0-v20070615-compatibility
+org.eclipse.mylar.tasks:ui:2.0.0-v20070615-compatibility
+org.eclipse.mylar.tasks:web:2.0.0-v20070615-compatibility
+org.eclipse:mylar:2.0.0-v20070615-compatibility
+org.eclipse.mylar:web:2.0.0-v20070615-compatibility
+org.eclipse:compare:3.3.0-I20070606
+org.eclipse:compare:3.2.1-M20060711
+org.eclipse.help:ui:3.2.0-v20060602
+org.eclipse.help:ui:3.3.0-v20070530
+org.eclipse:help:3.3.0-v20070524
+org.eclipse:help:3.2.1-R321_v20060920
+org.eclipse.help:base:3.2.1-R321_v20060822
+org.eclipse.help:base:3.3.0-v20070606
+org.eclipse.help:appserver:3.1.100-v20060602
+org.eclipse.help:appserver:3.1.200-v20070510
+org.eclipse.help:webapp:3.3.0-v20070607
+org.eclipse.help:webapp:3.2.1-R321_v20060803
+org.eclipse.jet:core:1.0.0-v20070605
+org.eclipse.jet:ui:0.8.0-v20070530
+org.eclipse.jet:examples:0.8.0-v20070530
+org.eclipse.jet:doc:0.8.0-v20070530
+org.eclipse.jet:source:0.8.0-v20070530
+org.eclipse:jet:0.8.0-v20070605
+org.eclipse:sdk:3.2.1-r321_v20060705
+org.eclipse:sdk:3.3.0-v20070613
+org.org-libs:org-lib-usurper:1.1.0
+org.rifers:rife-continuations:0.0.1
+org.rifers:rife-continuations:0.0.2
+org.openoffice:juh:2.1.0
+org.openoffice:juh:2.2.1
+org.openoffice:juh:2.4.0
+org.openoffice:juh:2.3.1
+org.openoffice:juh:2.2.0
+org.openoffice:juh:2.3.0
+org.openoffice:juh:2.4.1
+org.openoffice:jurt:2.1.0
+org.openoffice:jurt:2.2.1
+org.openoffice:jurt:2.4.0
+org.openoffice:jurt:2.3.1
+org.openoffice:jurt:2.2.0
+org.openoffice:jurt:2.3.0
+org.openoffice:jurt:2.4.1
+org.openoffice:unoil:2.1.0
+org.openoffice:unoil:2.2.1
+org.openoffice:unoil:2.4.0
+org.openoffice:unoil:2.3.1
+org.openoffice:unoil:2.2.0
+org.openoffice:unoil:2.3.0
+org.openoffice:unoil:2.4.1
+org.openoffice:ridl:2.1.0
+org.openoffice:ridl:2.2.1
+org.openoffice:ridl:2.4.0
+org.openoffice:ridl:2.3.1
+org.openoffice:ridl:2.2.0
+org.openoffice:ridl:2.3.0
+org.openoffice:ridl:2.4.1
+org.slf4j13:slf4j-log4j13:1.0-beta9
+org.jgrapht:jgrapht-jdk1.5:0.7.3
+org.json:json:20080701
+org.json:json:20070829
+org.fitnesse:fitlibrary:20050731
+org.fitnesse:fitlibrary:20070619
+org.fitnesse:fitlibrary:20080812
+org.fitnesse:fitlibrary:20080702
+org.fitnesse:fitlibrary:20060719
+org.fitnesse:fitnesse:20050731
+org.fitnesse:fitnesse:20070619
+org.fitnesse:fitnesse:20080812
+org.fitnesse:fitnesse:20080702
+org.fitnesse:fitnesse:20060719
+org.logicblaze.lingo:lingo:1.2
+org.logicblaze.lingo:lingo:1.3
+org.logicblaze.lingo:lingo:1.2.1
+org.logicblaze.lingo:lingo-assembly:1.3
+org.logicblaze.lingo:lingo-assembly:1.2.1
+org.logicblaze.lingo:lingo-parent:1.2
+org.logicblaze.lingo:lingo-parent:1.3
+org.logicblaze.lingo:lingo-parent:1.2.1
+org.ostermiller:utils:1.07.00
+org.jsdoctoolkit:jsdoc:1.4.1
+org.jsdoctoolkit:jsdoc:1.4.1
+org.jsdoctoolkit:jsdoc:1.3.3
+org.xhtmlrenderer:core-renderer:R8pre2
+org.reflexiveframework:reflexive:1.0-rc2
+org.reflexiveframework:reflexive:1.0
+org.reflexiveframework:reflexive:1.0-rc1
+org.xanot:xanot:1.0.6
+org.mortbay.jetty:jetty-naming:6.0.0beta16
+org.mortbay.jetty:jetty-naming:6.0.0beta15
+org.mortbay.jetty:jetty-naming:6.1.0pre0
+org.mortbay.jetty:jetty-naming:6.1.0pre3
+org.mortbay.jetty:jetty-naming:6.1.0rc2
+org.mortbay.jetty:jetty-naming:6.1.2rc1
+org.mortbay.jetty:jetty-naming:6.1.1rc0
+org.mortbay.jetty:jetty-naming:6.0.0beta12
+org.mortbay.jetty:jetty-naming:6.0.0rc4
+org.mortbay.jetty:jetty-naming:6.1.2rc0
+org.mortbay.jetty:jetty-naming:6.1.0rc0
+org.mortbay.jetty:jetty-naming:6.1.1rc1
+org.mortbay.jetty:jetty-naming:6.1.0rc3
+org.mortbay.jetty:jetty-naming:6.1.1
+org.mortbay.jetty:jetty-naming:6.0.0
+org.mortbay.jetty:jetty-naming:6.0.2
+org.mortbay.jetty:jetty-naming:6.1H.4-beta
+org.mortbay.jetty:jetty-naming:6.1.2rc2
+org.mortbay.jetty:jetty-naming:6.0.0beta11
+org.mortbay.jetty:jetty-naming:6.0.0rc0
+org.mortbay.jetty:jetty-naming:6.0.0beta17
+org.mortbay.jetty:jetty-naming:6.1.0rc1
+org.mortbay.jetty:jetty-naming:6.1.2pre1
+org.mortbay.jetty:jetty-naming:6.0.0rc2
+org.mortbay.jetty:jetty-naming:6.0.0rc3
+org.mortbay.jetty:jetty-naming:6.1.0
+org.mortbay.jetty:jetty-naming:6.0.1
+org.mortbay.jetty:jetty-naming:6.0.0rc1
+org.mortbay.jetty:jetty-naming:6.1.2pre0
+org.mortbay.jetty:jetty-naming:6.1.0pre1
+org.mortbay.jetty:jetty-naming:6.0.0beta14
+org.mortbay.jetty:jetty-naming:6.0.0beta10
+org.mortbay.jetty:jetty-naming:6.1.0pre2
+org.mortbay.jetty:maven-jetty-plugin:6.1.0pre0
+org.mortbay.jetty:maven-jetty-plugin:6.1.0pre3
+org.mortbay.jetty:maven-jetty-plugin:6.1.0rc2
+org.mortbay.jetty:maven-jetty-plugin:6.1.2rc1
+org.mortbay.jetty:maven-jetty-plugin:6.1.1rc0
+org.mortbay.jetty:maven-jetty-plugin:6.0.0rc4
+org.mortbay.jetty:maven-jetty-plugin:6.1.2rc0
+org.mortbay.jetty:maven-jetty-plugin:6.1.0rc0
+org.mortbay.jetty:maven-jetty-plugin:6.1.1rc1
+org.mortbay.jetty:maven-jetty-plugin:6.1.0rc3
+org.mortbay.jetty:maven-jetty-plugin:6.1.1
+org.mortbay.jetty:maven-jetty-plugin:7.0.0pre0
+org.mortbay.jetty:maven-jetty-plugin:6.0.0
+org.mortbay.jetty:maven-jetty-plugin:7.0.0pre1
+org.mortbay.jetty:maven-jetty-plugin:6.0.2
+org.mortbay.jetty:maven-jetty-plugin:6.1H.4-beta
+org.mortbay.jetty:maven-jetty-plugin:6.1.2rc2
+org.mortbay.jetty:maven-jetty-plugin:6.0.0rc0
+org.mortbay.jetty:maven-jetty-plugin:6.1.0rc1
+org.mortbay.jetty:maven-jetty-plugin:6.1.2pre1
+org.mortbay.jetty:maven-jetty-plugin:7.0.0pre2
+org.mortbay.jetty:maven-jetty-plugin:6.0.0rc2
+org.mortbay.jetty:maven-jetty-plugin:6.0.0rc3
+org.mortbay.jetty:maven-jetty-plugin:6.1.0
+org.mortbay.jetty:maven-jetty-plugin:6.0.1
+org.mortbay.jetty:maven-jetty-plugin:6.0.0rc1
+org.mortbay.jetty:maven-jetty-plugin:6.1.2pre0
+org.mortbay.jetty:maven-jetty-plugin:6.1.0pre1
+org.mortbay.jetty:maven-jetty-plugin:6.1.0pre2
+org.mortbay.jetty:maven-jetty-plugin:7.0.0pre3
+org.mortbay.jetty:jetty-test-jaas:6.1.0pre0
+org.mortbay.jetty:jetty-test-jaas:6.1.0pre3
+org.mortbay.jetty:jetty-test-jaas:6.1.0rc2
+org.mortbay.jetty:jetty-test-jaas:6.1.2rc1
+org.mortbay.jetty:jetty-test-jaas:6.1.1rc0
+org.mortbay.jetty:jetty-test-jaas:6.1.2rc0
+org.mortbay.jetty:jetty-test-jaas:6.1.0rc0
+org.mortbay.jetty:jetty-test-jaas:6.1.1rc1
+org.mortbay.jetty:jetty-test-jaas:6.1.0rc3
+org.mortbay.jetty:jetty-test-jaas:6.1.1
+org.mortbay.jetty:jetty-test-jaas:6.0.2
+org.mortbay.jetty:jetty-test-jaas:6.1H.4-beta
+org.mortbay.jetty:jetty-test-jaas:6.1.2rc2
+org.mortbay.jetty:jetty-test-jaas:6.1.0rc1
+org.mortbay.jetty:jetty-test-jaas:6.1.2pre1
+org.mortbay.jetty:jetty-test-jaas:6.1.0
+org.mortbay.jetty:jetty-test-jaas:6.1.2pre0
+org.mortbay.jetty:jetty-test-jaas:6.1.0pre1
+org.mortbay.jetty:jetty-test-jaas:6.1.0pre2
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta16
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta15
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta9
+org.mortbay.jetty:servlet-api-2.5:6.1.0pre0
+org.mortbay.jetty:servlet-api-2.5:6.1.0pre3
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta7
+org.mortbay.jetty:servlet-api-2.5:6.1.0rc2
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta3
+org.mortbay.jetty:servlet-api-2.5:6.1.2rc1
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta6
+org.mortbay.jetty:servlet-api-2.5:0PR
+org.mortbay.jetty:servlet-api-2.5:6.1.1rc0
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta12
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc4
+org.mortbay.jetty:servlet-api-2.5:6.1.2rc0
+org.mortbay.jetty:servlet-api-2.5:6.1.0rc0
+org.mortbay.jetty:servlet-api-2.5:6.1.1rc1
+org.mortbay.jetty:servlet-api-2.5:6.1.1
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta5
+org.mortbay.jetty:servlet-api-2.5:6.0.0
+org.mortbay.jetty:servlet-api-2.5:6.0.2
+org.mortbay.jetty:servlet-api-2.5:6.1H.4-beta
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta8
+org.mortbay.jetty:servlet-api-2.5:6.1.2rc2
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta11
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc0
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta17
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta4
+org.mortbay.jetty:servlet-api-2.5:6.1.0rc1
+org.mortbay.jetty:servlet-api-2.5:6.1.2pre1
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc2
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc3
+org.mortbay.jetty:servlet-api-2.5:6.0.1
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc1
+org.mortbay.jetty:servlet-api-2.5:6.1.2pre0
+org.mortbay.jetty:servlet-api-2.5:6.1.0pre1
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta14
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta2
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta10
+org.mortbay.jetty:servlet-api-2.5:6.1.0pre2
+org.mortbay.jetty:jetty-jsp:9.1.1.B51.p0
+org.mortbay.jetty:jetty-jsp:9.1.02.B04.p0
+org.mortbay.jetty:jetty-test:6.1.0pre0
+org.mortbay.jetty:jetty-test:6.1.0pre3
+org.mortbay.jetty:jetty-test:6.1.0rc2
+org.mortbay.jetty:jetty-test:6.1.2rc1
+org.mortbay.jetty:jetty-test:6.1.1rc0
+org.mortbay.jetty:jetty-test:6.0.0rc4
+org.mortbay.jetty:jetty-test:6.1.2rc0
+org.mortbay.jetty:jetty-test:6.1.0rc0
+org.mortbay.jetty:jetty-test:6.1.1rc1
+org.mortbay.jetty:jetty-test:6.1.0rc3
+org.mortbay.jetty:jetty-test:6.1.1
+org.mortbay.jetty:jetty-test:6.0.0
+org.mortbay.jetty:jetty-test:6.0.2
+org.mortbay.jetty:jetty-test:6.1H.4-beta
+org.mortbay.jetty:jetty-test:6.1.2rc2
+org.mortbay.jetty:jetty-test:6.1.0rc1
+org.mortbay.jetty:jetty-test:6.1.2pre1
+org.mortbay.jetty:jetty-test:6.0.0rc3
+org.mortbay.jetty:jetty-test:6.1.0
+org.mortbay.jetty:jetty-test:6.0.1
+org.mortbay.jetty:jetty-test:6.1.2pre0
+org.mortbay.jetty:jetty-test:6.1.0pre1
+org.mortbay.jetty:jetty-test:6.1.0pre2
+org.mortbay.jetty:jetty-util:6.0.0beta16
+org.mortbay.jetty:jetty-util:6.0.0beta15
+org.mortbay.jetty:jetty-util:6.1.0pre0
+org.mortbay.jetty:jetty-util:6.1.0pre3
+org.mortbay.jetty:jetty-util:6.1.0rc2
+org.mortbay.jetty:jetty-util:6.1.2rc1
+org.mortbay.jetty:jetty-util:6.1.1rc0
+org.mortbay.jetty:jetty-util:6.0.0rc4
+org.mortbay.jetty:jetty-util:6.1.2rc0
+org.mortbay.jetty:jetty-util:6.1.0rc0
+org.mortbay.jetty:jetty-util:6.1.1rc1
+org.mortbay.jetty:jetty-util:6.1.0rc3
+org.mortbay.jetty:jetty-util:6.1.1
+org.mortbay.jetty:jetty-util:6.0.0
+org.mortbay.jetty:jetty-util:6.0.2
+org.mortbay.jetty:jetty-util:6.1H.4-beta
+org.mortbay.jetty:jetty-util:6.1.2rc2
+org.mortbay.jetty:jetty-util:6.0.0rc0
+org.mortbay.jetty:jetty-util:6.0.0beta17
+org.mortbay.jetty:jetty-util:6.0.0Beta1
+org.mortbay.jetty:jetty-util:6.1.0rc1
+org.mortbay.jetty:jetty-util:6.1.2pre1
+org.mortbay.jetty:jetty-util:6.0.0rc2
+org.mortbay.jetty:jetty-util:6.0.0rc3
+org.mortbay.jetty:jetty-util:6.1.0
+org.mortbay.jetty:jetty-util:6.0.1
+org.mortbay.jetty:jetty-util:6.0.0rc1
+org.mortbay.jetty:jetty-util:6.1.2pre0
+org.mortbay.jetty:jetty-util:6.1.0pre1
+org.mortbay.jetty:jetty-util:6.0.0beta14
+org.mortbay.jetty:jetty-util:6.1.0pre2
+org.mortbay.jetty:jetty-gwt:6.1.0rc2
+org.mortbay.jetty:jetty-gwt:6.1.2rc1
+org.mortbay.jetty:jetty-gwt:6.1.1rc0
+org.mortbay.jetty:jetty-gwt:6.1.2rc0
+org.mortbay.jetty:jetty-gwt:6.1.0rc0
+org.mortbay.jetty:jetty-gwt:6.1.1rc1
+org.mortbay.jetty:jetty-gwt:6.1.0rc3
+org.mortbay.jetty:jetty-gwt:6.1.1
+org.mortbay.jetty:jetty-gwt:6.1.2rc2
+org.mortbay.jetty:jetty-gwt:6.1.0rc1
+org.mortbay.jetty:jetty-gwt:6.1.2pre1
+org.mortbay.jetty:jetty-gwt:6.1.0
+org.mortbay.jetty:jetty-gwt:6.1.2pre0
+org.mortbay.jetty:jetty-ajp:6.1.0pre0
+org.mortbay.jetty:jetty-ajp:6.1.0pre3
+org.mortbay.jetty:jetty-ajp:6.1.0rc2
+org.mortbay.jetty:jetty-ajp:6.1.2rc1
+org.mortbay.jetty:jetty-ajp:6.1.1rc0
+org.mortbay.jetty:jetty-ajp:6.1.2rc0
+org.mortbay.jetty:jetty-ajp:6.1.0rc0
+org.mortbay.jetty:jetty-ajp:6.1.1rc1
+org.mortbay.jetty:jetty-ajp:6.1.0rc3
+org.mortbay.jetty:jetty-ajp:6.1.1
+org.mortbay.jetty:jetty-ajp:6.1H.4-beta
+org.mortbay.jetty:jetty-ajp:6.1.2rc2
+org.mortbay.jetty:jetty-ajp:6.1.0rc1
+org.mortbay.jetty:jetty-ajp:6.1.2pre1
+org.mortbay.jetty:jetty-ajp:6.1.0
+org.mortbay.jetty:jetty-ajp:6.1.2pre0
+org.mortbay.jetty:jetty-ajp:6.1.0pre1
+org.mortbay.jetty:jetty-ajp:6.1.0pre2
+org.mortbay.jetty:jetty-html:6.1.0pre0
+org.mortbay.jetty:jetty-html:6.1.0pre3
+org.mortbay.jetty:jetty-html:6.1.0rc2
+org.mortbay.jetty:jetty-html:6.1.2rc1
+org.mortbay.jetty:jetty-html:6.1.1rc0
+org.mortbay.jetty:jetty-html:6.0.0rc4
+org.mortbay.jetty:jetty-html:6.1.2rc0
+org.mortbay.jetty:jetty-html:6.1.0rc0
+org.mortbay.jetty:jetty-html:6.1.1rc1
+org.mortbay.jetty:jetty-html:6.1.0rc3
+org.mortbay.jetty:jetty-html:6.1.1
+org.mortbay.jetty:jetty-html:6.0.0
+org.mortbay.jetty:jetty-html:6.0.2
+org.mortbay.jetty:jetty-html:6.1H.4-beta
+org.mortbay.jetty:jetty-html:6.1.2rc2
+org.mortbay.jetty:jetty-html:6.0.0rc0
+org.mortbay.jetty:jetty-html:6.1.0rc1
+org.mortbay.jetty:jetty-html:6.1.2pre1
+org.mortbay.jetty:jetty-html:6.0.0rc2
+org.mortbay.jetty:jetty-html:6.0.0rc3
+org.mortbay.jetty:jetty-html:6.1.0
+org.mortbay.jetty:jetty-html:6.0.1
+org.mortbay.jetty:jetty-html:6.0.0rc1
+org.mortbay.jetty:jetty-html:6.1.2pre0
+org.mortbay.jetty:jetty-html:6.1.0pre1
+org.mortbay.jetty:jetty-html:6.1.0pre2
+org.mortbay.jetty:servlet-api:3.0.pre1
+org.mortbay.jetty:servlet-api:3.0.pre4
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta15
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc3
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc0
+org.mortbay.jetty:servlet-api:3.0.pre0
+org.mortbay.jetty:servlet-api-2.5:6.0.1
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc2
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc1
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta14
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta17
+org.mortbay.jetty:servlet-api-2.5:6.0.0rc4
+org.mortbay.jetty:servlet-api-2.5:6.0.0
+org.mortbay.jetty:servlet-api-2.5:6.0.0beta16
+org.mortbay.jetty:cometd-api:0.9.20071105
+org.mortbay.jetty:cometd-api:0.9.20080104
+org.mortbay.jetty:cometd-api:0.9.20070627
+org.mortbay.jetty:cometd-api:0.9.20080218
+org.mortbay.jetty:cometd-api:0.9.20071106
+org.mortbay.jetty:cometd-api:0.9.20080221
+org.mortbay.jetty:cometd-api:0.9.20071211
+org.mortbay.jetty:cometd-api:0.9.20080207
+org.mortbay.jetty:cometd-api:0.9.20070918
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0pre0
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0pre3
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0rc2
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.2rc1
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.1rc0
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.2rc0
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0rc0
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.1rc1
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0rc3
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.1
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1H.4-beta
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.2rc2
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0rc1
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.2pre1
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.2pre0
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0pre1
+org.mortbay.jetty:maven-jetty-jspc-plugin:6.1.0pre2
+org.mortbay.jetty:jetty-setuid:6.1.0pre0
+org.mortbay.jetty:jetty-setuid:6.1.0pre3
+org.mortbay.jetty:jetty-setuid:6.1.0rc2
+org.mortbay.jetty:jetty-setuid:6.1.2rc1
+org.mortbay.jetty:jetty-setuid:6.1.1rc0
+org.mortbay.jetty:jetty-setuid:6.1.2rc0
+org.mortbay.jetty:jetty-setuid:6.1.0rc0
+org.mortbay.jetty:jetty-setuid:6.1.1rc1
+org.mortbay.jetty:jetty-setuid:6.1.0rc3
+org.mortbay.jetty:jetty-setuid:6.1.1
+org.mortbay.jetty:jetty-setuid:6.1H.4-beta
+org.mortbay.jetty:jetty-setuid:6.1.2rc2
+org.mortbay.jetty:jetty-setuid:6.1.0rc1
+org.mortbay.jetty:jetty-setuid:6.1.2pre1
+org.mortbay.jetty:jetty-setuid:6.1.0
+org.mortbay.jetty:jetty-setuid:6.1.2pre0
+org.mortbay.jetty:jetty-setuid:6.1.0pre1
+org.mortbay.jetty:jetty-setuid:6.1.0pre2
+org.mortbay.jetty:jetty:6.0.0beta16
+org.mortbay.jetty:jetty:6.0.0beta15
+org.mortbay.jetty:jetty:6.0.0beta9
+org.mortbay.jetty:jetty:6.1.0pre0
+org.mortbay.jetty:jetty:6.1.0pre3
+org.mortbay.jetty:jetty:6.0.0beta7
+org.mortbay.jetty:jetty:6.1.0rc2
+org.mortbay.jetty:jetty:6.0.0beta3
+org.mortbay.jetty:jetty:6.1.2rc1
+org.mortbay.jetty:jetty:6.0.0beta6
+org.mortbay.jetty:jetty:6.1.1rc0
+org.mortbay.jetty:jetty:6.0.0beta12
+org.mortbay.jetty:jetty:6.0.0rc4
+org.mortbay.jetty:jetty:4.2.12
+org.mortbay.jetty:jetty:6.1.2rc0
+org.mortbay.jetty:jetty:6.1.0rc0
+org.mortbay.jetty:jetty:6.1.1rc1
+org.mortbay.jetty:jetty:6.1.0rc3
+org.mortbay.jetty:jetty:6.1.1
+org.mortbay.jetty:jetty-test:6.0.1
+org.mortbay.jetty:jetty-test:6.0.0rc3
+org.mortbay.jetty:jetty-test:6.0.0rc4
+org.mortbay.jetty:jetty-test:6.0.0
+org.mortbay.jetty:jetty:6.0.0beta5
+org.mortbay.jetty:jetty:6.0.0
+org.mortbay.jetty:jetty:6.0.2
+org.mortbay.jetty:jetty:6.1H.4-beta
+org.mortbay.jetty:jetty:6.0.0beta8
+org.mortbay.jetty:jetty:6.1.2rc2
+org.mortbay.jetty:jetty:6.0.0beta11
+org.mortbay.jetty:jetty:6.0.0rc0
+org.mortbay.jetty:jetty:6.0.0beta17
+org.mortbay.jetty:jetty:6.0.0beta4
+org.mortbay.jetty:jetty:6.0.0Beta1
+org.mortbay.jetty:jetty:6.1.0rc1
+org.mortbay.jetty:jetty:6.1.2pre1
+org.mortbay.jetty:jetty:6.0.0rc2
+org.mortbay.jetty:jetty:6.0.0rc3
+org.mortbay.jetty:jetty:6.1.0
+org.mortbay.jetty:jetty:6.0.1
+org.mortbay.jetty:jetty:6.0.0rc1
+org.mortbay.jetty:jetty:6.1.2pre0
+org.mortbay.jetty:jetty:6.1.0pre1
+org.mortbay.jetty:jetty:6.0.0beta14
+org.mortbay.jetty:jetty:6.0.0beta2
+org.mortbay.jetty:jetty:6.0.0beta10
+org.mortbay.jetty:jetty:6.1.0pre2
+org.mortbay.jetty:jetty-contrib-parent:7.0.0.pre4
+org.mortbay.jetty:jetty-contrib-parent:7.0.0pre0
+org.mortbay.jetty:jetty-contrib-parent:7.0.0pre1
+org.mortbay.jetty:jetty-contrib-parent:7.0.0.pre5
+org.mortbay.jetty:jetty-contrib-parent:7.0.0pre2
+org.mortbay.jetty:jetty-contrib-parent:7.0.0pre3
+org.mortbay.jetty:jetty-embedded:6.1.0pre0
+org.mortbay.jetty:jetty-embedded:6.1.0pre3
+org.mortbay.jetty:jetty-embedded:6.1.0rc2
+org.mortbay.jetty:jetty-embedded:6.1.2rc1
+org.mortbay.jetty:jetty-embedded:6.1.1rc0
+org.mortbay.jetty:jetty-embedded:6.0.0rc4
+org.mortbay.jetty:jetty-embedded:6.1.2rc0
+org.mortbay.jetty:jetty-embedded:6.1.0rc0
+org.mortbay.jetty:jetty-embedded:6.1.1rc1
+org.mortbay.jetty:jetty-embedded:6.1.0rc3
+org.mortbay.jetty:jetty-embedded:6.1.1
+org.mortbay.jetty:jetty-embedded:6.0.0
+org.mortbay.jetty:jetty-embedded:6.0.2
+org.mortbay.jetty:jetty-embedded:6.1H.4-beta
+org.mortbay.jetty:jetty-embedded:6.1.2rc2
+org.mortbay.jetty:jetty-embedded:6.1.0rc1
+org.mortbay.jetty:jetty-embedded:6.1.2pre1
+org.mortbay.jetty:jetty-embedded:6.0.0rc3
+org.mortbay.jetty:jetty-embedded:6.1.0
+org.mortbay.jetty:jetty-embedded:6.0.1
+org.mortbay.jetty:jetty-embedded:6.1.2pre0
+org.mortbay.jetty:jetty-embedded:6.1.0pre1
+org.mortbay.jetty:jetty-embedded:6.1.0pre2
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta14
+org.mortbay.jetty:jsp-api-2.1:6.0.0rc0
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta15
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta17
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta16
+org.mortbay.jetty:cometd-install:6.1.12.rc3
+org.mortbay.jetty:cometd-install:6.1.12.rc4
+org.mortbay.jetty:cometd-install:6.1H.10
+org.mortbay.jetty:cometd-install:6.1.12.rc2
+org.mortbay.jetty:cometd-install:6.1.14
+org.mortbay.jetty:cometd-install:6.1.12.rc5
+org.mortbay.jetty:cometd-install:6.1.9
+org.mortbay.jetty:cometd-install:6.1.8
+org.mortbay.jetty:cometd-install:6.1.10
+org.mortbay.jetty:cometd-install:6.1.12
+org.mortbay.jetty:cometd-install:6.1H.8
+org.mortbay.jetty:test-jndi:6.0.0beta10
+org.mortbay.jetty:jetty-project:7.0.0.pre4
+org.mortbay.jetty:jetty-project:7.0.0pre0
+org.mortbay.jetty:jetty-project:7.0.0pre1
+org.mortbay.jetty:jetty-project:7.0.0.pre5
+org.mortbay.jetty:jetty-project:7.0.0pre2
+org.mortbay.jetty:jetty-project:7.0.0pre3
+org.mortbay.jetty:cometd-demo:6.1.0pre0
+org.mortbay.jetty:cometd-demo:6.1H.10
+org.mortbay.jetty:cometd-demo:6.1.0pre3
+org.mortbay.jetty:cometd-demo:6.1.0rc2
+org.mortbay.jetty:cometd-demo:6.1.2rc1
+org.mortbay.jetty:cometd-demo:6.1.1rc0
+org.mortbay.jetty:cometd-demo:6.1.2rc0
+org.mortbay.jetty:cometd-demo:6.1.0rc0
+org.mortbay.jetty:cometd-demo:6.1.1rc1
+org.mortbay.jetty:cometd-demo:6.1.0rc3
+org.mortbay.jetty:cometd-demo:6.1.7
+org.mortbay.jetty:cometd-demo:6.1.1
+org.mortbay.jetty:cometd-demo:6.1.9
+org.mortbay.jetty:cometd-demo:6.1H.4-beta
+org.mortbay.jetty:cometd-demo:6.1.8
+org.mortbay.jetty:cometd-demo:6.1.2rc2
+org.mortbay.jetty:cometd-demo:6.1.10
+org.mortbay.jetty:cometd-demo:6.1.0rc1
+org.mortbay.jetty:cometd-demo:6.1.2pre1
+org.mortbay.jetty:cometd-demo:6.1.0
+org.mortbay.jetty:cometd-demo:6.1H.7
+org.mortbay.jetty:cometd-demo:6.1.2pre0
+org.mortbay.jetty:cometd-demo:6.1.0pre1
+org.mortbay.jetty:cometd-demo:6.1.0pre2
+org.mortbay.jetty:cometd-demo:6.1H.8
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta16
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta15
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta9
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta7
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta3
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta6
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta12
+org.mortbay.jetty:maven-jetty6-plugin:1.0
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta5
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta8
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta11
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta17
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta4
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0Beta1
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta14
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta2
+org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta10
+org.mortbay.jetty:test:6.0.0beta16
+org.mortbay.jetty:test:6.0.0beta15
+org.mortbay.jetty:test:6.0.0beta9
+org.mortbay.jetty:test:6.0.0beta7
+org.mortbay.jetty:test:6.0.0beta3
+org.mortbay.jetty:test:6.0.0beta6
+org.mortbay.jetty:test:6.0.0beta12
+org.mortbay.jetty:test:6.0.0beta5
+org.mortbay.jetty:test:6.0.0beta8
+org.mortbay.jetty:test:6.0.0beta11
+org.mortbay.jetty:test:6.0.0rc0
+org.mortbay.jetty:test:6.0.0beta17
+org.mortbay.jetty:test:6.0.0beta4
+org.mortbay.jetty:test:6.0.0Beta1
+org.mortbay.jetty:test:6.0.0rc2
+org.mortbay.jetty:test:6.0.0rc1
+org.mortbay.jetty:test:6.0.0beta14
+org.mortbay.jetty:test:6.0.0beta2
+org.mortbay.jetty:test:6.0.0beta10
+org.mortbay.jetty:jetty-plus:6.0.0beta16
+org.mortbay.jetty:jetty-plus:6.0.0beta15
+org.mortbay.jetty:jetty-plus:6.1.0pre0
+org.mortbay.jetty:jetty-plus:6.1.0pre3
+org.mortbay.jetty:jetty-plus:6.1.0rc2
+org.mortbay.jetty:jetty-plus:6.1.2rc1
+org.mortbay.jetty:jetty-plus:6.1.1rc0
+org.mortbay.jetty:jetty-plus:6.0.0beta12
+org.mortbay.jetty:jetty-plus:6.0.0rc4
+org.mortbay.jetty:jetty-plus:6.1.2rc0
+org.mortbay.jetty:jetty-plus:6.1.0rc0
+org.mortbay.jetty:jetty-plus:6.1.1rc1
+org.mortbay.jetty:jetty-plus:6.1.0rc3
+org.mortbay.jetty:jetty-plus:6.1.1
+org.mortbay.jetty:jetty-plus:6.0.0
+org.mortbay.jetty:jetty-plus:6.0.2
+org.mortbay.jetty:jetty-plus:6.1H.4-beta
+org.mortbay.jetty:jetty-plus:6.1.2rc2
+org.mortbay.jetty:jetty-plus:6.0.0beta11
+org.mortbay.jetty:jetty-plus:6.0.0rc0
+org.mortbay.jetty:jetty-plus:6.0.0beta17
+org.mortbay.jetty:jetty-plus:6.1.0rc1
+org.mortbay.jetty:jetty-plus:6.1.2pre1
+org.mortbay.jetty:jetty-plus:6.0.0rc2
+org.mortbay.jetty:jetty-plus:6.0.0rc3
+org.mortbay.jetty:jetty-plus:6.1.0
+org.mortbay.jetty:jetty-plus:6.0.1
+org.mortbay.jetty:jetty-plus:6.0.0rc1
+org.mortbay.jetty:jetty-plus:6.1.2pre0
+org.mortbay.jetty:jetty-plus:6.1.0pre1
+org.mortbay.jetty:jetty-plus:6.0.0beta14
+org.mortbay.jetty:jetty-plus:6.0.0beta10
+org.mortbay.jetty:jetty-plus:6.1.0pre2
+org.mortbay.jetty:cometd:6.1.0pre0
+org.mortbay.jetty:cometd:6.1H.10
+org.mortbay.jetty:cometd:6.1.0pre3
+org.mortbay.jetty:cometd:6.1.0rc2
+org.mortbay.jetty:cometd:6.1.2rc1
+org.mortbay.jetty:cometd:6.1.1rc0
+org.mortbay.jetty:cometd:6.0.0rc4
+org.mortbay.jetty:cometd:6.1.2rc0
+org.mortbay.jetty:cometd:6.1.0rc0
+org.mortbay.jetty:cometd:6.1.1rc1
+org.mortbay.jetty:cometd:6.1.0rc3
+org.mortbay.jetty:cometd:6.1.1
+org.mortbay.jetty:cometd:6.1.11
+org.mortbay.jetty:cometd:6.1.9
+org.mortbay.jetty:cometd:6.0.0
+org.mortbay.jetty:cometd:6.0.2
+org.mortbay.jetty:cometd:6.1H.4-beta
+org.mortbay.jetty:cometd:6.1.8
+org.mortbay.jetty:cometd:6.1.2rc2
+org.mortbay.jetty:cometd:6.1.10
+org.mortbay.jetty:cometd:6.1.0rc1
+org.mortbay.jetty:cometd:6.1.2pre1
+org.mortbay.jetty:cometd:6.0.0rc2
+org.mortbay.jetty:cometd:6.0.0rc3
+org.mortbay.jetty:cometd:6.1.0
+org.mortbay.jetty:cometd:6.0.1
+org.mortbay.jetty:cometd:6.0.0rc1
+org.mortbay.jetty:cometd:6.1.2pre0
+org.mortbay.jetty:cometd:6.1.0pre1
+org.mortbay.jetty:cometd:6.1.0pre2
+org.mortbay.jetty:cometd:6.1H.8
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta16
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta15
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta12
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta11
+org.mortbay.jetty:maven-plugin-utils:6.0.0rc0
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta17
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta14
+org.mortbay.jetty:maven-plugin-utils:6.0.0beta10
+org.mortbay.jetty:project:6.0.0beta16
+org.mortbay.jetty:project:6.1.2rc4
+org.mortbay.jetty:project:6.0.0beta15
+org.mortbay.jetty:project:6.0.0beta9
+org.mortbay.jetty:project:6.1.12.rc3
+org.mortbay.jetty:project:6.1.12.rc4
+org.mortbay.jetty:project:6.1.0pre0
+org.mortbay.jetty:project:6.1H.10
+org.mortbay.jetty:project:6.1.0pre3
+org.mortbay.jetty:project:6.0.0beta7
+org.mortbay.jetty:project:6.1H.4rc1
+org.mortbay.jetty:project:6.1.5
+org.mortbay.jetty:project:6.1.2
+org.mortbay.jetty:project:6.1.0rc2
+org.mortbay.jetty:project:6.1.6
+org.mortbay.jetty:project:6.0.0beta3
+org.mortbay.jetty:project:6.1.2rc1
+org.mortbay.jetty:project:6.0.0beta6
+org.mortbay.jetty:project:6.1.12.rc2
+org.mortbay.jetty:project:6.1.1rc0
+org.mortbay.jetty:project:6.0.0beta12
+org.mortbay.jetty:project:6.0.0rc4
+org.mortbay.jetty:project:6.1.3
+org.mortbay.jetty:project:6.1.14
+org.mortbay.jetty:project:6.1.2rc0
+org.mortbay.jetty:project:6.1.4rc1
+org.mortbay.jetty:project:6.1.0rc0
+org.mortbay.jetty:project:6.1.1rc1
+org.mortbay.jetty:project:6.1.12.rc5
+org.mortbay.jetty:project:6.1.0rc3
+org.mortbay.jetty:project:6.1.7
+org.mortbay.jetty:project:6.1.2rc5
+org.mortbay.jetty:project:6.1.4rc0
+org.mortbay.jetty:project:6.1.4
+org.mortbay.jetty:project:6.1.1
+org.mortbay.jetty:project:6.1.11
+org.mortbay.jetty:project:6.1.9
+org.mortbay.jetty:project:6.0.0beta5
+org.mortbay.jetty:project:6.0.0
+org.mortbay.jetty:project:6.0.2
+org.mortbay.jetty:project:6.1.12rc1
+org.mortbay.jetty:project:6.1H.4-beta
+org.mortbay.jetty:project:6.0.0beta8
+org.mortbay.jetty:project:6.1.8
+org.mortbay.jetty:project:6.1.2rc2
+org.mortbay.jetty:project:6.0.0beta11
+org.mortbay.jetty:project:6.1H.5-beta
+org.mortbay.jetty:project:6.1.10
+org.mortbay.jetty:project:6.0.0rc0
+org.mortbay.jetty:project:6.1.6rc1
+org.mortbay.jetty:project:6.0.0beta17
+org.mortbay.jetty:project:6.1H.6
+org.mortbay.jetty:project:6.0.0beta4
+org.mortbay.jetty:project:6.0.0Beta1
+org.mortbay.jetty:project:6.1.0rc1
+org.mortbay.jetty:project:6.1.2pre1
+org.mortbay.jetty:project:6.0.0rc2
+org.mortbay.jetty:project:6.0.0rc3
+org.mortbay.jetty:project:6.1.0
+org.mortbay.jetty:project:6.0.1
+org.mortbay.jetty:project:6.1H.7
+org.mortbay.jetty:project:6.1.6rc0
+org.mortbay.jetty:project:6.1.12
+org.mortbay.jetty:project:6.0.0rc1
+org.mortbay.jetty:project:6.1.2pre0
+org.mortbay.jetty:project:6.1.0pre1
+org.mortbay.jetty:project:6.0.0beta14
+org.mortbay.jetty:project:6.0.0beta2
+org.mortbay.jetty:project:6.0.0beta10
+org.mortbay.jetty:project:6.1.0pre2
+org.mortbay.jetty:project:6.1.5rc0
+org.mortbay.jetty:project:6.1H.8
+org.mortbay.jetty:embedded:6.0.0beta16
+org.mortbay.jetty:embedded:6.0.0beta15
+org.mortbay.jetty:embedded:6.0.0rc0
+org.mortbay.jetty:embedded:6.0.0beta17
+org.mortbay.jetty:embedded:6.0.0rc2
+org.mortbay.jetty:embedded:6.0.0rc1
+org.mortbay.jetty:jetty-grizzly:6.1.0pre0
+org.mortbay.jetty:jetty-grizzly:6.1.0pre3
+org.mortbay.jetty:jetty-grizzly:6.1.0rc2
+org.mortbay.jetty:jetty-grizzly:6.1.2rc1
+org.mortbay.jetty:jetty-grizzly:6.1.1rc0
+org.mortbay.jetty:jetty-grizzly:6.1.2rc0
+org.mortbay.jetty:jetty-grizzly:6.1.0rc0
+org.mortbay.jetty:jetty-grizzly:6.1.1rc1
+org.mortbay.jetty:jetty-grizzly:6.1.0rc3
+org.mortbay.jetty:jetty-grizzly:6.1.1
+org.mortbay.jetty:jetty-grizzly:6.1.2rc2
+org.mortbay.jetty:jetty-grizzly:6.1.0rc1
+org.mortbay.jetty:jetty-grizzly:6.1.2pre1
+org.mortbay.jetty:jetty-grizzly:6.1.0
+org.mortbay.jetty:jetty-grizzly:6.1.2pre0
+org.mortbay.jetty:jetty-grizzly:6.1.0pre1
+org.mortbay.jetty:jetty-grizzly:6.1.0pre2
+org.mortbay.jetty:cometd-bayeux:6.1.7
+org.mortbay.jetty:cometd-bayeux:6.1H.7
+org.mortbay.jetty:bayeux-client:6.1.7
+org.mortbay.jetty:bayeux-client:6.1H.7
+org.mortbay.jetty:jetty-win32-service-java:6.1.2rc1
+org.mortbay.jetty:jetty-win32-service-java:6.1.2rc0
+org.mortbay.jetty:jetty-win32-service-java:6.1H.4-beta
+org.mortbay.jetty:jetty-win32-service-java:6.1.2rc2
+org.mortbay.jetty:jetty-win32-service-java:6.1.2pre1
+org.mortbay.jetty:jetty-client:6.1.0pre0
+org.mortbay.jetty:jetty-client:6.1.0pre3
+org.mortbay.jetty:jetty-client:6.1.0rc0
+org.mortbay.jetty:jetty-client:6.1.0rc1
+org.mortbay.jetty:jetty-client:6.1.0pre1
+org.mortbay.jetty:jetty-client:6.1.0pre2
+org.mortbay.jetty:jetty-ant:6.1H.4-beta
+org.mortbay.jetty:jetty-xbean:6.0.0beta16
+org.mortbay.jetty:jetty-xbean:6.0.0beta15
+org.mortbay.jetty:jetty-xbean:6.1.0pre0
+org.mortbay.jetty:jetty-xbean:6.1.0pre3
+org.mortbay.jetty:jetty-xbean:6.1.0rc2
+org.mortbay.jetty:jetty-xbean:6.1.2rc1
+org.mortbay.jetty:jetty-xbean:6.1.1rc0
+org.mortbay.jetty:jetty-xbean:6.0.0beta12
+org.mortbay.jetty:jetty-xbean:6.0.0rc4
+org.mortbay.jetty:jetty-xbean:6.1.2rc0
+org.mortbay.jetty:jetty-xbean:6.1.0rc0
+org.mortbay.jetty:jetty-xbean:6.1.1rc1
+org.mortbay.jetty:jetty-xbean:6.1.0rc3
+org.mortbay.jetty:jetty-xbean:6.1.1
+org.mortbay.jetty:jetty-xbean:6.0.0
+org.mortbay.jetty:jetty-xbean:6.0.2
+org.mortbay.jetty:jetty-xbean:6.1H.4-beta
+org.mortbay.jetty:jetty-xbean:6.1.2rc2
+org.mortbay.jetty:jetty-xbean:6.0.0beta11
+org.mortbay.jetty:jetty-xbean:6.0.0rc0
+org.mortbay.jetty:jetty-xbean:6.0.0beta17
+org.mortbay.jetty:jetty-xbean:6.1.0rc1
+org.mortbay.jetty:jetty-xbean:6.1.2pre1
+org.mortbay.jetty:jetty-xbean:6.0.0rc2
+org.mortbay.jetty:jetty-xbean:6.0.0rc3
+org.mortbay.jetty:jetty-xbean:6.1.0
+org.mortbay.jetty:jetty-xbean:6.0.1
+org.mortbay.jetty:jetty-xbean:6.0.0rc1
+org.mortbay.jetty:jetty-xbean:6.1.2pre0
+org.mortbay.jetty:jetty-xbean:6.1.0pre1
+org.mortbay.jetty:jetty-xbean:6.0.0beta14
+org.mortbay.jetty:jetty-xbean:6.0.0beta10
+org.mortbay.jetty:jetty-xbean:6.1.0pre2
+org.mortbay.jetty:jetty-servlet-tester:6.1.0rc2
+org.mortbay.jetty:jetty-servlet-tester:6.1.2rc1
+org.mortbay.jetty:jetty-servlet-tester:6.1.1rc0
+org.mortbay.jetty:jetty-servlet-tester:6.1.2rc0
+org.mortbay.jetty:jetty-servlet-tester:6.1.1rc1
+org.mortbay.jetty:jetty-servlet-tester:6.1.0rc3
+org.mortbay.jetty:jetty-servlet-tester:6.1.1
+org.mortbay.jetty:jetty-servlet-tester:6.1H.4-beta
+org.mortbay.jetty:jetty-servlet-tester:6.1.2rc2
+org.mortbay.jetty:jetty-servlet-tester:6.1.2pre1
+org.mortbay.jetty:jetty-servlet-tester:6.1.0
+org.mortbay.jetty:jetty-servlet-tester:6.1.2pre0
+org.mortbay.jetty:jetty-sslengine:6.1.0pre0
+org.mortbay.jetty:jetty-sslengine:6.1.0pre3
+org.mortbay.jetty:jetty-sslengine:6.1.0rc2
+org.mortbay.jetty:jetty-sslengine:6.1.2rc1
+org.mortbay.jetty:jetty-sslengine:6.1.1rc0
+org.mortbay.jetty:jetty-sslengine:6.1.2rc0
+org.mortbay.jetty:jetty-sslengine:6.1.0rc0
+org.mortbay.jetty:jetty-sslengine:6.1.1rc1
+org.mortbay.jetty:jetty-sslengine:6.1.0rc3
+org.mortbay.jetty:jetty-sslengine:6.1.1
+org.mortbay.jetty:jetty-sslengine:6.1H.4-beta
+org.mortbay.jetty:jetty-sslengine:6.1.2rc2
+org.mortbay.jetty:jetty-sslengine:6.1.0rc1
+org.mortbay.jetty:jetty-sslengine:6.1.2pre1
+org.mortbay.jetty:jetty-sslengine:6.1.0
+org.mortbay.jetty:jetty-sslengine:6.1.2pre0
+org.mortbay.jetty:jetty-sslengine:6.1.0pre1
+org.mortbay.jetty:jetty-sslengine:6.1.0pre2
+org.mortbay.jetty:jetty-management:6.0.0beta16
+org.mortbay.jetty:jetty-management:6.0.0beta15
+org.mortbay.jetty:jetty-management:6.0.0beta9
+org.mortbay.jetty:jetty-management:6.1.0pre0
+org.mortbay.jetty:jetty-management:6.1.0pre3
+org.mortbay.jetty:jetty-management:6.0.0beta7
+org.mortbay.jetty:jetty-management:6.1.0rc2
+org.mortbay.jetty:jetty-management:6.1.2rc1
+org.mortbay.jetty:jetty-management:6.0.0beta6
+org.mortbay.jetty:jetty-management:6.1.1rc0
+org.mortbay.jetty:jetty-management:6.0.0beta12
+org.mortbay.jetty:jetty-management:6.0.0rc4
+org.mortbay.jetty:jetty-management:6.1.2rc0
+org.mortbay.jetty:jetty-management:6.1.0rc0
+org.mortbay.jetty:jetty-management:6.1.1rc1
+org.mortbay.jetty:jetty-management:6.1.0rc3
+org.mortbay.jetty:jetty-management:6.1.1
+org.mortbay.jetty:jetty-management:6.0.0beta5
+org.mortbay.jetty:jetty-management:6.0.0
+org.mortbay.jetty:jetty-management:6.0.2
+org.mortbay.jetty:jetty-management:6.1H.4-beta
+org.mortbay.jetty:jetty-management:6.0.0beta8
+org.mortbay.jetty:jetty-management:6.1.2rc2
+org.mortbay.jetty:jetty-management:6.0.0beta11
+org.mortbay.jetty:jetty-management:6.0.0rc0
+org.mortbay.jetty:jetty-management:6.0.0beta17
+org.mortbay.jetty:jetty-management:6.1.0rc1
+org.mortbay.jetty:jetty-management:6.1.2pre1
+org.mortbay.jetty:jetty-management:6.0.0rc2
+org.mortbay.jetty:jetty-management:6.0.0rc3
+org.mortbay.jetty:jetty-management:6.1.0
+org.mortbay.jetty:jetty-management:6.0.1
+org.mortbay.jetty:jetty-management:6.0.0rc1
+org.mortbay.jetty:jetty-management:6.1.2pre0
+org.mortbay.jetty:jetty-management:6.1.0pre1
+org.mortbay.jetty:jetty-management:6.0.0beta14
+org.mortbay.jetty:jetty-management:6.0.0beta10
+org.mortbay.jetty:jetty-management:6.1.0pre2
+org.mortbay.jetty:jetty-spring:6.1.0pre0
+org.mortbay.jetty:jetty-spring:6.1.0pre3
+org.mortbay.jetty:jetty-spring:6.1.0rc2
+org.mortbay.jetty:jetty-spring:6.1.2rc1
+org.mortbay.jetty:jetty-spring:6.1.1rc0
+org.mortbay.jetty:jetty-spring:6.0.0rc4
+org.mortbay.jetty:jetty-spring:6.1.2rc0
+org.mortbay.jetty:jetty-spring:6.1.0rc0
+org.mortbay.jetty:jetty-spring:6.1.1rc1
+org.mortbay.jetty:jetty-spring:6.1.0rc3
+org.mortbay.jetty:jetty-spring:6.1.1
+org.mortbay.jetty:jetty-spring:6.0.0
+org.mortbay.jetty:jetty-spring:6.0.2
+org.mortbay.jetty:jetty-spring:6.1H.4-beta
+org.mortbay.jetty:jetty-spring:6.1.2rc2
+org.mortbay.jetty:jetty-spring:6.1.0rc1
+org.mortbay.jetty:jetty-spring:6.1.2pre1
+org.mortbay.jetty:jetty-spring:6.0.0rc3
+org.mortbay.jetty:jetty-spring:6.1.0
+org.mortbay.jetty:jetty-spring:6.0.1
+org.mortbay.jetty:jetty-spring:6.1.2pre0
+org.mortbay.jetty:jetty-spring:6.1.0pre1
+org.mortbay.jetty:jetty-spring:6.1.0pre2
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta16
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta15
+org.mortbay.jetty:jsp-api-2.1:6.0.0rc0
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta17
+org.mortbay.jetty:jsp-api-2.1:6.0.0beta14
+org.mortbay.jetty:jetty-test-jndi:6.1.0pre0
+org.mortbay.jetty:jetty-test-jndi:6.1.0pre3
+org.mortbay.jetty:jetty-test-jndi:6.1.0rc2
+org.mortbay.jetty:jetty-test-jndi:6.1.2rc1
+org.mortbay.jetty:jetty-test-jndi:6.1.1rc0
+org.mortbay.jetty:jetty-test-jndi:6.1.2rc0
+org.mortbay.jetty:jetty-test-jndi:6.1.0rc0
+org.mortbay.jetty:jetty-test-jndi:6.1.1rc1
+org.mortbay.jetty:jetty-test-jndi:6.1.0rc3
+org.mortbay.jetty:jetty-test-jndi:6.1.1
+org.mortbay.jetty:jetty-test-jndi:6.0.2
+org.mortbay.jetty:jetty-test-jndi:6.1H.4-beta
+org.mortbay.jetty:jetty-test-jndi:6.1.2rc2
+org.mortbay.jetty:jetty-test-jndi:6.1.0rc1
+org.mortbay.jetty:jetty-test-jndi:6.1.2pre1
+org.mortbay.jetty:jetty-test-jndi:6.1.0
+org.mortbay.jetty:jetty-test-jndi:6.1.2pre0
+org.mortbay.jetty:jetty-test-jndi:6.1.0pre1
+org.mortbay.jetty:jetty-test-jndi:6.1.0pre2
+org.mortbay.jetty:jetty-java5-threadpool:6.1.0rc2
+org.mortbay.jetty:jetty-java5-threadpool:6.1.2rc1
+org.mortbay.jetty:jetty-java5-threadpool:6.1.1rc0
+org.mortbay.jetty:jetty-java5-threadpool:6.1.2rc0
+org.mortbay.jetty:jetty-java5-threadpool:6.1.0rc0
+org.mortbay.jetty:jetty-java5-threadpool:6.1.1rc1
+org.mortbay.jetty:jetty-java5-threadpool:6.1.0rc3
+org.mortbay.jetty:jetty-java5-threadpool:6.1.1
+org.mortbay.jetty:jetty-java5-threadpool:6.1H.4-beta
+org.mortbay.jetty:jetty-java5-threadpool:6.1.2rc2
+org.mortbay.jetty:jetty-java5-threadpool:6.1.0rc1
+org.mortbay.jetty:jetty-java5-threadpool:6.1.2pre1
+org.mortbay.jetty:jetty-java5-threadpool:6.1.0
+org.mortbay.jetty:jetty-java5-threadpool:6.1.2pre0
+org.mortbay.jetty:jetty-parent:6
+org.mortbay.jetty:jetty-parent:4
+org.mortbay.jetty:jetty-parent:3
+org.mortbay.jetty:jetty-parent:7
+org.mortbay.jetty:jetty-parent:5
+org.mortbay.jetty:jetty-parent:2
+org.mortbay.jetty:jetty-parent:1
+org.mortbay.jetty:extratests:6.1.0pre0
+org.mortbay.jetty:extratests:6.1.0pre3
+org.mortbay.jetty:extratests:6.1.0rc2
+org.mortbay.jetty:extratests:6.1.2rc1
+org.mortbay.jetty:extratests:6.1.1rc0
+org.mortbay.jetty:extratests:6.1.2rc0
+org.mortbay.jetty:extratests:6.1.0rc0
+org.mortbay.jetty:extratests:6.1.1rc1
+org.mortbay.jetty:extratests:6.1.0rc3
+org.mortbay.jetty:extratests:6.1.1
+org.mortbay.jetty:extratests:6.1H.4-beta
+org.mortbay.jetty:extratests:6.1.2rc2
+org.mortbay.jetty:extratests:6.1.0rc1
+org.mortbay.jetty:extratests:6.1.2pre1
+org.mortbay.jetty:extratests:6.1.0
+org.mortbay.jetty:extratests:6.1.2pre0
+org.mortbay.jetty:extratests:6.1.0pre1
+org.mortbay.jetty:extratests:6.1.0pre2
+org.mortbay.jetty:cometd-project:6.1.12.rc3
+org.mortbay.jetty:cometd-project:6.1.12.rc4
+org.mortbay.jetty:cometd-project:6.1.12.rc2
+org.mortbay.jetty:cometd-project:6.1.14
+org.mortbay.jetty:cometd-project:6.1.12.rc5
+org.mortbay.jetty:cometd-project:6.1.12
+org.mortbay.jetty:cometd-project:7.0.0pre3
+org.kohsuke.stapler:stapler:1.58
+org.kohsuke.stapler:stapler:1.48
+org.kohsuke.stapler:stapler:1.34
+org.kohsuke.stapler:stapler:1.61
+org.kohsuke.stapler:stapler:1.66
+org.kohsuke.stapler:stapler:1.56
+org.kohsuke.stapler:stapler:1.28
+org.kohsuke.stapler:stapler:1.44
+org.kohsuke.stapler:stapler:1.76
+org.kohsuke.stapler:stapler:1.82
+org.kohsuke.stapler:stapler:1.79
+org.kohsuke.stapler:stapler:1.78
+org.kohsuke.stapler:stapler:1.38
+org.kohsuke.stapler:stapler:1.49
+org.kohsuke.stapler:stapler:1.72
+org.kohsuke.stapler:stapler:1.36
+org.kohsuke.stapler:stapler:1.47
+org.kohsuke.stapler:stapler:1.80
+org.kohsuke.stapler:stapler:1.59
+org.kohsuke.stapler:stapler:1.62
+org.kohsuke.stapler:stapler:1.70
+org.kohsuke.stapler:stapler:1.60
+org.kohsuke.stapler:stapler:1.69
+org.kohsuke.stapler:stapler:1.39
+org.kohsuke.stapler:stapler:1.42
+org.kohsuke.stapler:stapler:1.52
+org.kohsuke.stapler:stapler:1.67
+org.kohsuke.stapler:stapler:1.86
+org.kohsuke.stapler:stapler:1.50
+org.kohsuke.stapler:stapler:1.85
+org.kohsuke.stapler:stapler:1.45
+org.kohsuke.stapler:stapler:1.29
+org.kohsuke.stapler:stapler:1.68
+org.kohsuke.stapler:stapler:1.27
+org.kohsuke.stapler:stapler:1.63
+org.kohsuke.stapler:stapler:1.55
+org.kohsuke.stapler:stapler:1.25
+org.kohsuke.stapler:stapler:1.26
+org.kohsuke.stapler:stapler:1.54
+org.kohsuke.stapler:stapler:1.71
+org.kohsuke.stapler:stapler:1.84
+org.kohsuke.stapler:stapler:1.87
+org.kohsuke.stapler:stapler:1.41
+org.kohsuke.stapler:stapler:1.64
+org.kohsuke.stapler:stapler:1.73
+org.kohsuke.stapler:stapler:1.40
+org.kohsuke.stapler:stapler:1.75
+org.kohsuke.stapler:stapler:1.33
+org.kohsuke.stapler:stapler:1.57
+org.kohsuke.stapler:stapler:1.83
+org.kohsuke.stapler:stapler:1.43
+org.kohsuke.stapler:stapler:1.46
+org.kohsuke.stapler:stapler:1.74
+org.kohsuke.stapler:stapler:1.81
+org.kohsuke.stapler:stapler:1.30
+org.kohsuke.stapler:stapler:1.53
+org.kohsuke.stapler:stapler:1.37
+org.kohsuke.stapler:stapler:1.77
+org.kohsuke.stapler:stapler:1.32
+org.kohsuke.stapler:stapler:1.51
+org.kohsuke.stapler:stapler:1.31
+org.kohsuke.stapler:stapler:1.65
+org.kohsuke.stapler:stapler:1.35
+org.kohsuke.stapler:maven-stapler-plugin:1.1
+org.kohsuke.stapler:maven-stapler-plugin:1.6
+org.kohsuke.stapler:maven-stapler-plugin:1.2
+org.kohsuke.stapler:maven-stapler-plugin:1.3
+org.kohsuke.stapler:maven-stapler-plugin:1.0
+org.kohsuke.stapler:maven-stapler-plugin:1.7
+org.kohsuke.stapler:json-lib:2.1
+org.kohsuke:graphviz-api:1.0
+org.kohsuke:graph-layouter:1.0
+org.kohsuke:trilead-putty-extension:1.0
+org.kohsuke:bokobai:1.0
+org.ini4j:ini4j:0.3.1
+org.ini4j:ini4j:0.3.2
+org.easyb:maven-parent:0.8
+org.easyb:maven-parent:0.9
+org.easyb:easyb-dbunit-plugin:0.8
+org.easyb:easyb-dbunit-plugin:0.7
+org.easyb:easyb-dbunit-plugin:0.9
+org.easyb:maven-easyb-plugin:0.7
+org.easyb:easyb:0.8
+org.easyb:easyb:0.7
+org.easyb:easyb:0.9
+org.jmock:jmock-parent:2.1.0-RC4
+org.jmock:jmock-parent:2.5.0
+org.jmock:jmock-parent:2.1.0
+org.jmock:jmock-parent:2.4.0
+org.jmock:jmock-parent:2.0.0
+org.jmock:jmock-parent:2.2.0
+org.jmock:jmock-parent:2.5.1
+org.jmock:jmock-parent:2.2.0-RC1
+org.jmock:jmock-parent:2.5.0.1
+org.jmock:jmock-parent:2.5.0-RC1
+org.openid4java:openid4java:0.9.3
+org.openid4java:openid4java:0.9.2
+org.javolution:javolution:5.2.6
+org.javolution:javolution:5.2.3
+org.python:jython:2.2-beta1
+org.python:jython:2.2.1
+org.python:jython:2.2-rc1
+org.python:jython:2.2-rc3
+org.python:jython:2.2-beta2
+org.python:jython:2.2
+org.jboss.envers:jboss-envers:1.0.0.GA
+gr.spinellis:ckjm:1.8
+gr.spinellis:ckjm:1.8.1
+gr.spinellis:UmlGraph:4.6
+gr.spinellis:UmlGraph:4.5
+gr.spinellis:UmlGraph:4.4
+gr.abiss.mvn.plugins:maven-jstools-plugin:0.3
+gr.abiss.mvn.plugins:maven-jstools-plugin:0.6
+gr.abiss.mvn.plugins:maven-jstools-plugin:0.4
+gr.abiss.mvn.plugins:maven-jstools-plugin:0.7
+gr.abiss.mvn.plugins:maven-jstools-plugin:0.5
+gr.abiss.xcluder:xcluder:0.9.2
+gr.abiss.md4j:md4j:0.2
+gr.abiss.js:sarissa:0.9.9.1
+gr.abiss.js:sarissa:0.9.9.4
+gr.abiss.js:sarissa:0.9.9.2
+gr.abiss.js:sarissa:0.9.9
+gr.abiss.js:sarissa:0.9.9.3
+skinlf:skinlf:1.2.3
+xml-apis:xml-apis:1.3.03
+xml-apis:xml-apis:1.3.04
+xml-apis:xml-apis:2.0.2
+xml-apis:xml-apis:2.0.0
+xml-apis:xml-apis:1.3.02
+xml-apis:xml-apis:1.0.b2
+xml-apis:xmlParserAPIs:2.0.2
+xml-apis:xmlParserAPIs:2.0.0
+xml-apis:xml-apis-ext:1.3.04
+simple-jms:simple-jms:0.1
+statcvs:maven-statcvs-plugin:2.3
+statcvs:maven-statcvs-plugin:2.4
+statcvs:maven-statcvs-plugin:3.0
+statcvs:maven-statcvs-plugin:2.7
+statcvs:maven-statcvs-plugin:2.5
+statcvs:maven-statcvs-plugin:2.6
+statcvs:statcvs-xml:0.9.0
+statcvs:statcvs-xml:0.9.6
+statcvs:statcvs-xml:0.9.7
+statcvs:statcvs-xml:0.9.4
+statcvs:statcvs-xml:0.9.5
+statcvs:statcvs-xml:0.9.3
+statcvs:statcvs:0.1.3
+statcvs:statcvs:0.1.2a
+p2psockets:p2psockets-core:1.1.2
+axis:axis-wsdl4j:1.2
+axis:axis-wsdl4j:1.2-beta-3
+axis:axis-wsdl4j:1.3
+axis:axis-wsdl4j:1.2.1
+axis:axis-wsdl4j:1.2-RC3
+axis:axis-wsdl4j:1.2-RC2
+axis:axis-wsdl4j:1.5.1
+axis:axis-wsdl4j:1.2-beta-2
+axis:axis-wsdl4j:1.2-RC1
+axis:axis-schema:1.3
+axis:axis-saaj:1.2
+axis:axis-saaj:1.2-beta-3
+axis:axis-saaj:1.3
+axis:axis-saaj:1.2-alpha-1
+axis:axis-saaj:1.2.1
+axis:axis-saaj:1.2-RC3
+axis:axis-saaj:1.2-RC2
+axis:axis-saaj:1.4
+axis:axis-saaj:1.2-beta-2
+axis:axis-saaj:1.2-RC1
+axis:axis:1.1
+axis:axis:1.2
+axis:axis:1.2-beta-3
+axis:axis:1.3
+axis:axis:1.0
+axis:axis:1.2-alpha-1
+axis:axis:1.1-beta
+axis:axis:1.2.1
+axis:axis:1.2-RC3
+axis:axis:1.2-RC2
+axis:axis:1.4
+axis:axis:1.2-beta-2
+axis:axis:1.2-RC1
+axis:axis-ant:1.1
+axis:axis-ant:1.2
+axis:axis-ant:1.2-beta-3
+axis:axis-ant:1.3
+axis:axis-ant:1.2.1
+axis:axis-ant:1.2-RC3
+axis:axis-ant:1.2-RC2
+axis:axis-ant:1.4
+axis:axis-ant:1.2-beta-2
+axis:axis-ant:1.2-RC1
+axis:axis-jaxrpc:1.2
+axis:axis-jaxrpc:1.2-beta-3
+axis:axis-jaxrpc:1.3
+axis:axis-jaxrpc:1.2-alpha-1
+axis:axis-jaxrpc:1.2.1
+axis:axis-jaxrpc:1.2-RC3
+axis:axis-jaxrpc:1.2-RC2
+axis:axis-jaxrpc:1.4
+axis:axis-jaxrpc:1.2-beta-2
+axis:axis-jaxrpc:1.2-RC1
+edenlib:edenlib:1.3
+geronimo-spec:geronimo-spec-jms:1.0-M1
+geronimo-spec:geronimo-spec-jms:1.1-rc4
+geronimo-spec:geronimo-spec-jms:1.1-rc2
+geronimo-spec:geronimo-spec-jms:1.1-rc1
+geronimo-spec:geronimo-spec-jms:1.1-rc3
+geronimo-spec:geronimo-spec-jaxr:1.0-rc2
+geronimo-spec:geronimo-spec-jaxr:1.0-rc4
+geronimo-spec:geronimo-spec-jaxr:1.0-rc1
+geronimo-spec:geronimo-spec-jaxr:1.0-rc3
+geronimo-spec:geronimo-spec-qname:1.1-rc4
+geronimo-spec:geronimo-spec-j2ee:1.0-M1
+geronimo-spec:geronimo-spec-j2ee:1.4-rc3
+geronimo-spec:geronimo-spec-j2ee:1.4-rc1
+geronimo-spec:geronimo-spec-j2ee:1.4-rc2
+geronimo-spec:geronimo-spec-j2ee:1.4-rc4
+geronimo-spec:geronimo-spec-j2ee-deployment:1.0-M1
+geronimo-spec:geronimo-spec-j2ee-deployment:1.1-rc4
+geronimo-spec:geronimo-spec-j2ee-deployment:1.1-rc2
+geronimo-spec:geronimo-spec-j2ee-deployment:1.1-rc1
+geronimo-spec:geronimo-spec-j2ee-deployment:1.1-rc3
+geronimo-spec:geronimo-spec-activation:1.0.2-rc1
+geronimo-spec:geronimo-spec-activation:1.0.2-rc3
+geronimo-spec:geronimo-spec-activation:1.0.2-rc2
+geronimo-spec:geronimo-spec-activation:1.0.2-rc4
+geronimo-spec:geronimo-spec-j2ee-management:1.0-M1
+geronimo-spec:geronimo-spec-j2ee-management:1.0-rc2
+geronimo-spec:geronimo-spec-j2ee-management:1.0-rc4
+geronimo-spec:geronimo-spec-j2ee-management:1.0-rc1
+geronimo-spec:geronimo-spec-j2ee-management:1.0-rc3
+geronimo-spec:geronimo-spec-servlet:2.4-rc2
+geronimo-spec:geronimo-spec-servlet:1.0-M1
+geronimo-spec:geronimo-spec-servlet:2.4-rc1
+geronimo-spec:geronimo-spec-servlet:2.4-rc3
+geronimo-spec:geronimo-spec-servlet:2.4-rc4
+geronimo-spec:geronimo-spec-jaxrpc:1.1-rc4
+geronimo-spec:geronimo-spec-javamail:1.3.1-rc1
+geronimo-spec:geronimo-spec-javamail:1.3.1-rc4
+geronimo-spec:geronimo-spec-javamail:1.3.1-rc3
+geronimo-spec:geronimo-spec-javamail:1.3.1-rc5
+geronimo-spec:geronimo-spec-javamail:1.3.1-rc2
+geronimo-spec:geronimo-spec-jsp:1.0-M1
+geronimo-spec:geronimo-spec-jsp:2.0-rc4
+geronimo-spec:geronimo-spec-jsp:2.0-rc3
+geronimo-spec:geronimo-spec-jsp:2.0-rc2
+geronimo-spec:geronimo-spec-jsp:2.0-rc1
+geronimo-spec:geronimo-spec-ejb:1.0-M1
+geronimo-spec:geronimo-spec-ejb:2.1-rc1
+geronimo-spec:geronimo-spec-ejb:2.1-rc4
+geronimo-spec:geronimo-spec-ejb:2.1-rc3
+geronimo-spec:geronimo-spec-ejb:2.1-rc2
+geronimo-spec:geronimo-spec-jta:1.0-M1
+geronimo-spec:geronimo-spec-jta:1.0.1B-rc2
+geronimo-spec:geronimo-spec-jta:1.0.1B-rc4
+geronimo-spec:geronimo-spec-jta:1.0.1B-rc1
+geronimo-spec:geronimo-spec-jta:1.0.1B-rc3
+geronimo-spec:geronimo-spec-j2eeschema:1.0-M1
+geronimo-spec:geronimo-spec-saaj:1.1-rc4
+geronimo-spec:geronimo-spec-j2ee-jacc:1.0-M1
+geronimo-spec:geronimo-spec-j2ee-jacc:1.0-rc2
+geronimo-spec:geronimo-spec-j2ee-jacc:1.0-rc4
+geronimo-spec:geronimo-spec-j2ee-jacc:1.0-rc1
+geronimo-spec:geronimo-spec-j2ee-jacc:1.0-rc3
+geronimo-spec:geronimo-spec-corba:2.3-rc4
+geronimo-spec:geronimo-spec-j2ee-connector:1.0-M1
+geronimo-spec:geronimo-spec-j2ee-connector:1.5-rc1
+geronimo-spec:geronimo-spec-j2ee-connector:1.5-rc2
+geronimo-spec:geronimo-spec-j2ee-connector:1.5-rc3
+geronimo-spec:geronimo-spec-j2ee-connector:1.5-rc4
+findbugs:bcel:5.1
+findbugs:findbugs-ant:0.6.5
+findbugs:findbugs-ant:0.9.6
+findbugs:findbugs-ant:0.8.2
+findbugs:findbugs-ant:0.9.1
+findbugs:findbugs-ant:0.9.4
+findbugs:findbugs-ant:1.0.0
+findbugs:findbugs-ant:0.7.0
+findbugs:findbugs-ant:0.9.3
+findbugs:findbugs-ant:0.7.1
+findbugs:findbugs-ant:0.8.4
+findbugs:findbugs-ant:0.7.2
+findbugs:findbugs-ant:0.6.4
+findbugs:coreplugin:0.9.6
+findbugs:coreplugin:0.9.1
+findbugs:coreplugin:0.9.4
+findbugs:coreplugin:1.0.0
+findbugs:coreplugin:0.9.3
+findbugs:coreplugin:0.8.4
+findbugs:findbugs-coreplugin:0.6.5
+findbugs:findbugs-coreplugin:0.8.2
+findbugs:findbugs-coreplugin:0.7.0
+findbugs:findbugs-coreplugin:0.7.1
+findbugs:findbugs-coreplugin:0.8.4
+findbugs:findbugs-coreplugin:0.7.2
+findbugs:findbugs:0.6.5
+findbugs:findbugs:0.9.6
+findbugs:findbugs:0.8.2
+findbugs:findbugs:0.9.1
+findbugs:findbugs:0.9.4
+findbugs:findbugs:1.0.0
+findbugs:findbugs:0.7.0
+findbugs:findbugs:0.9.3
+findbugs:findbugs:0.7.1
+findbugs:findbugs:0.8.4
+findbugs:findbugs:0.7.2
+findbugs:findbugs:0.6.4
+findbugs:findbugs-bcel:0.6.5
+findbugs:findbugs-bcel:0.8.2
+findbugs:findbugs-bcel:0.7.1
+findbugs:findbugs-bcel:0.8.4
+findbugs:findbugs-bcel:0.7.2
+findbugs:findbugsGUI:0.6.5
+findbugs:findbugsGUI:0.9.6
+findbugs:findbugsGUI:0.9.1
+findbugs:findbugsGUI:0.9.4
+findbugs:findbugsGUI:1.0.0
+findbugs:findbugsGUI:0.9.3
+findbugs:findbugsGUI:0.8.4
+findbugs:findbugsGUI:0.7.2
+findbugs:findbugsGUI:0.6.4
+findbugs:annotations:0.9.6
+findbugs:annotations:0.9.4
+findbugs:annotations:1.0.0
+findbugs:annotations:0.9.3
+cryptix:cryptix:3.2.0
+wicket:wicket-extensions:1.1
+wicket:wicket-extensions:1.2-rc3
+wicket:wicket-extensions:1.1-b1
+wicket:wicket-extensions:1.0.0-rc1
+wicket:wicket-extensions:1.2
+wicket:wicket-extensions:1.1-b2
+wicket:wicket-extensions:1.1.1
+wicket:wicket-extensions:0.9.18-beta
+wicket:wicket-extensions:1.0
+wicket:wicket-extensions:1.0.0-rc2
+wicket:wicket-extensions:1.0.1
+wicket:wicket-extensions:1.0.0-rc3
+wicket:wicket-extensions:1.1-rc2
+wicket:wicket-extensions:0.9.19-beta
+wicket:wicket-extensions:1.1-rc1
+wicket:wicket-extensions:1.2-rc4
+wicket:wicket-extensions:1.1-b4
+wicket:wicket-extensions:1.1-b3
+wicket:wicket-parent:1.2.3
+wicket:wicket-parent:1.2.7
+wicket:wicket-parent:1.2.4
+wicket:wicket-parent:1.2.6
+wicket:wicket-parent:1.2.1
+wicket:wicket-parent:1.2.2
+wicket:wicket-parent:1.2.5
+wicket:wicket-spring-annot:1.2
+wicket:wicket-spring-annot:1.2-rc4
+wicket:wicket:1.1
+wicket:wicket:0.9.17-beta
+wicket:wicket:1.2-rc3
+wicket:wicket:1.1-b1
+wicket:wicket:1.0.0-rc1
+wicket:wicket:1.2
+wicket:wicket:1.1-b2
+wicket:wicket:1.0.3
+wicket:wicket:1.1.1
+wicket:wicket:0.9.18-beta
+wicket:wicket:1.0
+wicket:wicket:1.2-beta2
+wicket:wicket:0.9.16-beta
+wicket:wicket:1.0.0-rc2
+wicket:wicket:1.0.1
+wicket:wicket:0.9.14-alpha
+wicket:wicket:1.0.0-rc3
+wicket:wicket:1.0.2
+wicket:wicket:1.1-rc2
+wicket:wicket:0.9.15-beta
+wicket:wicket:0.9.19-beta
+wicket:wicket:1.1-rc1
+wicket:wicket:1.2-rc4
+wicket:wicket:1.2-beta1
+wicket:wicket:1.1-b4
+wicket:wicket:1.1-b3
+wicket:wicket-auth-roles:1.2
+wicket:wicket-auth-roles:1.2-rc4
+wicket:wicket-site-skin:1.2.6
+wicket:wicket-spring:1.2
+wicket:wicket-spring:1.2-rc4
+wicket:wicket-contrib:0.9.17-beta
+wicket:wicket-contrib:0.9.18-beta
+wicket:wicket-contrib:0.9.16-beta
+wicket:wicket-contrib:0.9.19-beta
+qdox:qdox:1.1
+qdox:qdox:1.2
+qdox:qdox:1.3
+qdox:qdox:0.1
+qdox:qdox:1.0
+qdox:qdox:1.5
+qdox:qdox:1.4
+strutstestcase:strutstestcase:1.9-1.1-2.3
+strutstestcase:strutstestcase:2.1-1.1-2.2
+strutstestcase:strutstestcase:2.1.3-1.2-2.4
+strutstestcase:strutstestcase:2.1-1.1-2.3
+strutstestcase:strutstestcase:2.1.4-1.2-2.4
+strutstestcase:strutstestcase:2.0-1.1-2.3
+strutstestcase:strutstestcase:2.1.2-1.1-2.3
+merlin:merlin-unit:3.3.0
+merlin:merlin-api:3.3.0
+merlin:merlin-impl:3.3.0
+merlin:merlin-cli:3.3.0
+merlin:merlin-plugin:3.3.0
+subshell:subpersistence:0.8.2
+xmlwriter:xmlwriter:2.2.2
+xmlwriter:xmlwriter:2.0
+xmlwriter:xmlwriter:2.2.1
+xmlwriter:xmlwriter:2.1
+xmlwriter:xmlwriter:2.2
+apache-jaxme:jaxme-incubation:0.2
+apache-jaxme:jaxme-rt-incubation:0.2
+apache-jaxme:jaxmepm-incubation:0.2
+apache-jaxme:jaxmejs-incubation:0.2
+apache-jaxme:jaxmeapi-incubation:0.2
+apache-jaxme:jaxmexs-incubation:0.2
+jetty:org.mortbay.jetty.plus:5.1.3rc4
+jetty:org.mortbay.jetty.plus:5.1.5rc0
+jetty:org.mortbay.jetty.plus:5.1.3
+jetty:org.mortbay.jetty.plus:5.1.5
+jetty:org.mortbay.jetty.plus:5.1.5rc1
+jetty:org.mortbay.jetty.plus:5.1.8
+jetty:org.mortbay.jetty.plus:5.1.0
+jetty:org.mortbay.jetty.plus:4.2.23RC0
+jetty:org.mortbay.jetty.plus:5.0.RC0
+jetty:org.mortbay.jetty.plus:5.1.5rc3
+jetty:org.mortbay.jetty.plus:5.1.3rc3
+jetty:org.mortbay.jetty.plus:5.1.4
+jetty:org.mortbay.jetty.plus:5.1.9
+jetty:org.mortbay.jetty.plus:5.1.2
+jetty:org.mortbay.jetty.plus:4.2.23
+jetty:org.mortbay.jetty.plus:5.1.5rc2
+jetty:org.mortbay.jetty.plus:5.1.7
+jetty:org.mortbay.jetty.plus:4.2.20
+jetty:org.mortbay.jetty.plus:5.1.7rc0
+jetty:org.mortbay.jetty.plus:5.1.1RC0
+jetty:org.mortbay.jetty.plus:5.1.4rc0
+jetty:org.mortbay.jetty.plus:5.1.2pre0
+jetty:org.mortbay.jetty.plus:5.1.1
+jetty:org.mortbay.jetty.plus:5.1.10
+jetty:org.mortbay.jetty.plus:5.1.3rc2
+jetty:org.mortbay.jetty.plus:5.1.6
+jetty:org.mortbay.jetty.plus:4.2.24
+jetty:org.mortbay.jetty:5.1.G0
+jetty:org.mortbay.jetty:4.2.21
+jetty:org.mortbay.jetty:5.0.0
+jetty:org.mortbay.jetty:5.0.beta0
+jetty:org.mortbay.jetty:4.2.15
+jetty:org.mortbay.jetty:5.1.3rc4
+jetty:org.mortbay.jetty:5.1.5rc0
+jetty:org.mortbay.jetty:5.0.alpha3
+jetty:org.mortbay.jetty:5.1.3
+jetty:org.mortbay.jetty:4.2.14
+jetty:org.mortbay.jetty:5.1.5
+jetty:org.mortbay.jetty:5.1.RC0
+jetty:org.mortbay.jetty:4.2.22
+jetty:org.mortbay.jetty:5.1.5rc1
+jetty:org.mortbay.jetty:5.1.8
+jetty:org.mortbay.jetty:5.1.0
+jetty:org.mortbay.jetty:4.2.23RC0
+jetty:org.mortbay.jetty:5.0.RC1
+jetty:org.mortbay.jetty:5.0.RC0
+jetty:org.mortbay.jetty:5.1.5rc3
+jetty:org.mortbay.jetty:5.1.3rc3
+jetty:org.mortbay.jetty:5.1.4
+jetty:org.mortbay.jetty:6.0.0alpha2
+jetty:org.mortbay.jetty:5.1.9
+jetty:org.mortbay.jetty:5.1.2
+jetty:org.mortbay.jetty:4.2.23
+jetty:org.mortbay.jetty:5.1.5rc2
+jetty:org.mortbay.jetty:5.0.alpha1
+jetty:org.mortbay.jetty:5.1.7
+jetty:org.mortbay.jetty:5.0.RC3
+jetty:org.mortbay.jetty:4.2.20
+jetty:org.mortbay.jetty:5.1.7rc0
+jetty:org.mortbay.jetty:5.1.1RC0
+jetty:org.mortbay.jetty:5.1.4rc0
+jetty:org.mortbay.jetty:5.1.2pre0
+jetty:org.mortbay.jetty:5.1.1
+jetty:org.mortbay.jetty:5.0.RC2
+jetty:org.mortbay.jetty:5.1.10
+jetty:org.mortbay.jetty:5.1.G1
+jetty:org.mortbay.jetty:5.1.3rc2
+jetty:org.mortbay.jetty:4.2.20RC0
+jetty:org.mortbay.jetty:4.2.17
+jetty:org.mortbay.jetty:6.0.0alpha3
+jetty:org.mortbay.jetty:5.1.6
+jetty:org.mortbay.jetty:4.2.24
+jetty:org.mortbay.loadbalancer:5.0.RC0
+jetty:org.mortbay.jetty.plus.resource:4.2.20
+jetty:jetty-util:6.0.0beta1
+jetty:servlet-api:2.5-6.0.0beta2
+jetty:servlet-api:2.5-6.0.0beta1
+jetty:servlet-api:2.5-6.0.0beta5
+jetty:servlet-api:2.5-6.0.0beta6
+jetty:org.mortbay.jaas:5.1.3rc4
+jetty:org.mortbay.jaas:5.1.5rc0
+jetty:org.mortbay.jaas:5.1.3
+jetty:org.mortbay.jaas:5.1.5
+jetty:org.mortbay.jaas:5.1.5rc1
+jetty:org.mortbay.jaas:5.1.8
+jetty:org.mortbay.jaas:5.1.0
+jetty:org.mortbay.jaas:4.2.23RC0
+jetty:org.mortbay.jaas:5.0.RC0
+jetty:org.mortbay.jaas:5.1.5rc3
+jetty:org.mortbay.jaas:5.1.3rc3
+jetty:org.mortbay.jaas:5.1.4
+jetty:org.mortbay.jaas:5.1.9
+jetty:org.mortbay.jaas:5.1.2
+jetty:org.mortbay.jaas:4.2.23
+jetty:org.mortbay.jaas:5.1.5rc2
+jetty:org.mortbay.jaas:5.1.7
+jetty:org.mortbay.jaas:4.2.20
+jetty:org.mortbay.jaas:5.1.7rc0
+jetty:org.mortbay.jaas:5.1.1RC0
+jetty:org.mortbay.jaas:5.1.4rc0
+jetty:org.mortbay.jaas:5.1.2pre0
+jetty:org.mortbay.jaas:5.1.1
+jetty:org.mortbay.jaas:5.1.10
+jetty:org.mortbay.jaas:5.1.3rc2
+jetty:org.mortbay.jaas:5.1.6
+jetty:org.mortbay.jaas:4.2.24
+jetty:org.mortbay.jmx-jdk1.2:5.0.RC0
+jetty:org.mortbay.jmx-jdk1.2:4.2.20
+jetty:jetty:4.2.2
+jetty:jetty:6.0.0beta6
+jetty:jetty:4.2.12
+jetty:jetty:4.1-rc6
+jetty:jetty:4.2.3
+jetty:jetty:6.0.0beta5
+jetty:jetty:6.0.0beta1
+jetty:jetty:5.1.10
+jetty:jetty:4.2.9
+jetty:jetty:6.0.0beta2
+jetty:jetty:4.2.27
+jetty:jetty:4.1-rc1
+jetty:jetty:4.2.1.0
+jetty:org.mortbay.ftp:5.1.3rc4
+jetty:org.mortbay.ftp:5.1.5rc0
+jetty:org.mortbay.ftp:5.1.3
+jetty:org.mortbay.ftp:5.1.5
+jetty:org.mortbay.ftp:5.1.5rc1
+jetty:org.mortbay.ftp:5.1.8
+jetty:org.mortbay.ftp:5.1.0
+jetty:org.mortbay.ftp:4.2.23RC0
+jetty:org.mortbay.ftp:5.0.RC0
+jetty:org.mortbay.ftp:5.1.5rc3
+jetty:org.mortbay.ftp:5.1.3rc3
+jetty:org.mortbay.ftp:5.1.4
+jetty:org.mortbay.ftp:5.1.9
+jetty:org.mortbay.ftp:5.1.2
+jetty:org.mortbay.ftp:4.2.23
+jetty:org.mortbay.ftp:5.1.5rc2
+jetty:org.mortbay.ftp:5.1.7
+jetty:org.mortbay.ftp:4.2.20
+jetty:org.mortbay.ftp:5.1.7rc0
+jetty:org.mortbay.ftp:5.1.1RC0
+jetty:org.mortbay.ftp:5.1.4rc0
+jetty:org.mortbay.ftp:5.1.2pre0
+jetty:org.mortbay.ftp:5.1.1
+jetty:org.mortbay.ftp:5.1.10
+jetty:org.mortbay.ftp:5.1.3rc2
+jetty:org.mortbay.ftp:5.1.6
+jetty:org.mortbay.ftp:4.2.24
+jetty:org.mortbay.jsr77:5.1.3rc4
+jetty:org.mortbay.jsr77:5.1.5rc0
+jetty:org.mortbay.jsr77:5.1.3
+jetty:org.mortbay.jsr77:5.1.5
+jetty:org.mortbay.jsr77:5.1.5rc1
+jetty:org.mortbay.jsr77:5.1.8
+jetty:org.mortbay.jsr77:5.1.0
+jetty:org.mortbay.jsr77:5.1.5rc3
+jetty:org.mortbay.jsr77:5.1.3rc3
+jetty:org.mortbay.jsr77:5.1.4
+jetty:org.mortbay.jsr77:5.1.9
+jetty:org.mortbay.jsr77:5.1.2
+jetty:org.mortbay.jsr77:5.1.5rc2
+jetty:org.mortbay.jsr77:5.1.7
+jetty:org.mortbay.jsr77:5.1.7rc0
+jetty:org.mortbay.jsr77:5.1.1RC0
+jetty:org.mortbay.jsr77:5.1.4rc0
+jetty:org.mortbay.jsr77:5.1.2pre0
+jetty:org.mortbay.jsr77:5.1.1
+jetty:org.mortbay.jsr77:5.1.10
+jetty:org.mortbay.jsr77:5.1.3rc2
+jetty:org.mortbay.jsr77:5.1.6
+jetty:org.mortbay.jmx:4.2.21
+jetty:org.mortbay.jmx:5.0.0
+jetty:org.mortbay.jmx:5.0.beta0
+jetty:org.mortbay.jmx:5.1.3rc4
+jetty:org.mortbay.jmx:5.1.5rc0
+jetty:org.mortbay.jmx:5.1.3
+jetty:org.mortbay.jmx:4.2.14
+jetty:org.mortbay.jmx:5.1.5
+jetty:org.mortbay.jmx:5.1.RC0
+jetty:org.mortbay.jmx:4.2.22
+jetty:org.mortbay.jmx:5.1.5rc1
+jetty:org.mortbay.jmx:5.1.8
+jetty:org.mortbay.jmx:5.1.0
+jetty:org.mortbay.jmx:4.2.23RC0
+jetty:org.mortbay.jmx:5.0.RC1
+jetty:org.mortbay.jmx:5.0.RC0
+jetty:org.mortbay.jmx:5.1.5rc3
+jetty:org.mortbay.jmx:5.1.3rc3
+jetty:org.mortbay.jmx:5.1.4
+jetty:org.mortbay.jmx:5.1.9
+jetty:org.mortbay.jmx:5.1.2
+jetty:org.mortbay.jmx:4.2.23
+jetty:org.mortbay.jmx:5.1.5rc2
+jetty:org.mortbay.jmx:5.0.alpha1
+jetty:org.mortbay.jmx:5.1.7
+jetty:org.mortbay.jmx:5.0.RC3
+jetty:org.mortbay.jmx:4.2.20
+jetty:org.mortbay.jmx:5.1.7rc0
+jetty:org.mortbay.jmx:5.1.1RC0
+jetty:org.mortbay.jmx:5.1.4rc0
+jetty:org.mortbay.jmx:5.1.2pre0
+jetty:org.mortbay.jmx:5.1.1
+jetty:org.mortbay.jmx:5.0.RC2
+jetty:org.mortbay.jmx:5.1.10
+jetty:org.mortbay.jmx:5.1.3rc2
+jetty:org.mortbay.jmx:5.1.6
+jetty:org.mortbay.jmx:4.2.24
+jetty:org.jboss.jetty:5.0.RC0
+jetty:start:5.0.alpha1
+jetty:start:5.1.10
+jetty:start:4.2.27
+jetty:stop:5.0.alpha1
+jetty:stop:5.1.10
+jetty:stop:4.2.27
+jetty:org.mortbay.j2ee:5.0.RC0
+jetty:org.mortbay.j2ee:4.2.20
+jetty:javadoc:4.2.23RC0
+jetty:jasper-runtime:4.2.20RC0
+jetty:org.mortbay.jetty-jdk1.2:5.1.3rc4
+jetty:org.mortbay.jetty-jdk1.2:5.1.5rc0
+jetty:org.mortbay.jetty-jdk1.2:5.1.3
+jetty:org.mortbay.jetty-jdk1.2:5.1.5
+jetty:org.mortbay.jetty-jdk1.2:5.1.5rc1
+jetty:org.mortbay.jetty-jdk1.2:5.1.8
+jetty:org.mortbay.jetty-jdk1.2:5.1.0
+jetty:org.mortbay.jetty-jdk1.2:4.2.23RC0
+jetty:org.mortbay.jetty-jdk1.2:5.0.RC0
+jetty:org.mortbay.jetty-jdk1.2:5.1.5rc3
+jetty:org.mortbay.jetty-jdk1.2:5.1.3rc3
+jetty:org.mortbay.jetty-jdk1.2:5.1.4
+jetty:org.mortbay.jetty-jdk1.2:5.1.9
+jetty:org.mortbay.jetty-jdk1.2:5.1.2
+jetty:org.mortbay.jetty-jdk1.2:4.2.23
+jetty:org.mortbay.jetty-jdk1.2:5.1.5rc2
+jetty:org.mortbay.jetty-jdk1.2:5.1.7
+jetty:org.mortbay.jetty-jdk1.2:4.2.20
+jetty:org.mortbay.jetty-jdk1.2:5.1.7rc0
+jetty:org.mortbay.jetty-jdk1.2:5.1.1RC0
+jetty:org.mortbay.jetty-jdk1.2:5.1.4rc0
+jetty:org.mortbay.jetty-jdk1.2:5.1.2pre0
+jetty:org.mortbay.jetty-jdk1.2:5.1.1
+jetty:org.mortbay.jetty-jdk1.2:5.1.10
+jetty:org.mortbay.jetty-jdk1.2:5.1.3rc2
+jetty:org.mortbay.jetty-jdk1.2:5.1.6
+jetty:org.mortbay.jetty-jdk1.2:4.2.24
+jetty:jasper-compiler:4.2.20RC0
+echoserver:echoserver:1.0.3
+echo:echoserver:1.0.3
+myfaces:myfaces-wap:1.0.9rc3
+myfaces:myfaces-wap:1.0.9
+myfaces:myfaces-xdoclet:1.0.9rc3
+myfaces:myfaces-xdoclet:1.0.9
+myfaces:myfaces-impl:1.1.1
+myfaces:myfaces-impl:1.0.9rc3
+myfaces:myfaces-impl:1.1.0
+myfaces:myfaces-impl:1.0.9
+myfaces:myfaces-extensions:1.0.9rc3
+myfaces:myfaces-extensions:1.0.9
+myfaces:myfaces-jsf-api:1.0.9rc3
+myfaces:myfaces-jsf-api:1.0.8-beta
+myfaces:myfaces-jsf-api:1.0.9
+myfaces:myfaces:1.0.9rc3
+myfaces:myfaces:1.0.9
+myfaces:myfaces-parent:1.1.1
+myfaces:myfaces-parent:1.1.0
+myfaces:tomahawk:1.1.1
+myfaces:tomahawk:1.1.0
+velocity-tools:velocity-tools:1.1
+velocity-tools:velocity-tools:1.2
+velocity-tools:velocity-tools:1.0
+velocity-tools:velocity-tools-generic:1.1
+velocity-tools:velocity-tools-generic:1.2
+velocity-tools:velocity-tools-generic:1.0
+velocity-tools:velocity-tools-view:1.2
+velocity-tools:velocity-tools-view:1.1
+velocity-tools:velocity-tools-view:1.2
+velocity-tools:velocity-tools-view:1.3
+velocity-tools:velocity-tools-view:1.0
+ws-commons:axiom-impl:1.0
+org.apache.ws.commons.axiom:axiom-parent:SNAPSHOT
+ws-commons:axiom-api:1.0
+ws-commons:neethi:1.0.1
+jep:jep:2.24
+scout:scout:0.5
+jrexx:jrexx:1.1.1
+jug:jug:1.1
+jug:jug:2.0.0
+jug:jug:1.1.2
+dwr:dwr:1.1.3
+xml-security:xml-security:1.0.4
+xml-security:xmlsec:1.3.0
+xml-security:xmlsec:1.2.1
+xml-security:xmlsec:1.0.5D2
+xml-security:xmlsec:1.1.0
+swt:osgi:3.0.1
+swt:osgi:3.0m7
+swt:osgi:3.0m8
+swt:forms:3.0m7
+swt:forms:3.0m8
+swt:swt-win32:3.0m7
+swt:swt-win32:3.0m8
+swt:swt-win32:2.1.0
+swt:swt-linux-gtk:3.0.1
+swt:swt-linux-gtk:3.0m7
+swt:swt-linux-gtk:3.0m8
+swt:jface:3.0.1
+swt:jface:3.0m7
+swt:jface:3.0m8
+swt:swt-gtk-mozilla:3.0.1
+swt:swt-gtk-mozilla:3.0m8
+swt:swt-macosx:3.0m7
+swt:swt-linux-gtk-pi:3.0.1
+swt:swt-linux-gtk-pi:3.0m7
+swt:swt-mozilla:3.0m7
+swt:runtime:3.0.1
+swt:runtime:3.0m7
+swt:runtime:3.0m8
+tanukisoft:wrapper:3.2.0
+tanukisoft:wrapper:3.1.2
+tanukisoft:wrapper:3.2.3
+tanukisoft:wrapper:3.1.0
+tanukisoft:wrapper-delta-pack:3.2.3
+saxpath:saxpath:1.0-FCS
+jtidy:jtidy:4aug2000r7-dev
+woodstox:wstx-lgpl:3.2.0
+woodstox:wstx-lgpl:2.8
+woodstox:wstx-lgpl:2.0rc2
+woodstox:wstx-lgpl:2.0
+woodstox:wstx-lgpl:2.8.2
+woodstox:wstx-lgpl:2.0.4
+woodstox:wstx-lgpl:2.7
+woodstox:wstx-lgpl:2.6
+woodstox:wstx-lgpl:2.0.2
+woodstox:wstx-lgpl:2.0.1
+woodstox:wstx-lgpl:1.9
+woodstox:wstx-lgpl:2.0rc3
+woodstox:wstx-lgpl:2.9
+woodstox:wstx-lgpl:2.0.5
+woodstox:wstx-lgpl:1.0.7
+woodstox:wstx-lgpl:1.8.2
+woodstox:wstx-lgpl:2.0.3
+woodstox:wstx-asl:3.2.0
+woodstox:wstx-asl:2.8
+woodstox:wstx-asl:2.0rc2
+woodstox:wstx-asl:2.0
+woodstox:wstx-asl:2.8.2
+woodstox:wstx-asl:2.0.4
+woodstox:wstx-asl:2.7
+woodstox:wstx-asl:2.6
+woodstox:wstx-asl:2.9.3
+woodstox:wstx-asl:2.0.2
+woodstox:wstx-asl:2.0.1
+woodstox:wstx-asl:1.9
+woodstox:wstx-asl:2.0rc3
+woodstox:wstx-asl:2.9
+woodstox:wstx-asl:2.0.5
+woodstox:wstx-asl:1.8.2
+woodstox:wstx-asl:2.0.3
+woodstox:wstx:src
+woodstox:wstx-api:2.8.2
+woodstox:wstx-api:2.9
+tagishauth:tagishauth:1.0.3
+tagishauth:tagishauth:1.0.2
+gsbase:gsbase:2.0
+gsbase:gsbase:2.0.1
+HTTPClient:HTTPClient:0.3-3
+servlets.com:cos:05Nov2002
+icu:icu4j:2.6.1
+excalibur-concurrent:excalibur-concurrent:20020820
+excalibur-concurrent:excalibur-concurrent:1.0
+burlap:burlap:2.1.7
+commons-chain:commons-chain:1.1
+commons-chain:commons-chain:1.2
+commons-chain:commons-chain:1.0
+tagsoup:tagsoup:0.9.7
+ca.odell:glazedlists:0.9.7
+dsh-vocabulary:dsh-vocabulary:1.1
+dsh-vocabulary:dsh-vocabulary:1.0
+ws-commons-util:ws-commons-util:1.0
+org.apache.ws.commons:ws-commons-util:1.0.1
+commons-graph:commons-graph:0.8
+commons-graph:commons-graph:0.8.1
+avalon-activation:avalon-activation-impl:1.0b2
+avalon-activation:avalon-activation-impl:1.2.3
+avalon-activation:avalon-activation-impl:1.2.4
+avalon-activation:avalon-activation-impl:1.2.6
+avalon-activation:avalon-activation-impl:2.0.0
+avalon-activation:avalon-activation-impl:2.0.dev-0
+avalon-activation:avalon-activation-impl:1.0b1
+avalon-activation:avalon-activation-impl:1.0-beta-1-RC1
+avalon-activation:avalon-activation-impl:1.2.5
+avalon-activation:avalon-activation-spi:1.2.2
+avalon-activation:avalon-activation-spi:1.0b1
+avalon-activation:avalon-activation-spi:1.0-beta-1-RC1
+avalon-activation:avalon-activation-api:1.2.1
+avalon-activation:avalon-activation-api:2.0.0
+avalon-activation:avalon-activation-api:1.2.2
+avalon-activation:avalon-activation-api:2.0.dev-0
+avalon-activation:avalon-activation-api:1.0b1
+avalon-activation:avalon-activation-api:1.0-beta-1-RC1
+xdoclet-plugins:xdoclet-plugin-jdo:1.0.3
+xdoclet-plugins:xdoclet-plugin-jdo:1.0
+xdoclet-plugins:xdoclet-plugin-jdo:1.0.1
+xdoclet-plugins:xdoclet-plugin-jdo:1.0.2
+xdoclet-plugins:xdoclet-plugin-actionscript:1.0.3
+xdoclet-plugins:xdoclet-plugin-tapestry:1.0.3
+xdoclet-plugin-tapestry:xdoclet-plugin-tapestry:1.0.2
+xdoclet-plugin-tapestry:xdoclet-plugin-tapestry:20051012.092357
+xdoclet-plugins:xdoclet-plugin-xwork:1.0.3
+xdoclet-plugins:xdoclet-plugin-xwork:1.0
+xdoclet-plugins:xdoclet-plugin-xwork:20050206.203909
+xdoclet-plugins:xdoclet-plugin-xwork:1.0.1
+xdoclet-plugins:xdoclet-plugin-xwork:1.0.2
+xdoclet-plugins:xdoclet-plugin-xwork:20050208.124803
+xdoclet-plugins:xdoclet-plugin-xwork:20050302.205934
+xdoclet-plugins:xdoclet-plugin-castor:1.0.3
+xdoclet-plugins:xdoclet-plugin-castor:20051012.090007
+xdoclet-plugins:xdoclet-plugin-castor:1.0.2
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050221.205111
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050302.201050
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050302.194047
+xdoclet-plugins:xdoclet-plugin-qtags:1.0.3
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:1.0
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050302.195629
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050302.203632
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:1.0.1
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:1.0.2
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050208.124111
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050222.201902
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20051012.085843
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050206.203425
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050302.192718
+xdoclet-plugins:xdoclet-plugin-qtags:1.0-alpha-1
+xdoclet-plugin-qtags:xdoclet-plugin-qtags:20050208.122929
+xdoclet-plugins:xdoclet-plugin-hibernate:20050302.200233
+xdoclet-plugins:xdoclet-plugin-hibernate:20050302.201930
+xdoclet-plugins:xdoclet-plugin-hibernate:20050206.203645
+xdoclet-plugins:xdoclet-plugin-hibernate:1.0.3
+xdoclet-plugins:xdoclet-plugin-hibernate:1.0
+xdoclet-plugins:xdoclet-plugin-hibernate:20050221.205720
+xdoclet-plugins:xdoclet-plugin-hibernate:20050208.123239
+xdoclet-plugins:xdoclet-plugin-hibernate:1.0.1
+xdoclet-plugins:xdoclet-plugin-hibernate:1.0.2
+xdoclet-plugins:xdoclet-plugin-hibernate:20050222.202417
+xdoclet-plugins:xdoclet-plugin-hibernate:20050302.194743
+xdoclet-plugins:xdoclet-plugin-hibernate:20050302.204438
+xdoclet-plugins:xdoclet-plugin-hibernate:1.0-alpha-1
+xdoclet-plugins:xdoclet-plugin-hibernate:20051012.090748
+xdoclet-plugins:xdoclet-plugin-hibernate:20050208.124427
+xdoclet-plugins:xdoclet-plugin-junit:1.0.3
+xdoclet-plugin-junit:xdoclet-plugin-junit:20050208.125051
+xdoclet-plugin-junit:xdoclet-plugin-junit:1.0
+xdoclet-plugin-junit:xdoclet-plugin-junit:1.0.1
+xdoclet-plugin-junit:xdoclet-plugin-junit:20050302.202940
+xdoclet-plugin-junit:xdoclet-plugin-junit:1.0.2
+xdoclet-plugin-junit:xdoclet-plugin-junit:20050302.205608
+xdoclet-plugin-junit:xdoclet-plugin-junit:20050206.204039
+xdoclet-plugins:xdoclet-plugin-junit:1.0-alpha-1
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050206.203951
+xdoclet-plugins:xdoclet-testapp-pojo:1.0.3
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050302.193102
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:1.0
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050208.124907
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:1.0.1
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:1.0.2
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050302.203507
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050302.195456
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050302.192550
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050302.200927
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050222.201754
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050221.204948
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20051012.090027
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050302.193933
+xdoclet-testapp-pojo:xdoclet-testapp-pojo:20050221.200355
+xdoclet-plugins:xdoclet-plugin-jmx:1.0.3
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:1.0
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:20050208.124707
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:1.0.1
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:1.0.2
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:20050302.205504
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:20050206.203822
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:20050208.123546
+xdoclet-plugins:xdoclet-plugin-jmx:1.0-alpha-1
+xdoclet-plugin-jmx:xdoclet-plugin-jmx:20050302.202843
+xdoclet-plugin-web:xdoclet-plugin-web:20050208.123452
+xdoclet-plugin-web:xdoclet-plugin-web:20050206.203806
+xdoclet-plugins:xdoclet-plugin-web:1.0.3
+xdoclet-plugin-web:xdoclet-plugin-web:1.0
+xdoclet-plugin-web:xdoclet-plugin-web:20050208.124643
+xdoclet-plugin-web:xdoclet-plugin-web:1.0.1
+xdoclet-plugin-web:xdoclet-plugin-web:1.0.2
+xdoclet-plugin-web:xdoclet-plugin-web:20050302.205223
+xdoclet-plugins:xdoclet-plugin-web:1.0-alpha-1
+xdoclet-plugin-web:xdoclet-plugin-web:20050302.202301
+xdoclet-plugins:xdoclet-plugin-struts:20050302.201700
+xdoclet-plugins:xdoclet-plugin-struts:20050302.200037
+xdoclet-plugins:xdoclet-plugin-struts:1.0.3
+xdoclet-plugins:xdoclet-plugin-struts:1.0
+xdoclet-plugins:xdoclet-plugin-struts:20051012.090319
+xdoclet-plugins:xdoclet-plugin-struts:20050208.125214
+xdoclet-plugins:xdoclet-plugin-struts:1.0.1
+xdoclet-plugins:xdoclet-plugin-struts:20050221.205457
+xdoclet-plugins:xdoclet-plugin-struts:20050222.202225
+xdoclet-plugins:xdoclet-plugin-struts:1.0.2
+xdoclet-plugins:xdoclet-plugin-struts:20050206.204119
+xdoclet-plugins:xdoclet-plugin-struts:20050302.204210
+xdoclet-plugins:xdoclet-plugin-struts:20050302.194532
+xdoclet-sample-web:xdoclet-sample-web:20050302.205307
+xdoclet-sample-web:xdoclet-sample-web:20050206.203813
+xdoclet-plugins:xdoclet-sample-web:1.0.3
+xdoclet-sample-web:xdoclet-sample-web:20050302.202439
+xdoclet-sample-web:xdoclet-sample-web:1.0
+xdoclet-sample-web:xdoclet-sample-web:1.0.1
+xdoclet-sample-web:xdoclet-sample-web:1.0.2
+xdoclet-sample-web:xdoclet-sample-web:20050208.124656
+xdoclet-sample-web:xdoclet-sample-web:20050208.123504
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20051012.090103
+xdoclet-plugins:xdoclet-plugin-portlet:1.0.3
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:1.0
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:1.0.1
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050221.205212
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050302.201341
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050302.203734
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:1.0.2
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050302.195748
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050302.194215
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050206.203446
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050208.124136
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050302.192813
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050222.201954
+xdoclet-plugins:xdoclet-plugin-portlet:1.0-alpha-1
+xdoclet-plugin-portlet:xdoclet-plugin-portlet:20050208.122951
+xdoclet-testapp-web:xdoclet-testapp-web:20050208.124845
+xdoclet-testapp-web:xdoclet-testapp-web:20050206.203941
+xdoclet-plugins:xdoclet-testapp-web:1.0.3
+xdoclet-testapp-web:xdoclet-testapp-web:1.0
+xdoclet-testapp-web:xdoclet-testapp-web:1.0.1
+xdoclet-testapp-web:xdoclet-testapp-web:1.0.2
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050302.203903
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20051012.090123
+xdoclet-plugins:xdoclet-testapp-portlet:1.0.3
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:1.0
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050208.123016
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:1.0.1
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050206.203454
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:1.0.2
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050221.205315
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050222.202037
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050302.195841
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050302.201435
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050302.194308
+xdoclet-testapp-portlet:xdoclet-testapp-portlet:20050208.124218
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050302.194854
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050206.204051
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050222.202531
+xdoclet-plugins:xdoclet-plugin-beaninfo:1.0.3
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050302.205104
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050302.202048
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:1.0
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20051012.090849
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050302.200450
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:1.0.1
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:1.0.2
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050221.205836
+xdoclet-plugins:xdoclet-plugin-beaninfo:1.0-alpha-1
+xdoclet-plugin-beaninfo:xdoclet-plugin-beaninfo:20050208.125139
+xdoclet-plugins:xdoclet-plugin-interfaceextractor:1.0.3
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:20050302.210043
+xdoclet-plugins:xdoclet-plugin-externalizer:1.0.3
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:20050206.203712
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:1.0
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:1.0.1
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:20050208.124508
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:1.0.2
+xdoclet-plugin-externalizer:xdoclet-plugin-externalizer:20050208.123330
+xdoclet-plugins:xdoclet-plugin-externalizer:1.0-alpha-1
+xdoclet-testapp-ejb:xdoclet-testapp-ejb:20050208.124743
+xdoclet-plugins:xdoclet-testapp-ejb:1.0.3
+xdoclet-testapp-ejb:xdoclet-testapp-ejb:1.0
+xdoclet-testapp-ejb:xdoclet-testapp-ejb:20050206.203856
+xdoclet-testapp-ejb:xdoclet-testapp-ejb:1.0.1
+xdoclet-testapp-ejb:xdoclet-testapp-ejb:1.0.2
+xdoclet-plugins:xdoclet-plugin-webwork:1.0.3
+xdoclet-plugin-webwork:xdoclet-plugin-webwork:20050206.204030
+xdoclet-plugin-webwork:xdoclet-plugin-webwork:1.0
+xdoclet-plugin-webwork:xdoclet-plugin-webwork:1.0.1
+xdoclet-plugin-webwork:xdoclet-plugin-webwork:20050208.124951
+xdoclet-plugin-webwork:xdoclet-plugin-webwork:1.0.2
+xdoclet-plugins:xdoclet-plugin-webwork:1.0-alpha-1
+reference:reference:20050208.124733
+reference:reference:20050206.203826
+reference:reference:1.0
+reference:reference:1.0.1
+reference:reference:1.0.2
+xdoclet-plugins:maven-xdoclet2-plugin:1.0-SNAPSHOT
+xdoclet-plugins:maven-xdoclet2-plugin:1.0
+xdoclet-plugin-xtags:xdoclet-plugin-xtags:20050208.124858
+xdoclet-plugins:xdoclet-plugin-xtags:1.0.3
+xdoclet-plugin-xtags:xdoclet-plugin-xtags:1.0
+xdoclet-plugin-xtags:xdoclet-plugin-xtags:20050206.203946
+xdoclet-plugin-xtags:xdoclet-plugin-xtags:1.0.1
+xdoclet-plugin-xtags:xdoclet-plugin-xtags:1.0.2
+xdoclet-plugins:xdoclet-plugin-xtags:1.0-alpha-1
+xdoclet-plugin-xtags:xdoclet-plugin-xtags:20050302.205848
+xdoclet-plugin-ejb:xdoclet-plugin-ejb:20050208.123053
+xdoclet-plugin-ejb:xdoclet-plugin-ejb:20050302.205404
+xdoclet-plugins:xdoclet-plugin-ejb:1.0.3
+xdoclet-plugin-ejb:xdoclet-plugin-ejb:1.0
+xdoclet-plugin-ejb:xdoclet-plugin-ejb:20050208.124247
+xdoclet-plugins:xdoclet-plugin-ejb:1.0.1
+xdoclet-plugins:xdoclet-plugin-ejb:1.0.2
+xdoclet-plugins:xdoclet-plugin-ejb:1.0-alpha-1
+xdoclet-plugin-ejb:xdoclet-plugin-ejb:20050206.203516
+xdoclet-plugin-ejb:xdoclet-plugin-ejb:20050302.202606
+xdoclet-plugins:com.foo:1.0
+xdoclet-plugins:com.foo:1.0.2
+xdoclet-plugins:com.foo:1.0-SNAPSHOT
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050302.195947
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050302.204032
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050222.202124
+xdoclet-plugins:xdoclet-plugin-plugin:1.0.3
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:1.0
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050221.205402
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:1.0.1
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:1.0.2
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20051012.090208
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050302.201554
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050206.203728
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050208.124552
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050208.123402
+xdoclet-plugin-plugin:xdoclet-plugin-plugin:20050302.194404
+xdoclet-plugins:xdoclet-plugin-plugin:1.0-alpha-1
+blissed:blissed:1.0-beta-1.20020815.040849
+blissed:blissed:1.0-beta-1
+blissed:blissed:1.0-beta-3
+ical4j:ical4j:0.9.13
+ical4j:ical4j:0.9.15
+ical4j:ical4j:0.9.16
+ical4j:ical4j:0.9.14
+ical4j:ical4j:0.9.20
+ical4j:ical4j:0.9.17
+ical4j:ical4j:0.9.19
+ical4j:ical4j:0.9.18
+ical4j:ical4j:0.9.10
+ical4j:ical4j:0.9.12
+ical4j:ical4j:0.9.11
+avalon-phoenix:avalon-phoenix-loader:4.0.4
+avalon-phoenix:avalon-phoenix-client:4.0.4
+avalon-phoenix:avalon-phoenix-client:4.0
+avalon-phoenix:avalon-phoenix-engine:4.0.4
+avalon-phoenix:avalon-phoenix-metagenerate:4.0
+avalon-phoenix:avalon-phoenix-bsh-commands:4.0.4
+avalon-meta:avalon-meta-spi:1.1
+avalon-meta:avalon-meta-spi:1.4.0
+avalon-meta:avalon-meta-spi:1.3
+avalon-meta:avalon-meta-spi:1.4.dev-0
+avalon-meta:avalon-meta-spi:1.1-RC1
+avalon-meta:avalon-meta-tools:1.1
+avalon-meta:avalon-meta-tools:1.4.0
+avalon-meta:avalon-meta-tools:1.3
+avalon-meta:avalon-meta-tools:1.4.dev-0
+avalon-meta:avalon-meta-tools:1.3.1
+avalon-meta:avalon-meta-tools:1.1-RC1
+avalon-meta:avalon-meta-plugin:1.1
+avalon-meta:avalon-meta-plugin:1.4.0
+avalon-meta:avalon-meta-plugin:1.2
+avalon-meta:avalon-meta-plugin:1.3
+avalon-meta:avalon-meta-plugin:1.4.dev-0
+avalon-meta:avalon-meta-plugin:1.3.1
+avalon-meta:avalon-meta-plugin:1.3.2
+avalon-meta:avalon-meta-impl:1.1
+avalon-meta:avalon-meta-impl:1.4.0
+avalon-meta:avalon-meta-impl:1.3
+avalon-meta:avalon-meta-impl:1.4.dev-0
+avalon-meta:avalon-meta-impl:1.3.1
+avalon-meta:avalon-meta-impl:1.1-RC1
+avalon-meta:avalon-meta-api:1.1
+avalon-meta:avalon-meta-api:1.4.0
+avalon-meta:avalon-meta-api:1.3
+avalon-meta:avalon-meta-api:1.4.dev-0
+avalon-meta:avalon-meta-api:1.1-RC1
+jcs-javagroups:jcs-javagroups:alpha-0.20020813.013703
+jivesoftware:smackx:1.4.1
+jivesoftware:smackx:2.2.1
+jivesoftware:smackx:3.0.4
+jivesoftware:smackx:2.0.0
+jivesoftware:smackx:1.5.0
+jivesoftware:smack:1.4.1
+jivesoftware:smack:2.2.1
+jivesoftware:smack:3.0.4
+jivesoftware:smack:2.0.0
+jivesoftware:smack:1.5.0
+jxta:jxta:2.0
+itext:itext:0.99
+itext:itext:1.2.3
+itext:itext:1.3
+itext:itext:1.3.1
+itext:itext:1.1.4
+itext:itext:1.02b
+wutka:dtdparser:1.21
+wutka:jox:1.16
+ashkay:ashkay:0.6
+tapestry:tapestry-annotations:4.0-beta-1
+tapestry:tapestry-annotations:4.0.1
+tapestry:tapestry-annotations:4.0-beta-13
+tapestry:tapestry-annotations:4.0-rc-2
+tapestry:tapestry-annotations:4.0-beta-11
+tapestry:tapestry-annotations:4.0-beta-7
+tapestry:tapestry-annotations:4.0-rc-3
+tapestry:tapestry-annotations:4.0-rc-1
+tapestry:tapestry-annotations:4.0-beta-9
+tapestry:tapestry-annotations:4.0-beta-2
+tapestry:tapestry-annotations:4.0-beta-6
+tapestry:tapestry-annotations:4.0-beta-12
+tapestry:tapestry-annotations:4.0-beta-10
+tapestry:tapestry-annotations:4.0-beta-3
+tapestry:tapestry-annotations:4.0-beta-5
+tapestry:tapestry-annotations:4.0-beta-4
+tapestry:tapestry-annotations:4.0.1
+tapestry:tapestry-annotations:4.0-beta-8
+tapestry:tapestry-annotations:4.0
+tapestry:vlibbeans:4.0-beta-5
+tapestry:vlibbeans:4.0-beta-4
+tapestry:net.sf.tapestry:2.2
+tapestry:tapestry-portlet:4.0-beta-1
+tapestry:tapestry-portlet:4.0-alpha-3
+tapestry:tapestry-portlet:4.0.1
+tapestry:tapestry-portlet:4.0-beta-13
+tapestry:tapestry-portlet:4.0-rc-2
+tapestry:tapestry-portlet:4.0-beta-11
+tapestry:tapestry-portlet:4.0-beta-7
+tapestry:tapestry-portlet:4.0-rc-3
+tapestry:tapestry-portlet:4.0-rc-1
+tapestry:tapestry-portlet:4.0-beta-9
+tapestry:tapestry-portlet:4.0-beta-2
+tapestry:tapestry-portlet:4.0-beta-6
+tapestry:tapestry-portlet:4.0-beta-12
+tapestry:tapestry-portlet:4.0-beta-10
+tapestry:tapestry-portlet:4.0-beta-3
+tapestry:tapestry-portlet:4.0-beta-5
+tapestry:tapestry-portlet:4.0-beta-4
+tapestry:tapestry-portlet:4.0.1
+tapestry:tapestry-portlet:4.0-beta-8
+tapestry:tapestry-portlet:4.0
+tapestry:tapestry-portlet:4.0-alpha-2
+tapestry:tapestry:3.1-alpha-1
+tapestry:tapestry:3.0.1
+tapestry:tapestry:4.0-beta-1
+tapestry:tapestry:4.0-alpha-3
+tapestry:tapestry:4.0.2
+tapestry:tapestry:4.0-beta-13
+tapestry:tapestry:4.0-rc-2
+tapestry:tapestry:3.0
+tapestry:tapestry:4.0-beta-11
+tapestry:tapestry:4.0-beta-7
+tapestry:tapestry:3.0.3
+tapestry:tapestry:4.0-rc-3
+tapestry:tapestry:4.0-rc-1
+tapestry:tapestry:4.0-beta-9
+tapestry:tapestry:4.0-beta-2
+tapestry:tapestry:3.0-beta-2
+tapestry:tapestry:4.0-beta-6
+tapestry:tapestry:4.0-beta-12
+tapestry:tapestry:3.0-beta-1a
+tapestry:tapestry:4.0-beta-10
+tapestry:tapestry:4.0-beta-3
+tapestry:tapestry:4.0-beta-5
+tapestry:tapestry:4.0-beta-4
+tapestry:tapestry:4.0.1
+tapestry:tapestry:4.0-beta-8
+tapestry:tapestry:3.0.2
+tapestry:tapestry:4.0
+tapestry:tapestry:4.0-alpha-2
+tapestry:net.sf.tapestry.contrib:2.2
+tapestry:tapestry-contrib:3.1-alpha-1
+tapestry:tapestry-contrib:3.0.1
+tapestry:tapestry-contrib:4.0-beta-1
+tapestry:tapestry-contrib:4.0-alpha-3
+tapestry:tapestry-contrib:4.0.1
+tapestry:tapestry-contrib:4.0-beta-13
+tapestry:tapestry-contrib:4.0-rc-2
+tapestry:tapestry-contrib:3.0
+tapestry:tapestry-contrib:4.0-beta-11
+tapestry:tapestry-contrib:4.0-beta-7
+tapestry:tapestry-contrib:3.0.3
+tapestry:tapestry-contrib:4.0-rc-3
+tapestry:tapestry-contrib:4.0-rc-1
+tapestry:tapestry-contrib:4.0-beta-9
+tapestry:tapestry-contrib:4.0-beta-2
+tapestry:tapestry-contrib:3.0-beta-2
+tapestry:tapestry-contrib:4.0-beta-6
+tapestry:tapestry-contrib:4.0-beta-12
+tapestry:tapestry-contrib:4.0-beta-10
+tapestry:tapestry-contrib:4.0-beta-3
+tapestry:tapestry-contrib:4.0-beta-5
+tapestry:tapestry-contrib:4.0-beta-4
+tapestry:tapestry-contrib:4.0.1
+tapestry:tapestry-contrib:4.0-beta-8
+tapestry:tapestry-contrib:3.0.2
+tapestry:tapestry-contrib:4.0
+tapestry:tapestry-contrib:4.0-alpha-2
+commons-vfs:commons-vfs:20050307052300
+commons-vfs:commons-vfs:1.0
+commons-vfs:commons-vfs:20030518103800
+commons-vfs:commons-vfs:20041214060500
+java3d:j3d-core-utils:1.3.1
+java3d:j3d-core:1.3.1
+java3d:vecmath:1.3.1
+jdsl:jdsl:2.1
+org.xbean:xbean:2.0
+org.xbean:xbean:2.1
+xmlenc:xmlenc:0.52
+xmlenc:xmlenc:0.33
+xmlenc:xmlenc:0.20
+jdiff:jdiff:1.0.7
+jdiff:jdiff:1.0.9
+commons-naming:commons-naming-core:20031116.223527
+commons-naming:commons-naming-factory:20031116.223742
+commons-naming:commons-naming-factory:20031201.015542
+cornerstone-threads:cornerstone-threads-tutorial:1.0
+cornerstone-threads-tutorial:cornerstone-threads-tutorial:2.1
+cornerstone-threads:cornerstone-threads-impl:1.0
+cornerstone-threads-impl:cornerstone-threads-impl:2.1
+cornerstone-threads:cornerstone-threads-api:1.0
+cornerstone-threads-api:cornerstone-threads-api:2.1
+commons-codec:commons-codec:1.1
+commons-codec:commons-codec:1.2
+commons-codec:commons-codec:1.3
+commons-codec:commons-codec:1.3
+suiterunner:suiterunner:1.0-beta-5
+suiterunner:suiterunner:1.0beta6
+jmml:jmml:0.3
+xercesjarv:xercesjarv:20020712
+adarwin:adarwin:1.0
+aspectwerkz:aspectwerkz-jdk5:2.0
+aspectwerkz:aspectwerkz-jdk5:2.0.RC2
+aspectwerkz:aspectwerkz-jdk5:2.0.RC1
+aspectwerkz:aspectwerkz-jdk5:2.0.RC3
+aspectwerkz:aspectwerkz-core:1.1
+aspectwerkz:aspectwerkz-core:0.10
+aspectwerkz:aspectwerkz-core:1.0-beta1
+aspectwerkz:aspectwerkz-core:2.0
+aspectwerkz:aspectwerkz-core:0.8
+aspectwerkz:aspectwerkz-core:0.9.RC2.dev.20040125
+aspectwerkz:aspectwerkz-core:1.0
+aspectwerkz:aspectwerkz-core:1.0.RC3
+aspectwerkz:aspectwerkz-core:0.9.RC1
+aspectwerkz:aspectwerkz-core:2.0.RC2
+aspectwerkz:aspectwerkz-core:1.0-beta2
+aspectwerkz:aspectwerkz-core:1.0.RC2
+aspectwerkz:aspectwerkz-core:0.10.RC2
+aspectwerkz:aspectwerkz-core:0.8.1
+aspectwerkz:aspectwerkz-core:0.10.RC1
+aspectwerkz:aspectwerkz-core:0.9
+aspectwerkz:aspectwerkz-core:2.0.RC1
+aspectwerkz:aspectwerkz-core:2.0.RC3
+aspectwerkz:aspectwerkz-core:1.0.RC1
+aspectwerkz:wlwaop:1.0-beta1
+aspectwerkz:aspectwerkz-tutorial:TSS
+aspectwerkz:aspectwerkz-nodeps-jdk14:2.0
+aspectwerkz:aspectwerkz:1.1
+aspectwerkz:aspectwerkz:0.10
+aspectwerkz:aspectwerkz:1.0-beta1
+aspectwerkz:aspectwerkz:2.0
+aspectwerkz:aspectwerkz:0.8
+aspectwerkz:aspectwerkz:0.9.RC2.dev.20040125
+aspectwerkz:aspectwerkz:1.0
+aspectwerkz:aspectwerkz:1.0.RC3
+aspectwerkz:aspectwerkz:0.9.RC1
+aspectwerkz:aspectwerkz:2.0.RC2
+aspectwerkz:aspectwerkz:1.0-beta2
+aspectwerkz:aspectwerkz:1.0.RC2
+aspectwerkz:aspectwerkz:0.10.RC2
+aspectwerkz:aspectwerkz:0.8.1
+aspectwerkz:aspectwerkz:0.10.RC1
+aspectwerkz:aspectwerkz:0.9
+aspectwerkz:aspectwerkz:2.0.RC1
+aspectwerkz:aspectwerkz:2.0.RC3
+aspectwerkz:aspectwerkz:1.0.RC1
+aspectwerkz:aspectwerkz-jdk14:2.0
+aspectwerkz:aspectwerkz-jdk14:2.0.RC2
+aspectwerkz:aspectwerkz-jdk14:2.0.RC3
+aspectwerkz:aspectwerkz-extensions:0.10
+aspectwerkz:aspectwerkz-extensions:1.0-beta1
+aspectwerkz:aspectwerkz-extensions:2.0
+aspectwerkz:aspectwerkz-extensions:1.0
+aspectwerkz:aspectwerkz-extensions:1.0.RC3
+aspectwerkz:aspectwerkz-extensions:0.9.RC1
+aspectwerkz:aspectwerkz-extensions:2.0.RC2
+aspectwerkz:aspectwerkz-extensions:1.0.RC2
+aspectwerkz:aspectwerkz-extensions:0.10.RC2
+aspectwerkz:aspectwerkz-extensions:0.10.RC1
+aspectwerkz:aspectwerkz-extensions:0.9
+aspectwerkz:aspectwerkz-extensions:2.0.RC1
+aspectwerkz:aspectwerkz-extensions:2.0.RC3
+aspectwerkz:aspectwerkz-extensions:1.0.RC1
+aspectwerkz:aspectwerkz-samples:1.0.RC3
+aspectwerkz:aspectwerkz-samples:1.0.RC2
+aspectwerkz:aspectwerkz-samples:1.0.RC1
+aspectwerkz:aspectwerkz-nodeps-jdk5:2.0
+dk.eobjects.commons:MetaModel:1.0.3
+dk.eobjects.commons:MetaModel:1.0
+dk.eobjects.commons:MetaModel:1.0.5
+dk.eobjects.commons:MetaModel:1.0.1
+dk.eobjects.commons:MetaModel:1.0.2
+dk.eobjects.commons:MetaModel:1.0.6
+dk.eobjects.commons:MetaModel:1.0.4
+dk.eobjects.commons:MetaModel:1.0.7
+dk.eobjects.datacleaner:DataCleaner-core:1.2
+dk.eobjects.datacleaner:DataCleaner-core:1.3
+dk.eobjects.datacleaner:DataCleaner-core:1.0
+dk.eobjects.datacleaner:DataCleaner-core:1.4
+dk.eobjects.datacleaner:DataCleaner-gui:1.2
+dk.eobjects.datacleaner:DataCleaner-gui:1.3
+dk.eobjects.metamodel:MetaModel:1.1
+dk.eobjects.metamodel:MetaModel:1.1.1
+dk.jacobve.maven.archetypes:maven-archetype-flex:1.0
+ojb:ojb-1.0-dev-james:1
+ojb:xdoclet-ojb-module:1.2.3
+ojb:xdoclet-ojb-module:1.2.1
+ojb:ojb:0.9.6
+ojb:ojb:1.0.rc2
+ojb:ojb:0.9.1
+ojb:ojb:1.0.rc3
+ojb:ojb:0.9.4
+ojb:ojb:0.9.5
+ojb:ojb:0.7.343
+ojb:ojb:0.9.2
+ojb:ojb:0.8.375
+ojb:ojb:0.9
+ojb:ojb:0.5.200
+ojb:ojb:1.0.rc4
+ojb:db-ojb:1.0.rc5
+ojb:db-ojb:1.0.3
+ojb:db-ojb:1.0.rc7
+ojb:db-ojb:1.0.0
+ojb:db-ojb:1.0.1
+ojb:db-ojb:1.0.2
+ojb:db-ojb:1.0.rc6
+ojb:db-ojb:1.0.4
+freemarker:freemarker:2.3.2
+freemarker:freemarker:2.3.4
+freemarker:freemarker:2.2rc2
+freemarker:freemarker:1.5.3
+freemarker:freemarker:2.3.1
+freemarker:freemarker:2.3.3
+freemarker:freemarker:2.3.6
+freemarker:freemarker:2.3.8
+freemarker:freemarker:2.3.9
+aopalliance:aopalliance:1.0
+commons-compress:commons-compress:20040530
+commons-compress:commons-compress:20050911
+commons-logging:commons-logging:1.1
+commons-logging:commons-logging:1.0.3
+commons-logging:commons-logging:1.1.1
+commons-logging:commons-logging:1.0
+commons-logging:commons-logging:1.0.1
+commons-logging:commons-logging:1.0.2
+commons-logging:commons-logging:1.0.4
+commons-logging:commons-logging-api:1.1
+commons-logging:commons-logging-api:1.0.3
+commons-logging:commons-logging-api:1.0.4
+altrmi:altrmi-client-impl:0.9.6
+altrmi:altrmi-client-interfaces:0.9.6
+altrmi:altrmi-server-interfaces:0.9.6
+altrmi:altrmi-registry:0.9.6
+altrmi:altrmi-server-impl:0.9.6
+altrmi:altrmi-common:0.9.6
+altrmi:altrmi-generator:0.9.6
+jparsec:jfunutil:0.2.2
+jparsec:jfunutil:0.2.3
+jparsec:jparsec:0.2.2
+jparsec:jparsec:0.2.3
+excalibur-i18n:excalibur-i18n:1.1
+excalibur-i18n:excalibur-i18n:1.0
+excalibur-i18n:excalibur-i18n:1.1-RC1
+excalibur-configuration:excalibur-configuration:1.1
+excalibur-configuration:excalibur-configuration:1.2
+excalibur-configuration:excalibur-configuration:1.0
+excalibur-configuration:excalibur-configuration:1.1-RC1
+fesi:fesi:1.1.5
+xpp3:xpp3_xpath:1.1.3.4.O
+xpp3:xpp3_xpath:1.1.4c
+xpp3:xpp3:1.1.3.3_min
+xpp3:xpp3:1.1.3.4.O
+xpp3:xpp3:1.1.3.4-RC3
+xpp3:xpp3:1.1.2a_min
+xpp3:xpp3:1.1.2a
+xpp3:xpp3:1.1.4c
+xpp3:xpp3:1.1.3.3
+xpp3:xpp3:1.1.3.4-RC8
+xpp3:xpp3_min:1.1.3.4.O
+xpp3:xpp3_min:1.1.4c
+xpp3:xpp3_min:1.1.3.4-RC8
+jcifs:jcifs:0.7.9
+jcifs:jcifs:0.6.5
+jcifs:jcifs:1.2.6
+jcifs:jcifs:0.7.3
+jcifs:jcifs:0.7.8
+jcifs:jcifs:0.7.0b12
+jcifs:jcifs:0.8.3
+jcifs:jcifs:0.7.0b5
+java2html:j2h:1.2
+java2html:j2h:1.3.1
+jgoodies:forms:1.0.5
+jgoodies:forms:1.0.4
+jgoodies:plastic:1.2.0
+jgoodies:looks-win:1.2.0
+jgoodies:binding:1.0
+jgoodies:looks:1.2.0
+jgoodies:looks:1.2.2
+jgoodies:animation:1.1.3
+jaxen:jaxen:1.1
+jaxen:jaxen:full
+jaxen:jaxen:1.1-beta-11
+jaxen:jaxen:1.1-beta-5
+jaxen:jaxen:1.1-beta-9
+jaxen:jaxen:1.1-beta-12
+jaxen:jaxen:1.1-beta-4
+jaxen:jaxen:1.1.1
+jaxen:jaxen:1.1-beta-8
+jaxen:jaxen:1.1-beta-2
+jaxen:jaxen:1.1-beta-3
+jaxen:jaxen:1.1-beta-6
+jaxen:jaxen:1.0-FCS
+jaxen:jaxen:1.1-beta-7
+berkeleydb:berkeleydb-native:4.2
+berkeleydb:je:3.2.44
+berkeleydb:je:1.7.1
+berkeleydb:je:2.1.30
+berkeleydb:je:3.2.76
+berkeleydb:je:2.0.83
+berkeleydb:berkeleydb:1.5.1
+berkeleydb:berkeleydb:1.5.0
+castor:castor:0.9.5.2
+castor:castor:0.9.6
+castor:castor:1.0M1
+castor:castor:1.0M2
+castor:castor:0.9.7
+castor:castor:0.9.4
+castor:castor:0.9.9.1
+castor:castor:0.9.4.3
+castor:castor:0.9.5
+castor:castor:0.9.9
+castor:castor:0.9.3
+castor:castor:0.9.5.1
+castor:castor:0.9.2
+castor:castor:0.9.3.9
+castor:castor:0.9.4.2
+castor:castor:0.9.5.4
+castor:castor:0.9.5.3
+castor:castor:0.9.9.0-pre
+jmsn:msnmlib:1.4-20050613
+log4unit:log4unit:0.2.0
+log4unit:log4unit:0.2.0_1
+excalibur-cli:excalibur-cli:1.0
+milyn:milyn-tinak:0.6.1
+milyn:milyn-smooks:0.4
+milyn:WEB:INF
+milyn:milyn-commons:0.6
+excalibur-mpool:excalibur-mpool:1.0
+maven:maven-scm-plugin:1.6
+maven:maven-scm-plugin:1.2
+maven:maven-scm-plugin:1.4.1
+maven:maven-scm-plugin:1.3
+maven:maven-scm-plugin:1.0
+maven:maven-scm-plugin:1.5
+maven:maven-scm-plugin:1.4
+maven:maven-scm-plugin:1.6.1
+maven:maven-scm-plugin:1.5-beta-2
+maven:maven-scm-plugin:1.5-beta-3
+maven:maven-ant-plugin:1.6
+maven:maven-ant-plugin:1.8
+maven:maven-ant-plugin:1.0
+maven:maven-ant-plugin:1.8.1
+maven:maven-ant-plugin:1.5
+maven:maven-ant-plugin:1.9
+maven:maven-ant-plugin:1.7
+maven:maven-ant-plugin:1.10
+maven:maven-developer-activity-plugin:1.6
+maven:maven-developer-activity-plugin:1.5.2
+maven:maven-developer-activity-plugin:1.5
+maven:maven-developer-activity-plugin:1.4
+maven:maven-developer-activity-plugin:1.5.1
+maven:maven-developer-activity-plugin:1.6.1
+maven:maven-jetty-plugin:1.1
+maven:maven-jetty-plugin:1.0
+maven:maven-cruisecontrol-plugin:1.1
+maven:maven-cruisecontrol-plugin:1.6
+maven:maven-cruisecontrol-plugin:1.2
+maven:maven-cruisecontrol-plugin:1.8
+maven:maven-cruisecontrol-plugin:1.3
+maven:maven-cruisecontrol-plugin:1.5
+maven:maven-cruisecontrol-plugin:1.4
+maven-cruisecontrol-plugin:maven-cruisecontrol-plugin:1.7
+maven:maven-html2xdoc-plugin:1.2
+maven:maven-html2xdoc-plugin:1.3
+maven:maven-html2xdoc-plugin:1.4
+maven:maven-html2xdoc-plugin:1.3.1
+maven:maven-antlr-plugin:1.1
+maven:maven-antlr-plugin:1.2
+maven:maven-antlr-plugin:1.0
+maven:maven-antlr-plugin:1.2.1
+maven:maven-antlr-plugin:1.2.2
+maven:maven-changes-plugin:1.6
+maven:maven-changes-plugin:1.3
+maven:maven-changes-plugin:1.5
+maven:maven-changes-plugin:1.4
+maven:maven-changes-plugin:1.5.1
+maven:maven-changes-plugin:1.7
+maven:maven-deploy-plugin:1.2
+maven:maven-deploy-plugin:1.3
+maven:maven-deploy-plugin:1.0
+maven:maven-jdee-plugin:1.1
+maven:maven-jdee-plugin:1.0
+maven:maven-dashboard-plugin:1.1
+maven:maven-dashboard-plugin:1.6
+maven:maven-dashboard-plugin:1.2
+maven-dashboard-plugin:maven-dashboard-plugin:1.8
+maven:maven-dashboard-plugin:1.3
+maven:maven-dashboard-plugin:1.0
+maven:maven-dashboard-plugin:1.5
+maven:maven-dashboard-plugin:1.4
+maven:maven-dashboard-plugin:1.9
+maven:maven-dashboard-plugin:1.7
+maven:maven-announcement-plugin:1.1
+maven:maven-announcement-plugin:1.2
+maven:maven-announcement-plugin:1.4.1
+maven:maven-announcement-plugin:1.3
+maven:maven-announcement-plugin:1.0
+maven:maven-announcement-plugin:1.4
+maven:maven-shell-plugin:1.1
+maven:velocity:1.5-20060721.044818
+maven:maven-activity-plugin:1.0
+maven:maven-jira-plugin:1.1
+maven:maven-jira-plugin:1.2
+maven:maven-jira-plugin:1.3
+maven:maven-jira-plugin:1.1.1
+maven:maven-jira-plugin:1.0
+maven:maven-jira-plugin:1.3.1
+maven:maven-jira-plugin:1.1.2
+maven:maven-jellydoc-plugin:1.2
+maven:maven-jellydoc-plugin:1.3
+maven:maven-jellydoc-plugin:1.3.1
+maven:wagon-provider-api:1.0-alpha-3
+maven:maven-webserver-plugin:2.0
+maven:maven-webserver-plugin:1.0
+maven:maven-struts-plugin:1.3
+maven:maven-struts-plugin:1.0
+maven:maven-statcvs-plugin:1.2
+maven:maven-statcvs-plugin:2.0
+maven:maven-statcvs-plugin:2.1
+maven:maven-artifact-plugin:1.1
+maven:maven-artifact-plugin:1.6
+maven:maven-artifact-plugin:1.2
+maven:maven-artifact-plugin:1.4.1
+maven:maven-artifact-plugin:1.8
+maven:maven-artifact-plugin:1.3
+maven:maven-artifact-plugin:1.5.2
+maven:maven-artifact-plugin:1.0
+maven:maven-artifact-plugin:1.9.1
+maven:maven-artifact-plugin:1.5
+maven:maven-artifact-plugin:1.4
+maven:maven-artifact-plugin:1.9
+maven:maven-artifact-plugin:1.5.1
+maven:maven-artifact-plugin:1.7
+maven:maven-cactus-plugin:1.1
+maven:maven-cactus-plugin:3.2
+maven:maven-cactus-plugin:3.1
+maven:maven-cactus-plugin:1.2
+maven:maven-cactus-plugin:2.0
+maven:maven-cactus-plugin:3.0
+maven:maven-cactus-plugin:1.0
+maven:maven-plugin-plugin:1.6
+maven:maven-plugin-plugin:1.2
+maven:maven-plugin-plugin:1.3
+maven:maven-plugin-plugin:1.5.2
+maven:maven-plugin-plugin:1.7.1
+maven:maven-plugin-plugin:1.5
+maven:maven-plugin-plugin:1.4
+maven:maven-plugin-plugin:1.5.1
+maven:maven-plugin-plugin:1.7
+maven:maven-latex-plugin:1.2
+maven:maven-latex-plugin:1.4.1
+maven:maven-latex-plugin:1.0
+maven:wagon-ssh-external:1.0-alpha-3
+maven:maven-importscrubber-plugin:1.0
+maven:maven-ashkelon-plugin:1.2
+maven:maven-touchstone-plugin:1.1
+maven:maven-tjdo-plugin:1.0.0
+maven:wagon:0.9-SNAPSHOT
+maven:wagon:1.0-alpha-1
+maven:maven-artifact:2.0-SNAPSHOT
+maven:maven-abbot-plugin:1.1
+maven:maven-abbot-plugin:1.0
+maven:maven-graph-plugin:1.0
+maven:maven-linkcheck-plugin:1.2
+maven:maven-linkcheck-plugin:1.4.1
+maven:maven-linkcheck-plugin:1.3
+maven:maven-linkcheck-plugin:1.3.3
+maven:maven-linkcheck-plugin:1.4
+maven:maven-linkcheck-plugin:1.3.1
+maven:maven-linkcheck-plugin:1.3.4
+maven:maven-linkcheck-plugin:1.3.2
+maven:maven-jcoverage-plugin:1.0.8
+maven:maven-jcoverage-plugin:1.0.3
+maven:maven-jcoverage-plugin:1.0
+maven:maven-jcoverage-plugin:1.0.5
+maven:maven-jcoverage-plugin:1.0.2
+maven:maven-jcoverage-plugin:1.0.6
+maven:maven-jcoverage-plugin:1.0.4
+maven:maven-jcoverage-plugin:1.0.7
+maven:maven-jcoverage-plugin:1.0.9
+maven:maven-genapp-plugin:2.3
+maven:maven-genapp-plugin:2.3.1
+maven:maven-genapp-plugin:2.1
+maven:maven-genapp-plugin:2.2
+maven:maven-clover-plugin:1.6
+maven:maven-clover-plugin:1.8
+maven:maven-clover-plugin:1.3
+maven:maven-clover-plugin:1.0
+maven-clover-plugin:maven-clover-plugin:1.9.1
+maven:maven-clover-plugin:2.2.1
+maven:maven-clover-plugin:1.11.1
+maven:maven-clover-plugin:1.5
+maven:maven-clover-plugin:1.4
+maven:maven-clover-plugin:2.3.1
+maven-clover-plugin:maven-clover-plugin:1.9
+maven:maven-clover-plugin:1.7
+maven:maven-clover-plugin:2.3.0
+maven:maven-clover-plugin:1.10
+maven:maven-clover-plugin:1.11.2
+maven:maven-clover-plugin:1.11
+maven:maven-native-plugin:1.1
+maven:maven-native-plugin:1.2
+maven:maven-war-plugin:1.6.3
+maven:maven-war-plugin:1.6
+maven:maven-war-plugin:20030413.023708
+maven:maven-war-plugin:1.0
+maven:maven-war-plugin:1.5
+maven:maven-war-plugin:1.6.2
+maven:maven-war-plugin:1.6.1
+maven:wagon-provider-parent:1.0-alpha-1
+maven:wagon-api:0.9-SNAPSHOT
+maven:wagon-api:1.0-alpha-1
+maven:wagon-api:0.9-SNAPSHOT
+maven:maven-model:3.0.1
+maven:maven-model:3.0.0
+maven:maven-model:3.0.2
+maven:maven-was40-plugin:1.0
+maven:maven-jbuilder-plugin:1.5
+maven:maven-jbuilder-plugin:1.4
+maven:wagon-file:1.0-alpha-3
+maven:maven-idea-plugin:1.6
+maven:maven-idea-plugin:1.3
+maven:maven-idea-plugin:1.5
+maven:maven-idea-plugin:1.4
+maven:maven-idea-plugin:1.7
+maven:maven-latka-plugin:1.1
+maven:maven-latka-plugin:1.4.1
+maven:maven-latka-plugin:1.3
+maven:maven-latka-plugin:1.4
+maven:maven:1.0-beta-5
+maven:maven:1.1
+maven:maven:1.0-rc2
+maven:maven:1.1-beta-1
+maven:maven:20030211.132709
+maven:maven:1.0-beta-8.20030202.153859
+maven:maven:1.0-beta-8.20030202.153444
+maven:maven:1.0-beta-6
+maven:maven:1.0-rc4
+maven:maven:1.0
+maven:maven:1.0-rc1
+maven:maven:1.0-rc3
+maven:maven:1.0-beta-7
+maven:maven:1.0-beta-8
+maven:maven:1.1-beta-2
+maven:maven:1.0.1
+maven:maven:1.0.2
+maven:maven:1.0-beta-8.20030202.153715
+maven:maven:1.0-beta-8.20021007.010812
+maven:maven:1.1-beta-3
+maven:maven:1.1-RC1
+maven:maven:1.0-beta-10
+maven:maven-nsis-plugin:1.1
+maven:maven-nsis-plugin:2.0
+maven:maven-nsis-plugin:1.0
+maven:maven-nsis-plugin:2.1
+maven:maven-test-plugin:1.6
+maven:maven-test-plugin:1.8
+maven:maven-test-plugin:1.0
+maven:maven-test-plugin:1.8.1
+maven:maven-test-plugin:1.5
+maven:maven-test-plugin:1.7
+maven:maven-test-plugin:1.6.2
+maven:maven-test-plugin:1.8.2
+maven:maven-test-plugin:1.6.1
+maven:maven-java-plugin:1.6
+maven:maven-java-plugin:1.0
+maven-java-plugin:maven-java-plugin:1.5
+maven:maven-java-plugin:1.4
+maven:maven-java-plugin:1.6.1
+maven:maven-checkstyle-plugin:2.3
+maven:maven-checkstyle-plugin:3.0.1
+maven:maven-checkstyle-plugin:2.4
+maven:maven-checkstyle-plugin:2.0
+maven:maven-checkstyle-plugin:3.0
+maven:maven-checkstyle-plugin:1.0
+maven:maven-checkstyle-plugin:2.5
+maven:maven-checkstyle-plugin:2.2
+maven:maven-checkstyle-plugin:2.4.1
+maven:maven-javadoc-plugin:1.6
+maven:maven-javadoc-plugin:1.8
+maven:maven-javadoc-plugin:1.0
+maven:maven-javadoc-plugin:1.5
+maven:maven-javadoc-plugin:1.4
+maven:maven-javadoc-plugin:1.9
+maven:maven-javadoc-plugin:1.7
+maven:maven-javadoc-plugin:1.6.1
+maven:wagon-provider:test-1.0-alpha-3
+maven:maven-touchstone-partner-plugin:1.1
+maven:wagon-http:1.0-alpha-3
+maven:maven-license-plugin:1.2
+maven:maven-license-plugin:20030818.040938
+maven:maven-wizard-plugin:1.1
+maven:maven-release-plugin:1.2
+maven:maven-release-plugin:1.4.1
+maven:maven-release-plugin:1.3
+maven:maven-release-plugin:1.4
+maven:maven-jxr-plugin:1.4.1
+maven:maven-jxr-plugin:1.3
+maven:maven-jxr-plugin:1.4.2
+maven:maven-jxr-plugin:1.0
+maven:maven-jxr-plugin:1.5
+maven:maven-jxr-plugin:1.4
+maven:maven-jxr-plugin:1.4.3
+maven:commons-jelly:1.0.1-20060717
+maven:dom4j:1.7-20060614
+maven:maven-javacc-plugin:1.1
+maven:maven-javacc-plugin:1.2
+maven:maven-javacc-plugin:1.0
+maven:maven-reactor-plugin:1.0
+maven:maven-site-plugin:1.6
+maven:maven-site-plugin:1.7.2
+maven:maven-site-plugin:1.5.2
+maven:maven-site-plugin:1.0
+maven:maven-site-plugin:1.7.1
+maven:maven-site-plugin:1.5
+maven:maven-site-plugin:1.4
+maven:maven-site-plugin:1.5.1
+maven:maven-site-plugin:1.7
+maven:maven-site-plugin:1.6.1
+maven:maven-clean-plugin:1.2
+maven:maven-clean-plugin:1.3
+maven:maven-clean-plugin:1.4
+maven:maven-jar-plugin:1.1
+maven:maven-jar-plugin:1.6
+maven:maven-jar-plugin:1.8
+maven:maven-jar-plugin:1.8.1
+maven:maven-jar-plugin:1.5
+maven:maven-jar-plugin:1.4
+maven:maven-jar-plugin:1.7
+maven:maven-jar-plugin:1.6.1
+maven:maven-jdiff-plugin:1.2
+maven:maven-jdiff-plugin:1.3
+maven:maven-jdiff-plugin:1.5
+maven:maven-jdiff-plugin:1.4
+maven:maven-jdiff-plugin:1.5.1
+maven:maven-it-support:1.0
+maven:maven-console-plugin:1.1
+maven:maven-console-plugin:1.2
+maven:maven-jdeveloper-plugin:1.3
+maven:maven-jdeveloper-plugin:1.4
+maven:maven-simian-plugin:1.6
+maven:maven-simian-plugin:1.3
+maven:maven-simian-plugin:1.5
+maven:maven-simian-plugin:1.4
+maven:maven-simian-plugin:1.6.1
+maven:wagon-scm:1.0-alpha-3
+maven:maven-uberjar-plugin:1.2
+maven:maven-xdoc-plugin:1.6
+maven:maven-xdoc-plugin:1.7.2
+maven:maven-xdoc-plugin:1.8
+maven:maven-xdoc-plugin:1.0
+maven:maven-xdoc-plugin:1.7.1
+maven:maven-xdoc-plugin:1.9.1
+maven:maven-xdoc-plugin:1.5
+maven:maven-xdoc-plugin:1.9
+maven:maven-xdoc-plugin:1.7
+maven:maven-xdoc-plugin:1.10.1
+maven:maven-xdoc-plugin:1.10
+maven:maven-xdoc-plugin:1.9.2
+maven:maven-repository-plugin:1.1
+maven:maven-repository-plugin:1.2
+maven:maven-caller-plugin:1.1
+maven:maven-caller-plugin:1.0
+maven:maven-docbook-plugin:1.2
+maven:maven-docbook-plugin:1.0
+maven:maven-junit-report-plugin:1.0
+maven:maven-junit-report-plugin:1.5
+maven:maven-junit-report-plugin:1.4
+maven:maven-junit-report-plugin:1.5.1
+maven:wagon-ssh:0.9-SNAPSHOT
+maven:wagon-ssh:0.9-SNAPSHOT
+maven:wagon-ssh:1.0-alpha-3
+maven:wagon-ssh:1.0-alpha-1
+maven:maven-eclipse-plugin:1.6
+maven:maven-eclipse-plugin:1.8
+maven:maven-eclipse-plugin:1.5
+maven:maven-eclipse-plugin:1.12
+maven:maven-eclipse-plugin:1.9
+maven:maven-eclipse-plugin:1.7
+maven:maven-eclipse-plugin:1.10
+maven:maven-eclipse-plugin:1.11
+maven:maven-multiproject-plugin:1.1
+maven:maven-multiproject-plugin:1.2
+maven-multiproject-plugin:maven-multiproject-plugin:1.4.1
+maven:maven-multiproject-plugin:1.3
+maven:maven-multiproject-plugin:1.0
+maven:maven-multiproject-plugin:1.5
+maven:maven-multiproject-plugin:1.4
+maven:maven-multiproject-plugin:1.3.1
+maven:maven-multiproject-plugin:1.5.1
+maven:maven-multiproject-plugin:20030723.020015
+maven:maven-tasklist-plugin:2.3
+maven:maven-tasklist-plugin:2.4
+maven:maven-tasklist-plugin:1.0
+maven:maven-faq-plugin:1.6
+maven:maven-faq-plugin:1.2
+maven:maven-faq-plugin:1.3
+maven:maven-faq-plugin:1.5
+maven:maven-faq-plugin:1.4
+maven:maven-faq-plugin:1.6.1
+maven:maven-aspectwerkz-plugin:1.1
+maven:maven-aspectwerkz-plugin:1.2
+maven:maven-aspectwerkz-plugin:1.0
+maven-ejb-plugin:maven-ejb-plugin:1.6
+maven:maven-ejb-plugin:1.2
+maven:maven-ejb-plugin:1.7.2
+maven:maven-ejb-plugin:1.3
+maven:maven-ejb-plugin:1.7.3
+maven:maven-ejb-plugin:1.7.1
+maven:maven-ejb-plugin:1.5
+maven:maven-ejb-plugin:1.4
+maven:maven-ejb-plugin:1.7
+maven:maven-rar-plugin:1.1
+maven:maven-rar-plugin:1.0
+maven:maven-dist-plugin:1.6
+maven:maven-dist-plugin:1.0
+maven:maven-dist-plugin:1.7.1
+maven:maven-dist-plugin:1.5
+maven:maven-dist-plugin:1.4
+maven:maven-dist-plugin:1.7
+maven:maven-dist-plugin:1.6.1
+maven:maven-osgi-plugin:0.3.1
+maven:maven-jalopy-plugin:1.2
+maven:maven-jalopy-plugin:1.3
+maven:maven-jalopy-plugin:1.5
+maven:maven-jalopy-plugin:1.4
+maven:maven-jalopy-plugin:1.3.1
+maven:maven-jalopy-plugin:1.5.1
+maven:maven-appserver-plugin:2.0
+maven:maven-gump-plugin:1.3
+maven:maven-gump-plugin:2.0
+maven:maven-gump-plugin:1.0
+maven:maven-gump-plugin:1.4
+maven-gump-plugin:maven-gump-plugin:2.0.1
+maven:maven-changelog-plugin:1.6
+maven:maven-changelog-plugin:1.7.2
+maven:maven-changelog-plugin:1.8
+maven:maven-changelog-plugin:1.0
+maven:maven-changelog-plugin:1.8.1
+maven:maven-changelog-plugin:1.7.1
+maven:maven-changelog-plugin:1.9.1
+maven:maven-changelog-plugin:1.5
+maven:maven-changelog-plugin:1.4
+maven:maven-changelog-plugin:1.9
+maven:maven-changelog-plugin:1.7
+maven:maven-changelog-plugin:1.8.2
+maven:maven-changelog-plugin:1.9.2
+maven:maven-modello-plugin:1.0
+maven:maven-file-activity-plugin:1.6
+maven:maven-file-activity-plugin:1.5.2
+maven:maven-file-activity-plugin:1.5
+maven:maven-file-activity-plugin:1.4
+maven:maven-file-activity-plugin:1.5.1
+maven:maven-file-activity-plugin:1.6.1
+maven:maven-castor-plugin:1.1
+maven:maven-castor-plugin:1.2
+maven:maven-vdoclet-plugin:1.2
+maven:maven-j2ee-plugin:1.1
+maven:maven-j2ee-plugin:1.0
+maven:maven-j2ee-plugin:1.5
+maven:maven-j2ee-plugin:1.4
+maven:maven-j2ee-plugin:1.5.1
+maven:wagon-http-lightweight:0.9-SNAPSHOT
+maven:wagon-http-lightweight:1.0-alpha-3
+maven:maven-it-support-parent:1.0
+maven:maven-pom-plugin:1.4.1
+maven:maven-pom-plugin:1.3
+maven:maven-pom-plugin:1.0
+maven:maven-pom-plugin:1.5
+maven:maven-pom-plugin:1.4
+maven:maven-pom-plugin:1.5.1
+maven:maven-jnlp-plugin:1.4.1
+maven:maven-jnlp-plugin:1.3
+maven:maven-jnlp-plugin:1.4
+maven:wagon-provider-common:1.0-alpha-1
+maven:maven-word2html-plugin:1.3
+maven:maven-ear-plugin:1.6
+maven:maven-ear-plugin:1.8
+maven:maven-ear-plugin:1.3
+maven:maven-ear-plugin:1.5
+maven:maven-ear-plugin:1.4
+maven:maven-ear-plugin:1.9
+maven-ear-plugin:maven-ear-plugin:1.7
+maven:maven-ear-plugin:1.6.1
+maven:maven-aspectj-plugin:1.1
+maven:maven-aspectj-plugin:3.2
+maven:maven-aspectj-plugin:3.1
+maven:maven-aspectj-plugin:2.0
+maven:maven-aspectj-plugin:3.0
+maven:maven-aspectj-plugin:3.1.1
+maven:maven-aspectj-plugin:4.0
+maven:maven-jelly-tags:1.0
+maven:maven-jelly-tags:20040423.083312
+maven:maven-jelly-tags:1.0.1
+maven:maven-jelly-tags:20040429.235300
+maven:maven-jelly-tags:20040427.080410
+maven:maven-pdf-plugin:2.3
+maven:maven-pdf-plugin:2.4
+maven:maven-pdf-plugin:2.0
+maven:maven-pdf-plugin:1.0
+maven:maven-pdf-plugin:2.5
+maven:maven-pdf-plugin:2.2.1
+maven:maven-pdf-plugin:2.1
+maven:maven-pdf-plugin:2.5.1
+maven:maven-pdf-plugin:2.2
+maven:maven-jboss-plugin:1.1
+maven:maven-jboss-plugin:1.2
+maven:maven-jboss-plugin:1.3
+maven:maven-jboss-plugin:1.0
+maven:maven-jboss-plugin:1.5
+maven:maven-jboss-plugin:1.4
+maven:wagon-ftp:1.0-alpha-3
+maven:maven-hibernate-plugin:1.1
+maven:maven-hibernate-plugin:1.2
+maven:maven-hibernate-plugin:1.3
+maven:maven-hibernate-plugin:1.0
+maven:maven-source-plugin:1.0
+maven:maven-multichanges-plugin:1.1
+maven:maven-multichanges-plugin:1.2
+maven:maven-multichanges-plugin:1.3
+maven:maven-multichanges-plugin:1.0
+maven:maven-pmd-plugin:1.1
+maven:maven-pmd-plugin:1.6
+maven:maven-pmd-plugin:1.2
+maven:maven-pmd-plugin:1.8
+maven:maven-pmd-plugin:1.3
+maven:maven-pmd-plugin:1.0
+maven:maven-pmd-plugin:1.5
+maven:maven-pmd-plugin:1.4
+maven:maven-pmd-plugin:1.9
+maven:maven-pmd-plugin:1.7
+maven:maven-pmd-plugin:1.10
+maven:maven-dependency-plugin:1.0
+maven:maven-junit-doclet-plugin:1.2
+maven:maven-jdepend-plugin:1.6
+maven:maven-jdepend-plugin:1.0
+maven:maven-jdepend-plugin:1.5
+maven:maven-jdepend-plugin:1.4
+maven:maven-jdepend-plugin:1.5.1
+maven:maven-jdepend-plugin:1.6.1
+axion:axion:1.0-M1
+axion:axion:1.0-M2-dev
+axion:axion:1.0-M3-dev
+jlibdiff:jlibdiff:1.0
+jlibdiff:jlibdiff:1.01
+hessian:hessian:3.0.1
+maven-taglib:maven-taglib-plugin:1.1
+maven-taglib:maven-taglib-plugin:1.4.1
+maven-taglib:maven-taglib-plugin:1.3
+maven-taglib:maven-taglib-plugin:1.4.2
+maven-taglib:maven-taglib-plugin:1.2.1
+maven-taglib:maven-taglib-plugin:1.4
+maven-taglib:maven-taglib-plugin:1.2.2
+maven-taglib:maven-taglib-plugin:1.3.2
+ant-contrib:ant-contrib:1.0b2
+ant-contrib:ant-contrib:20020829
+ant-contrib:cpptasks:20030309.134440
+ant-contrib:cpptasks:1.0b3
+ant-contrib:cpptasks:1.0b5
+jdbc:jdbc-stdext:2.0
+jdbc:jdbc:2.0
+tonic:jarjar:0.5
+excalibur-util:excalibur-util:1.0
+d-haven-mpool:managed-pool:1.0
+directory-protocols:kerberos-protocol:0.4
+directory-protocols:ldap-protocol:0.9
+jcoverage:jcoverage:1.0.5
+commons-primitives:commons-primitives:20041207.202534
+commons-primitives:commons-primitives:1.0
+jface:mavenzilla:0.3
+jface:mavenzilla:0.1
+se.tada:tada-sax:1.0.0
+se.tada:tada-sax:0.2.1
+se.tada:tada-sax:0.2.0
+jfree:jfreechart-experimental:1.0.8a
+jfree:jfreechart-experimental:1.0.3
+jfree:jfreechart-experimental:1.0.5
+jfree:jfreechart-experimental:1.0.4
+jfree:jfreechart-experimental:1.0.9
+jfree:jfreechart:1.0.0-rc1
+jfree:jfreechart:1.0.8a
+jfree:jfreechart:1.0.3
+jfree:jfreechart:0.9.21
+jfree:jfreechart:1.0.0
+jfree:jfreechart:1.0.5
+jfree:jfreechart:1.0.1
+jfree:jfreechart:1.0.11
+jfree:jfreechart:1.0.2
+jfree:jfreechart:1.0.4
+jfree:jfreechart:1.0.7
+jfree:jfreechart:1.0.9
+jfree:jcommon:1.0.14
+jfree:jcommon:1.0.8
+jfree:jcommon:1.0.0-rc1
+jfree:jcommon:0.9.6
+jfree:jcommon:1.0.0-pre3
+jfree:jcommon:1.0.0
+jfree:jcommon:1.0.12
+jfree:jcommon:1.0.5
+jfree:jcommon:1.0.0-pre2
+jfree:jcommon:1.0.2
+jfree:jcommon:1.0.6
+jfree:jcommon:1.0.4
+jfree:jcommon:1.0.7
+jfree:jcommon:1.0.9
+jfree:jfreereport-ext:0.8.6
+jfree:jfreereport-ext:0.8.5-2
+jfree:jfreereport:0.8.6
+jfree:jfreereport:0.8.5-5
+jfree:jfreechart-swt:1.0.8a
+jfree:jfreechart-swt:1.0.3
+jfree:jfreechart-swt:1.0.5
+jfree:jfreechart-swt:1.0.4
+jfree:jfreechart-swt:1.0.9
+jython:jython:2.2-beta1
+jython:jython:2.1
+jython:jython:2.2-alpha1
+jython:jython:20020827
+pluto-container:pluto:0.46
+wstx:wstx:1.0
+wstx:wstx:1.0-RC4
+wstx:wstx:1.0-RC3
+wstx:wstx:1.0-RC6
+d-haven-event:event:1.0.1
+d-haven-event:event:1.0.2
+d-haven-event:d-haven-event:1.0.3
+directory-network:mina:0.9.0
+directory-network:mina:0.8.0
+directory-network:mina:0.8.2
+directory-network:mina:0.7.4
+directory-network:mina:0.7.3
+directory-network:mina:0.7.1
+directory-network:mina:0.7
+directory-network:mina:0.7.2
+directory-network:mina:0.8.1
+payload:payload:0.3
+payload:payload:0.1
+payload:payload:0.4
+payload:payload:0.5
+payload:payload:0.2
+sshtools:j2ssh-daemon:0.2.2
+sshtools:j2ssh-core:0.2.2
+sshtools:j2ssh-common:0.2.2
+sshtools:j2ssh-ant:0.2.2
+xml-resolver:xml-resolver:1.1
+xml-resolver:xml-resolver:1.2
+flux:flux:2.1
+jcommon:jcommon:0.8.2
+jcommon:jcommon:0.9.1
+jcommon:jcommon:0.9.4
+jcommon:jcommon:0.9.5
+jcommon:jcommon:0.9.3
+jcommon:jcommon:0.9.2
+jcommon:jcommon:0.6.4
+jcommon:jcommon:0.8.3
+boo:booxw:1203
+boo:booxw:1202
+boo:boo:0.5.6.1694
+boo:boo:0.4.1
+boo:boo:0.5.6.1734.pkg
+boo:boo:0.7.0.1921
+boo:boo:0.4.4
+boo:boo:0.5.6.1701
+boo:boo:0.3
+boo:boo:0.4.5
+boo:boo:0.6.0.1858
+boo:boo:0.4
+boo:boo:0.5.5.1651
+boo:boo:0.4.2
+boo:boo:0.5.1
+boo:boo:0.5.2
+boo:boo:0.5.3.1544
+boo:boo:0.5
+boo:boo:0.2
+boo:boo:0.4.3
+boo:boo:0.5.4.1629
+backport175:backport175-intellij:1.0.RC1
+backport175:backport175:1.0
+backport175:backport175:1.0.RC1
+mockcreator:de.abstrakt.mock:0.2.4
+mockcreator:mockcreator:2004-07-23
+mockcreator:mockcreator:2004-05-20
+mrj:MRJToolkitStubs:1.0
+jsch:jsch:0.1.17
+jsch:jsch:0.1.21
+jsch:jsch:0.1.25
+jsch:jsch:0.0.9
+jsch:jsch:0.1.8
+jsch:jsch:0.1.16
+jsch:jsch:0.1.7
+jsch:jsch:0.1.14
+jsch:jsch:0.1.5
+jsch:jsch:0.1.29
+ubique:inieditor:r2
+swarmcache:swarmcache:1.0RC2
+marmalade:marmalade-parent:1.0-alpha-2
+marmalade:marmalade-parent:1.0-alpha-3-SNAPSHOT
+marmalade:marmalade-parent:1.0-alpha2
+marmalade:marmalade-compat-jelly:0.2
+marmalade:marmalade-compat-jelly:1.0-alpha-3
+marmalade:marmalade-site:0.1
+marmalade:marmalade-parent:0.1
+marmalade:marmalade-parent:1.0-alpha1
+marmalade:marmalade-parent:1.0-alpha2
+marmalade:marmalade-parent:0.2
+marmalade:marmalade-parent:1.0-alpha-3
+marmalade:marmalade-parent:1.0-alpha-2
+marmalade:marmalade-el-commons:0.2
+marmalade:marmalade-el-commons:1.0-alpha-3
+marmalade:marmalade-tags-inertDoco:1.0-alpha-2
+marmalade:marmalade-tags-io:1.0-alpha-2
+marmalade:marmalade:0.1
+marmalade:marmalade-el-ognl:0.2
+marmalade:marmalade-el-ognl:1.0-alpha-2
+marmalade:marmalade-tags-jstl-core:0.2
+marmalade:marmalade-tags-jelly-core:0.2
+marmalade:marmalade-tags-collections:1.0-alpha-2
+marmalade:marmalade-compat-ant:1.0-alpha2
+marmalade:marmalade-compat-ant:1.0-alpha-3
+marmalade:marmalade-compat-ant:1.0-alpha-2
+marmalade:marmalade-testing-tools:0.1
+marmalade:marmalade-jelly-common:0.2
+marmalade:marmalade-core:1.0-alpha-4
+marmalade:marmalade-core:1.0-alpha-3
+marmalade:marmalade-utils:1.0-alpha1
+marmalade:marmalade-utils:0.2
+nanning:nanning-cache:0.9
+nanning:nanning-contract:0.8
+nanning:nanning-contract:0.9
+nanning:nanning-definition:0.9
+nanning:nanning:0.8
+nanning:nanning:0.9
+nanning:nanning-locking:0.8
+nanning:nanning-locking:0.9
+nanning:nanning-prevayler:0.9
+nanning:nanning-profiler:0.8
+nanning:nanning-profiler:0.9
+nanning:nanning-remote:0.9
+nanning:nanning-attribute:0.9
+nanning:nanning-trace:0.9
+tiffrenderer:tiffrenderer:0.9
+directory-naming:naming-java:0.8
+directory-naming:naming-factory:0.8
+directory-naming:naming-management:0.8
+directory-naming:naming-config:0.8
+directory-naming:naming-resources:0.8
+directory-naming:naming-core:0.8
+commons-i18n:commons-i18n:0.3
+commons-i18n:commons-i18n:0.4
+commons-i18n:commons-i18n:0.5
+commons-el:commons-el:1.0
+jsptags:pager-taglib:2.0
+jsptags:pager-taglib:2.0
+picounit:picounit:1.1
+picounit:picounit:1.2
+picounit:picounit:1.2.1
+nekohtml:nekohtmlSamples:0.7.7
+nekohtml:nekohtmlSamples:0.7.1
+nekohtml:nekohtmlSamples:0.8.1
+nekohtml:nekohtml:0.6.5
+nekohtml:nekohtml:0.7.6
+nekohtml:nekohtml:0.9.1
+nekohtml:nekohtml:0.7.4
+nekohtml:nekohtml:0.9.4
+nekohtml:nekohtml:1.9.6.1
+nekohtml:nekohtml:0.9.5
+nekohtml:nekohtml:1.9.6
+nekohtml:nekohtml:0.7.7
+nekohtml:nekohtml:0.9.3
+nekohtml:nekohtml:0.7.1
+nekohtml:nekohtml:0.8.1
+nekohtml:nekohtml:1.9.6.2
+nekohtml:nekohtmlXni:0.7.6
+nekohtml:nekohtmlXni:0.7.7
+nekohtml:nekohtmlXni:0.9.3
+nekohtml:nekohtmlXni:0.7.1
+nekohtml:nekohtmlXni:0.8.1
+nekohtml:nekodtd:0.1.11
+nekohtml:xercesMinimal:1.9.6.2
+eu.cedarsoft:commons:1.0
+eu.cedarsoft:wicket:1.0
+eu.cedarsoft:utils:1.1
+eu.cedarsoft.utils:spring-extensions:1.1
+eu.cedarsoft.utils:execution:1.1
+eu.cedarsoft.utils:collections:1.1
+eu.cedarsoft.utils:cmd:1.1
+eu.cedarsoft.utils:string-conversion:1.1
+eu.cedarsoft.utils:configuration:1.1
+eu.cedarsoft.utils:image:1.1
+eu.cedarsoft.utils:id:1.1
+eu.cedarsoft.utils:swing:1.1
+eu.cedarsoft.utils:crypt:1.1
+eu.cedarsoft.utils:configuration-spring:1.1
+eu.cedarsoft.utils:common:1.1
+eu.cedarsoft.utils:xml-commons:1.1
+eu.cedarsoft.utils:tags:1.1
+eu.cedarsoft.utils:zip:1.1
+eu.cedarsoft:guice-annotations:1.0
+eu.cedarsoft:devtools:1.1
+eu.cedarsoft.devtools:core:1.1
+eu.cedarsoft.devtools:subversion:1.1
+eu.cedarsoft.devtools:maven:1.1
+eu.cedarsoft.devtools:devtools:1.1
+eu.cedarsoft:open:1.1
+eu.cedarsoft:open:1.2
+eu.cedarsoft:open:1.3
+eu.cedarsoft:open:1.0
+activesoap:jaxb-xjc:20050407
+activesoap:jaxb-xjc:1.5
+activesoap:xercesImpl:1.5
+activesoap:jaxb-libs:1.5
+activesoap:jaxb-xalan:1.5
+activesoap:jaxb1-impl:20050407
+activesoap:jaxb-xercesImpl:1.5
+activesoap:jaxb-impl:20050407
+activesoap:jaxb-impl:1.5
+activesoap:retroweaver-rt:1.1
+activesoap:activesoap:1.0-20050615.083700
+activesoap:relaxngDatatype:20050407
+activesoap:relaxngDatatype:1.5
+activesoap:retroweaver:1.1
+activesoap:xsdlib:20050407
+activesoap:xsdlib:1.5
+activesoap:jaxp-api:1.3
+activesoap:jaxb-api:20050407
+activesoap:jaxb-api:1.5
+jms:jms:1.1
+jms:jms:1.0.2
+wss4j:wss4j:1.5.1
+wss4j:wss4j:1.5.0
+neo:neo:1.2.3
+neo:neo:1.1.1
+neo:neo:1.3.0
+neo:neo:1.2.0
+neo:neo:1.2.1
+neo:neo:1.3.1
+neo:neo:1.2.2
+neo:neo:1.3.2
+neo:neo:1.1.0
+mysql:mysql-connector-java:3.1.14
+mysql:mysql-connector-java:3.1.12
+mysql:mysql-connector-java:3.1.13
+mysql:mysql-connector-java:5.1.3
+mysql:mysql-connector-java:2.0.14
+mysql:mysql-connector-java:5.1.5
+mysql:mysql-connector-java:5.0.7
+mysql:mysql-connector-java:3.0.8
+mysql:mysql-connector-java:5.0.5
+mysql:mysql-connector-java:3.1.11
+mysql:mysql-connector-java:5.0.4
+mysql:mysql-connector-java:5.0.8
+mysql:mysql-connector-java:3.0.10
+mysql:mysql-connector-java:5.1.4
+mysql:mysql-connector-java:5.0.3
+mysql:mysql-connector-java:5.1.2
+mysql:mysql-connector-java:5.0.2
+mysql:mysql-connector-java:5.1.1
+mysql:mysql-connector-java:5.1.6
+hibernate:hibernate-annotations:3.1beta4
+hibernate:hibernate-annotations:3.1beta3
+hibernate:hibernate-annotations:3.0beta1
+hibernate:hibernate-annotations:3.0alpha3
+hibernate:hibernate-annotations:3.0beta2
+hibernate:hibernate-avalon:0.1
+hibernate:hibernate:2.1.6
+hibernate:hibernate:2.0-beta-5
+hibernate:hibernate:3.0.1
+hibernate:hibernate:3.1beta1
+hibernate:hibernate:3.0.5
+hibernate:hibernate:1.2
+hibernate:hibernate:2.1.7c
+hibernate:hibernate:3.0rc1
+hibernate:hibernate:3.1alpha1
+hibernate:hibernate:2.0
+hibernate:hibernate:3.1beta3
+hibernate:hibernate:3.0
+hibernate:hibernate:3.0.3
+hibernate:hibernate:2.1.2
+hibernate:hibernate:3.0alpha
+hibernate:hibernate:2.0.2
+hibernate:hibernate:3.0beta1
+hibernate:hibernate:3.0beta4b
+hibernate:hibernate:2.0.1
+hibernate:hibernate:2.1.4
+hibernate:hibernate:3.0beta3
+hibernate:hibernate:2.1.3
+hibernate:hibernate:3.1rc2
+hibernate:hibernate:2.0-beta-6
+hibernate:hibernate:3.1beta2
+hibernate:hibernate:2.1.8
+hibernate:hibernate:2.1.1
+hibernate:hibernate:2.0.3
+hibernate:hibernate-tools:2.1.3
+hibernate:hibernate-tools:3.0.0.alpha4a
+hibernate:antlr:2.7.5H3
+hibernate:hibernate-entitymanager:3.1beta1
+hibernate:hibernate-tools-hibernate:3.0.0.alpha4a
+annogen:annogen:0.1.0
+tyrex:tyrex:1.0
+tyrex:tyrex:1.0.1
+openjms:openjms-client:0.7.6
+openjms:openjms-client:0.7.6-rc1
+openjms:openjms:0.7.6
+openjms:openjms:0.7.6-rc1
+openjms:openjms:0.7.5
+edu.ucla.cs.compilers:jtb:1.3.2
+activation:activation:1.0.2
+commons-jelly:commons-jelly-tags-junit:1.0
+commons-jelly-tags-junit:commons-jelly-tags-junit:20040902.064627
+commons-jelly:commons-jelly-tags-junit:20030211.141731
+commons-jelly-tags-junit:commons-jelly-tags-junit:20040902.070920
+commons-jelly:commons-jelly-tags-jmx:20030320.165705
+commons-jelly:commons-jelly-tags-jmx:1.0
+commons-jelly-tags-jmx:commons-jelly-tags-jmx:20040902.073310
+commons-jelly:commons-jelly-tags-jmx:20030320.165904
+commons-jelly:commons-jelly-tags-sql:1.0
+commons-jelly-tags-sql:commons-jelly-tags-sql:20040902.073600
+commons-jelly:commons-jelly-tags-sql:20030211.144816
+commons-jelly-tags-quartz:commons-jelly-tags-quartz:20040902.073433
+commons-jelly:commons-jelly-tags-quartz:20030211.144716
+commons-jelly:commons-jelly-tags-quartz:1.0
+commons-jelly:commons-jelly-tags-jaxme:1.0
+commons-jelly-tags-jaxme:commons-jelly-tags-jaxme:0.1
+commons-jelly:commons-jelly-tags-jetty:1.0
+commons-jelly:commons-jelly-tags-jetty:1.0-beta-1.20030104.151258
+commons-jelly:commons-jelly-tags-jetty:20030211.144139
+commons-jelly-tags-jetty:commons-jelly-tags-jetty:20040902.072943
+commons-jelly:commons-jelly-tags-xmlunit:20030211.144251
+commons-jelly:commons-jelly-tags-xmlunit:1.0
+commons-jelly-tags-xmlunit:commons-jelly-tags-xmlunit:20040902.072757
+commons-jelly:commons-jelly-tags-jface:1.0
+commons-jelly-tags-jface:commons-jelly-tags-jface:20040902.073130
+commons-jelly:commons-jelly-tags-antlr:1.0
+commons-jelly-tags-antlr:commons-jelly-tags-antlr:20040902.071159
+commons-jelly:commons-jelly-tags-antlr:20030211.143720
+commons-jelly-tags-jms:commons-jelly-tags-jms:20040902.073216
+commons-jelly:commons-jelly-tags-jms:1.0
+commons-jelly:commons-jelly-tags-jms:20030211.142459
+commons-jelly:commons-jelly-tags-velocity:1.0
+commons-jelly-tags-velocity:commons-jelly-tags-velocity:20040902.073917
+commons-jelly:commons-jelly-tags-velocity:20030211.144921
+commons-jelly:commons-jelly-tags-velocity:20030303.205659
+commons-jelly:commons-jelly-tags-util:1.1
+commons-jelly:commons-jelly-tags-util:1.1.1
+commons-jelly:commons-jelly-tags-util:1.0
+commons-jelly-tags-util:commons-jelly-tags-util:20030211.141939
+commons-jelly-tags-util:commons-jelly-tags-util:20040902.071012
+commons-jelly:commons-jelly-tags-bean:20030320.165723
+commons-jelly:commons-jelly-tags-bean:20030211.144357
+commons-jelly-tags-bean:commons-jelly-tags-bean:20040902.071526
+commons-jelly:commons-jelly-tags-bean:1.0
+commons-jelly-tags-html:commons-jelly-tags-html:20040902.072530
+commons-jelly:commons-jelly-tags-html:20030317.100924
+commons-jelly:commons-jelly-tags-html:1.0
+commons-jelly:commons-jelly-tags-html:20030211.143308
+commons-jelly:commons-jelly-tags-html:1.0-beta-1.20030104.103227
+commons-jelly:commons-jelly-tags-define:1.0
+commons-jelly:commons-jelly-tags-define:20030211.142932
+commons-jelly-tags-define:commons-jelly-tags-define:20040902.072141
+commons-jelly:commons-jelly-tags-xml:1.1
+commons-jelly:commons-jelly-tags-xml:20030211.142705
+commons-jelly:commons-jelly-tags-xml:1.0
+commons-jelly-tags-xml:commons-jelly-tags-xml:20040902.072037
+commons-jelly-tags-xml:commons-jelly-tags-xml:20040613.030723
+commons-jelly:commons-jelly-tags-swt:20030226.103913
+commons-jelly:commons-jelly-tags-swt:1.0
+commons-jelly:commons-jelly-tags-swt:20030226.122214
+commons-jelly-tags-swt:commons-jelly-tags-swt:20040902.073028
+commons-jelly:commons-jelly-tags-swt:20030211.144614
+commons-jelly-tags-soap:commons-jelly-tags-soap:20040902.073516
+commons-jelly:commons-jelly-tags-soap:1.0
+commons-jelly:commons-jelly-tags-soap:20030211.142401
+commons-jelly:commons-jelly:20030522.212428
+commons-jelly:commons-jelly:1.0-beta-3.20020910.061420
+commons-jelly:commons-jelly:20030303.180550
+commons-jelly:commons-jelly:1.0-beta-4.20021023.153932
+commons-jelly:commons-jelly:1.0-beta-4
+commons-jelly:commons-jelly:1.0-beta-4.20021005.025546
+commons-jelly:commons-jelly:1.0-beta-4.20021008.094131
+commons-jelly:commons-jelly:1.0-beta-4.20021112.084337
+commons-jelly:commons-jelly:1.0-beta-4.20021105.013628
+commons-jelly:commons-jelly:20030724.033229
+commons-jelly:commons-jelly:1.0-beta-3.20020913.120853
+commons-jelly:commons-jelly:1.0-beta-1
+commons-jelly:commons-jelly:1.0-beta-2
+commons-jelly:commons-jelly:1.0-beta-3.20020913.010946
+commons-jelly:commons-jelly:1.0-beta-4-SNAPSHOT
+commons-jelly:commons-jelly:1.0-beta-4.20030104.110205
+commons-jelly:commons-jelly:1.0-beta-4.20021222.042553
+commons-jelly:commons-jelly:1.0
+commons-jelly:commons-jelly:1.0-beta-4.20021231.034645
+commons-jelly:commons-jelly:1.0-beta-4.20021005.070650
+commons-jelly:commons-jelly:1.0-beta-3.20020828.023547
+commons-jelly:commons-jelly:1.0-beta-4.20021012.035615
+commons-jelly:commons-jelly:20030308.101032
+commons-jelly:commons-jelly:1.0-beta-3
+commons-jelly:commons-jelly:20030609.133047
+commons-jelly:commons-jelly:20030305.075341
+commons-jelly:commons-jelly:1.0-beta-3.20020820.043616
+commons-jelly:commons-jelly:1.0-beta-4.20021023.094006
+commons-jelly:commons-jelly:1.0-beta-3.20020911.045717
+commons-jelly:commons-jelly:SNAPHSOT
+commons-jelly:commons-jelly:1.0-beta-4.20021210.123241
+commons-jelly:commons-jelly:1.0-beta-4.20021008.112820
+commons-jelly:commons-jelly:1.0-beta-4.20021017.053011
+commons-jelly:commons-jelly:20030307.121112
+commons-jelly:commons-jelly:1.0-beta-4-SNAPSHOT
+commons-jelly:commons-jelly:1.0-beta-4-SNAPSHOT
+commons-jelly:commons-jelly:1.0-beta-4.20020923.123659
+commons-jelly:commons-jelly:20030320.080836
+commons-jelly:commons-jelly:1.0-beta-4.20021120.034859
+commons-jelly:commons-jelly:20030711.034327
+commons-jelly:commons-jelly:20030303.054314
+commons-jelly:commons-jelly:20030320.165458
+commons-jelly:commons-jelly:1.0-beta-4.20021113.125954
+commons-jelly:commons-jelly:20030320.080622
+commons-jelly:commons-jelly:1.0-beta-4.20020924.123511
+commons-jelly:commons-jelly:1.0-beta-4.20021231.013337
+commons-jelly:commons-jelly:1.0-RC1
+commons-jelly:commons-jelly:1.0-RC2
+commons-jelly:commons-jelly:1.0-beta-4.20021113.192421
+commons-jelly:commons-jelly:20030211.141339
+commons-jelly:commons-jelly:1.0-beta-3.20020819.043231
+commons-jelly:commons-jelly:20030307.135732
+commons-jelly:commons-jelly:1.0-beta-3.20020904.063114
+commons-jelly:commons-jelly:20030310.073407
+commons-jelly:commons-jelly:1.0-beta-3.20020828.032644
+commons-jelly:commons-jelly:1.0-beta-4.20021002.113628
+commons-jelly:commons-jelly:1.0-beta-4.20021002.050543
+commons-jelly:commons-jelly:1.0-beta-3.20020819.043406
+commons-jelly:commons-jelly:1.0-beta-4-SNAPSHOT
+commons-jelly-tags-email:commons-jelly-tags-email:20040902.072224
+commons-jelly:commons-jelly-tags-email:20030211.144034
+commons-jelly:commons-jelly-tags-email:1.0
+commons-jelly:commons-jelly-tags-jsl:1.0
+commons-jelly:commons-jelly-tags-jsl:20030211.143151
+commons-jelly-tags-jsl:commons-jelly-tags-jsl:20040902.072431
+commons-jelly-tags-threads:commons-jelly-tags-threads:20040902.073749
+commons-jelly:commons-jelly-tags-threads:1.0
+commons-jelly:commons-jelly-tags-threads:20030211.143515
+commons-jelly-tags-dynabean:commons-jelly-tags-dynabean:20040902.071946
+commons-jelly:commons-jelly-tags-dynabean:1.0
+commons-jelly:commons-jelly-tags-dynabean:20030211.142601
+commons-jelly:commons-jelly-avalon:1.0
+commons-jelly:commons-jelly-avalon:20030211.143621
+commons-jelly-tags-ojb:commons-jelly-tags-ojb:20040902.073352
+commons-jelly:commons-jelly-tags-ojb:1.0
+commons-jelly:commons-jelly-tags-ojb:20030211.141630
+commons-jelly:commons-jelly-tags-log:1.0
+commons-jelly:commons-jelly-tags-log:20030211.142821
+commons-jelly-tags-log:commons-jelly-tags-log:20040902.071410
+commons-jelly-tags-swing:commons-jelly-tags-swing:20040902.073656
+commons-jelly:commons-jelly-tags-swing:1.0
+commons-jelly:commons-jelly-tags-swing:1.0-beta-1.20030104.104105
+commons-jelly:commons-jelly-tags-swing:20030211.143925
+commons-jelly:commons-jelly-tags-regexp:1.0
+commons-jelly:commons-jelly-tags-avalon:1.0
+commons-jelly-tags-avalon:commons-jelly-tags-avalon:20040902.071300
+commons-jelly:commons-jelly-tags-http:1.0
+commons-jelly-tags-http:commons-jelly-tags-http:20040902.072620
+commons-jelly:commons-jelly-tags-http:1.0-beta-1.20030104.141847
+commons-jelly:commons-jelly-tags-http:20030211.143043
+commons-jelly:commons-jelly-tags-ant:1.1
+commons-jelly-tags-ant:commons-jelly-tags-ant:20040902.000000
+commons-jelly:commons-jelly-tags-ant:1.0
+commons-jelly:commons-jelly-tags-ant:20030625.032346
+commons-jelly-tags-ant:commons-jelly-tags-ant:20040902.071105
+commons-jelly:commons-jelly-tags-ant:20030625.025706
+commons-jelly:commons-jelly-tags-ant:20030211.142045
+commons-jelly:commons-jelly-tags-ant:20030310.080026
+commons-jelly:commons-jelly-tags-ant:20030625.025346
+commons-jelly:commons-jelly-tags-fmt:20040902.072321
+commons-jelly:commons-jelly-tags-fmt:20030211.142201
+commons-jelly:commons-jelly-tags-fmt:1.0
+commons-jelly-tags-bsf:commons-jelly-tags-bsf:20040902.071900
+commons-jelly:commons-jelly-tags-bsf:20030305.080050
+commons-jelly:commons-jelly-tags-bsf:1.0
+commons-jelly:commons-jelly-tags-bsf:20030211.142259
+commons-jelly:commons-jelly-tags-betwixt:1.0
+commons-jelly:commons-jelly-tags-betwixt:1.0-beta-1.20030104.095958
+commons-jelly:commons-jelly-tags-betwixt:20030211.144504
+commons-jelly-tags-betwixt:commons-jelly-tags-betwixt:20040902.071752
+commons-jelly:commons-jelly-tags-validate:20030211.143411
+commons-jelly:commons-jelly-tags-validate:20030420.041030
+commons-jelly:commons-jelly-tags-validate:1.0
+commons-jelly-tags-validate:commons-jelly-tags-validate:20040902.073836
+commons-jelly:commons-jelly-tags-validate:20030420.031608
+commons-jelly:commons-jelly-tags-interaction:1.1
+commons-jelly-tags-interaction:commons-jelly-tags-interaction:20040902.072702
+commons-jelly:commons-jelly-tags-interaction:1.0
+commons-jelly:commons-jelly-tags-interaction:20030211.143817
+commons-jelly:commons-jelly-tags-beanshell:20030211.141835
+commons-jelly:commons-jelly-tags-beanshell:1.0
+commons-jelly-tags-beanshell:commons-jelly-tags-beanshell:20040902.071629
+dom4j:dom4j:1.1
+dom4j:dom4j:1.6
+dom4j:dom4j:1.4-dev-8
+dom4j:dom4j:1.3
+dom4j:dom4j:1.5.2
+dom4j:dom4j:1.4-dev-2
+dom4j:dom4j:1.4-dev-6
+dom4j:dom4j:1.5-rc1
+dom4j:dom4j:1.5
+dom4j:dom4j:1.4
+dom4j:dom4j:1.4-dev-3
+dom4j:dom4j:1.5.1
+dom4j:dom4j:1.4-dev-4
+dom4j:dom4j:1.6.1
+dom4j:dom4j:1.5-beta-2
+dom4j:dom4j:1.4-dev-7
+dom4j:dom4j:1.4-dev-5
+dom4j:dom4j:1.5-dev
+dom4j:dom4j-core:1.4-dev-8
+tomcat:catalina-cluster:5.0.28
+tomcat:catalina-cluster:5.5.12
+tomcat:catalina-cluster:5.0.18
+tomcat:catalina-cluster:5.0.16
+tomcat:catalina-cluster:5.5.9
+tomcat:naming-common:5.0.28
+tomcat:naming-common:5.0.18
+tomcat:naming-common:4.1.31
+tomcat:naming-common:4.0.6
+tomcat:tomcat_modules:3.3.2
+tomcat:catalina-storeconfig:5.5.12
+tomcat:servlets-ssi:5.0.16
+tomcat:servlets-invoker:5.0.28
+tomcat:servlets-invoker:5.5.8-alpha
+tomcat:servlets-invoker:5.5.12
+tomcat:servlets-invoker:5.5.7-alpha
+tomcat:servlets-invoker:5.0.18
+tomcat:servlets-invoker:5.5.9-alpha
+tomcat:servlets-invoker:4.1.31
+tomcat:servlets-invoker:4.0.6
+tomcat:servlets-invoker:5.0.16
+tomcat:servlets-invoker:5.5.4
+tomcat:servlets-invoker:5.5.9
+tomcat:servlets-invoker:5.5.7
+tomcat:catalina-optional:5.0.28
+tomcat:catalina-optional:5.5.8-alpha
+tomcat:catalina-optional:5.5.12
+tomcat:catalina-optional:5.5.7-alpha
+tomcat:catalina-optional:5.0.18
+tomcat:catalina-optional:5.5.9-alpha
+tomcat:catalina-optional:5.0.16
+tomcat:catalina-optional:5.5.4
+tomcat:catalina-optional:5.5.9
+tomcat:catalina-optional:5.5.7
+tomcat:catalina-manager:5.0.28
+tomcat:catalina-manager:5.5.12
+tomcat:catalina-manager:5.0.18
+tomcat:catalina-manager:5.0.16
+tomcat:tomcat-i18n-es:5.5.12
+tomcat:naming-java:5.0.28
+tomcat:naming-java:5.0.18
+tomcat:container_util:3.3.2
+tomcat:catalina-ant:5.0.28
+tomcat:catalina-ant:5.5.12
+tomcat:catalina-ant:5.0.18
+tomcat:catalina-ant:4.1.31
+tomcat:catalina-ant:5.0.16
+tomcat:tomcat-parent:5.5.23
+tomcat:tomcat-parent:5.5.15
+tomcat:servlet-api:5.5.12
+tomcat:servlet-api:5.0.18
+tomcat:servlet-api:5.0.16
+tomcat:servlet:4.0.6
+tomcat:catalina-i18n-ja:5.0.28
+tomcat:catalina-i18n-ja:5.0.18
+tomcat:catalina-i18n-ja:5.0.16
+tomcat:commons-modeler:5.5.9-alpha
+tomcat:tomcat-ajp:5.5.12
+tomcat:tomcat-ajp:4.0.6
+tomcat:tomcat-ajp:5.5.9
+tomcat:tomcat-http:5.5.8-alpha
+tomcat:tomcat-http:5.5.12
+tomcat:tomcat-http:5.5.7-alpha
+tomcat:tomcat-http:5.5.9-alpha
+tomcat:tomcat-http:5.5.4
+tomcat:tomcat-http:5.5.9
+tomcat:tomcat-http:5.5.7
+tomcat:catalina:4.1.9
+tomcat:catalina:4.0.4
+tomcat:catalina:5.0.28
+tomcat:catalina:5.5.8-alpha
+tomcat:catalina:5.5.12
+tomcat:catalina:5.5.7-alpha
+tomcat:catalina:5.0.18
+tomcat:catalina:5.5.9-alpha
+tomcat:catalina:4.1.31
+tomcat:catalina:4.0.6
+tomcat:catalina:5.0.16
+tomcat:catalina:5.5.4
+tomcat:catalina:5.5.9
+tomcat:catalina:5.5.7
+tomcat:warp:4.0.6
+tomcat:core_util:3.3.2
+tomcat:servlets-default:5.0.28
+tomcat:servlets-default:5.5.8-alpha
+tomcat:servlets-default:5.5.12
+tomcat:servlets-default:5.5.7-alpha
+tomcat:servlets-default:5.0.18
+tomcat:servlets-default:5.5.9-alpha
+tomcat:servlets-default:4.1.31
+tomcat:servlets-default:4.0.6
+tomcat:servlets-default:5.0.16
+tomcat:servlets-default:5.5.4
+tomcat:servlets-default:5.5.9
+tomcat:servlets-default:5.5.7
+tomcat:naming-factory:5.0.28
+tomcat:naming-factory:5.5.12
+tomcat:naming-factory:5.0.18
+tomcat:naming-factory:4.1.31
+tomcat:naming-factory:4.0.6
+tomcat:servlets-cgi:5.0.16
+tomcat:catalina-i18n-fr:5.0.28
+tomcat:catalina-i18n-fr:5.0.18
+tomcat:catalina-i18n-fr:5.0.16
+tomcat:servlets-webdav:5.0.28
+tomcat:servlets-webdav:5.5.12
+tomcat:servlets-webdav:5.0.18
+tomcat:servlets-webdav:4.1.31
+tomcat:servlets-webdav:4.0.6
+tomcat:servlets-webdav:5.0.16
+tomcat:jkshm:5.0.28
+tomcat:jkshm:5.0.18
+tomcat:jkshm:5.0.16
+tomcat:tomcat-i18n-fr:5.5.12
+tomcat:tomcat-warp:4.1.31
+tomcat:jsp-api:5.5.12
+tomcat:jsp-api:5.0.18
+tomcat:jsp-api:5.0.16
+tomcat:naming-resources:5.0.28
+tomcat:naming-resources:5.5.8-alpha
+tomcat:naming-resources:5.5.12
+tomcat:naming-resources:5.5.7-alpha
+tomcat:naming-resources:5.0.18
+tomcat:naming-resources:5.5.9-alpha
+tomcat:naming-resources:4.1.31
+tomcat:naming-resources:4.0.6
+tomcat:naming-resources:5.5.4
+tomcat:naming-resources:5.5.9
+tomcat:naming-resources:5.5.7
+tomcat:jasper:3.2.4
+tomcat:jasper:3.3.2
+tomcat:tomcat-jk2:5.0.28
+tomcat:tomcat-jk2:5.0.18
+tomcat:tomcat-jk2:4.1.31
+tomcat:tomcat-jk2:5.0.16
+tomcat:tomcat-jk2:3.3.2
+tomcat:tomcat_core:3.3.2
+tomcat:catalina-i18n-es:5.0.28
+tomcat:catalina-i18n-es:5.0.18
+tomcat:catalina-i18n-es:5.0.16
+tomcat:etomcat:3.3.2
+tomcat:commons-logging:4.0.6
+tomcat:tomcat-ant:3.3.2
+tomcat:tomcat-jni:5.0.28
+tomcat:tomcat-jni:5.0.18
+tomcat:tomcat-jni:4.1.31
+tomcat:tomcat-jni:5.0.16
+tomcat:tomcat:3.3.2
+tomcat:tomcat:3.2.3
+tomcat:tomcat33-resource:3.3.2
+tomcat:tomcat-jk:5.0.28
+tomcat:tomcat-jk:5.0.18
+tomcat:tomcat-jk:4.1.31
+tomcat:tomcat-jk:5.0.16
+tomcat:tomcat-apr:5.5.12
+tomcat:tomcat33-coyote:3.3.2
+tomcat:tomcat-http11:5.0.28
+tomcat:tomcat-http11:5.0.18
+tomcat:tomcat-http11:4.1.31
+tomcat:tomcat-http11:4.0.6
+tomcat:tomcat-http11:5.0.16
+tomcat:tomcat-http11:3.3.2
+tomcat:tomcat-juli:5.5.12
+tomcat:webserver:3.2.4
+tomcat:tomcat-coyote:4.1.9
+tomcat:tomcat-coyote:4.0.4
+tomcat:tomcat-coyote:5.0.28
+tomcat:tomcat-coyote:5.5.8-alpha
+tomcat:tomcat-coyote:5.5.12
+tomcat:tomcat-coyote:5.5.7-alpha
+tomcat:tomcat-coyote:5.0.18
+tomcat:tomcat-coyote:5.5.9-alpha
+tomcat:tomcat-coyote:4.1.31
+tomcat:tomcat-coyote:4.0.6
+tomcat:tomcat-coyote:5.0.16
+tomcat:tomcat-coyote:3.3.2
+tomcat:tomcat-coyote:5.5.4
+tomcat:tomcat-coyote:5.5.9
+tomcat:tomcat-coyote:5.5.7
+tomcat:tomcat-i18n-en:5.5.12
+tomcat:tomcat-naming:1.0
+tomcat:tomcat-naming:common
+tomcat:servlets-manager:4.1.31
+tomcat:servlets-manager:4.0.6
+tomcat:catalina-balancer:5.0.28
+tomcat:catalina-balancer:5.5.12
+tomcat:catalina-balancer:5.0.18
+tomcat:catalina-balancer:5.0.16
+tomcat:tomcat-util:5.0.28
+tomcat:tomcat-util:5.5.8-alpha
+tomcat:tomcat-util:5.5.12
+tomcat:tomcat-util:5.5.7-alpha
+tomcat:tomcat-util:5.0.18
+tomcat:tomcat-util:5.5.9-alpha
+tomcat:tomcat-util:3.2.1
+tomcat:tomcat-util:4.1.31
+tomcat:tomcat-util:4.0.6
+tomcat:tomcat-util:5.0.16
+tomcat:tomcat-util:3.3.2
+tomcat:tomcat-util:5.5.4
+tomcat:tomcat-util:5.5.9
+tomcat:tomcat-util:5.5.7
+tomcat:catalina-admin:5.0.28
+tomcat:catalina-admin:5.0.18
+tomcat:catalina-admin:5.0.16
+tomcat:jasper-compiler-jdt:5.5.8-alpha
+tomcat:jasper-compiler-jdt:5.5.12
+tomcat:jasper-compiler-jdt:5.5.7-alpha
+tomcat:jasper-compiler-jdt:5.5.9-alpha
+tomcat:jasper-compiler-jdt:5.5.4
+tomcat:jasper-compiler-jdt:5.5.9
+tomcat:jasper-compiler-jdt:5.5.7
+tomcat:jasper-runtime:4.0.4
+tomcat:jasper-runtime:4.1.30
+tomcat:jasper-runtime:5.0.28
+tomcat:jasper-runtime:5.5.8-alpha
+tomcat:jasper-runtime:5.0.25
+tomcat:jasper-runtime:5.5.12
+tomcat:jasper-runtime:5.5.7-alpha
+tomcat:jasper-runtime:5.0.18
+tomcat:jasper-runtime:5.5.9-alpha
+tomcat:jasper-runtime:4.1.31
+tomcat:jasper-runtime:4.0.6
+tomcat:jasper-runtime:5.0.16
+tomcat:jasper-runtime:3.3.2
+tomcat:jasper-runtime:5.5.4
+tomcat:jasper-runtime:5.5.9
+tomcat:jasper-runtime:5.5.7
+tomcat:catalina-host-manager:5.5.12
+tomcat:stop-tomcat:3.3.2
+tomcat:catalina-root:5.0.28
+tomcat:catalina-root:5.5.12
+tomcat:catalina-root:5.0.18
+tomcat:catalina-root:5.0.16
+tomcat:jasper-compiler:4.0.4
+tomcat:jasper-compiler:4.1.30
+tomcat:jasper-compiler:5.0.28
+tomcat:jasper-compiler:5.5.8-alpha
+tomcat:jasper-compiler:5.0.25
+tomcat:jasper-compiler:5.5.12
+tomcat:jasper-compiler:5.5.7-alpha
+tomcat:jasper-compiler:5.0.18
+tomcat:jasper-compiler:5.5.9-alpha
+tomcat:jasper-compiler:4.1.31
+tomcat:jasper-compiler:4.0.6
+tomcat:jasper-compiler:5.0.16
+tomcat:jasper-compiler:5.5.4
+tomcat:jasper-compiler:5.5.9
+tomcat:jasper-compiler:5.5.7
+tomcat:tomcat-i18n-ja:5.5.12
+tomcat:naming-factory-dbcp:5.5.12
+tomcat:jkconfig:5.0.28
+tomcat:jkconfig:5.0.18
+tomcat:jkconfig:5.0.16
+tomcat:servlets-common:5.0.28
+tomcat:servlets-common:5.0.18
+tomcat:servlets-common:4.1.31
+tomcat:servlets-common:4.0.6
+tomcat:servlets-common:5.0.16
+tomcat:catalina-ant-jmx:5.5.12
+tomcat:facade22:3.3.2
+tomcat:bootstrap:5.0.28
+tomcat:bootstrap:5.5.12
+tomcat:bootstrap:5.0.18
+tomcat:bootstrap:4.0.6
+tomcat:bootstrap:5.0.16
+avalon-repository:avalon-repository-cli:2.0.0
+avalon-repository:avalon-repository-cli:2.0.dev-0
+avalon-repository:avalon-repository-util:1.2
+avalon-repository:avalon-repository-util:2.0.0
+avalon-repository:avalon-repository-util:2.0.dev-0
+avalon-repository:avalon-repository-api:1.2
+avalon-repository:avalon-repository-api:2.0.0
+avalon-repository:avalon-repository-api:2.0.dev-0
+avalon-repository:avalon-repository-impl:1.2
+avalon-repository:avalon-repository-impl:2.0.0
+avalon-repository:avalon-repository-impl:2.0.dev-0
+avalon-repository:avalon-repository-impl:1.0b1
+avalon-repository:avalon-repository-impl:1.0-beta-1-RC1
+avalon-repository:avalon-repository-spi:1.2
+avalon-repository:avalon-repository-spi:2.0.0
+avalon-repository:avalon-repository-spi:2.0.dev-0
+avalon-repository:avalon-repository-spi:1.0b1
+avalon-repository:avalon-repository-spi:1.0-beta-1-RC1
+avalon-repository:avalon-repository-main:1.2
+avalon-repository:avalon-repository-main:2.0.0
+avalon-repository:avalon-repository-main:2.0.dev-0
+wsdl4j:wsdl4j-qname:1.5.2
+wsdl4j:wsdl4j-qname:1.4
+wsdl4j:wsdl4j-qname:1.5.1
+wsdl4j:wsdl4j-qname:1.6.1
+wsdl4j:wsdl4j:1.5.2
+wsdl4j:wsdl4j:1.0
+wsdl4j:wsdl4j:1.5.3
+wsdl4j:wsdl4j:1.4
+wsdl4j:wsdl4j:1.5.1
+wsdl4j:wsdl4j:1.6.2
+wsdl4j:wsdl4j:1.6.1
+us.blanshard.stubout:stubout:1.0
+backport-util-concurrent:backport-util-concurrent-java12:3.1
+backport-util-concurrent:backport-util-concurrent:3.1
+backport-util-concurrent:backport-util-concurrent:1.1_01
+backport-util-concurrent:backport-util-concurrent:3.0
+backport-util-concurrent:backport-util-concurrent:1.0
+backport-util-concurrent:backport-util-concurrent:2.0_01_pd
+backport-util-concurrent:backport-util-concurrent:2.1
+backport-util-concurrent:backport-util-concurrent:2.2
+jrobin:jrobin:1.4.0
+excalibur-naming:excalibur-naming:1.0
+fm.void.jetm:jetm:1.1.1
+fm.void.jetm:jetm:1.2.0
+fm.void.jetm:jetm:1.2.1
+fm.void.jetm:jetm:1.2.2
+fm.void.jetm:jetm:1.1.0
+fm.void.jetm:jetm-optional:1.1.1
+fm.void.jetm:jetm-optional:1.2.0
+fm.void.jetm:jetm-optional:1.2.1
+fm.void.jetm:jetm-optional:1.2.2
+fm.void.jetm:jetm-optional:1.1.0
+jencks:genericra:1.0
+jencks:jencks-all:1.1
+jencks-all:jencks-all:1.0-M1
+jencks:jencks-all:1.1.3
+jencks-all:jencks-all:1.1.1
+jencks-all:jencks-all:1.0
+jencks-all:jencks-all:1.1.2
+jencks:jencks:1.1
+jencks:jencks:1.0-M1
+jencks:jencks:1.1.3
+jencks:jencks:1.1.1
+jencks:jencks:1.0
+jencks:jencks:1.1.2
+jencks:xapool-without-pool:1.4
+xstream:xstream:1.1
+xstream:xstream:1.1.3
+xstream:xstream:1.2
+xstream:xstream:0.3
+xstream:xstream:0.6
+xstream:xstream:1.1.1
+xstream:xstream:0.1
+xstream:xstream:1.0
+xstream:xstream:0.4
+xstream:xstream:1.0-rc1
+xstream:xstream:1.2.1
+xstream:xstream:1.0.1
+xstream:xstream:1.0.2
+xstream:xstream:1.2.2
+xstream:xstream:0.6-rc1
+xstream:xstream:0.5
+xstream:xstream:0.2
+xstream:xstream:1.1.2
+junit-addons:junit-addons:1.4
+ws-commons-java5:ws-commons-java5:1.0
+org.apache.ws.commons:ws-commons-java5:1.0.1
+emberio:emberio:0.2-alpha
+emberio:emberio:0.3-alpha
+jspapi:jsp-api:2.0
+jspapi:jsp-api:2.0.public_draft
+jspapi:jsp-api:2.0-20040521
+jcache:jcache:1.0-dev-2
+jcache:jcache:1.0-dev-1
+gnu-regexp:gnu-regexp:1.1.4
+slide:kernel:2.1M1
+slide:kernel:2.0
+slide:jaas:2.1M1
+slide:ant-webdav:2.1M1
+slide:catalinawrapper:2.1M1
+slide:catalinawrapper:2.0
+slide:slide-taglib-common:1.0.16
+slide:jdk14logger:2.1M1
+slide:jdk14logger:2.0
+slide:slide-log4jlogger:2.0b1
+slide:slide-webdavlib:2.1
+slide:slide-roles:2.0b1
+slide:slide-roles:1.0.16
+slide:slide-jdk14logger:2.0b1
+slide:slide-taglib-struts:1.0.16
+slide:webdavservlet:2.1M1
+slide:webdavservlet:2.0
+slide:slide-kernel:1.0.16
+slide:slide-kernel:2.1
+slide:slide-kernel-bundle:2.0b1
+slide:webdavlib:1.0.16
+slide:webdavlib:2.1M1
+slide:webdavlib:2.0
+slide:webdavlib:2.0beta1
+slide:slide-webdavservlet:2.0b1
+slide:slide-webdavservlet:1.0.16
+slide:slide-webdavservlet:2.1
+slide:log4jlogger:2.1M1
+slide:log4jlogger:2.0
+slide:slide-stores:2.0b1
+slide:slide-stores:1.0.16
+slide:slide-stores:2.1
+slide:stores:2.1M1
+slide:stores:2.0
+slide:webdav:1.0.16
+slide:roles:2.1M1
+slide:roles:2.0
+crimson:crimson:1.1.3
+azote:xmlstubs:1.0.2
+werkz:werkz:1.0-beta-11
+werkz:werkz:1.0-beta-5
+werkz:werkz:1.0-beta-4
+werkz:werkz:20030212.142109
+werkz:werkz:1.0-beta-1
+werkz:werkz:1.0-beta-6
+werkz:werkz:1.0-beta-2
+werkz:werkz:1.0-beta-3
+werkz:werkz:1.0-beta-7
+werkz:werkz:1.0-beta-8
+werkz:werkz:20040426.222000
+werkz:werkz:1.0-beta-9
+werkz:werkz:1.0-beta-10
+werkz:werkz:1.0-beta-3.20020715.042250
+werkz:werkz:20040114.081319
+excalibur-pool:excalibur-pool-instrumented:2.0
+excalibur-pool:excalibur-pool-instrumented:2.0.0
+excalibur-pool:excalibur-pool-instrumented:2.1
+excalibur-pool:excalibur-pool-api:2.0
+excalibur-pool:excalibur-pool-api:2.0.0
+excalibur-pool:excalibur-pool-api:2.1
+excalibur-pool:excalibur-pool:1.2
+excalibur-pool:excalibur-pool:20020820
+excalibur-pool:excalibur-pool:1.0
+excalibur-pool:excalibur-pool-impl:2.0
+excalibur-pool:excalibur-pool-impl:2.0.0
+excalibur-pool:excalibur-pool-impl:2.1
+concurrent:concurrent:1.0
+concurrent:concurrent:1.3.3
+concurrent:concurrent:1.3.1
+concurrent:concurrent:1.3.4
+concurrent:concurrent:1.3.2
+maxq:maxq:0.94
+commons-betwixt:commons-betwixt:1.0-beta-1
+commons-betwixt:commons-betwixt:0.6
+commons-betwixt:commons-betwixt:0.8
+commons-betwixt:commons-betwixt:1.0-beta-1.20020912.014405
+commons-betwixt:commons-betwixt:0.7
+commons-betwixt:commons-betwixt:20030211.133854
+commons-betwixt:commons-betwixt:1.0-beta-1.20030111.103454
+commons-betwixt:commons-betwixt:1.0-beta-1.20020920.020057
+commons-betwixt:commons-betwixt:1.0-beta-1.20020910.124754
+commons-betwixt:commons-betwixt:0.5
+commons-betwixt:commons-betwixt:1.0-alpha-1
+commons-jxpath:commons-jxpath:1.1
+commons-jxpath:commons-jxpath:1.2
+commons-jxpath:commons-jxpath:1.3
+jakarta-commons-jxpath:jakarta-commons-jxpath:1.0-beta1-dev
+james:james-server:3.0a
+james:james:3.0a1
+james:mailet:3.0
+james:mailet:1.0
+james:mailet-api:3.0
+james:mailet-api:1.0
+javancss:jhbasic:26.46
+javancss:jhbasic:21.41
+javancss:jhbasic:25.45
+javancss:jhbasic:29.50
+javancss:jhbasic:28.49
+javancss:ccl:26.46
+javancss:ccl:21.41
+javancss:ccl:25.45
+javancss:ccl:29.50
+javancss:ccl:28.49
+javancss:javancss:26.46
+javancss:javancss:21.41
+javancss:javancss:25.45
+javancss:javancss:29.50
+javancss:javancss:28.49
+commons-attributes:commons-attributes-plugin:2.1
+commons-attributes:commons-attributes-api:2.1
+commons-attributes:commons-attributes-api:2.2
+commons-attributes:commons-attributes-compiler:2.1
+commons-attributes:commons-attributes-compiler:2.1
+jstl:jstl:1.0.3
+jstl:jstl:1.1.1
+jstl:jstl:1.0
+jstl:jstl:1.0.5
+jstl:jstl:1.0.1
+jstl:jstl:1.0.2
+jstl:jstl:1.0.6
+jstl:jstl:1.1.0
+jstl:jstl:1.0.4
+jstl:jstl:1.1.2
+directory-asn1:stub-compiler:0.3
+directory-asn1:stub-compiler:0.3.2
+directory-asn1:asn1:0.3.3
+directory-asn1:asn1-new-ber:0.3.3
+directory-asn1:asn1-codec:0.3
+directory-asn1:asn1-codec:0.3.3
+directory-asn1:asn1-codec:0.3.2
+directory-asn1:asn1-der:0.3
+directory-asn1:asn1-der:0.3.3
+directory-asn1:asn1-der:0.3.2
+directory-asn1:asn1-ber:0.3
+asn1-ber:asn1-ber:0.3.3
+directory-asn1:asn1-ber:0.3.2
+directory:apacheds:0.9.2
+directory:apacheds:0.9
+directory:apacheds-main:0.9.1
+directory:apacheds-main:0.9.3
+directory:apacheds-main:0.9.2
+directory:apacheds-main:0.9
+directory:ldap-common:20031205.013436
+directory:apacheds-shared:0.9.1
+directory:apacheds-shared:0.9.3
+directory:apacheds-shared:0.9.2
+directory:apacheds-shared:0.9
+directory:apacheds:0.9.2
+directory:apacheds:0.9
+directory:apacheds-main:0.9.1
+directory:apacheds-main:0.9.3
+directory:apacheds-main:0.9.2
+directory:apacheds-main:0.9
+directory:ldap-common:20031205.013436
+directory:apacheds-shared:0.9.1
+directory:apacheds-shared:0.9.3
+directory:apacheds-shared:0.9.2
+directory:apacheds-shared:0.9
+directory:apacheds-core:0.9.1
+directory:apacheds-core:0.9.3
+directory:apacheds-core:0.9.2
+directory:apacheds-core:0.9
+directory:apacheds-core:0.9.1
+directory:apacheds-core:0.9.3
+directory:apacheds-core:0.9.2
+directory:apacheds-core:0.9
+directory:maven-directory-plugin:0.9.3
+old.neo:neo:1.1.1
+old.neo:neo:1.1.0
+bsf:bsf:2.4.0
+bsf:bsf:2.3.0-rc1
+bsf:bsf:2.3.0
+bsf:bsf:2.2
+berkano:berkano-user-mgt-webwork:20050809
+berkano:berkano-user-mgt-webwork:20050901
+berkano:berkano-user-mgt-webwork:20050805.025819
+berkano:berkano-user-mgt-webwork:dev-20050723
+berkano:berkano-user-mgt-webwork:20050725.114938
+berkano:berkano-user-mgt-webwork:dev-20050722
+berkano:berkano-user-mgt-webwork:20050805.014158
+berkano:berkano-user-mgt-webwork:SNAPSHOT
+berkano:berkano-user-mgt-webwork:20050805.042315
+berkano:berkano-user-mgt-webwork:20050901-2
+berkano:berkano-user-mgt-webwork:SNAPSHOT
+berkano:berkano-user-mgt-webwork:SNAPSHOT
+berkano:berkano-user-mgt-webwork:SNAPSHOT
+berkano:berkano-taglib-unit:20050809
+berkano:berkano-taglib-unit:20050901
+berkano:berkano-taglib-unit:SNAPSHOT
+berkano:berkano-taglib-unit:dev-20050723
+berkano:berkano-taglib-unit:dev-20050722
+berkano:berkano-taglib-unit:SNAPSHOT
+berkano:berkano-taglib-unit:20050725.114152
+berkano:berkano-taglib-unit:20050901-2
+berkano:berkano-taglib-unit:SNAPSHOT
+berkano:berkano-taglib-unit:20050901.201035
+berkano:berkano-taglib-unit:20050805.043354
+berkano:seraph-0.7.9-berkano:20050805.013448
+berkano:seraph:0.7.9-berkano-SNAPSHOT
+berkano:berkano-user:20050809
+berkano:berkano-user:20050901
+berkano:berkano-user:SNAPSHOT
+berkano:berkano-user:20050805.025614
+berkano:berkano-user:20050805.013949
+berkano:berkano-user:SNAPSHOT
+berkano:berkano-user:dev-20050723
+berkano:berkano-user:SNAPSHOT
+berkano:berkano-user:20050805.042145
+berkano:berkano-user:dev-20050722
+berkano:berkano-user:20050901-2
+berkano:berkano-user:SNAPSHOT
+berkano:berkano-user:20050725.114646
+berkano:berkano-user:20050805.011914
+berkano:berkano-user:SNAPSHOT
+berkano:berkano-seraph:20050809
+berkano:berkano-seraph:20050901
+berkano:berkano-seraph:20050805.025728
+berkano:berkano-seraph:SNAPSHOT
+berkano:berkano-seraph:dev-20050723
+berkano:berkano-seraph:20050805.014109
+berkano:berkano-seraph:20050805.042233
+berkano:berkano-seraph:SNAPSHOT
+berkano:berkano-seraph:dev-20050722
+berkano:berkano-seraph:20050725.114741
+berkano:berkano-seraph:20050901-2
+berkano:berkano-seraph:SNAPSHOT
+berkano:berkano-seraph:SNAPSHOT
+berkano:berkano-bookmarks:20050809
+berkano:berkano-bookmarks:20050901
+berkano:berkano-bookmarks:20050805.011618
+berkano:berkano-bookmarks:SNAPSHOT
+berkano:berkano-bookmarks:SNAPSHOT
+berkano:berkano-bookmarks:dev-20050723
+berkano:berkano-bookmarks:20050805.025231
+berkano:berkano-bookmarks:20050616.013434
+berkano:berkano-bookmarks:20050615.231329
+berkano:berkano-bookmarks:dev-20050722
+berkano:berkano-bookmarks:SNAPSHOT
+berkano:berkano-bookmarks:20050901-2
+berkano:berkano-bookmarks:SNAPSHOT
+berkano:berkano-bookmarks:SNAPSHOT
+berkano:berkano-bookmarks:SNAPSHOT
+berkano:berkano-bookmarks:20050805.013618
+berkano:berkano-bookmarks:20050725.113625
+berkano:berkano-bookmarks:20050725.113936
+berkano:berkano-bookmarks:20050805.041912
+berkano:berkano-util:20050809
+berkano:berkano-util:20050901
+berkano:berkano-util:20050805.042047
+berkano:berkano-util:SNAPSHOT
+berkano:berkano-util:dev-20050723
+berkano:berkano-util:20050805.025432
+berkano:berkano-util:SNAPSHOT
+berkano:berkano-util:20050805.011804
+berkano:berkano-util:dev-20050722
+berkano:berkano-util:20050805.013835
+berkano:berkano-util:20050901-2
+berkano:berkano-util:20050725.114437
+berkano:berkano-util:SNAPSHOT
+berkano:berkano-util:SNAPSHOT
+berkano:berkano-util:SNAPSHOT
+berkano:berkano-sample:SNAPSHOT
+berkano:berkano-sample:SNAPSHOT
+berkano:berkano-sample:20050725.140907
+berkano:berkano-sample:20050616.014153
+berkano:berkano-sample:SNAPSHOT
+berkano:berkano-sample:SNAPSHOT
+berkano:berkano-sample:20050809.143841
+berkano:berkano-sample:20050805.042414
+berkano:berkano-sample:20050901.194114
+berkano:berkano-kisstags:20050809
+berkano:berkano-kisstags:20050901
+berkano:berkano-kisstags:dev-20050723
+berkano:berkano-kisstags:SNAPSHOT
+berkano:berkano-kisstags:dev-20050722
+berkano:berkano-kisstags:20050805.043651
+berkano:berkano-kisstags:20050901-2
+berkano:berkano-kisstags:20050725.114553
+berkano:berkano-kisstags:SNAPSHOT
+berkano:bean-displaytag:20050809
+berkano:bean-displaytag:SNAPSHOT
+berkano:bean-displaytag:20050805.043536
+berkano:bean-displaytag:20050725.182711
+berkano:bean-displaytag:dev-20050723
+berkano:bean-displaytag:SNAPSHOT
+berkano:bean-displaytag:20050725.114322
+berkano:bean-displaytag:SNAPSHOT
+berkano:bean-displaytag:20050719.173649
+berkano:bean-displaytag:SNAPSHOT
+berkano:bean-displaytag:dev-20050722
+berkano:bean-displaytag:20050901.201237
+berkano:bean-displaytag:20050901-2
+berkano:bean-displaytag:SNAPSHOT
+berkano:berkano-seraph-taglib:20050809
+berkano:berkano-seraph-taglib:SNAPSHOT
+berkano:berkano-seraph-taglib:dev-20050723
+berkano:berkano-seraph-taglib:SNAPSHOT
+berkano:berkano-seraph-taglib:20050901-2
+berkano:berkano-seraph-taglib:20050805.043756
+berkano:berkano-seraph-taglib:20050725.114841
+avalon-logkit:avalon-logkit:2.0
+avalon-logkit:avalon-logkit:2.0.0
+avalon-logkit:avalon-logkit:2.1
+excalibur-extension:excalibur-extension:1.0
+msv:msv:20050913
+msv:msv:20030225
+msv:msv:20020414
+msv:msv:20030807
+msv:relaxngDatatype:20050913
+msv:relaxngDatatype:20030225
+msv:relaxngDatatype:20030807
+msv:isorelax:20050913
+msv:isorelax:20030225
+msv:isorelax:20030807
+msv:xsdlib:20050913
+msv:xsdlib:20030225
+msv:xsdlib:20030807
+commons-messenger:commons-messenger:1.0-dev-5
+commons-messenger:commons-messenger:1.0-dev-2
+commons-messenger:commons-messenger:1.0-dev-13
+commons-messenger:commons-messenger:1.0-dev-11
+commons-messenger:commons-messenger:1.0-dev-8
+commons-messenger:commons-messenger:1.0-dev-3
+commons-messenger:commons-messenger:1.0-dev-4
+commons-messenger:commons-messenger:1.0-dev-12
+commons-messenger:commons-messenger:1.0-dev-10
+commons-messenger:commons-messenger:1.0-dev-14
+commons-messenger:commons-messenger:1.0-dev-6
+excalibur-component-examples:excalibur-component-examples:2.1
+xdoclet:xdoclet-solarmetric-module:1.2b4
+xdoclet:xdoclet-solarmetric-module:1.2.3
+xdoclet:xdoclet-solarmetric-module:1.2b2
+xdoclet:xdoclet-xjavadoc:1.2b2
+xdoclet:xdoclet-xjavadoc:1.0
+xdoclet:xdoclet-xjavadoc:1.2b1
+xdoclet:xdoclet-libelis-module:1.2b4
+xdoclet:xdoclet-libelis-module:1.2.3
+xdoclet:xdoclet-libelis-module:1.2
+xdoclet:xdoclet-libelis-module:1.2b2
+xdoclet:xdoclet-exolab-module:1.2b4
+xdoclet:xdoclet-exolab-module:1.2.3
+xdoclet:xdoclet-exolab-module:1.2
+xdoclet:xdoclet-exolab-module:1.2b2
+xdoclet:xdoclet-exolab-module:1.2b1
+xdoclet:xdoclet-oracle-module:1.2b4
+xdoclet:xdoclet-oracle-module:1.2.3
+xdoclet:xdoclet-oracle-module:1.2
+xdoclet:xdoclet-webwork-module:1.2b4
+xdoclet:xdoclet-webwork-module:1.2.3
+xdoclet:xdoclet-webwork-module:1.2
+xdoclet:xdoclet-webwork-module:1.2b2
+xdoclet:xdoclet-webwork-module:1.2b1
+xdoclet:xdoclet-pt_BR-locale:1.2.3
+xdoclet:xdoclet-pt_BR-locale:1.2
+xdoclet:xdoclet-tjdo-module:1.2b4
+xdoclet:xdoclet-tjdo-module:1.2.3
+xdoclet:xdoclet-tjdo-module:1.2b2
+xdoclet:xdoclet-xdoclet-module:1.2b4
+xdoclet:xdoclet-xdoclet-module:1.2.3
+xdoclet:xdoclet-xdoclet-module:1.2
+xdoclet:xdoclet-xdoclet-module:1.2b2
+xdoclet:xdoclet-xdoclet-module:1.2b1
+xdoclet:xdoclet-xjavadoc-uc:1.2b2
+xdoclet:xjavadoc:1.1
+xdoclet:xjavadoc:1.0.3
+xdoclet:xjavadoc:1.0
+xdoclet:xjavadoc:1.0.2
+xdoclet:xdoclet-caucho-module:1.2b4
+xdoclet:xdoclet-caucho-module:1.2.3
+xdoclet:xdoclet-caucho-module:1.2
+xdoclet:xdoclet-caucho-module:1.2b2
+xdoclet:xdoclet-caucho-module:1.2b1
+xdoclet:xdoclet-wsee-module:1.2.3
+xdoclet:xdoclet-jboss-module:1.2b4
+xdoclet:xdoclet-jboss-module:1.2.3
+xdoclet:xdoclet-jboss-module:1.2
+xdoclet:xdoclet-jboss-module:1.2b2
+xdoclet:xdoclet-jboss-module:1.2b1
+xdoclet:xdoclet-jsf-module:1.2.3
+xdoclet:maven-xdoclet-plugin:1.2b4
+xdoclet:maven-xdoclet-plugin:1.2
+xdoclet:xdoclet-sun-module:1.2b4
+xdoclet:xdoclet-sun-module:1.2.3
+xdoclet:xdoclet-sun-module:1.2
+xdoclet:xdoclet-mvcsoft-module:1.2b4
+xdoclet:xdoclet-mvcsoft-module:1.2.3
+xdoclet:xdoclet-mvcsoft-module:1.2
+xdoclet:xdoclet-mvcsoft-module:1.2b2
+xdoclet:xdoclet-mvcsoft-module:1.2b1
+xdoclet:xdoclet-sybase-module:1.2b4
+xdoclet:xdoclet-sybase-module:1.2.3
+xdoclet:xdoclet-sybase-module:1.2
+xdoclet:xdoclet-sybase-module:1.2b2
+xdoclet:xdoclet-sybase-module:1.2b1
+xdoclet:xdoclet-jdo-module:1.2b4
+xdoclet:xdoclet-jdo-module:1.2.3
+xdoclet:xdoclet-jdo-module:1.2
+xdoclet:xdoclet-jdo-module:1.2b2
+xdoclet:xdoclet-jdo-module:1.2b1
+xdoclet:xdoclet-borland-module:1.2b4
+xdoclet:xdoclet-borland-module:1.2.3
+xdoclet:xdoclet-borland-module:1.2
+xdoclet:xdoclet-java-module:1.2b4
+xdoclet:xdoclet-java-module:1.2.3
+xdoclet:xdoclet-java-module:1.2
+xdoclet:xdoclet-java-module:1.2b2
+xdoclet:xdoclet-java-module:1.2b1
+xdoclet:xdoclet-bea-module:1.2b4
+xdoclet:xdoclet-bea-module:1.2.3
+xdoclet:xdoclet-bea-module:1.2
+xdoclet:xdoclet-bea-module:1.2b2
+xdoclet:xdoclet-bea-module:1.2b1
+xdoclet:maven2-xdoclet2-plugin:2.0.5
+xdoclet:xdoclet-hibernate-module:1.2b4
+xdoclet:xdoclet-hibernate-module:1.2.3
+xdoclet:xdoclet-hibernate-module:1.2
+xdoclet:xdoclet-hibernate-module:1.2b2
+xdoclet:xdoclet-openejb-module:1.2.3
+xdoclet:xdoclet-web-module:1.2b4
+xdoclet:xdoclet-web-module:1.2.3
+xdoclet:xdoclet-web-module:1.2
+xdoclet:xdoclet-web-module:1.2b2
+xdoclet:xdoclet-web-module:1.2b1
+xdoclet:xdoclet:1.2b4
+xdoclet:xdoclet:1.2.3
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:1.2
+xdoclet:xdoclet:1.2b2
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:2.0
+xdoclet:xdoclet:2.0.4
+xdoclet:xdoclet:1.2b1
+xdoclet:xdoclet:2.0.2
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:2.0.5
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:2.0.1
+xdoclet:xdoclet:2.0.3
+xdoclet:xdoclet-hp-module:1.2b4
+xdoclet:xdoclet-hp-module:1.2.3
+xdoclet:xdoclet-hp-module:1.2
+xdoclet:xdoclet-hp-module:1.2b2
+xdoclet:xdoclet-hp-module:1.2b1
+xdoclet:xdoclet-spring-module:1.2.3
+xdoclet:xdoclet-ejb-module:1.2b4
+xdoclet:xdoclet-ejb-module:1.2.3
+xdoclet:xdoclet-ejb-module:1.2
+xdoclet:xdoclet-ejb-module:1.2b2
+xdoclet:xdoclet-ejb-module:1.2b1
+xdoclet:xdoclet-ibm-module:1.2b4
+xdoclet:xdoclet-ibm-module:1.2.3
+xdoclet:xdoclet-ibm-module:1.2
+xdoclet:xdoclet-ibm-module:1.2b2
+xdoclet:xdoclet-ibm-module:1.2b1
+xdoclet:xdoclet-fr_FR-locale:1.2.3
+xdoclet:xdoclet-fr_FR-locale:1.2
+xdoclet:xdoclet-pramati-module:1.2b4
+xdoclet:xdoclet-pramati-module:1.2.3
+xdoclet:xdoclet-pramati-module:1.2
+xdoclet:xdoclet-pramati-module:1.2b2
+xdoclet:xdoclet-pramati-module:1.2b1
+xdoclet:xdoclet-orion-module:1.2b4
+xdoclet:xdoclet-orion-module:1.2.3
+xdoclet:xdoclet-orion-module:1.2
+xdoclet:xdoclet-orion-module:1.2b2
+xdoclet:xdoclet-orion-module:1.2b1
+xdoclet:xdoclet-jmx-module:1.2b4
+xdoclet:xdoclet-jmx-module:1.2.3
+xdoclet:xdoclet-jmx-module:1.2
+xdoclet:xdoclet-jmx-module:1.2b2
+xdoclet:xdoclet-jmx-module:1.2b1
+xdoclet:xdoclet-portlet-module:1.2.3
+xdoclet:xdoclet-portlet-module:1.2
+xdoclet:maven-xdoclet2-plugin:1.0
+xdoclet:maven-xdoclet2-plugin:1.0.2
+xdoclet:xdoclet-macromedia-module:1.2b4
+xdoclet:xdoclet-macromedia-module:1.2.3
+xdoclet:xdoclet-macromedia-module:1.2
+xdoclet:xdoclet-macromedia-module:1.2b2
+xdoclet:xdoclet-macromedia-module:1.2b1
+xdoclet:xdoclet-apache-module:1.2b4
+xdoclet:xdoclet-apache-module:1.2.3
+xdoclet:xdoclet-apache-module:1.2
+xdoclet:xdoclet-apache-module:1.2b2
+xdoclet:xdoclet-apache-module:1.2b1
+xdoclet:xdoclet-objectweb-module:1.2b4
+xdoclet:xdoclet-objectweb-module:1.2.3
+xdoclet:xdoclet-objectweb-module:1.2
+xdoclet:xdoclet-objectweb-module:1.2b2
+xdoclet:xdoclet-objectweb-module:1.2b1
+xdoclet:xdoclet-de-locale:1.2.3
+xdoclet:xdoclet-de-locale:1.2
+xdoclet:xdoclet-mockobjects-module:1.2b4
+xdoclet:xdoclet-mockobjects-module:1.2.3
+xdoclet:xdoclet-mockobjects-module:1.2
+xdoclet:xdoclet-mx4j-module:1.2b4
+xdoclet:xdoclet-mx4j-module:1.2.3
+xdoclet:xdoclet-mx4j-module:1.2b2
+xdoclet:xdoclet-mx4j-module:1.2b1
+antlr:antlrall:2.7.2
+antlr:antlrall:2.7.4
+antlr:antlrall:2.7.1
+antlr:antlr:2.7.2
+antlr:antlr:2.7.7
+antlr:antlr:3.0ea8
+antlr:antlr:20030911
+antlr:antlr:2.7.6rc1
+antlr:antlr:2.7.6
+antlr:antlr:2.7.4
+antlr:antlr:2.7.5
+antlr:antlr:3.0b5
+antlr:antlr:2.7.1
+antlr:stringtemplate:2.3b6
+antlr:stringtemplate:2.1
+antlr:stringtemplate:2.2
+excalibur-lifecycle:excalibur-lifecycle-impl:1.1
+excalibur-lifecycle:excalibur-lifecycle-impl:1.0
+excalibur-lifecycle:excalibur-lifecycle-impl:2.1
+excalibur-lifecycle:excalibur-lifecycle-impl:1.1.0
+excalibur-lifecycle:excalibur-lifecycle-api:1.1
+excalibur-lifecycle:excalibur-lifecycle-api:1.0
+excalibur-lifecycle:excalibur-lifecycle-api:2.1
+excalibur-lifecycle:excalibur-lifecycle-api:1.1.0
+excalibur-lifecycle:excalibur-lifecycle:1.0
+ldapsdk:ldapsdk:4.1
+relaxngDatatype:relaxngDatatype:20020414
+sablecc:sablecc:3.2
+sablecc:sablecc:3.1
+sablecc:sablecc:2.18.2
+sablecc:sablecc:3.2-1
+quilt:quilt-0.6-a:5
+quilt:quilt:0.6-a-5
+pull-parser:pull-parser:2.1.10
+pull-parser:pull-parser:2
+xfire-root:xfire-root:0.1-dev
+portlet-api:portlet-api:1.0
+kxml:kxml:2.2.2
+kxml:kxml:2.1.7
+kxml:kxml:2.1.8
+trove:trove:1.1-beta-5
+trove:trove:1.0.2
+mm-mysql:mm-mysql:2.0.7
+mm-mysql:mm-mysql:2.0.13
+pmd:pmd-jdk14:4.2.2
+pmd:pmd-jdk14:4.1
+pmd:pmd-jdk14:4.2.4
+pmd:pmd-jdk14:4.2.3
+pmd:pmd-jdk14:4.2
+pmd:pmd-jdk14:4.2.1
+pmd:pmd-jdk14:4.1.1
+pmd:pmd:1.1
+pmd:pmd:3.2
+pmd:pmd:4.2.2
+pmd:pmd:2.3
+pmd:pmd:3.9
+pmd:pmd:4.1
+pmd:pmd:1.3
+pmd:pmd:3.0
+pmd:pmd:1.04
+pmd:pmd:4.2.4
+pmd:pmd:1.2.1
+pmd:pmd:4.2.3
+pmd:pmd:3.5
+pmd:pmd:1.9
+pmd:pmd:4.2
+pmd:pmd:3.6
+pmd:pmd:2.1
+pmd:pmd:4.2.1
+pmd:pmd:3.4
+pmd:pmd:4.1.1
+pmd:pmd:3.7
+isorelax:isorelax:20020414
+isorelax:isorelax:20030108
+p6spy:p6spy:1.1
+p6spy:p6spy:1.3
+p6spy:p6spy:0.8
+p6spy:p6spy:1.0-beta
+de.sven-jacobs:loremipsum:1.0
+de.tfh-berlin.knabe:multex:7.1
+de.java2html:java2html:5.0
+de.schlichtherle.io:truezip:6.6
+de.berlios.jsunit:jsunit-parent:1.3
+de.berlios.jsunit:jsunit-parent:1.3-RC1
+de.zeigermann.xml:xml-im-exporter:1.1
+de.huxhorn.sulky:de.huxhorn.sulky.parent:0.9.3.1
+de.huxhorn.sulky:de.huxhorn.sulky.parent:0.9.4
+de.huxhorn.sulky:de.huxhorn.sulky.parent:0.9.3
+de.huxhorn.sulky:de.huxhorn.sulky.master:0.9.3.1
+de.huxhorn.sulky:de.huxhorn.sulky.master:0.9.4
+de.huxhorn.sulky:de.huxhorn.sulky.master:0.9.3
+de.huxhorn.sulky:de.huxhorn.sulky.3rdparty.jlayer:1.0
+de.huxhorn.lilith:de.huxhorn.lilith.3rdparty.macify:1.1
+de.huxhorn.lilith:de.huxhorn.lilith.logback.master:0.9.32
+de.huxhorn.lilith:de.huxhorn.lilith.logback.master:0.9.31
+de.huxhorn.lilith:de.huxhorn.lilith.logback.master:0.9.30
+de.huxhorn.lilith:de.huxhorn.lilith.parent:0.9.32
+de.huxhorn.lilith:de.huxhorn.lilith.parent:0.9.31
+de.huxhorn.lilith:de.huxhorn.lilith.parent:0.9.30
+de.huxhorn.lilith:de.huxhorn.lilith.master:0.9.31
+de.huxhorn.lilith:de.huxhorn.lilith.master:0.9.30
+de.huxhorn.lilith:de.huxhorn.lilith.3rdparty.rrd4j:2.0.5
+de.huxhorn.lilith:de.huxhorn.lilith.data.master:0.9.32
+de.huxhorn.lilith:de.huxhorn.lilith.data.master:0.9.31
+de.huxhorn.lilith:de.huxhorn.lilith.data.master:0.9.30
+de.huxhorn.lilith:de.huxhorn.lilith.3rdparty.jmdns:2.0-patched
+de.huxhorn.lilith:de.huxhorn.lilith.3rdparty.flyingsaucer.core-renderer:8Pre2
+de.odysseus.juel:juel:2.1.0
+de.jflex:jflex:1.3.5
+de.jflex:jflex:1.4.1
+de.jflex:jflex:1.4.2
+village:village:2.0-dev-20021111
+village:village:2.0
+village:village:1.5.3
+village:village:2.0-dev-20030625
+village:village:2.0-dev-20030825
+cornerstone-scheduler:cornerstone-scheduler-impl:1.0
+cornerstone-scheduler-impl:cornerstone-scheduler-impl:2.1
+cornerstone-scheduler:cornerstone-scheduler-api:1.0
+cornerstone-scheduler-api:cornerstone-scheduler-api:2.1
+werken-xpath:werken-xpath:0.9.4
+ojdbc:ojdbc:14
+stax-utils:stax-utils:snapshot-20040917
+excalibur-collections:excalibur-collections:20020820
+excalibur-collections:excalibur-collections:1.0
+simple-jndi:simple-jndi:0.10
+simple-jndi:simple-jndi:0.11.4
+simple-jndi:simple-jndi:0.11.2
+simple-jndi:simple-jndi:0.6
+simple-jndi:simple-jndi:0.8
+simple-jndi:simple-jndi:0.9.1
+simple-jndi:simple-jndi:0.11.4.1
+simple-jndi:simple-jndi:0.4
+simple-jndi:simple-jndi:0.11.3
+simple-jndi:simple-jndi:0.7
+simple-jndi:simple-jndi:0.11
+simple-jndi:simple-jndi:0.8.1
+simple-jndi:simple-jndi:0.9
+simple-jndi:simple-jndi:0.5
+simple-jndi:simple-jndi:0.7-dev-1
+simple-jndi:simple-jndi:0.11.1
+kxml2:kxml2:2.2.2
+kxml2:kxml2:2.1.8
+jexcelapi:jxl:2.6
+jexcelapi:jxl:2.4.2
+poi:poi-contrib-2.5.1-final:20040804
+poi:poi:2.5.1-final-20040804
+poi:poi-contrib-2.5-final:20040302
+poi:poi-scratchpad-2.5.1-final:20040804
+poi:poi-scratchpad-2.5-final:20040302
+poi:poi-scratchpad:2.0-final-20040126
+poi:poi-scratchpad:3.0.2-FINAL
+poi:poi-scratchpad:3.1-beta2
+poi:poi-scratchpad:3.0.2-beta2
+poi:poi-scratchpad:3.1-FINAL
+poi:poi-scratchpad:3.1-beta1
+poi:poi-scratchpad:2.5.1-final-20040804
+poi:poi-scratchpad:3.0.1-FINAL
+poi:poi-scratchpad:2.5-final-20040302
+poi:poi-scratchpad:3.0.2-beta1
+poi:poi-contrib:2.0-final-20040126
+poi:poi-contrib:2.0-final-20040126
+poi:poi-contrib:3.0.2-FINAL
+poi:poi-contrib:3.1-beta2
+poi:poi-contrib:3.0.2-beta2
+poi:poi-contrib:3.1-FINAL
+poi:poi-contrib:3.1-beta1
+poi:poi-contrib:2.5.1-final-20040804
+poi:poi-contrib:3.0.1-FINAL
+poi:poi-contrib:2.5-final-20040302
+poi:poi-contrib:3.0.2-beta1
+poi:poi:2.0-final-20040126
+poi:poi:2.0-final-20040126
+poi:poi:3.0-alpha3
+poi:poi:1.8.0-dev-20020919
+poi:poi:3.0.2-FINAL
+poi:poi:3.1-beta2
+poi:poi:3.0.2-beta2
+poi:poi:3.1-FINAL
+poi:poi:3.1-beta1
+poi:poi:2.5.1-final-20040804
+poi:poi:3.0.1-FINAL
+poi:poi:2.5-final-20040302
+poi:poi:2.5.1
+poi:poi:3.0-FINAL
+poi:poi:3.0.2-beta1
+poi:poi-2.5-final:20040302
+poi:poi-scratchpad:2.0-final-20040126
+jisp:jisp:2.0.1
+jisp:jisp:1.0.2
+jisp:jisp:2.5.1
+cornerstone-sockets:cornerstone-sockets-api:1.0
+cornerstone-sockets-api:cornerstone-sockets-api:2.1
+cornerstone-sockets:cornerstone-sockets-impl:1.0
+cornerstone-sockets-impl:cornerstone-sockets-impl:2.1
+plj:pl-j:beta-0.1.0
+junit:junit:4.1
+junit:junit:3.8.2
+junit:junit:3.8
+junit:junit:4.3.1
+junit:junit:3.8.1
+junit:junit:4.3
+junit:junit:4.2
+junit:junit:4.5
+junit:junit:4.0
+junit:junit:4.4
+junit:junit:3.7
+junit:junit-dep:4.5
+junit:junit-dep:4.4
+servletapi:servlet-api:2.4
+servletapi:servlet-api:2.4-20040521
+servletapi:servletapi:2.3
+servletapi:servletapi:2.4
+servletapi:servletapi:2.4.public_draft
+servletapi:servletapi:2.4-20030804-000000
+servletapi:servletapi:2.4-20040521
+servletapi:servletapi:2.2
+opennms:opennms-joesnmp:20031201-173122
+flox:flox-engine:0.1
+commons-collections:commons-collections-testframework:3.1
+commons-collections:commons-collections-testframework:3.0
+commons-collections:commons-collections-testframework:20031027.000000
+commons-collections:commons-collections-testframework:20040102.233541
+commons-collections:commons-collections:3.2
+commons-collections:commons-collections:3.1
+commons-collections:commons-collections:3.0-dev2
+commons-collections:commons-collections:20040616
+commons-collections:commons-collections:2.0
+commons-collections:commons-collections:3.0
+commons-collections:commons-collections:1.0
+commons-collections:commons-collections:20031027.000000
+commons-collections:commons-collections:2.0.20020914.015953
+commons-collections:commons-collections:2.1
+commons-collections:commons-collections:3.2.1
+commons-collections:commons-collections:20030418.083655
+commons-collections:commons-collections:20040102.233541
+commons-collections:commons-collections:2.0.20020914.020746
+commons-collections:commons-collections:2.0.20020914.020858
+commons-collections:commons-collections:2.1.1
+hsqldb:hsqldb:1.8.0.7
+hsqldb:hsqldb:1.7.2
+hsqldb:hsqldb:1.7.0
+hsqldb:hsqldb:1.8.0.4
+hsqldb:hsqldb:1.7.1
+hsqldb:hsqldb:1.8.0.5
+hsqldb:hsqldb:1.7.3.0
+hsqldb:hsqldb:1.7.3.3
+hsqldb:hsqldb:1.7.2.2
+hsqldb:hsqldb:1.8.0.1
+hsqldb:hsqldb:1.7.2-alpha
+hsqldb:hsqldb:1.6.1
+hsqldb:hsqldb:1.7.2-rc1
+mockobjects:mockobjects-jdk1.3:0.09
+mockobjects:mockobjects-jdk1.3:0.07
+mockobjects:mockobjects-jdk1.3:0.08dev-20030318
+mockobjects:mockobjects-j1.3-j2ee1.3:0.07
+mockobjects:mockobjects-j1.3-j2ee1.3:0.08dev-20030318
+mockobjects:mockobjects-alt-jdk1.3-j2ee1.2:0.09
+mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09
+mockobjects:mockobjects-alt-jdk1.4:0.09
+mockobjects:alt-j1.4-j2ee1.2:0.07
+mockobjects:alt-j1.3-j2ee1.3:0.07
+mockobjects:alt-j1.3-j2ee1.3:0.08dev-20030318
+mockobjects:mockobjects-alt-jdk1.4-j2ee1.2:0.09
+mockobjects:mockobjects-alt-jdk1.4-j2ee1.3:0.09
+mockobjects:alt-jdk1.4:0.07
+mockobjects:alt-jdk1.4:0.08dev-20030318
+mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09
+mockobjects:alt-j1.3-j2ee1.2:0.07
+mockobjects:mockobjects-j1.4-j2ee1.2:0.07
+mockobjects:mockobjects-alt-jdk1.3:0.09
+mockobjects:mockobjects-j1.3-j2ee1.2:0.07
+mockobjects:mockobjects-j1.4-j2ee1.3:0.07
+mockobjects:mockobjects-j1.4-j2ee1.3:0.08dev-20030318
+mockobjects:mockobjects-jdk1.3-j2ee1.2:0.09
+mockobjects:mockobjects:0.1
+mockobjects:mockobjects-jdk1.4-j2ee1.2:0.09
+mockobjects:mockobjects-jdk1.4:0.09
+mockobjects:mockobjects-jdk1.4:0.07
+mockobjects:mockobjects-jdk1.4:0.08dev-20030318
+mockobjects:alt-j1.4-j2ee1.3:0.07
+mockobjects:alt-j1.4-j2ee1.3:0.08dev-20030318
+mockobjects:alt-jdk1.3:0.07
+mockobjects:alt-jdk1.3:0.08dev-20030318
+mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09
+mockobjects:mockobjects-core:0.09
+mockobjects:mockobjects-core:0.07
+mockobjects:mockobjects-core:0.08dev-20030318
+oro:oro:2.0.7
+oro:oro:2.0.8
+oro:oro:2.0.6
+textarea:textarea:2.2.3
+avalon-http:avalon-http:1.3
+avalon-http:avalon-http-impl:1.3
+avalon-http:avalon-http-api:1.3
+doccheck:maven-doccheck-plugin:1.4-0.1
+ognl:ognl:2.3.2
+ognl:ognl:2.6.7
+ognl:ognl:2.7.2
+ognl:ognl:2.6.9
+ognl:ognl:2.2.2
+ognl:ognl:2.7
+ognl:ognl:2.7.3
+ognl:ognl:2.1.4
+ognl:ognl:2.6.5
+ognl:ognl:2.5.1
+ognl:ognl:2.6.3
+ognl:ognl:2.7.1
+ognl:ognl:2.4.1
+fr.inria.gforge.spoon:spoon-examples:1.4
+fr.inria.gforge.spoon:vsuite-common:0.4b
+fr.inria.gforge.spoon:vsuite-findbugs:0.4b
+fr.inria.gforge.spoon:aval:0.7.1
+fr.inria.gforge.spoon:spoon-core:1.1
+fr.inria.gforge.spoon:spoon-core:1.2
+fr.inria.gforge.spoon:spoon-core:1.4.1
+fr.inria.gforge.spoon:spoon-core:1.3
+fr.inria.gforge.spoon:spoon-core:1.4.2
+fr.inria.gforge.spoon:spoon-core:1.4
+fr.inria.gforge.spoon.spoon-jdiet:core:0.2
+fr.inria.gforge.spoon.spoon-jdiet:jdiet:0.2
+fr.inria.gforge.spoon.spoon-jdiet:runtime:0.2
+wrapper:wrapper:3.0.3
+excalibur-sourceresolve:excalibur-sourceresolve:1.1
+excalibur-sourceresolve:excalibur-sourceresolve:2.0
+excalibur-sourceresolve:excalibur-sourceresolve:20020820
+excalibur-sourceresolve:excalibur-sourceresolve:1.0
+excalibur-sourceresolve:excalibur-sourceresolve:1.0.1
+excalibur-sourceresolve:excalibur-sourceresolve:2.1
+xsdlib:xsdlib:20030225
+avalon-logging:avalon-logging-log4j:1.0.dev-0
+avalon-logging:avalon-logging-api:1.0.dev-0
+avalon-logging:avalon-logging-api:1.0.0
+avalon-logging:avalon-logging-logkit-syslog:1.0.dev-0
+avalon-logging:avalon-logging-logkit-socket:1.0.dev-0
+avalon-logging:avalon-logging-logkit-datagram:1.0.dev-0
+avalon-logging:avalon-logging-impl:1.0.dev-0
+avalon-logging:avalon-logging-impl:1.0.0
+avalon-logging:avalon-logging-spi:1.0.dev-0
+avalon-logging:avalon-logging-spi:1.0.0
+avalon-logging:avalon-logging-logkit-impl:1.0.dev-0
+avalon-logging:avalon-logging-logkit-impl:1.0.0
+avalon-logging:avalon-logging-logkit-api:1.0.dev-0
+avalon-logging:avalon-logging-logkit-api:1.0.0
+picocontainer:picocontainer-site:1.2
+picocontainer:picocontainer-site:1.2-RC-2
+picocontainer:picocontainer-gems:1.1
+picocontainer:picocontainer-gems:1.2
+picocontainer:picocontainer-gems:1.2-RC-2
+picocontainer:picocontainer:1.0-beta-5
+picocontainer:picocontainer:1.1
+picocontainer:picocontainer:1.0-beta-4
+picocontainer:picocontainer:1.1-beta-1
+picocontainer:picocontainer:1.2
+picocontainer:picocontainer:1.0-beta-1
+picocontainer:picocontainer:1.0-beta-2
+picocontainer:picocontainer:1.0
+picocontainer:picocontainer:1.0-beta-3
+picocontainer:picocontainer:1.1-beta-2
+picocontainer:picocontainer:20051006.102514
+picocontainer:picocontainer:1.2-RC-2
+picocontainer:picocontainer:3
+picocontainer:picocontainer:1.0-RC-1
+picocontainer:picocontainer:1.2-SNAPSHOT
+picocontainer:picocontainer:1.0-alpha-1
+picocontainer:picocontainer:1.0-alpha-2
+picocontainer:picocontainer-root:1.2-RC-2
+picocontainer:picocontainer-tck:1.1
+picocontainer:picocontainer-tck:1.1-beta-1
+picocontainer:picocontainer-tck:1.2
+picocontainer:picocontainer-tck:1.0
+picocontainer:picocontainer-tck:1.1-beta-2
+picocontainer:picocontainer-tck:1.2-RC-2
+picocontainer:picocontainer-tck:1.2-beta-1
+picodocs-maven-plugin:picodocs-maven-plugin:1.0
+prevayler:prevayler:2.00.000-alpha
+prevayler:prevayler:2.00.000dev1
+prevayler:prevayler:2.00.000dev2
+prevayler:prevayler:2.02.005
+prevayler:prevayler:20040427
+prevayler:prevayler:1.02.001
+prevayler:prevayler:20040409
+geronimo:geronimo-installer-processing:1.1
+geronimo:geronimo-installer-processing:1.1.1
+geronimo:magicGball:1.1
+geronimo:magicGball:1.1.1
+geronimo:magicGball:1.0
+geronimo:geronimo-directory:1.1
+geronimo:geronimo-directory:1.0-M5
+geronimo:geronimo-directory:1.1.1
+geronimo:geronimo-directory:1.0
+geronimo:geronimo-service-builder:1.1
+geronimo:geronimo-service-builder:1.0-M5
+geronimo:geronimo-service-builder:1.1.1
+geronimo:geronimo-service-builder:1.0
+geronimo:geronimo-service-builder:1.0-M4
+geronimo:j2ee-system-experimental:1.0
+geronimo:geronimo-jmxdebug:1.0-M1
+geronimo:geronimo-jmxdebug:1.0-M5
+geronimo:geronimo-jmxdebug:1.0
+geronimo:geronimo-jmxdebug:1.0-M3
+geronimo:geronimo-jmxdebug:1.0-M4
+geronimo:geronimo-jmxdebug:1.0-M2
+geronimo:geronimo-test-ddbean:1.1
+geronimo:geronimo-test-ddbean:1.0-M5
+geronimo:geronimo-test-ddbean:1.1.1
+geronimo:geronimo-test-ddbean:1.0
+geronimo:geronimo-test-ddbean:1.0-M4
+geronimo:geronimo-jsp-examples-tomcat:5.5.12
+geronimo:j2ee-security:1.0
+geronimo:jsp-examples-jetty:1.0
+geronimo:javamail:1.0
+geronimo:webconsole-tomcat:1.0
+geronimo:geronimo-client-builder:1.1
+geronimo:geronimo-client-builder:1.0-M5
+geronimo:geronimo-client-builder:1.1.1
+geronimo:geronimo-client-builder:1.0
+geronimo:geronimo-client-builder:1.0-M3
+geronimo:geronimo-client-builder:1.0-M4
+geronimo:geronimo-system:1.1
+geronimo:geronimo-system:1.0-M1
+geronimo:geronimo-system:1.0-M5
+geronimo:geronimo-system:1.1.1
+geronimo:geronimo-system:1.0
+geronimo:geronimo-system:1.0-M3
+geronimo:geronimo-system:1.0-M4
+geronimo:geronimo-system:1.0-M2
+geronimo:geronimo-j2ee-builder:1.1
+geronimo:geronimo-j2ee-builder:1.0-M5
+geronimo:geronimo-j2ee-builder:1.1.1
+geronimo:geronimo-j2ee-builder:1.0
+geronimo:geronimo-j2ee-builder:1.0-M3
+geronimo:geronimo-j2ee-builder:1.0-M4
+geronimo:geronimo-spring:1.0-M5
+geronimo:geronimo-spring:1.0-M3
+geronimo:geronimo-spring:1.0-M4
+geronimo:geronimo-spring:1.0-M2
+geronimo:jmxdebug-jetty:1.0
+geronimo:upgrade-cli:1.1
+geronimo:upgrade-cli:1.1.1
+geronimo:geronimo-axis-builder:1.1
+geronimo:geronimo-axis-builder:1.0-M5
+geronimo:geronimo-axis-builder:1.1.1
+geronimo:geronimo-axis-builder:1.0
+geronimo:geronimo-axis-builder:1.0-M4
+geronimo:geronimo-servicemix-builder:1.0-M5
+geronimo:geronimo-servicemix-builder:1.0-M4
+geronimo:servlets-examples-tomcat:1.0
+geronimo:geronimo-security:1.1
+geronimo:geronimo-security:1.0-M1
+geronimo:geronimo-security:1.0-M5
+geronimo:geronimo-security:1.1.1
+geronimo:geronimo-security:1.0
+geronimo:geronimo-security:1.0-M3
+geronimo:geronimo-security:1.0-M4
+geronimo:geronimo-security:1.0-M2
+geronimo:geronimo-transaction:1.1
+geronimo:geronimo-transaction:1.0-M1
+geronimo:geronimo-transaction:1.0-M5
+geronimo:geronimo-transaction:1.1.1
+geronimo:geronimo-transaction:1.0
+geronimo:geronimo-transaction:1.0-M3
+geronimo:geronimo-transaction:1.0-M4
+geronimo:geronimo-transaction:1.0-M2
+geronimo:geronimo-uddi-db:1.1
+geronimo:geronimo-uddi-db:1.1.1
+geronimo:geronimo-uddi-db:1.0
+geronimo:geronimo-xmlbeans-plugin:1.0-M2
+geronimo:system-database:1.0
+geronimo:ldap-demo-jetty:1.0
+geronimo:geronimo-converter:1.1
+geronimo:geronimo-converter:1.1.1
+geronimo:geronimo-converter:1.0
+geronimo:webconsole-jetty:1.0
+geronimo:hot-deployer:1.0
+geronimo:geronimo-jmxremoting:1.1
+geronimo:geronimo-jmxremoting:1.0-M5
+geronimo:geronimo-jmxremoting:1.1.1
+geronimo:geronimo-jmxremoting:1.0
+geronimo:geronimo-jmxremoting:1.0-M3
+geronimo:geronimo-jmxremoting:1.0-M4
+geronimo:geronimo-jmxremoting:1.0-M2
+geronimo:geronimo-clustering:1.0-M1
+geronimo:geronimo-clustering:1.0-M5
+geronimo:geronimo-clustering:1.0-M3
+geronimo:geronimo-clustering:1.0-M4
+geronimo:geronimo-clustering:1.0-M2
+geronimo:daytrader-derby-tomcat-streamer-client:1.0
+geronimo:geronimo-remote-deploy-lib:1.1
+geronimo:geronimo-remote-deploy-lib:1.1.1
+geronimo:geronimo-remote-deploy-lib:1.0
+geronimo:geronimo-security-builder:1.1
+geronimo:geronimo-security-builder:1.0-M5
+geronimo:geronimo-security-builder:1.1.1
+geronimo:geronimo-security-builder:1.0
+geronimo:geronimo-security-builder:1.0-M3
+geronimo:geronimo-security-builder:1.0-M4
+geronimo:daytrader-core:1.0
+geronimo:geronimo-remote-deploy:1.1
+geronimo:geronimo-remote-deploy:1.1.1
+geronimo:geronimo-remote-deploy:1.0
+geronimo:remote-deploy-jetty:1.0
+geronimo:activemq:1.0
+geronimo:geronimo-deploy-tool:1.1
+geronimo:geronimo-deploy-tool:1.0-M5
+geronimo:geronimo-deploy-tool:1.1.1
+geronimo:geronimo-deploy-tool:1.0
+geronimo:geronimo-deploy-tool:1.0-M4
+geronimo:daytrader-ear:1.0
+geronimo:geronimo-interop:1.0-M5
+geronimo:geronimo-interop:1.0-M4
+geronimo:geronimo-util:1.1
+geronimo:geronimo-util:1.0-M5
+geronimo:geronimo-util:1.1.1
+geronimo:geronimo-util:1.0
+geronimo:daytrader-wsappclient:1.0
+geronimo:client-security:1.0
+geronimo:jetty:1.0
+geronimo:geronimo-deployment:1.1
+geronimo:geronimo-deployment:1.0-M1
+geronimo:geronimo-deployment:1.0-M5
+geronimo:geronimo-deployment:1.1.1
+geronimo:geronimo-deployment:1.0
+geronimo:geronimo-deployment:1.0-M3
+geronimo:geronimo-deployment:1.0-M4
+geronimo:geronimo-deployment:1.0-M2
+geronimo:geronimo-servlet-examples-tomcat:5.5.12
+geronimo:geronimo-jetty-builder:1.1
+geronimo:geronimo-jetty-builder:1.0-M5
+geronimo:geronimo-jetty-builder:1.1.1
+geronimo:geronimo-jetty-builder:1.0
+geronimo:geronimo-jetty-builder:1.0-M3
+geronimo:geronimo-jetty-builder:1.0-M4
+geronimo:geronimo-xpom-plugin:1.0-M4
+geronimo:shutdown:1.1
+geronimo:shutdown:1.1.1
+geronimo:shutdown:1.0
+geronimo:geronimo-naming:1.1
+geronimo:geronimo-naming:1.0-M1
+geronimo:geronimo-naming:1.0-M5
+geronimo:geronimo-naming:1.1.1
+geronimo:geronimo-naming:1.0
+geronimo:geronimo-naming:1.0-M3
+geronimo:geronimo-naming:1.0-M4
+geronimo:geronimo-naming:1.0-M2
+geronimo:xmlbeans-maven-plugin:2.0.0-beta1
+geronimo:geronimo-activation:1.1
+geronimo:geronimo-activation:1.0-M5
+geronimo:geronimo-activation:1.1.1
+geronimo:geronimo-activation:1.0
+geronimo:geronimo-activation:1.0-M4
+geronimo:activemq-broker:1.0
+geronimo:uddi-jetty:1.0
+geronimo:daytrader-derby-tomcat:1.0
+geronimo:geronimo-axis:1.1
+geronimo:geronimo-axis:1.0-M5
+geronimo:geronimo-axis:1.1.1
+geronimo:geronimo-axis:1.0
+geronimo:geronimo-axis:1.0-M3
+geronimo:geronimo-axis:1.0-M4
+geronimo:geronimo-axis:1.0-M2
+geronimo:geronimo-console-standard:1.1
+geronimo:geronimo-console-standard:1.0-M5
+geronimo:geronimo-console-standard:1.1.1
+geronimo:geronimo-console-standard:1.0
+geronimo:geronimo-javamail-transport:1.1.1
+geronimo:geronimo-javamail-transport:1.0
+geronimo:j2ee-server:1.0
+geronimo:geronimo-client:1.1
+geronimo:geronimo-client:1.0-M5
+geronimo:geronimo-client:1.1.1
+geronimo:geronimo-client:1.0
+geronimo:geronimo-client:1.0-M3
+geronimo:geronimo-client:1.0-M4
+geronimo:remote-deploy-tomcat:1.0
+geronimo:jetty-deployer:1.0
+geronimo:geronimo-timer:1.1
+geronimo:geronimo-timer:1.0-M5
+geronimo:geronimo-timer:1.1.1
+geronimo:geronimo-timer:1.0
+geronimo:geronimo-timer:1.0-M3
+geronimo:geronimo-timer:1.0-M4
+geronimo:geronimo-timer:1.0-M2
+geronimo:jsp-examples-tomcat:1.0
+geronimo:servlets-examples-jetty:1.0
+geronimo:online-deployer:1.1
+geronimo:online-deployer:1.1.1
+geronimo:online-deployer:1.0
+geronimo:client-system:1.1
+geronimo:client-system:1.1.1
+geronimo:client-system:1.0
+geronimo:uddi-tomcat:1.0
+geronimo:geronimo-console:1.1
+geronimo:geronimo-console:1.0-M5
+geronimo:geronimo-console:1.1.1
+geronimo:geronimo-console:1.0
+geronimo:geronimo-demo:1.0-M5
+geronimo:geronimo-demo:1.0
+geronimo:geronimo-demo:1.0-M3
+geronimo:geronimo-demo:1.0-M4
+geronimo:geronimo-demo:1.0-M2
+geronimo:geronimo-upgrade:1.1
+geronimo:geronimo-upgrade:1.1.1
+geronimo:geronimo-console-core:1.1
+geronimo:geronimo-console-core:1.0-M5
+geronimo:geronimo-console-core:1.1.1
+geronimo:geronimo-console-core:1.0
+geronimo:tomcat:1.0
+geronimo:welcome-tomcat:1.0
+geronimo:geronimo-web-builder:1.1
+geronimo:geronimo-web-builder:1.0-M5
+geronimo:geronimo-web-builder:1.1.1
+geronimo:geronimo-web-builder:1.0
+geronimo:geronimo-web-builder:1.0-M4
+geronimo:geronimo-connector:1.1
+geronimo:geronimo-connector:1.0-M1
+geronimo:geronimo-connector:1.0-M5
+geronimo:geronimo-connector:1.1.1
+geronimo:geronimo-connector:1.0
+geronimo:geronimo-connector:1.0-M3
+geronimo:geronimo-connector:1.0-M4
+geronimo:geronimo-connector:1.0-M2
+geronimo:jmxdebug-tomcat:1.0
+geronimo:geronimo-uddi-server:1.1
+geronimo:geronimo-uddi-server:1.0-M5
+geronimo:geronimo-uddi-server:1.1.1
+geronimo:geronimo-uddi-server:1.0
+geronimo-uddi-server:geronimo-uddi-server:1.0-M4
+geronimo:directory:1.0
+geronimo:geronimo-j2ee:1.1
+geronimo:geronimo-j2ee:1.0-M1
+geronimo:geronimo-j2ee:1.0-M5
+geronimo:geronimo-j2ee:1.1.1
+geronimo:geronimo-j2ee:1.0
+geronimo:geronimo-j2ee:1.0-M3
+geronimo:geronimo-j2ee:1.0-M4
+geronimo:geronimo-j2ee:1.0-M2
+geronimo:geronimo-kernel:1.1
+geronimo:geronimo-kernel:1.0-M1
+geronimo:geronimo-kernel:1.0-M5
+geronimo:geronimo-kernel:1.1.1
+geronimo:geronimo-kernel:1.0
+geronimo:geronimo-kernel:1.0-M3
+geronimo:geronimo-kernel:1.0-M4
+geronimo:geronimo-kernel:1.0-M2
+geronimo:geronimo-deployment-plugin:1.0-M5
+geronimo:geronimo-deployment-plugin:1.0.0
+geronimo:geronimo-deployment-plugin:1.1.0-3
+geronimo:geronimo-deployment-plugin:1.1.1-3
+geronimo:geronimo-deployment-plugin:1.0-M4
+geronimo:geronimo-deployment-plugin:1.0-M2
+geronimo:geronimo-tomcat:1.1
+geronimo:geronimo-tomcat:1.0-M5
+geronimo:geronimo-tomcat:1.1.1
+geronimo:geronimo-tomcat:1.0
+geronimo:geronimo-tomcat:1.0-M3
+geronimo:geronimo-tomcat:1.0-M4
+geronimo:geronimo-management:1.1
+geronimo:geronimo-management:1.0-M5
+geronimo:geronimo-management:1.1.1
+geronimo:geronimo-management:1.0
+geronimo:ge-activemq-rar:1.1
+geronimo:ge-activemq-rar:1.1.1
+geronimo:geronimo-spring-builder:1.0-M5
+geronimo:geronimo-spring-builder:1.0-M4
+geronimo:j2ee-corba:1.0
+geronimo:daytrader-derby-jetty:1.0
+geronimo:geronimo:1.0-M5
+geronimo:geronimo-deploy-jsr88:1.1
+geronimo:geronimo-deploy-jsr88:1.0-M5
+geronimo:geronimo-deploy-jsr88:1.1.1
+geronimo:geronimo-deploy-jsr88:1.0
+geronimo:geronimo-deploy-jsr88:1.0-M4
+geronimo:daytrader-ejb:1.0
+geronimo:geronimo-webservices:1.1
+geronimo:geronimo-webservices:1.0-M5
+geronimo:geronimo-webservices:1.1.1
+geronimo:geronimo-webservices:1.0
+geronimo:geronimo-webservices:1.0-M4
+geronimo:geronimo-daytrader-derby-db:1.1
+geronimo:geronimo-daytrader-derby-db:1.1.1
+geronimo:geronimo-daytrader-derby-db:1.0
+geronimo:geronimo-common:1.1
+geronimo:geronimo-common:1.0-M1
+geronimo:geronimo-common:1.0-M5
+geronimo:geronimo-common:1.1.1
+geronimo:geronimo-common:1.0
+geronimo:geronimo-common:1.0-M3
+geronimo:geronimo-common:1.0-M4
+geronimo:geronimo-common:1.0-M2
+geronimo:geronimo-deploy-config:1.1
+geronimo:geronimo-deploy-config:1.0-M5
+geronimo:geronimo-deploy-config:1.1.1
+geronimo:geronimo-deploy-config:1.0
+geronimo:geronimo-deploy-config:1.0-M4
+geronimo:client:1.0
+geronimo:geronimo-dependency-plugin:1.0.0
+geronimo:geronimo-dependency-plugin:1.1.0-3
+geronimo:geronimo-dependency-plugin:1.1.1-3
+geronimo:geronimo-derby-connector:1.0-M3
+geronimo:geronimo-derby-connector:1.0-M4
+geronimo:geronimo-j2ee-schema:1.1
+geronimo:geronimo-j2ee-schema:1.0-M5
+geronimo:geronimo-j2ee-schema:1.1.1
+geronimo:geronimo-j2ee-schema:1.0
+geronimo:geronimo-j2ee-schema:1.0-M3
+geronimo:geronimo-j2ee-schema:1.0-M4
+geronimo:geronimo-j2ee-schema:1.0-M2
+geronimo:geronimo-assembly:1.0-M3
+geronimo:geronimo-assembly:1.0-M4
+geronimo:geronimo-assembly-plugin:1.1.0-12
+geronimo:geronimo-assembly-plugin:1.0-M5
+geronimo:geronimo-assembly-plugin:1.0.2
+geronimo:geronimo-assembly-plugin:1.0-M4
+geronimo:geronimo-assembly-plugin:1.1.1-12
+geronimo:geronimo-servicemix:1.0-M5
+geronimo:geronimo-servicemix:1.0-M4
+geronimo:geronimo-naming-builder:1.1
+geronimo:geronimo-naming-builder:1.0-M5
+geronimo:geronimo-naming-builder:1.1.1
+geronimo:geronimo-naming-builder:1.0
+geronimo:geronimo-naming-builder:1.0-M3
+geronimo:geronimo-naming-builder:1.0-M4
+geronimo:geronimo-core:1.1
+geronimo:geronimo-core:1.0-M1
+geronimo:geronimo-core:1.0-M5
+geronimo:geronimo-core:1.1.1
+geronimo:geronimo-core:1.0
+geronimo:geronimo-core:1.0-M3
+geronimo:geronimo-core:1.0-M4
+geronimo:geronimo-core:1.0-M2
+geronimo:ldap-demo-tomcat:1.0
+geronimo:j2ee-system:1.1
+geronimo:j2ee-system:1.1.1
+geronimo:j2ee-system:1.0
+geronimo:geronimo-installer-support:1.1
+geronimo:geronimo-installer-support:1.1.1
+geronimo:client-corba:1.0
+geronimo:ldap-realm:1.0
+geronimo:geronimo-console-web:1.0-M1
+geronimo:geronimo-console-web:1.0-M5
+geronimo:geronimo-console-web:1.0
+geronimo:geronimo-console-web:1.0-M3
+geronimo:geronimo-console-web:1.0-M4
+geronimo:geronimo-console-web:1.0-M2
+geronimo:rmi-naming:1.0
+geronimo:geronimo-mail:1.1
+geronimo:geronimo-mail:1.0-M5
+geronimo:geronimo-mail:1.1.1
+geronimo:geronimo-mail:1.0
+geronimo:geronimo-mail:1.0-M3
+geronimo:geronimo-mail:1.0-M4
+geronimo:geronimo-gbean-deployer:1.1
+geronimo:geronimo-gbean-deployer:1.1.1
+geronimo:geronimo-gbean-deployer:1.0
+geronimo:geronimo-welcome:1.1
+geronimo:geronimo-welcome:1.0-M5
+geronimo:geronimo-welcome:1.1.1
+geronimo:geronimo-welcome:1.0
+geronimo:daytrader-streamer:1.0
+geronimo:geronimo-izpack-plugin:1.1
+geronimo:geronimo-izpack-plugin:1.1.1
+geronimo:geronimo-izpack-plugin:1.0
+geronimo:geronimo-connector-builder:1.1
+geronimo:geronimo-connector-builder:1.0-M5
+geronimo:geronimo-connector-builder:1.1.1
+geronimo:geronimo-connector-builder:1.0
+geronimo:geronimo-connector-builder:1.0-M3
+geronimo:geronimo-connector-builder:1.0-M4
+geronimo:geronimo-ldap-demo:1.1
+geronimo:geronimo-ldap-demo:1.1.1
+geronimo:geronimo-ldap-demo:1.0
+geronimo:daytrader-web:1.0
+geronimo:geronimo-packaging-plugin:1.0-M5
+geronimo:geronimo-packaging-plugin:0.1.1
+geronimo:geronimo-packaging-plugin:1.1.1-10
+geronimo:geronimo-packaging-plugin:0.1
+geronimo:geronimo-packaging-plugin:1.0.1
+geronimo:geronimo-packaging-plugin:1.1.0-10
+geronimo:geronimo-jetty:1.1
+geronimo:geronimo-jetty:1.0-M1
+geronimo:geronimo-jetty:1.0-M5
+geronimo:geronimo-jetty:1.1.1
+geronimo:geronimo-jetty:1.0
+geronimo:geronimo-jetty:1.0-M3
+geronimo:geronimo-jetty:1.0-M4
+geronimo:geronimo-jetty:1.0-M2
+geronimo:geronimo-hot-deploy:1.1
+geronimo:geronimo-hot-deploy:1.1.1
+geronimo:geronimo-hot-deploy:1.0
+geronimo:geronimo-tomcat-builder:1.1
+geronimo:geronimo-tomcat-builder:1.0-M5
+geronimo:geronimo-tomcat-builder:1.1.1
+geronimo:geronimo-tomcat-builder:1.0
+geronimo:geronimo-tomcat-builder:1.0-M4
+geronimo:geronimo-network:1.0-M1
+geronimo:geronimo-network:1.0-M3
+geronimo:geronimo-network:1.0-M2
+geronimo:geronimo-derby:1.1
+geronimo:geronimo-derby:1.0-M5
+geronimo:geronimo-derby:1.1.1
+geronimo:geronimo-derby:1.0
+geronimo:geronimo-derby:1.0-M3
+geronimo:geronimo-derby:1.0-M4
+geronimo:welcome-jetty:1.0
+geronimo:daytrader-derby-jetty-streamer-client:1.0
+geronimo:geronimo-console-framework:1.1
+geronimo:geronimo-console-framework:1.0-M5
+geronimo:geronimo-console-framework:1.1.1
+geronimo:geronimo-console-framework:1.0
+geronimo:geronimo-remoting:1.0-M1
+geronimo:geronimo-remoting:1.0-M3
+geronimo:geronimo-remoting:1.0-M2
+geronimo:tomcat-deployer:1.0
+geronimo:geronimo-scripts:1.1
+geronimo:geronimo-scripts:1.1.1
+geronimo:geronimo-scripts:1.0
+geronimo:j2ee-deployer:1.0
+org.apache.commons.transaction:commons-transaction:1.1
+commons-transaction:commons-transaction:1.2
+jdepend:jdepend:2.3
+jdepend:jdepend:2.7
+jdepend:jdepend:2.5
+jdepend:jdepend:2.9.1
+jdepend:jdepend:2.2
+jhunlang:jmorph:0.2
+avalon-apps:avalon-apps-sevak-api:0.1
+avalon-apps:avalon-apps-hsql:0.1
+avalon-apps:avalon-apps-sevak-jo:0.1
+trail-taglib:trail-taglib:0.1
+trail-taglib:trail-taglib:0.2
+commons-grant:commons-grant:1.0-beta-5
+commons-grant:commons-grant:1.0-beta-4
+commons-grant:commons-grant:1.0-beta-2
+commons-grant:commons-grant:1.0
+commons-grant:commons-grant:1.0-beta-3
+commons-grant:commons-grant:1.0-b1
+org.apache.xmlrpc:xmlrpc-common:3.0b1
+org.apache.xmlrpc:xmlrpc-client:3.0b1
+org.apache.xmlrpc:xmlrpc-server:3.0b1
+xmlrpc:xmlrpc:1.1
+org.apache.xmlrpc:xmlrpc:3.0b1
+xmlrpc:xmlrpc:1.2-a2
+xmlrpc:xmlrpc:1.2
+xmlrpc:xmlrpc:2.0
+org.apache.xmlrpc:xmlrpc:3.0
+xmlrpc:xmlrpc:2.0.1
+xmlrpc:xmlrpc:2.0-beta
+xmlrpc:xmlrpc:1.2-b1
+xmlrpc:xmlrpc:1.2-a1
+xmlrpc:xmlrpc-helma:1.0
+xerces:xercesImpl:2.8.0
+xerces:xercesImpl:2.5.0
+xerces:xercesImpl:2.6.0
+xerces:xercesImpl:2.6.2
+xerces:xercesImpl:2.2.1
+xerces:xercesImpl:2.4.0
+xerces:xercesImpl:2.0.2
+xerces:xercesImpl:2.0.0
+xerces:xercesImpl:2.8.1
+xerces:xercesImpl:2.3.0
+xerces:xercesImpl:2.6.1
+xerces:xercesImpl:2.9.1
+xerces:xercesImpl:2.9.0
+xerces:xercesImpl:2.7.1
+xerces:xmlParserAPIs:2.6.0
+xerces:xmlParserAPIs:2.6.2
+xerces:xmlParserAPIs:2.2.1
+xerces:xmlParserAPIs:2.0.2
+xerces:xmlParserAPIs:2.0.0
+xerces:xmlParserAPIs:2.6.1
+xerces:xercesSamples:2.5.0
+xerces:xercesSamples:2.6.0
+xerces:xercesSamples:2.6.2
+xerces:xercesSamples:2.2.1
+xerces:xercesSamples:2.6.1
+xerces:xerces:1.4.0
+xerces:xerces:1.2.3
+xerces:xerces:2.2.1
+xerces:xerces:1.4.4
+xerces:xerces:2.4.0
+xerces:xerces:2.0.2
+xerces:xerces:2.0.1
+xerces:xerces:2.0.0
+xerces:xerces:2.3.0
+jpox:jpox-swarmcache:1.1.3
+jpox:jpox-swarmcache:1.1.8
+jpox:jpox-swarmcache:1.2.0-beta-1
+jpox:jpox-swarmcache:1.1.9
+jpox:jpox-swarmcache:1.2.0-beta-2
+jpox:jpox-swarmcache:1.2.0-beta-5
+jpox:jpox-swarmcache:1.2.0-beta-3
+jpox:jpox-swarmcache:1.1.2
+jpox:jpox-swarmcache:1.2.0-beta-4
+jpox:jpox-parent:1.1.0-rc-1
+jpox:jpox-parent:1.1.3
+jpox:jpox-parent:1.1.1
+jpox:jpox-parent:1.1.6
+jpox:jpox-parent:1.1.9
+jpox:jpox-parent:1.1.0-beta-6
+jpox:jpox-parent:1.1.7
+jpox:jpox-db4o:1.2.0-beta-2
+jpox:jpox-db4o:1.2.0-beta-5
+jpox:jpox-db4o:1.2.0-beta-4
+jpox:jpox-enhancer:1.1.0-beta-3
+jpox:jpox-enhancer:1.1.0-beta-4-SNAPSHOT
+jpox:jpox-enhancer:1.1.5
+jpox:jpox-enhancer:1.1.0-beta-2
+jpox:jpox-enhancer:1.1.0-beta-1
+jpox:jpox-enhancer:1.1.0-alpha-4
+jpox:jpox-enhancer:1.0.3
+jpox:jpox-enhancer:1.1.8
+jpox:jpox-enhancer:1.1.0-alpha-2
+jpox:jpox-enhancer:1.0.0
+jpox:jpox-enhancer:1.2.0-beta-1
+jpox:jpox-enhancer:1.1.9
+jpox:jpox-enhancer:1.2.0-beta-2
+jpox:jpox-enhancer:1.2.0-beta-5
+jpox:jpox-enhancer:1.2.0-beta-3
+jpox:jpox-enhancer:1.0.2
+jpox:jpox-enhancer:1.1.4
+jpox:jpox-enhancer:1.1.0-beta-4
+jpox:jpox-enhancer:1.0.4
+jpox:jpox-enhancer:1.0.0-beta-4
+jpox:jpox-enhancer:1.1.2
+jpox:jpox-enhancer:1.2.0-beta-4
+jpox:jpox-oscache:1.1.3
+jpox:jpox-oscache:1.1.8
+jpox:jpox-oscache:1.2.0-beta-1
+jpox:jpox-oscache:1.1.9
+jpox:jpox-oscache:1.2.0-beta-2
+jpox:jpox-oscache:1.2.0-beta-5
+jpox:jpox-oscache:1.2.0-beta-3
+jpox:jpox-oscache:1.1.2
+jpox:jpox-oscache:1.2.0-beta-4
+jpox:jpox-c3p0:1.1.0-beta-3
+jpox:jpox-c3p0:1.1.3
+jpox:jpox-c3p0:1.1.8
+jpox:jpox-c3p0:1.2.0-beta-1
+jpox:jpox-c3p0:1.1.9
+jpox:jpox-c3p0:1.2.0-beta-2
+jpox:jpox-c3p0:1.2.0-beta-5
+jpox:jpox-c3p0:1.2.0-beta-3
+jpox:jpox-c3p0:1.1.2
+jpox:jpox-c3p0:1.2.0-beta-4
+jpox:jpox-java5:1.1.3
+jpox:jpox-java5:1.1.8
+jpox:jpox-java5:1.2.0-beta-1
+jpox:jpox-java5:1.1.9
+jpox:jpox-java5:1.2.0-beta-2
+jpox:jpox-java5:1.2.0-beta-5
+jpox:jpox-java5:1.2.0-beta-3
+jpox:jpox-java5:1.1.2
+jpox:jpox-java5:1.2.0-beta-4
+jpox:jpox-xmltypeoracle:1.1.3
+jpox:jpox-xmltypeoracle:1.1.8
+jpox:jpox-xmltypeoracle:1.2.0-beta-1
+jpox:jpox-xmltypeoracle:1.1.9
+jpox:jpox-xmltypeoracle:1.2.0-beta-2
+jpox:jpox-xmltypeoracle:1.2.0-beta-5
+jpox:jpox-xmltypeoracle:1.2.0-beta-3
+jpox:jpox-xmltypeoracle:1.1.2
+jpox:jpox-xmltypeoracle:1.2.0-beta-4
+jpox:jpox-rdbms:1.2.0-beta-5
+jpox:jpox-ehcache:1.1.3
+jpox:jpox-ehcache:1.1.8
+jpox:jpox-ehcache:1.2.0-beta-1
+jpox:jpox-ehcache:1.1.9
+jpox:jpox-ehcache:1.2.0-beta-2
+jpox:jpox-ehcache:1.2.0-beta-5
+jpox:jpox-ehcache:1.2.0-beta-3
+jpox:jpox-ehcache:1.1.2
+jpox:jpox-ehcache:1.2.0-beta-4
+jpox:jpox-spatial:1.1.3
+jpox:jpox-spatial:1.1.9
+jpox:jpox-spatial:1.2.0-beta-5
+jpox:jpox-spatial:1.1.2
+jpox:jpox-spatial:1.2.0-beta-4
+jpox:jpox-core:1.2.0-beta-2
+jpox:jpox-core:1.2.0-beta-5
+jpox:jpox-core:1.2.0-beta-3
+jpox:jpox-core:1.2.0-beta-4
+jpox:jpox-thirdparty:1.1.9
+jpox:jpox-thirdparty:1.2.0-beta-2
+jpox:jpox-thirdparty:1.2.0-beta-3
+jpox:jpox-thirdparty:1.2.0-beta-4
+jpox:jpox:1.1.0-beta-3
+jpox:jpox:1.1.0-beta-4-SNAPSHOT
+jpox:jpox:1.1.5
+jpox:jpox:1.0.0-beta-1
+jpox:jpox:1.1.0-beta-2
+jpox:jpox:1.1.0-beta-1
+jpox:jpox:1.1.0-alpha-4
+jpox:jpox:1.0.3
+jpox:jpox:1.1.8
+jpox:jpox:1.1.0-alpha-2
+jpox:jpox:1.0.0
+jpox:jpox:1.2.0-beta-1
+jpox:jpox:1.1.9
+jpox:jpox:1.0.2
+jpox:jpox:1.1.4
+jpox:jpox:1.1.0-beta-4
+jpox:jpox:1.0.4
+jpox:jpox:1.0.0-beta-4
+jpox:jpox:1.1.2
+jpox:jpox-testframework:1.2.0-beta-4
+jpox:jpox-mx4j:1.2.0-beta-5
+jpox:jpox-mx4j:1.2.0-beta-3
+jpox:jpox-mx4j:1.2.0-beta-4
+jpox:jpox-springframework:1.1.3
+jpox:jpox-springframework:1.2.0-beta-1
+jpox:jpox-springframework:1.1.9
+jpox:jpox-springframework:1.2.0-beta-2
+jpox:jpox-springframework:1.2.0-beta-5
+jpox:jpox-springframework:1.1.2
+jpox:jpox-springframework:1.2.0-beta-4
+jpox:jpox-dbcp:1.1.0-beta-3
+jpox:jpox-dbcp:1.1.3
+jpox:jpox-dbcp:1.1.8
+jpox:jpox-dbcp:1.2.0-beta-1
+jpox:jpox-dbcp:1.1.9
+jpox:jpox-dbcp:1.2.0-beta-2
+jpox:jpox-dbcp:1.2.0-beta-5
+jpox:jpox-dbcp:1.2.0-beta-3
+jpox:jpox-dbcp:1.1.0-beta-4
+jpox:jpox-dbcp:1.1.2
+jpox:jpox-dbcp:1.2.0-beta-4
+jpox:jpox-spatialnew:1.2.0-beta-1
+jpox:jpox-spatialnew:1.2.0-beta-2
+jpox:jpox-shell:1.1.3
+jpox:jpox-shell:1.2.0-beta-1
+jpox:jpox-shell:1.1.9
+jpox:jpox-shell:1.2.0-beta-2
+jpox:jpox-shell:1.1.2
+jpox:jpox-tangosol:1.1.3
+jpox:jpox-tangosol:1.1.8
+jpox:jpox-tangosol:1.2.0-beta-1
+jpox:jpox-tangosol:1.1.9
+jpox:jpox-tangosol:1.2.0-beta-2
+jpox:jpox-tangosol:1.2.0-beta-5
+jpox:jpox-tangosol:1.2.0-beta-3
+jpox:jpox-tangosol:1.1.2
+jpox:jpox-tangosol:1.2.0-beta-4
+jpox:jpox-proxool:1.1.3
+jpox:jpox-proxool:1.1.8
+jpox:jpox-proxool:1.2.0-beta-1
+jpox:jpox-proxool:1.1.9
+jpox:jpox-proxool:1.2.0-beta-2
+jpox:jpox-proxool:1.2.0-beta-5
+jpox:jpox-proxool:1.2.0-beta-3
+jpox:jpox-proxool:1.1.2
+jpox:jpox-proxool:1.2.0-beta-4
+jpox:jpox-spatialoracle:1.1.3
+jpox:jpox-spatialoracle:1.1.9
+jpox:jpox-spatialoracle:1.1.2
+batik:batik-svgpp:1.6
+batik:batik-svgpp:1.6-1
+batik:batik-extension:1.6
+batik:batik-extension:1.6-1
+batik:batik-extension:1.5
+batik:batik-squiggle:1.6
+batik:batik-squiggle:1.6-1
+batik:batik-script:1.6
+batik:batik-script:1.6-1
+batik:batik-script:1.5
+batik:batik-1.5-fop:0.20-5
+batik:batik-bridge:1.6
+batik:batik-bridge:1.6-1
+batik:batik-bridge:1.5
+batik:batik-swing:1.6
+batik:batik-swing:1.6-1
+batik:batik-swing:1.5
+batik:batik-ext:1.6
+batik:batik-ext:1.6-1
+batik:batik-ext:1.5
+batik:batik-rasterizer:1.6
+batik:batik-rasterizer-ext:1.6-1
+batik:batik-squiggle:1.6
+batik:batik-squiggle:1.6-1
+batik:batik-squiggle:ext
+batik:batik-svggen:1.6
+batik:batik-svggen:1.6-1
+batik:batik-svggen:1.5
+batik:batik-dom:1.6
+batik:batik-dom:1.6-1
+batik:batik-dom:1.5
+batik:batik-slideshow:1.6
+batik:batik-slideshow:1.6-1
+batik:batik-ttf2svg:1.6
+batik:batik-ttf2svg:1.6-1
+batik:batik-util:1.6
+batik:batik-util:1.6-1
+batik:batik-util:1.5
+batik:batik-transcoder:1.6
+batik:batik-transcoder:1.6-1
+batik:batik-transcoder:1.5
+batik:batik-gvt:1.6
+batik:batik-gvt:1.6-1
+batik:batik-gvt:1.5
+batik:batik-parser:1.6
+batik:batik-parser:1.6-1
+batik:batik-parser:1.5
+batik:batik-gui-util:1.6
+batik:batik-gui-util:1.6-1
+batik:batik-gui-util:1.5
+batik:batik-svg-dom:1.6
+batik:batik-svg-dom:1.6-1
+batik:batik-svg-dom:1.5
+batik:batik-awt-util:1.6
+batik:batik-awt-util:1.6-1
+batik:batik-awt-util:1.5
+batik:batik:1.1.1
+batik:batik:1.5
+batik:batik-xml:1.6
+batik:batik-xml:1.6-1
+batik:batik-xml:1.5
+batik:batik-css:1.6
+batik:batik-css:1.6-1
+batik:batik-css:1.5
+batik:batik-rasterizer:1.6
+batik:batik-rasterizer:1.6-1
+batik:batik-rasterizer:1.5
+batik:batik-rasterizer:ext
+beehive:apache-xbean-beehive:1.0-alpha
+beehive:beehive-netui-tags-template:1.0-alpha
+beehive:wsm-axis:1.0-alpha
+beehive:beehive-netui-pageflow:1.0-alpha
+beehive:wsdltypes-beehive:1.0-alpha
+beehive:wsm:1.0-alpha
+beehive:beehive-netui-tags-databinding:1.0-alpha
+beehive:controls:1.0-alpha
+beehive:beehive-netui-scoping:1.0-alpha
+beehive:beehive-netui-util:1.0-alpha
+beehive:beehive-netui-tags-html:1.0-alpha
+beehive:beehive-netui-compiler:1.0-alpha
+tagalog:tagalog:0.1
+commons-net:commons-net:1.4.0
+commons-net:commons-net:1.4.1
+commons-net:commons-net:2.0
+commons-net:commons-net:1.3.0
+commons-net:commons-net:20030623.125255
+commons-net:commons-net:20030805.205232
+commons-net:commons-net:20030211.160026
+commons-net:commons-net:1.0.0
+commons-net:commons-net:1.2.1
+commons-net:commons-net:1.2.2
+commons-net:commons-net:1.1.0
+xmlrpc-helma:xmlrpc-helma:1.0
+jdbm:jdbm:1.0
+jdbm:jdbm:0.30
+jdbm:jdbm:0.20-dev
+jdbm:jdbm:0.12
+commons-discovery:commons-discovery:1.0-dev
+commons-discovery:commons-discovery:20040218.194635
+commons-discovery:commons-discovery:0.2-dev
+commons-discovery:commons-discovery:0.4
+commons-discovery:commons-discovery:0.2
+exml:exml:7.0
+exml:exml:dbunit1.5.1
+merlin-tutorial:publisher-api:1.0
+merlin-tutorial:locator-api:1.0
+merlin-tutorial:locator-impl:1.0
+merlin-tutorial:publisher-impl:1.0
+excalibur-component:excalibur-testcase:2.1
+excalibur-component:excalibur-component:1.1
+excalibur-component:excalibur-component:1.2
+excalibur-component:excalibur-component:1.0
+excalibur-component:excalibur-component:2.1
+excalibur-component:excalibur-component:20020916
+loom-engine:loom-engine:1.0-rc2
+loom:loom-engine:1.0-rc1
+loom-engine:loom-engine:1.0-rc3
+loom-xmlpolicy:loom-xmlpolicy:1.0-rc2
+loom-xmlpolicy:loom-xmlpolicy:1.0-rc3
+loom-classman:loom-classman:1.0-rc2
+loom-classman:loom-classman:1.0-rc3
+loom:maven-loom-plugin:1.0-rc1
+loom-launcher:loom-launcher:1.0-rc2
+loom:loom-launcher:1.0-rc1
+loom-launcher:loom-launcher:1.0-rc3
+loom:loom:1.0-rc2
+loom:loom:1.0-rc1
+loom:loom:1.0-rc3
+loom-extension:loom-extension:1.0-rc2
+loom-extension:loom-extension:1.0-rc3
+mm.mysql:mm.mysql:2.0.7
+mm.mysql:mm.mysql:2.0.13
+jdom:jdom:b8
+jdom:jdom:1.1
+jdom:jdom:1.0b8
+jdom:jdom-:10
+jdom:jdom:1.0
+jdom:jdom:b9
+jdom:jdom:0.7
+jdom:jdom:b7
+jackcess:jackcess:1.1.5
+jackcess:jackcess:1.1.6
+jackcess:jackcess:1.0
+jackcess:jackcess:1.1.8
+jackcess:jackcess:1.1.9
+jackcess:jackcess:1.1.7
+jackcess:jackcess:1.1.10
+skaringa:skaringa:r1p8
+mckoi:mckoi:0.93
+mckoi:mckoi:1.0.2
+commons-pool:commons-pool:1.1
+commons-pool:commons-pool:20030821.192746
+commons-pool:commons-pool:1.2
+commons-pool:commons-pool:1.3
+commons-pool:commons-pool:1.0
+commons-pool:commons-pool:20030818.195203
+commons-pool:commons-pool:1.4
+commons-pool:commons-pool:1.1-dev
+commons-pool:commons-pool:20020501
+commons-pool:commons-pool:1.1-RC1
+commons-pool:commons-pool:1.1-RC2
+commons-pool:commons-pool:20030623.172700
+commons-pool:commons-pool:20030825.183949
+commons-threadpool:commons-threadpool:20030513.073905
+jarjar:jarjar:0.2
+subpersistence:subpersistence:0.9.0
+subshell:subpersistence:0.8.2
+subpersistence:subpersistence:0.8.4
+subpersistence:subpersistence:0.10.0
+forehead:forehead:1.0-beta-5
+forehead:forehead:1.0-beta-4
+forehead:forehead:1.0-beta-1
+forehead:forehead:1.0-beta-2
+forehead:forehead:1.0-beta-4.20020727.110713
+nu.validator.htmlparser:htmlparser:1.0.5
+nu.validator.htmlparser:htmlparser:1.0.6
+nu.validator.htmlparser:htmlparser:1.1.0
+nu.validator.htmlparser:htmlparser:1.0.7
+servlets.com:cos:05Nov2002
+commons-cli:commons-cli:1.1
+commons-cli:commons-cli:1.0-beta-1
+commons-cli:commons-cli:1.0-beta-2
+commons-cli:commons-cli:20040117.000000
+commons-cli:commons-cli:1.0
+struts-menu:struts-menu:2.3
+struts-menu:struts-menu:1.2
+struts-menu:struts-menu:2.4
+struts-menu:struts-menu:2.4.3
+struts-menu:struts-menu:2.4.2
+struts-menu:struts-menu:2.4.1
+commons-daemon:commons-daemon:1.0.1
+br.com.caelum.stella:caelum-stella:1.1
+br.com.caelum.stella:caelum-stella:1.0
+br.com.caelum.tubaina:tubaina:1.1.0
+br.com.caelum.tubaina:tubaina-tester:1.0.0
+br.com.caelum.seleniumdsl:selenium-dsl:0.8.5.1
+br.com.caelum.seleniumdsl:selenium-dsl:0.8.4
+br.com.caelum.seleniumdsl:selenium-dsl:0.8.5.2
+br.com.caelum.seleniumdsl:selenium-dsl:0.8.1
+br.com.caelum.seleniumdsl:selenium-dsl:0.8.5
+cargo:cargo-netbeans-maven-ui:1.0
+cargo:cargo-intellijidea:0.1
+cargo:cargo-ant:0.7
+cargo:cargo:0.3
+cargo:cargo:0.6
+cargo:cargo:0.1
+cargo:cargo:0.4
+cargo:cargo:0.5
+cargo:cargo:0.2
+cargo:cargo-core-uberjar:0.7
+coconut:coconut-aio-standalone:0.8
+coconut:coconut-aio-standalone:0.9
+coconut:coconut-aio-standalone:5.0-alpha-1
+coconut:coconut-aio-tck:0.8
+coconut:coconut-aio-default:0.8
+coconut:coconut-aio-default:0.9
+coconut:coconut-aio:0.8
+coconut:coconut-aio:0.9
+coconut:coconut:0.8
+coconut:coconut:0.9
+coconut:coconut:5.0-alpha-1
+coconut:coconut-aio-api:0.8
+coconut:coconut-aio-api:0.9
+coconut:coconut-aio-api:5.0-alpha-1
+coconut:coconut-aio-impl:5.0-alpha-1
+anttex:anttex:1.0
+openim:openim-server-impl:1.1
+openim:openim-server-impl:1.2
+openim:openim-server-impl:1.1.1
+openim:openim-server-impl:1.2.1
+openim:openim-server-impl:1.1.1b1
+openim:openim-server-impl:1.1.2
+openim:openim-users-manager:1.1
+openim:openim-storage-api:1.1
+openim:openim-storage-api:1.2
+openim:openim-users-manager-impl:1.1
+openim:openim-users-manager-impl:1.2
+openim:openim-users-manager-impl:1.3
+openim:openim-server-api:1.1
+openim:openim-server-api:1.2
+openim:openim-server-api:1.1.1
+openim:openim-server-api:1.2.1
+openim:openim-server-api:1.1.1b1
+openim:openim-server-api:1.1.2
+openim:openim-users-manager-api:1.1
+openim:openim-users-manager-api:1.2
+openim:openim-users-manager-api:1.3
+openim:openim-server:1.1
+openim:openim-server:1.2
+openim:openim-server:1.1.1
+openim:openim-server:1.2.1
+openim:openim-server:1.1.1b1
+openim:openim-server:1.1.2
+openim:openim-users-manager-ldap-impl:1.1
+openim:openim-users-manager-ldap-impl:1.2
+openim:openim-storage-impl:1.1
+openim:openim-storage-impl:1.2
+openim:openim-storage-impl:1.2.1
+tablelayout:TableLayoutPersistenceDelegate:20020517
+tablelayout:TableLayout:20050920
+tablelayout:TableLayout:20020517
+commons-sql:commons-sql:20030714.162948
+commons-sql:commons-sql:20031222.1101
+commons-sql:commons-sql:20040118.000852
+excalibur-fortress:excalibur-fortress-meta:1.2
+excalibur-fortress:excalibur-fortress-bean:1.2
+excalibur-fortress:excalibur-fortress-tools:1.0
+excalibur-fortress:excalibur-fortress-servlet:1.2
+excalibur-fortress:excalibur-fortress-container-impl:1.2
+excalibur-fortress:excalibur-fortress-container-api:1.2
+excalibur-fortress:excalibur-fortress-migration:1.2
+excalibur-fortress:excalibur-fortress-cli:1.2
+excalibur-fortress:excalibur-fortress-container-test:test-1.2
+excalibur-fortress:excalibur-fortress:1.0
+excalibur-fortress:excalibur-fortress-examples:1.2
+excalibur-fortress:excalibur-fortress-testcase:1.2
+excalibur-fortress:excalibur-fortress-complete:1.0
+taglibrarydoc:tlddoc:1.1
+taglibrarydoc:tlddoc:1.2
+taglibrarydoc:tlddoc:1.3
+javadoc:javadoc:1.3
+sillyexceptions:sillyexceptions:1.0.1
+formproc:formproc:1.3
+xom:xom:1.1
+xom:xom:1.1b2
+xom:xom:1.1b5
+xom:xom:1.0
+xom:xom:1.0b3
+xom:xom:1.0d21
+xom:xom:1.1b3
+xom:xom:1.1d2
+jmdns:jmdns:1.0
+jmdns:jmdns:0.2
+avalon-framework:avalon-framework-api:4.1.5-RC2
+avalon-framework:avalon-framework-api:4.3
+avalon-framework:avalon-framework-api:4.2.0
+avalon-framework:avalon-framework-api:4.1.5
+avalon-framework:avalon-framework-api:4.1.5-RC3
+avalon-framework:avalon-framework-impl:4.1.5-RC2
+avalon-framework:avalon-framework-impl:4.3
+avalon-framework:avalon-framework-impl:4.2.0
+avalon-framework:avalon-framework-impl:4.1.5
+avalon-framework:avalon-framework-impl:4.1.5-RC3
+avalon-framework:avalon-framework:4.1.4
+avalon-framework:avalon-framework:4.1.5-RC2
+avalon-framework:avalon-framework:4.1.3
+avalon-framework:avalon-framework:4.1.5
+avalon-framework:avalon-framework:20020627
+avalon-framework:avalon-framework:4.0
+avalon-framework:avalon-framework:4.1.5-RC3
+avalon-framework:avalon-framework:4.1.5.src
+cornerstone-datasources:cornerstone-datasources-api:1.0
+cornerstone-datasources-api:cornerstone-datasources-api:2.1
+cornerstone-datasources:cornerstone-datasources-impl:1.0
+cornerstone-datasources-impl:cornerstone-datasources-impl:2.1
+commons-fileupload:commons-fileupload:1.1
+commons-fileupload:commons-fileupload:1.2
+commons-fileupload:commons-fileupload:1.0-beta-1
+commons-fileupload:commons-fileupload:1.1.1
+commons-fileupload:commons-fileupload:1.0
+commons-fileupload:commons-fileupload:1.0-rc1
+commons-fileupload:commons-fileupload:1.2.1
+ecs:ecs:1.4.1
+ecs:ecs:1.4.2
+gabriel:gabriel:1.0-alpha-1
+pircbot:pircbot:1.4.2
+postgresql:pljava-public:1.0.0b4
+postgresql:postgresql:8.2-507.jdbc3
+postgresql:postgresql:7.4
+postgresql:postgresql:7.4-jdbc3
+postgresql:postgresql:7.3
+postgresql:postgresql:7.3-jdbc3
+postgresql:postgresql:8.3-603.jdbc4
+postgresql:postgresql:8.2-504.jdbc3
+postgresql:postgresql:8.2-504.jdbc4
+postgresql:postgresql:8.0-312.jdbc3
+postgresql:postgresql:8.1-404.jdbc3
+postgresql:postgresql:8.1-407.jdbc3
+postgresql:postgresql:8.0-318.jdbc3
+postgresql:postgresql:8.3-603.jdbc3
+postgresql:postgresql:8.2-507.jdbc4
+postgresql:postgresql:7.4.1
+postgresql:postgresql:7.4.1-jdbc3
+postgresql:postgresql:7.4.1-jdbc3
+postgresql:postgresql:7.2
+postgresql:postgresql:8.1-408.jdbc3
+htmlunit:htmlunit:1.6
+htmlunit:htmlunit:1.8
+htmlunit:htmlunit:1.3
+htmlunit:htmlunit:1.5
+htmlunit:htmlunit:1.12
+htmlunit:htmlunit:1.9
+htmlunit:htmlunit:1.7
+htmlunit:htmlunit:1.14
+htmlunit:htmlunit:1.13
+htmlunit:htmlunit:1.10
+htmlunit:htmlunit:1.11
+foxtrot:foxtrot:1.3
+foxtrot:foxtrot:2.0
+foxtrot:foxtrot:3.0
+damagecontrol:damagecontrol-0.3-prerelease:111
+damagecontrol:damagecontrol-0.3-prerelease:96
+damagecontrol:damagecontrol-0.3-prerelease:113
+damagecontrol:damagecontrol-0.3-prerelease:107
+damagecontrol:damagecontrol-0.3-prerelease:122
+damagecontrol:damagecontrol-0.3-prerelease:109
+damagecontrol:damagecontrol-0.3-prerelease:101
+damagecontrol:damagecontrol-0.3-prerelease:106
+damagecontrol:damagecontrol-0.3-prerelease:98
+damagecontrol:damagecontrol-0.3-prerelease:102
+damagecontrol:damagecontrol-0.3-prerelease:115
+damagecontrol:damagecontrol-0.3-prerelease:97
+damagecontrol:damagecontrol-0.3-prerelease:100
+damagecontrol:damagecontrol-0.3-prerelease:116
+damagecontrol:damagecontrol-0.3-prerelease:117
+damagecontrol:damagecontrol-0.3-prerelease:108
+damagecontrol:damagecontrol-0.3-prerelease:99
+damagecontrol:damagecontrol-0.3-prerelease:120
+damagecontrol:damagecontrol-0.3-prerelease:95
+damagecontrol:damagecontrol-0.3-prerelease:112
+damagecontrol:damagecontrol-0.3-prerelease:104
+damagecontrol:damagecontrol-0.3-prerelease:119
+damagecontrol:damagecontrol-0.3-prerelease:118
+damagecontrol:damagecontrol-0.3-prerelease:114
+damagecontrol:damagecontrol-0.3-prerelease:93
+damagecontrol:damagecontrol-0.3-prerelease:103
+damagecontrol:damagecontrol-0.3-prerelease:94
+damagecontrol:damagecontrol-0.3-prerelease:121
+damagecontrol:damagecontrol-0.3-prerelease:105
+damagecontrol:damagecontrol-0.3-prerelease:110
+damagecontrol:damagecontrol:0.4-alpha-209
+damagecontrol:damagecontrol:0.4-alpha-173
+damagecontrol:damagecontrol:0.4-alpha-187
+damagecontrol:damagecontrol:0.4-alpha-163
+damagecontrol:damagecontrol:0.4-alpha-186
+damagecontrol:damagecontrol:0.4-alpha-221
+damagecontrol:damagecontrol:0.4-alpha-184
+damagecontrol:damagecontrol:0.4-alpha-141
+damagecontrol:damagecontrol:0.4-alpha-130
+damagecontrol:damagecontrol:0.4-alpha-229
+damagecontrol:damagecontrol:0.4-alpha-129
+damagecontrol:damagecontrol:0.4-alpha-142
+damagecontrol:damagecontrol:0.4-alpha-236
+damagecontrol:damagecontrol:0.4-alpha-147
+damagecontrol:damagecontrol:0.4-alpha-185
+damagecontrol:damagecontrol:0.4-alpha-239
+damagecontrol:damagecontrol:0.4-alpha-128
+damagecontrol:damagecontrol:0.4-alpha-131
+damagecontrol:damagecontrol:0.4-alpha-123
+damagecontrol:damagecontrol:0.4-alpha-140
+damagecontrol:damagecontrol:0.4-alpha-143
+damagecontrol:damagecontrol:0.4-alpha-208
+damagecontrol:damagecontrol:0.3
+damagecontrol:damagecontrol:0.4-alpha-178
+damagecontrol:damagecontrol:0.4-alpha-133
+damagecontrol:damagecontrol:0.4-alpha-179
+damagecontrol:damagecontrol:0.4-alpha-242
+damagecontrol:damagecontrol:0.4-alpha-191
+damagecontrol:damagecontrol:0.4-alpha-149
+damagecontrol:damagecontrol:0.4-alpha-249
+damagecontrol:damagecontrol:0.4-alpha-125
+damagecontrol:damagecontrol:0.4-alpha-180
+damagecontrol:damagecontrol:0.4-alpha-138
+damagecontrol:damagecontrol:0.4-alpha-230
+damagecontrol:damagecontrol:0.4-alpha-160
+damagecontrol:damagecontrol:0.4-alpha-167
+damagecontrol:damagecontrol:0.4-alpha-148
+damagecontrol:damagecontrol:0.4-alpha-135
+damagecontrol:damagecontrol:0.4-alpha-231
+damagecontrol:damagecontrol:0.4-alpha-151
+damagecontrol:damagecontrol:0.4-alpha-124
+damagecontrol:damagecontrol:0.4-alpha-162
+damagecontrol:damagecontrol:0.4-alpha-218
+damagecontrol:damagecontrol:0.4-alpha-244
+damagecontrol:damagecontrol:0.4-alpha-220
+damagecontrol:damagecontrol:0.4-alpha-246
+damagecontrol:damagecontrol:0.4-alpha-171
+damagecontrol:damagecontrol:0.4-alpha-214
+damagecontrol:damagecontrol:0.4-alpha-132
+damagecontrol:damagecontrol:0.4-alpha-150
+damagecontrol:damagecontrol:0.4-alpha-232
+damagecontrol:damagecontrol:0.4-alpha-153
+damagecontrol:damagecontrol:0.4-alpha-144
+damagecontrol:damagecontrol:0.4-alpha-216
+damagecontrol:damagecontrol:0.4-alpha-170
+damagecontrol:damagecontrol:0.4-alpha-158
+damagecontrol:damagecontrol:0.4-alpha-168
+damagecontrol:damagecontrol:0.4-alpha-164
+damagecontrol:damagecontrol:0.4-alpha-195
+damagecontrol:damagecontrol:0.4-alpha-199
+damagecontrol:damagecontrol:0.4-alpha-219
+damagecontrol:damagecontrol:0.4-alpha-247
+damagecontrol:damagecontrol:0.4-alpha-126
+damagecontrol:damagecontrol:0.4-alpha-134
+damagecontrol:damagecontrol:0.4-alpha-172
+damagecontrol:damagecontrol:0.4-alpha-196
+damagecontrol:damagecontrol:0.4-alpha-181
+damagecontrol:damagecontrol:0.4-alpha-156
+damagecontrol:damagecontrol:0.4-alpha-169
+damagecontrol:damagecontrol:0.4-alpha-213
+damagecontrol:damagecontrol:0.4-alpha-243
+damagecontrol:damagecontrol:0.4-alpha-189
+damagecontrol:damagecontrol:0.4-alpha-226
+damagecontrol:damagecontrol:0.4-alpha-127
+damagecontrol:damagecontrol:0.4-alpha-154
+damagecontrol:damagecontrol:0.4-alpha-157
+damagecontrol:damagecontrol:0.4-alpha-177
+damagecontrol:damagecontrol:0.4-alpha-212
+damagecontrol:damagecontrol:0.4-alpha-174
+damagecontrol:damagecontrol:0.4-alpha-166
+damagecontrol:damagecontrol:0.4-alpha-139
+damagecontrol:damagecontrol:0.4-alpha-207
+damagecontrol:damagecontrol:0.4-alpha-137
+damagecontrol:damagecontrol:0.4-alpha-203
+damagecontrol:damagecontrol:0.4-alpha-228
+damagecontrol:damagecontrol:0.4-alpha-159
+damagecontrol:damagecontrol:0.4-alpha-136
+damagecontrol:damagecontrol:0.2
+damagecontrol:damagecontrol:0.4-alpha-233
+damagecontrol:damagecontrol:0.4-alpha-175
+damagecontrol:damagecontrol:0.4-alpha-193
+damagecontrol:damagecontrol:0.4-alpha-224
+damagecontrol:damagecontrol:0.4-alpha-192
+damagecontrol:damagecontrol:0.4-alpha-250
+damagecontrol:damagecontrol:0.4-alpha-165
+damagecontrol:damagecontrol:0.4-alpha-176
+damagecontrol:damagecontrol:0.4-alpha-146
+damagecontrol:damagecontrol:0.4-alpha-182
+damagecontrol:damagecontrol:0.4-alpha-223
+damagecontrol:damagecontrol:0.4-alpha-152
+damagecontrol:damagecontrol:0.4-alpha-227
+damagecontrol:damagecontrol:0.4-alpha-161
+damagecontrol:damagecontrol:0.4-alpha-235
+damagecontrol:damagecontrol:0.4-alpha-257
+damagecontrol:damagecontrol:0.4-alpha-205
+damagecontrol:damagecontrol:0.4-alpha-145
+damagecontrol:damagecontrol:0.4-alpha-155
+jdring:jdring:1.0
+commons-dbcp:commons-dbcp:1.1
+commons-dbcp:commons-dbcp:20030818.201141
+commons-dbcp:commons-dbcp:1.2
+commons-dbcp:commons-dbcp:20030825.184428
+commons-dbcp:commons-dbcp:20030821.193421
+commons-dbcp:commons-dbcp:1.0-dev
+commons-dbcp:commons-dbcp:1.0-dev-20020806
+commons-dbcp:commons-dbcp:1.2.1
+commons-dbcp:commons-dbcp:1.2.2
+commons-dbcp:commons-dbcp:1.1-RC1
+commons-dbcp:commons-dbcp:1.1-RC2
+uk.ltd.getahead:dwr:1.1
+uk.ltd.getahead:dwr:1.0-rc2
+uk.ltd.getahead:dwr:1.1.1
+uk.ltd.getahead:dwr:1.0
+uk.ltd.getahead:dwr:1.0-rc3
+uk.ltd.getahead:dwr:1.1-beta-3
+uk.ltd.getahead:dwr:1.1-rc1
+uk.ac.ebi.mydas:mydas:1.0.2
+uk.co.thebadgerset:junit-toolkit:0.3
+uk.co.thebadgerset:junit-toolkit:0.4
+uk.co.thebadgerset:junit-toolkit:0.7
+uk.co.thebadgerset:junit-toolkit:0.6.1
+uk.co.thebadgerset:junit-toolkit:0.5
+uk.co.thebadgerset:junit-toolkit-maven-plugin:0.7
+uk.co.thebadgerset:junit-toolkit-maven-plugin:0.6.1
+uk.co.thebadgerset:junit-toolkit-maven-plugin:0.5
+jotm:jotm-carol:1.5.3
+jotm:jotm_iiop_stubs:2.0.10
+jotm:jotm-jrmp-stubs:1.5.3
+jotm:jotm:1.5.3
+jotm:jotm:2.0.10
+jotm:jotm_jrmp_stubs:1.5.3
+jotm:jotm_jrmp_stubs:2.0.10
+avalon:avalon-meta-spi:1.0
+avalon:avalon-assembly:1.0
+avalon:avalon-activation-spi:1.0
+avalon:avalon-meta-tools:1.0
+avalon:avalon-framework-api:4.1.4
+avalon:avalon-activation:1.0
+avalon:avalon-meta:1.0
+avalon:avalon-composition-spi:1.0
+avalon:avalon-assembly-spi:1.0
+avalon:avalon-logkit:1.2
+avalon:avalon-logkit:1.2.2
+avalon:avalon-framework:4.1.4
+avalon:avalon-composition:1.0
+soap:soap:2.3
+soap:soap:2.3.1
+soap:soap:2.1
+soap:soap:2.2
+cz.softeu:softeu-rewriter:1.1
+exteca:exteca-language:1.0
+exteca:exteca-language:1.0-b1
+exteca:exteca-ontology:1.0
+exteca:exteca-ontology:1.0-b1
+exteca:exteca-categorisation:1.0
+exteca:exteca-categorisation:1.0-b1
+exteca:exteca-utils:1.0
+exteca:exteca-utils:1.0-b1
+exteca:exteca-pattern:1.0
+exteca:exteca-pattern:1.0-b1
+excalibur-event:excalibur-event-impl:2.1
+excalibur-event:excalibur-event-api:2.1
+excalibur-event:excalibur-event:20030217.000000
+excalibur-event:excalibur-event:1.0.3
+excalibur-event:excalibur-event:1.0a
+jstyle:jstyle:1.0
+dbunit:dbunit:2.0
+dbunit:dbunit:1.5
+dbunit:dbunit:1.5.1
+dbunit:dbunit:1.5.5
+dbunit:dbunit:2.1
+dbunit:dbunit:2.2
+maven-validator:maven-xhtml-plugin:1.1
+maven-validator:maven-xhtml-plugin:1.2
+maven-validator:maven-xhtml-plugin:1.0
+lucene:lucene:1.2
+lucene:lucene:1.4.1
+lucene:lucene:1.3
+lucene:lucene:1.4.2
+lucene:lucene:1.3-rc1
+lucene:lucene:1.4.3
+saxon:saxon-jdom:6.5.3
+saxon:saxon-jdom:6.5.2
+saxon:saxon-dbxsl-extensions:20040115
+saxon:saxon-fop:6.5.2
+saxon:saxon:8.7
+saxon:saxon:8.5.1
+saxon:saxon:6.5.3
+saxon:saxon:6.5.2
+taglibs:xsl-doc:1.0.1
+taglibs:string-doc:1.0
+taglibs:string-doc:1.0.1
+taglibs:string-doc:1.1.0
+taglibs:x-rt:1.0.3
+taglibs:x-rt:1.0
+taglibs:x-rt:1.0.5
+taglibs:x-rt:1.0.1
+taglibs:x-rt:1.0.2
+taglibs:x-rt:1.0.6
+taglibs:x-rt:1.0.4
+taglibs:response:1.0.1
+taglibs:session-doc:1.0.1
+taglibs:regexp:1.0.1
+taglibs:request-doc:1.0.1
+taglibs:regexp-doc:1.0.1
+taglibs:scriptfree:1.1.1
+taglibs:scriptfree:1.1.0
+taglibs:benchmark-doc:1.0
+taglibs:mailer-examples:1.1
+taglibs:log-examples:1.0
+taglibs:random-doc:1.0.1
+taglibs:random-doc:1.0.2
+taglibs:page-doc:1.0.1
+taglibs:log-doc:1.0
+taglibs:application-doc:1.0.1
+taglibs:random-examples:1.0.1
+taglibs:random-examples:1.0.2
+taglibs:c:1.0.3
+taglibs:c:1.1.1
+taglibs:c:1.0
+taglibs:c:1.0.5
+taglibs:c:1.0.1
+taglibs:c:1.0.2
+taglibs:c:1.0.6
+taglibs:c:1.1.0
+taglibs:c:1.0.4
+taglibs:c:1.1.2
+taglibs:x:1.0.3
+taglibs:x:1.1.1
+taglibs:x:1.0
+taglibs:x:1.0.5
+taglibs:x:1.0.1
+taglibs:x:1.0.2
+taglibs:x:1.0.6
+taglibs:x:1.1.0
+taglibs:x:1.0.4
+taglibs:x:1.1.2
+taglibs:request:1.0.1
+taglibs:benchmark:1.0
+taglibs:string-examples:1.0
+taglibs:string-examples:1.0.1
+taglibs:string-examples:1.1.0
+taglibs:datetime:1.0.1
+taglibs:session:1.0.1
+taglibs:application:1.0.1
+taglibs:datetime-doc:1.0.1
+taglibs:fn:1.1.1
+taglibs:fn:1.1.0
+taglibs:mailer-doc:1.1
+taglibs:page:1.0.1
+taglibs:xsl-examples:1.0.1
+taglibs:xsl:1.0.1
+taglibs:random:1.0.1
+taglibs:random:1.0.2
+taglibs:sql-rt:1.0.3
+taglibs:sql-rt:1.0
+taglibs:sql-rt:1.0.5
+taglibs:sql-rt:1.0.1
+taglibs:sql-rt:1.0.2
+taglibs:sql-rt:1.0.6
+taglibs:sql-rt:1.0.4
+taglibs:string:1.0
+taglibs:string:1.0.1
+taglibs:string:1.1.0
+taglibs:mailer:1.1
+taglibs:standard:1.0.3
+taglibs:standard:1.1.1
+taglibs:standard:1.0
+taglibs:standard:1.0.5
+taglibs:standard:1.0.1
+taglibs:standard:1.0.2
+taglibs:standard:1.0.6
+taglibs:standard:1.1.0
+taglibs:standard:1.0.4
+taglibs:standard:1.1.2
+taglibs:dbtags-doc:1.0.0
+taglibs:standard-doc:1.0.3
+taglibs:standard-doc:1.1.1
+taglibs:standard-doc:1.0
+taglibs:standard-doc:1.0.5
+taglibs:standard-doc:1.0.1
+taglibs:standard-doc:1.0.6
+taglibs:standard-doc:1.1.0
+taglibs:standard-doc:1.0.4
+taglibs:standard-doc:1.1.2
+taglibs:log:1.0
+taglibs:dbtags:1.0.0
+taglibs:permittedTaglibs:1.1.1
+taglibs:permittedTaglibs:1.1.0
+taglibs:sql:1.0.3
+taglibs:sql:1.1.1
+taglibs:sql:1.0
+taglibs:sql:1.0.5
+taglibs:sql:1.0.1
+taglibs:sql:1.0.2
+taglibs:sql:1.0.6
+taglibs:sql:1.1.0
+taglibs:sql:1.0.4
+taglibs:sql:1.1.2
+taglibs:fmt-rt:1.0.3
+taglibs:fmt-rt:1.0
+taglibs:fmt-rt:1.0.5
+taglibs:fmt-rt:1.0.1
+taglibs:fmt-rt:1.0.2
+taglibs:fmt-rt:1.0.6
+taglibs:fmt-rt:1.0.4
+taglibs:dbtags-examples:1.0.0
+taglibs:fmt:1.0.3
+taglibs:fmt:1.1.1
+taglibs:fmt:1.0
+taglibs:fmt:1.0.5
+taglibs:fmt:1.0.1
+taglibs:fmt:1.0.2
+taglibs:fmt:1.0.6
+taglibs:fmt:1.1.0
+taglibs:fmt:1.0.4
+taglibs:fmt:1.1.2
+taglibs:response-examples:1.0.1
+taglibs:datetime-examples:1.0.1
+taglibs:application-examples:1.0.1
+taglibs:request-examples:1.0.1
+taglibs:session-examples:1.0.1
+taglibs:benchmark-examples:1.0
+taglibs:c-rt:1.0.3
+taglibs:c-rt:1.0
+taglibs:c-rt:1.0.5
+taglibs:c-rt:1.0.1
+taglibs:c-rt:1.0.2
+taglibs:c-rt:1.0.6
+taglibs:c-rt:1.0.4
+taglibs:response-doc:1.0.1
+taglibs:page-examples:1.0.1
+taglibs:standard-examples:1.0.3
+taglibs:standard-examples:1.1.1
+taglibs:standard-examples:1.0
+taglibs:standard-examples:1.0.5
+taglibs:standard-examples:1.0.1
+taglibs:standard-examples:1.0.6
+taglibs:standard-examples:1.1.0
+taglibs:standard-examples:1.0.4
+taglibs:standard-examples:1.1.2
+taglibs:regexp-examples:1.0.1
+sax:sax:2.0.1
+boxstuff:maven-codeguide-plugin:1.0
+groovy:groovy-1.0-jsr:03
+groovy:groovy:1.0-jsr-01
+groovy:groovy-1.0-jsr:05
+groovy:groovy:1.0-jsr-06
+groovy:groovy:1.0-jsr-02
+groovy:groovy-1.0-jsr:04
+groovy:groovy-xmlrpc:0.3
+groovy:groovy-xmlrpc:0.2
+org.codehaus.groovy:groovy-all:1.1-beta-1
+groovy:groovy-all-1.0-jsr:01
+groovy:groovy-all:1.1-BETA-1
+groovy:groovy-all-1.0-jsr:03
+groovy:groovy-all:1.0-beta-7
+groovy:groovy-all:1.0-beta-8
+groovy:groovy-all:1.1-rc-1
+org.codehaus.groovy:groovy-all:1.1-beta-2
+groovy:groovy-all:1.0-beta-9
+groovy:groovy-all:1.1-beta-3
+groovy:groovy-all:1.0-beta-10
+groovy:groovy-all-1.0-jsr:02
+groovy:groovy-all-1.0-jsr:04
+groovy:gram:1.1
+groovy:groovy-all-1.0-jsr:03
+groovy:groovy-all-1.0-jsr:01
+groovy:groovy-all:1.0-jsr-05
+groovy:groovy-all-1.0-jsr:02
+groovy:groovy-all-1.0-jsr:04
+org.codehaus.groovy:groovy-all-minimal:1.1-BETA-1
+groovy-all-minimal:groovy:1.0
+groovy:groovy-all-minimal:1.1-rc-1
+groovy:groovy-all-minimal:1.1-beta-2
+Groovy with legacy groupId, please change to org.codehaus.groovy:groovy-all-minimal:1.1-beta-3
+groovy:groovy:1.0-jsr-06
+groovy:groovy:1.0-beta-5
+groovy:groovy:1.0-beta-4
+groovy:groovy:1.0-jsr-05
+groovy:groovy:1.0-beta-1
+groovy:groovy:1.0-beta-6
+groovy:groovy:1.0-beta-2
+groovy:groovy:1.0
+groovy:groovy:1.0-beta-3
+groovy:groovy:1.0-jsr-03
+groovy:groovy:1.0-beta-7
+groovy:groovy:1.0-beta-8
+groovy:groovy:1.1-rc-1
+groovy:groovy:1.1-beta-2
+groovy:groovy:1.0-jsr-05-1
+groovy:groovy:1.0-beta-9
+groovy:groovy:1.1-beta-3
+groovy:groovy:1.0-beta-10
+groovy:groovy:1.0-alpha-1
+groovy:groovy:1.0-alpha-2
+groovy:groovy:1.0-jsr-04
+commons-beanutils:commons-beanutils-core:1.7.0
+commons-beanutils:commons-beanutils-core:1.8.0
+commons-beanutils:commons-beanutils-bean-collections:1.7.0
+commons-beanutils:commons-beanutils-bean-collections:1.8.0
+commons-beanutils:commons-beanutils:1.6
+commons-beanutils:commons-beanutils:1.2
+commons-beanutils:commons-beanutils:1.4.1
+commons-beanutils:commons-beanutils:1.7.0
+commons-beanutils:commons-beanutils:1.3
+commons-beanutils:commons-beanutils:20020520
+commons-beanutils:commons-beanutils:20030211.134440
+commons-beanutils:commons-beanutils:1.0
+commons-beanutils:commons-beanutils:1.5
+commons-beanutils:commons-beanutils:1.8.0
+commons-beanutils:commons-beanutils:1.4
+commons-beanutils:commons-beanutils:20021128.082114
+commons-beanutils:commons-beanutils:1.6.1
+commons-beanutils:commons-beanutils:1.8.0-BETA
+howl:howl-logger:0.1.8
+howl:howl-logger:0.1.3
+howl:howl-logger:0.1.11
+howl:howl-logger:0.1.4
+webmacro:webmacro:0.94
+webmacro:webmacro:1.1final
+xmlunit:xmlunit:1.1
+xmlunit:xmlunit:1.2
+xmlunit:xmlunit:0.8
+xmlunit:xmlunit:1.0
+ymsg:ymsg-network:0.6
+ymsg:ymsg-network:0.6.1
+ymsg:ymsg-test:0.6
+ymsg:ymsg-support:0.6
+jaf:activation:1.0.2
+excalibur-monitor:excalibur-monitor:20020820
+excalibur-monitor:excalibur-monitor:1.0
+excalibur-monitor:excalibur-monitor:2.1
+eclipse:eclipse-ui:2.1.0
+eclipse:eclipse-boot:2.1.0
+eclipse:ejc:3.0M8
+eclipse:eclipse-workbench:2.1.0
+eclipse:eclipse-runtime:2.1.0
+eclipse:eclipse-jface:2.1.0
+eclipse:jdtcore:3.0.1
+eclipse:jdtcore:2.1.0
+eclipse:jdtcore:3.2.0.v_658
+eclipse:jdtcore:3.1.0
+jwebunit:jwebunit:1.3-rc2
+jwebunit:jwebunit:1.2
+jwebunit:jwebunit:1.1.1
+javagroups:jgroups-all:2.2
+javagroups:javagroups:2.0
+javagroups:javagroups:2.0.1
+com.baulsupp.kolja:kolja:0.9.1
+com.baulsupp.kolja:kolja:1.0.0
+com.baulsupp.kolja:kolja:0.9.9
+com.baulsupp.kolja:script-plugin:1.1
+com.baulsupp.kolja:kolja-parent:1.3
+com.baulsupp.kolja:jcurses:0.9.5.2
+com.baulsupp.kolja:jcurses:0.9.5.1
+com.baulsupp.kolja:jcurses:0.9.5.3
+com.toedter:jcalendar:1.2.2
+com.toedter:jcalendar:1.3.2
+com.toedter:jcalendar:1.1.4
+com.flagstonesoftware:transform-swf:2.1.5
+com.octo.mtg:mtg:0.2
+com.octo.mtg:mtg-parent:1
+com.octo.captcha:jcaptcha-all:1.0-RC-2.0.1
+com.octo.captcha:jcaptcha-all:1.0-RC5
+com.octo.captcha:jcaptcha-all:1.0-RC4
+com.octo.captcha:jcaptcha-all:1.0-RC6
+com.envoisolutions.sxc:sxc-drools:0.6
+com.envoisolutions.sxc:sxc-drools:0.7.1
+com.envoisolutions.sxc:sxc-drools:0.7.2
+com.envoisolutions.sxc:sxc-drools:0.5
+com.envoisolutions.sxc:sxc:0.6
+com.envoisolutions.sxc:sxc:0.7.1
+com.envoisolutions.sxc:sxc:0.7
+com.envoisolutions.sxc:sxc:0.7.2
+com.envoisolutions.sxc:sxc:0.5
+com.envoisolutions.sxc:sxc-jaxb-maven-plugin:0.7.1
+com.envoisolutions.sxc:sxc-jaxb-maven-plugin:0.7
+com.envoisolutions.sxc:sxc-jaxb-maven-plugin:0.7.2
+com.mockrunner:mockrunner:0.3.1
+com.mockrunner:mockrunner-j2ee1.3-jdk1.5:0.4
+com.mockrunner:mockrunner-j2ee1.3-jdk1.3:0.4
+com.mockrunner:mockrunner-j2ee1.3-jdk1.4:0.4
+com.mockrunner:mockrunner-j2ee1.3-jdk1.6:0.4
+com.melloware:jintellitype:1.1
+com.melloware:jintellitype:1.2
+com.melloware:jintellitype:1.3
+com.melloware:jintellitype:1.0
+com.melloware:jintellitype:1.2.1
+com.melloware:jintellitype:1.3.1
+com.melloware:jspiff:1.0
+com.extjs:gxt:1.1
+com.extjs:gxt:1.0
+com.extjs:gxt:1.0.1
+com.extjs:gxt:1.0-RC2
+com.jworx.logfacade:logfacade:1.1.1
+com.jworx.logfacade:logfacade:1.0
+com.tonicsystems:jarjar:0.6
+com.tonicsystems:jarjar:0.5
+com.tonicsystems:jarjar:0.2
+com.tonicsystems:jarjar:0.5
+com.tonicsystems:jarjar:0.2
+com.jidesoft:jide-oss:2.0.4
+com.jidesoft:jide-oss:2.1.1
+com.atomikos:atomikos-util:3.2.3
+com.atomikos:transactions-jta:3.2.3
+com.atomikos:transactions:3.2.3
+com.atomikos:transactions-api:3.2.3
+com.qlusters.jlmenu:jlmenu:1.0
+com.amazonaws.s3:jets3t:0.5.0
+com.ibatis:ibatis-dao:1.3.1
+com.ibatis:ibatis-dao:2.1.0.565
+com.ibatis:ibatis-sqlmap:1.3.1
+com.ibatis:ibatis-sqlmap:2.1.0.565
+com.ibatis:ibatis-common:1.3.1
+com.ibatis:ibatis-common:2.1.0.565
+com.ibatis:ibatis2-sqlmap:2.1.6.589
+com.ibatis:ibatis2-sqlmap:2.1.5.582
+com.ibatis:ibatis2-sqlmap:2.1.0.565
+com.ibatis:ibatis2-sqlmap:2.1.7.597
+com.ibatis:ibatis2-dao:2.1.6.589
+com.ibatis:ibatis2-dao:2.1.5.582
+com.ibatis:ibatis2-dao:2.1.0.565
+com.ibatis:ibatis2-dao:2.1.7.597
+com.ibatis:ibatis2-common:2.1.6.589
+com.ibatis:ibatis2-common:2.1.5.582
+com.ibatis:ibatis2-common:2.1.0.565
+com.ibatis:ibatis2-common:2.1.7.597
+com.yahoo.platform.yui:yuicompressor:2.2.5
+com.yahoo.platform.yui:yuicompressor:2.3.6
+com.yahoo.platform.yui:yui:2.5.0
+com.nordija.tapestry.bayeux:tapestry-bayeux:2.0.0-beta2
+com.nordija.tapestry.bayeux:tapestry-bayeux:2.0.0
+com.pavelvlasov:pvcommons-db:4.3.0
+com.pavelvlasov:jsel:1.10
+com.pavelvlasov:pvcommons:4.3.0
+com.pavelvlasov:jsel-db:1.10
+com.pyx4j:pyx4j:1.0.1
+com.commsen.stopwatch.api:stopwatch:0.3
+com.kirkk:jaranalyzer:0.9.3
+com.oracle:classes12:10.2.0.2.0
+com.oracle:classes12:9.0.2.0.0
+com.oracle:classes12:8.1.7
+com.oracle.toplink:toplink:10.1.3
+com.oracle:ojdbc14:10.2.0.2.0
+com.oracle:ojdbc14:10.2.0.3.0
+com.oracle:ojdbc14:9.0.2.0.0
+com.pyx4me:pyx4me:2.0.2
+com.pyx4me:pyx4me:2.0.1
+com.h2database:h2:1.0.75
+com.h2database:h2:1.0.71
+com.h2database:h2:1.0.63
+com.h2database:h2:1.0.67
+com.h2database:h2:1.0.58
+com.h2database:h2:1.0.72
+com.h2database:h2:1.0.20070617
+com.h2database:h2:1.0.20061217
+com.h2database:h2:1.0.73
+com.h2database:h2:1.0.57
+com.h2database:h2:1.0.64
+com.h2database:h2:1.0.62
+com.h2database:h2:1.1.100
+com.h2database:h2:1.0.61
+com.h2database:h2:1.0.77
+com.h2database:h2:1.0.76
+com.h2database:h2:1.0.20070304
+com.h2database:h2:1.1.101
+com.h2database:h2:1.0.79
+com.h2database:h2:1.1.102
+com.h2database:h2:1.0.74
+com.h2database:h2:1.0.66
+com.h2database:h2:1.0.78
+com.h2database:h2:1.0.65
+com.h2database:h2:1.0.59
+com.h2database:h2:1.0.70
+com.h2database:h2:1.0.68
+com.h2database:h2:1.0.69
+com.h2database:h2:1.0.60
+com.h2database:h2:1.1.103
+com.h2database:h2:1.0.20070429
+com.icegreen:greenmail:1.2
+com.icegreen:greenmail:1.3
+com.intellij:extensions:5.0
+com.intellij:extensions:6.0.5
+com.intellij:extensions:7.0.3
+com.intellij:openapi:4.5.4
+com.intellij:openapi:5.0
+com.intellij:openapi:6.0.5
+com.intellij:openapi:7.0.3
+com.intellij:javac2:6.0.5
+com.intellij:javac2:7.0.3
+com.intellij:javac2:6.0.3
+com.intellij:javac2:5.1
+com.intellij:forms_rt:4.5.4
+com.intellij:forms_rt:5.0
+com.intellij:forms_rt:6.0.5
+com.intellij:forms_rt:7.0.3
+com.intellij:forms_rt:6.0.3
+com.intellij:forms_rt:5.1
+com.intellij:javaee-openapi:7.0.3
+com.intellij:annotations:6.0.5
+com.intellij:annotations:7.0.3
+com.intellij:annotations:6.0.3
+com.intellij:annotations:5.1
+com.webtide.hightide:welcome:6.1H.4-beta
+com.webtide.hightide:root:6.1H.4-beta
+com.webtide.hightide:auctiondemo:6.1H.4-beta
+com.webtide.hightide:hightide:6.1H.10
+com.webtide.hightide:hightide:6.1H.4rc1
+com.webtide.hightide:hightide:6.1H.4-beta
+com.webtide.hightide:hightide:6.1H.5-beta
+com.webtide.hightide:hightide:6.1H.6
+com.webtide.hightide:hightide:6.1H.7
+com.webtide.hightide:hightide:6.1H.8
+com.webtide.hightide:maven-hightide-plugin:6.1H.4-beta
+com.jhlabs:javaproj:1.0
+com.jhlabs:filters:2.0.235
+com.jamonapi:jamon:2.0
+com.jamonapi:jamon:1.0
+com.flexiblewebsolutions.xdriveunit:xdriveunit:0.3
+com.flexiblewebsolutions.xdriveunit:xdriveunit:0.2
+com.flexiblewebsolutions.xmlstringparser:xmlstringparser:1.0
+com.servlets:cos:09May2002
+com.servlets:cos:05Nov2002
+com.mergere.mvnbook.proficio:proficio:0.8
+com.mergere.mvnbook.proficio:proficio:0.9
+com.redijedi:redijedi-t5-components:0.0.3
+com.wutka:dtdparser:1.21
+com.wutka:jox:1.16
+com.whirlycott:whirlycache:0.7.1
+com.sdicons.jsontools:jsontools-log4j:1.2
+com.sdicons.jsontools:jsontools-log4j:1.3
+com.sdicons.jsontools:jsontools-core:1.1
+com.sdicons.jsontools:jsontools-core:1.2
+com.sdicons.jsontools:jsontools-core:1.3
+com.sdicons.jsontools:jsontools-core:1.5
+com.sdicons.jsontools:jsontools-core:1.4
+com.jsftoolkit:components-base:0.9
+com.jgoodies:forms:1.1-preview
+com.jgoodies:forms:1.2.0
+com.jgoodies:forms:1.2.1
+com.jgoodies:forms:1.1.0
+com.jgoodies:forms:1.0.7
+com.jgoodies:validation:2.0.1
+com.jgoodies:validation:2.0.0
+com.jgoodies:binding:1.4.0
+com.jgoodies:binding:2.0.4
+com.jgoodies:binding:2.0.2
+com.jgoodies:binding:2.0.1
+com.jgoodies:binding:2.0.0
+com.jgoodies:binding:2.0.5
+com.jgoodies:binding:2.0.3
+com.jgoodies:looks:2.0.4
+com.jgoodies:looks:2.1.2
+com.jgoodies:looks:2.0.1
+com.jgoodies:looks:2.2.0
+com.jgoodies:looks:2.1.4
+com.jgoodies:animation:1.2.0
+com.torunski.crawler:crawler:0.6.0
+com.megginson.sax:xml-writer:0.2
+com.discursive.cas.extend:cas-extend-client-java:2.2.1
+com.discursive.cas.extend:cas-extend-client-java:2.2
+com.discursive.cas.extend:cas-extend-client-java:2.1.1
+com.discursive.wicket.media:wicket-media:1.1
+com.discursive.wicket.media:wicket-media:1.0
+com.discursive.maven:disc-maven-skin:1.0
+com.discursive.taglib.reference:reference-taglib:1.0
+com.discursive.taglib.reference:reference-taglib:1.0.1
+com.discursive.taglib.prototype:prototype-taglib:1.1
+com.discursive.taglib.prototype:prototype-taglib:1.1.1
+com.discursive.taglib.prototype:prototype-taglib:1.0
+com.discursive.dao.generic:generic-dao:2.0
+com.discursive.dao.generic:generic-dao:1.0
+com.discursive.dao.generic:generic-dao:2.1
+com.discursive.web.history:history-model:1.0
+com.discursive.web.history:history-filter:1.0
+com.jslint:jslint:2007-10-25
+com.atlassian.pom:atlassian-base-pom:20
+com.atlassian.pom:atlassian-public-pom:16
+com.atlassian.maven.plugins:maven-licenses-plugin:0.1
+com.atlassian.maven.plugins:maven-clover2-plugin:2.3.2
+com.atlassian.maven.plugins:maven-clover2-plugin:2.4.0
+com.atlassian.maven.plugins:maven-clover2-plugin:2.3.1
+com.atlassian.maven.plugins:maven-clover2-plugin:2.4.1
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-server-spring:0.8.2
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-server-spring:0.7
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-server-spring:0.8.1
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-server-spring:0.9
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-parent:0.8.2
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-parent:0.7
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-parent:0.8.1
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-parent:0.9
+com.atlassian.xmlrpc:atlassian-xmlrpc-binder-parent:0.5
+com.liferay:liferay-portal-src:4.2.1
+com.nextapp:echo2-webrender:2.1.0.beta5
+com.nextapp:echo2-app:2.1.0.beta5
+com.micheldalal:x10:1.0.1
+com.famfamfam:silk:1.3
+com.jcraft:jzlib:1.0.7
+com.jcraft:jsch:0.1.23
+com.jcraft:jsch:0.1.38
+com.jcraft:jsch:0.1.25
+com.jcraft:jsch:0.1.24
+com.jcraft:jsch:0.1.27
+com.jcraft:jsch:0.1.31
+com.jcraft:jsch:0.1.29
+com.bekk.boss:maven-jetty-pluto-embedded:1.0
+com.thoughtworks.qdox:qdox:1.6.3
+com.thoughtworks.qdox:qdox:1.6.2
+com.thoughtworks.paranamer:paranamer:1.0-beta-1
+com.thoughtworks.paranamer:paranamer:1.0-beta-2
+com.thoughtworks.paranamer:paranamer:1.0-beta
+com.thoughtworks.paranamer:paranamer:1.0-RC-1
+com.thoughtworks.paranamer:paranamer-parent:1.1
+com.thoughtworks.paranamer:paranamer-parent:1.1.5
+com.thoughtworks.paranamer:paranamer-parent:1.1.3
+com.thoughtworks.paranamer:paranamer-parent:1.1.1
+com.thoughtworks.paranamer:paranamer-parent:1.0
+com.thoughtworks.paranamer:paranamer-parent:1.0.1
+com.thoughtworks.paranamer:paranamer-parent:1.0-RC-2
+com.thoughtworks.paranamer:paranamer-parent:1.1.4
+com.thoughtworks.paranamer:paranamer-parent:1.1.2
+com.thoughtworks.xstream:xstream:1.1
+com.thoughtworks.xstream:xstream:1.1.3
+com.thoughtworks.xstream:xstream:1.1.1
+com.thoughtworks.xstream:xstream:1.0
+com.thoughtworks.xstream:xstream:1.0.1
+com.thoughtworks.xstream:xstream:1.0.2
+com.thoughtworks.xstream:xstream:1.1.2
+com.thoughtworks.xstream:xstream-parent:1.2
+com.thoughtworks.xstream:xstream-parent:1.3
+com.thoughtworks.xstream:xstream-parent:1.2.1
+com.thoughtworks.xstream:xstream-parent:1.2.2
+com.lamatek:googlemaps:0.98c
+com.javaexchangeconnector:jec:1.52_13
+com.javaexchangeconnector:jec:1.53_12
+com.javaexchangeconnector:jec:1.53_11
+com.canoo:webtest:1454
+com.canoo:webtest:586
+com.canoo:webtest:1393
+com.canoo:webtest:1193
+com.canoo:webtest:268
+com.canoo:webtest:277
+com.yesmail:gwt-rolodex:1.1
+com.mysql:management:5-0-2-beta
+com.mysql:management:1.1.6
+com.aetrion.flickr:flickrapi:1.1
+com.fernsroth.easyio:easyio:0.9-beta
+com.orangevolt:orangevolt-ant-tasks:1.3
+com.rabbitmq:amqp-client:1.3.0
+com.rabbitmq:rabbitmq-client:1.3.0
+com.redv.bloggerapi:blogger-api-client:1.1
+com.totsp.feedpod:itunes-com-podcast:0.1
+com.totsp.feedpod:itunes-com-podcast:0.2
+com.totsp.feedpod:purl-org-slash:0.1
+com.totsp.feedpod:purl-org-content:0.3
+com.totsp.feedpod:purl-org-content:0.2
+com.ibm:com.ibm.mqbind:5.3.07
+com.ibm.io:ibmaio:20040616
+com.ibm.icu:icu4j:3.6.1
+com.ibm.icu:icu4j:3.8
+com.ibm.icu:icu4j:3.4.4
+com.ibm.icu:icu4j:2.6.1
+com.ibm:com.ibm.mq:5.3.07
+com.ibm:com.ibm.mqjms:5.3.07
+com.pragmaticautomation:pragautox10:1.0
+com.ancientprogramming.fixedformat4j:fixedformat4j:1.1.1
+com.ancientprogramming.fixedformat4j:fixedformat4j:1.2.0
+com.ancientprogramming.fixedformat4j:fixedformat4j:1.0.0
+com.ancientprogramming.fixedformat4j:fixedformat4j:1.2.1
+com.ancientprogramming.fixedformat4j:fixedformat4j:1.2.2
+com.ancientprogramming.fixedformat4j:fixedformat4j:1.1.0
+com.caucho:burlap:2.1.12
+com.caucho:hessian:2.1.12
+com.caucho:hessian:3.0.8
+com.caucho:hessian:3.1.5
+com.caucho:hessian:3.1.3
+com.caucho:hessian-flash:3.1.2
+com.caucho:hessian-flex:3.1.5
+com.caucho:resin:3.0.9
+com.sun.wts.tools.mri:maven-repository-importer:1.1
+com.sun.wts.tools.mri:maven-repository-importer:1.2
+com.sun.wts.tools.mri:maven-repository-importer:1.0
+com.sun.media:jai_imageio:1.0_01
+com.sun.media:jai_codec:1.1.2_01
+com.sun.fastinfoset.runtime:fastinfoset-runtime:0.1
+com.sun.jndi:dsml:1.2
+com.sun.jndi:cosnaming:1.2.1
+com.sun.jndi:dns:1.2
+com.sun.jndi:providerutil:1.2
+com.sun.jndi:fscontext:1.2-beta-3
+com.sun.jndi:rmiregistry:1.2.1
+com.sun.jndi:nis:1.2.1
+com.sun.jndi:ldap:1.2.4
+com.sun:rt:1.4.2_06
+com.sun:rt:1.3.1_08
+com.sun:rt:1.5.0_06
+com.sun:rt:1.3.1_18
+com.sun.el:el-ri:1.0
+com.sun.org.apache:jaxp-ri:1.4
+com.sun.org.apache.xml.internal:resolver:20050927
+com.sun.xml:jaxb-xjc:2.0EA3
+com.sun.xml:jaxb-xjc:1.0.5
+com.sun.xml:jaxb-xjc:1.0.4
+com.sun.xml.parsers:jaxp-ri:1.4.1
+com.sun.xml.parsers:jaxp-ri:1.4.2
+com.sun.xml.parsers:jaxp-ri:1.4
+com.sun.xml:jaxb-libs:1.0.5
+com.sun.xml:jaxb-libs:1.0.4
+com.sun.xml.bind:jaxb-xjc:2.1.6
+com.sun.xml.bind:jaxb-xjc:2.1.5
+com.sun.xml.bind:jaxb-xjc:2.0
+com.sun.xml.bind:jaxb-xjc:2.0.4
+com.sun.xml.bind:jaxb-xjc:2.1.2
+com.sun.xml.bind:jaxb-xjc:2.0.2
+com.sun.xml.bind:jaxb-xjc:2.0.1
+com.sun.xml.bind:jaxb-xjc:2.1.4
+com.sun.xml.bind:jaxb-xjc:2.1.3
+com.sun.xml.bind:jaxb-xjc:2.1.9
+com.sun.xml.bind:jaxb-xjc:2.0.5
+com.sun.xml.bind:jaxb-xjc:2.1.7
+com.sun.xml.bind:jaxb-xjc:2.1.8
+com.sun.xml.bind:jaxb-xjc:2.1.1
+com.sun.xml.bind:jaxb-xjc:2.0.3
+com.sun.xml.bind:jaxb1-impl:2.0
+com.sun.xml.bind:jaxb1-impl:2.0.2
+com.sun.xml.bind:jaxb1-impl:2.0.1
+com.sun.xml.bind:jaxb1-impl:2.0.3
+com.sun.xml.bind:jaxb-impl:2.1.6
+com.sun.xml.bind:jaxb-impl:2.1.5
+com.sun.xml.bind:jaxb-impl:2.0
+com.sun.xml.bind:jaxb-impl:2.0.4
+com.sun.xml.bind:jaxb-impl:2.1.2
+com.sun.xml.bind:jaxb-impl:2.0.2
+com.sun.xml.bind:jaxb-impl:2.0.1
+com.sun.xml.bind:jaxb-impl:2.1.4
+com.sun.xml.bind:jaxb-impl:2.1.3
+com.sun.xml.bind:jaxb-impl:2.1.9
+com.sun.xml.bind:jaxb-impl:2.0.5
+com.sun.xml.bind:jaxb-impl:2.1.7
+com.sun.xml.bind:jaxb-impl:2.1.8
+com.sun.xml.bind:jaxb-impl:2.1.1
+com.sun.xml.bind:jaxb-impl:2.0.3
+com.sun.xml.fastinfoset:FastInfoset:1.2.3
+com.sun.xml.fastinfoset:FastInfoset:1.1.1
+com.sun.xml.fastinfoset:FastInfoset:1.2.1
+com.sun.xml.fastinfoset:FastInfoset:1.0.2
+com.sun.xml.fastinfoset:FastInfoset:1.2.2
+com.sun.xml:jaxws-rt:2.0EA3
+com.sun.xml.rpc:jaxrpc-spi:1.1.3_01
+com.sun.xml.rpc:jaxrpc-impl:1.1.3_01
+com.sun.xml:saaj-impl:1.3
+com.sun.xml:saaj-impl:1.2.1_01
+com.sun.xml:jaxb-impl:2.0EA3
+com.sun.xml:jaxb-impl:1.0.5
+com.sun.xml:jaxb-impl:1.0.4
+com.sun.xml:jaxm-runtime:1.1.2
+com.sun.xml.stream.buffer:streambuffer:0.8
+com.sun.xml.stream.buffer:streambuffer:0.1
+com.sun.xml.stream.buffer:streambuffer:0.7
+com.sun.xml.stream.buffer:streambuffer:0.2
+com.sun.xml.stream:sjsxp:1.0
+com.sun.xml.stream:sjsxp:1.0.1
+com.sun.xml:relaxngDatatype:1.0
+com.sun.xml:xsdlib:20050614
+com.sun.xml.messaging.saaj:saaj-impl:1.3
+com.sun.xml.messaging.saaj:saaj-impl:1.3.1
+com.sun.xml.messaging.saaj:saaj-impl:1.3.2
+com.sun.xml.ws:jaxws-rt:2.1EA1
+com.sun.xml.ws:jaxws-rt:2.1.4
+com.sun.xml.ws:jaxws-rt:2.1.3
+com.sun.xml.ws:jaxws-tools:2.1EA1
+com.sun.xml.ws:jaxws-tools:2.1.4
+com.sun.xml.ws:jaxws-tools:2.1.3
+com.sun.xml:jaxws-tools:2.0EA3
+com.sun.jdmk:jmxtools:1.2.1
+com.sun.jdmk:jmxtools:1.2.1
+com.sun.comm:comm:2.0.3
+com.sun.japex.jdsl:jdsl:1.0.16
+com.sun.japex.jdsl:jdsl:1.0.25
+com.sun.japex.jdsl:jdsl:1.0.20
+com.sun.japex.jdsl:jdsl:1.0.22
+com.sun.japex.jdsl:jdsl:1.0.11
+com.sun.japex.jdsl:jdsl:1.0.19
+com.sun.japex.jdsl:jdsl:1.0.18
+com.sun.japex.jdsl:jdsl:1.0.21
+com.sun.japex:japex:1.0.16
+com.sun.japex:japex:1.0.25
+com.sun.japex:japex:1.0.20
+com.sun.japex:japex:1.0.22
+com.sun.japex:japex:1.0.11
+com.sun.japex:japex:1.0.19
+com.sun.japex:japex:1.0.18
+com.sun.japex:japex:1.0.21
+com.sun.jmx:jmxri:1.2
+com.sun.jmx:jmxri:1.2.1
+com.sun.jmx:jmx_remote:1.0
+com.sun.jmx:jmx_remote:1.0.1_03
+com.sun.jmx:jmx_remote:1.0.1_01
+com.sun.msv.datatype.xsd:xsdlib:20060614
+com.sun.msv.datatype.xsd:xsdlib:20060615
+com.sun.kvem:kenv:2.2
+com.sun.facelets:jsf-facelets:1.1.6
+com.sun.facelets:jsf-facelets:1.1.8
+com.sun.facelets:jsf-facelets:1.1.9
+com.sun.facelets:jsf-facelets:1.1.11
+com.sun.facelets:jsf-facelets:1.1.7
+com.sun.facelets:jsf-facelets:1.1.10
+com.sun.jini:classserver:2.1-beta2
+com.sun.jini:classserver:2.1
+com.sun.jini:tools:2.1-beta2
+com.sun.jini:tools:2.1
+com.sun.jini:jini-starterkit:2.1
+com.sun.jini:jini-start-examples:2.1
+com.sun.jini:computedigest:2.1-beta2
+com.sun.jini:computedigest:2.1
+com.sun.jini:sun-util:2.1-beta2
+com.sun.jini:sun-util:2.1
+com.sun.jini:computehttpmdcodebase:2.1-beta2
+com.sun.jini:computehttpmdcodebase:2.1
+com.sun.jini:classdep:2.1-beta2
+com.sun.jini:classdep:2.1
+com.sun.jini:jarwrapper:2.1-beta2
+com.sun.jini:jarwrapper:2.1
+com.sun.jini:checkser:2.1-beta2
+com.sun.jini:checkser:2.1
+com.sun.jini:checkconfigurationfile:2.1-beta2
+com.sun.jini:checkconfigurationfile:2.1
+com.sun.jini:destroy:2.1-beta2
+com.sun.jini:destroy:2.1
+com.sun.jini:group:2.1-beta2
+com.sun.jini:group:2.1
+com.sun.jini:envcheck:2.1-beta2
+com.sun.jini:envcheck:2.1
+com.cenqua.clover:clover:2.3.2
+com.cenqua.clover:clover:2.2.1
+com.cenqua.clover:clover:2.4.0
+com.cenqua.clover:clover:2.3.1
+com.cenqua.clover:clover:2.3.0
+com.cenqua.clover:clover:1.3.12
+com.cenqua.clover:clover:1.3.13
+com.cenqua.clover:clover:2.4.1
+com.samaxes.cachefilter:cachefilter:1.0
+com.samaxes.cachefilter:cachefilter:1.0.1
+com.samaxes.secure.tag:securetag:1.0
+com.samaxes.securetag:securetag:1.0
+com.amazon.aes.webservices.client:ec2-java-client:20080327
+com.google.collections:google-collections:0.8
+com.google.protobuf:protobuf-java:2.0.1
+com.google.code.xmltool:xmltool:1.1
+com.google.code.xmltool:xmltool:1.2
+com.google.code.xmltool:xmltool:1.0
+com.google.code.xmltool:xmltool:1.4
+com.google.code.gwt-log:gwt-log:2.5.0
+com.google.code.facebookapi:parent-pom:2.0.2
+com.google.code.facebookapi:parent-pom:2.0.1
+com.google.code.facebookapi:facebook-java-api:2.0.2
+com.google.code.facebookapi:facebook-java-api:2.0.1
+com.google.code.facebookapi:facebook-java-api-schema:2.0.2
+com.google.code.facebookapi:facebook-java-api-schema:2.0.1
+com.google.code.p.arat:rat-lib:0.4.1
+com.google.code.p.arat:rat-lib:0.5.1
+com.google.code.p.arat:rat-lib:0.5
+com.google.code.p:rupy:0.2.4
+com.google.code.simplestuff:simplestuff:0.1
+com.google.code.gwt-dnd:gwt-dragdrop:1.2.6
+com.google.code.struts2webflow:struts2webflow-parent:1.0.4
+com.google.code.facebook-java-api:facebook-java-api:1.4
+com.google.code.gson:gson:1.1
+com.google.code.maven-license-plugin:maven-license-plugin:1.3.0
+com.google.code.maven-license-plugin:maven-license-plugin:1.3.1
+com.google.code.maven-license-plugin:maven-license-plugin:1.2.5
+com.google.code.guice:guice:1.0
+com.google.code.google-collections:google-collect:snapshot-20071022
+com.google.code.google-collections:google-collect:snapshot-20080530
+com.google.code.google-collections:google-collect:snapshot-20080321
+com.google.code.javaparser:javaparser:1.0.1
+com.google.code.webworkwebflow:webworkwebflow-parent:1.0.2
+com.google.code.cli-parser:cli:7
+com.google.code.typica:typica:1.4.1
+com.google.code.typica:typica:1.3
+com.google.gwt:gwt-servlet:1.4.62
+com.google.gwt:gwt-dev:1.5.2
+com.google.gwt:gwt-dev:1.5.3
+com.google.gwt:gwt-servlet:1.5-M2
+com.google.gwt:gwt-dev:1.5.1
+com.google.gwt:gwt-dev:1.5-RC1
+com.google.gwt:gwt-servlet:1.4.62
+com.google.gwt:gwt-user:1.5.2
+com.google.gwt:gwt-user:1.4.60
+com.google.gwt:gwt-user:1.5.3
+com.google.gwt:gwt-servlet:1.5-M2
+com.google.gwt:gwt-user:1.5.1
+com.google.gwt:gwt-user:1.5-RC1
+com.google.gwt:gwt-user:1.4.62
+com.google.gwt:gwt-servlet:1.5.2
+com.google.gwt:gwt-servlet:1.4.60
+com.google.gwt:gwt-servlet:1.5.3
+com.google.gwt:gwt-user:1.5-M2
+com.google.gwt:gwt-servlet:1.5.1
+com.google.gwt:gwt-servlet:1.5-RC1
+com.google.gwt:gwt-benchmark-viewer:1.5.1
+com.google:google:1
+com.metaparadigm:json-rpc:1.0
+com.healthmarketscience.sqlbuilder:sqlbuilder:2.0.4
+com.healthmarketscience.sqlbuilder:sqlbuilder:2.0.2
+com.healthmarketscience.sqlbuilder:sqlbuilder:2.0.1
+com.healthmarketscience.sqlbuilder:sqlbuilder:2.0.0
+com.healthmarketscience.sqlbuilder:sqlbuilder:2.0.3
+com.healthmarketscience.rmiio:rmiio:2.0.2
+com.healthmarketscience.rmiio:rmiio:2.0.1
+com.healthmarketscience.rmiio:rmiio:2.0.0
+com.healthmarketscience.jackcess:jackcess:1.1.14
+com.healthmarketscience.jackcess:jackcess:1.1.13
+com.healthmarketscience.jackcess:jackcess:1.1.17
+com.healthmarketscience.jackcess:jackcess:1.1.16
+com.healthmarketscience.jackcess:jackcess:1.1.15
+com.healthmarketscience.jackcess:jackcess:1.1.11
+com.healthmarketscience.jackcess:jackcess:1.1.10
+com.healthmarketscience.jackcess:jackcess:1.1.12
+com.healthmarketscience.jackcess:jackcess:1.1.18
+com.healthmarketscience:openhms-parent:1.0.3
+com.healthmarketscience:openhms-parent:1.0.0
+com.healthmarketscience:openhms-parent:1.0.5
+com.healthmarketscience:openhms-parent:1.0.1
+com.healthmarketscience:openhms-parent:1.0.2
+com.healthmarketscience:openhms-parent:1.0.4
+com.healthmarketscience.common:common-util:1.0.3
+com.healthmarketscience.common:common-util:1.0.0
+com.healthmarketscience.common:common-util:1.0.1
+com.healthmarketscience.common:common-util:1.0.2
+com.healthmarketscience.common:common-util:1.0.4
+com.agilepirates:mavenium:0.1
+com.hp.hpl.jena:sdb:1.1
+com.hp.hpl.jena:jenatest:2.5.5
+com.hp.hpl.jena:jenatest:2.5.4
+com.hp.hpl.jena:jenatest:2.5.6
+com.hp.hpl.jena:concurrent-jena:1.3.2
+com.hp.hpl.jena:arq-extra:2.3
+com.hp.hpl.jena:arq-extra:2.5.0
+com.hp.hpl.jena:arq-extra:2.4
+com.hp.hpl.jena:arq-extra:2.1
+com.hp.hpl.jena:arq-extra:2.2
+com.hp.hpl.jena:json-jena:1.0
+com.hp.hpl.jena:arq:2.3
+com.hp.hpl.jena:arq:2.5.0
+com.hp.hpl.jena:arq:2.4
+com.hp.hpl.jena:arq:2.1
+com.hp.hpl.jena:arq:2.2
+com.hp.hpl.jena:iri:0.5
+com.hp.hpl.jena:jena:2.5.5
+com.hp.hpl.jena:jena:2.5.4
+com.hp.hpl.jena:jena:2.5.6
+com.adobe.acrobat:acrobat:1.1
+com.adobe.blazeds:blazeds-common:1.0-beta1
+com.adobe.blazeds:blazeds-common:3.0
+com.adobe.blazeds:blazeds-remoting:1.0-beta1
+com.adobe.blazeds:blazeds-remoting:3.0
+com.adobe.blazeds:blazeds-core:1.0-beta1
+com.adobe.blazeds:blazeds-core:3.0
+com.artofsolving:jodconverter:2.2.1
+com.artofsolving:jodconverter:2.2.0
+com.artofsolving:jodconverter:2.1.1
+com.artofsolving:jodconverter-maven-plugin:1.1
+com.artofsolving:jodconverter-maven-plugin:2.2.1
+com.evaserver:eva-properties:0.3
+com.evaserver:eva-properties:0.2.2
+com.evaserver:eva-properties:0.2.1
+com.agilejava.blammo:blammo:0.3
+com.agilejava.blammo:blammo:0.2
+com.agilejava.docbkx:docbkx:2.0.7
+com.agilejava.docbkx:docbkx:2.0.8
+com.agilejava.docbkx:docbkx:2.0.6
+com.agical.rmock:rmock_all:2.0.0
+com.agical.rmock:documentation:2.0.0
+com.agical.rmock:rmock:2.0.0-rc-6
+com.agical.rmock:rmock:2.0.2
+com.agical.rmock:rmock:2.0.1
+com.agical.rmock:rmock:2.0.0
+com.agical.rmock:rmock:2.0.0-rc-5
+com.agical.rmock:rmock-ext-gui:0.1.1
+com.agical.rmock:rmock-ext-gui:2.0.0-rc-6
+com.agical.rmock:rmock-ext-gui:2.0.0
+com.agical.rmock:parent:2.0.0
+com.agical.rmock:rmock-full:2.0.0
+com.agical.rmock:rmock-maven-plugin:1.0.1
+com.agical.rmock:tddoc:2.0.0
+com.agical.rmock:rmock-ext-tddoc:0.1.1
+com.agical.rmock:rmock-ext-tddoc:2.0.0-rc-6
+com.agical.rmock:rmock-skin:1.0
+com.exadel.flamingo:flamingo-service-spring:1.5.0
+com.exadel.flamingo:flamingo-service:1.0.0
+com.exadel.flamingo:flamingo-service:1.5.0
+com.exadel.flamingo.flamingoapp.projects:flamingoapp-project-maven2:1.0.0
+com.exadel.flamingo.flamingoapp.projects:flamingoapp-project-maven2:1.0.1
+com.exadel.flamingo.flamingoapp.projects:flamingoapp-project-maven2:1.5.0
+com.exadel.flamingo.flamingoapp.projects:flamingoapp-spring-project-maven2:1.5.0
+com.exadel.flamingo.maven.plugin:flamingoapp:1.0.0
+com.exadel.flamingo.maven.plugin:flamingoapp:1.0.1
+com.exadel.flamingo.maven.plugin:flamingoapp:1.5.0
+com.exadel.flamingo.javafx:flamingo-javafx:1.5.0
+com.exadel.flamingo.flex:amf-serializer:1.0.0
+com.exadel.flamingo.flex:amf-serializer:1.5.0
+com.exadel.flamingo.flex:flamingo-flex:1.0.0
+com.exadel.flamingo.flex:flamingo-flex:1.5.0
+com.experlog:xapool:1.4
+com.experlog:xapool:1.5.0
+com.svnkit:svnkit-cli:1.1.0
+com.svnkit:svnkit:1.1.0
+com.enterprisedt:edtFTPj:1.5.3
+com.stephenduncanjr:easymock-propertyutils:1.1
+com.stephenduncanjr:easymock-propertyutils:1.0
+com.walding:com.walding:0.4
+com.walding:com.walding:20040421.141436
+com.walding:com.walding:200312170405.000000
+com.axlradius:ftpserver:3.09
+com.novell.ldap:jldap:4.3
+com.keypoint:png-encoder:1.5
+com.mobilvox.ossi.mojo:maven-js-plugin:1.1
+com.mobilvox.ossi.mojo:maven-js-plugin:1.2
+com.mobilvox.ossi.mojo:maven-js-plugin:1.3
+com.mobilvox.ossi.mojo:maven-js-plugin:1.1.1
+com.mobilvox.ossi.mojo:maven-js-plugin:1.2-beta
+com.mobilvox.ossi.mojo:maven-js-plugin:1.0
+com.mobilvox.ossi.mojo:maven-js-plugin:1.3.1
+com.bea.xml:jsr173-ri:1.0
+com.bea.wlplatform:commonj-twm:1.1
+com.martiansoftware:jsap:2.1
+com.kitfox.svg:svg-salamander:1.0
+com.insanityengine:ghia:1.0.0
+com.gnizr.aduna:aduna-clustermap-gnizr:2006.3-beta2
+com.gnizr:gnizr:2.4.0-M4
+com.opensymphony:webwork:2.2.6
+com.opensymphony:xwork:2.0.7
+com.opensymphony:xwork:2.0.4
+com.opensymphony:xwork:2.1.0
+com.opensymphony:xwork:2.0.6
+com.opensymphony:xwork:2.0.5
+com.opensymphony:xwork:2.1.1
+com.parasoft.jtest:jtest:7.5.72
+com.parasoft.jtest:jtest:8.0.122
+com.c2.fit:fit:1.1
+com.googlecode.jsslutils:jsslutils:0.3
+com.googlecode.jsslutils:jsslutils:0.4
+com.googlecode.jsslutils:jsslutils-test-certificates:1.0
+com.googlecode.jsslutils:jsslutils-test-certificates:1.0.1
+com.googlecode.jsslutils:jsslutils-test-helpers:0.4
+com.googlecode.instinct:instinct-core:0.1.9
+com.capgemini.platina:platina:4
+com.capgemini.platina:platina:5
+com.capgemini.platina:platina:5.1
+com.capgemini.platina.maven:platina-plugins:1
+com.capgemini.platina.maven.release:maven-release:5-platina-1
+com.capgemini.platina.maven:maven-release-plugin:2.0-platina-1
+com.capgemini.platina:platina-build-tools:1.0.3
+com.capgemini.platina:platina-build-tools:1.0.1
+com.capgemini.platina:platina-build-tools:1.0.3
+com.capgemini.platina:platina-tests:1
+com.lowagie:itext-rups:2.1.3
+com.lowagie:itext:0.99
+com.lowagie:itext:2.0.7
+com.lowagie:itext:1.2.3
+com.lowagie:itext:1.3
+com.lowagie:itext:2.0.8
+com.lowagie:itext:2.1.0
+com.lowagie:itext:2.1.2
+com.lowagie:itext:1.4
+com.lowagie:itext:1.3.1
+com.lowagie:itext:2.0.1
+com.lowagie:itext:2.0.6
+com.lowagie:itext:2.1.3
+com.lowagie:itext:1.1.4
+com.lowagie:itext:1.02b
+com.lowagie:itext:1.4.8
+com.lowagie:itext-rtf:2.1.3
+com.seitenbau.testing:junit-parameterized-test:1.0.0
+com.seitenbau.testing:sb-junitrecorder-flatmaster:1.0.0
+com.seitenbau.testing:sb-junitrecorder-core:1.0.0
+com.seitenbau.testing:sb-junitrecorder-exampleusage:1.0.0
+com.seitenbau.testing:sb-junitrecorder-skin:1.0.0
+com.seitenbau.testing:sb-junitrecorder-addons:1.0.0
+com.vividsolutions:jts:1.8
+com.uwyn:jhighlight:1.0rc
+com.uwyn:jhighlight:1.0
+com.miglayout:miglayout:3.5.5
+com.miglayout:miglayout:3.6
+com.miglayout:miglayout:3.5.6
+wurfl:wall-tomcat5:b1
+wurfl:wall-tomcat4:b1
+joda-time:joda-time-hibernate:0.8
+joda-time:joda-time-hibernate:1.0
+joda-time:joda-time-jsptags:1.0
+joda-time:joda-time-jsptags:1.0.1
+joda-time:joda-time:1.1
+joda-time:joda-time:1.2
+joda-time:joda-time:1.3
+joda-time:joda-time:1.5.2
+joda-time:joda-time:1.0
+joda-time:joda-time:1.2.1
+joda-time:joda-time:1.5
+joda-time:joda-time:1.4
+joda-time:joda-time:1.5.1
+joda-time:joda-time:0.95
+commons-util:commons-util:final
+turbine:maven-turbine-plugin:1.2-rc2-dev
+turbine:maven-turbine-plugin:1.2
+turbine:maven-turbine-plugin:1.3
+turbine:maven-turbine-plugin:1.2-rc1
+turbine:maven-turbine-plugin:1.2-rc2-dev
+turbine:turbine:2.3.1-rc1
+turbine:turbine:2.2-b1
+turbine:turbine:2.4-M1
+turbine:turbine:2.3.2
+turbine:turbine:2.3-rc1
+turbine:turbine:2.3
+turbine:turbine:2.3.1-rc2
+turbine:turbine:3.0-alpha-1.20020912.045138
+turbine:turbine:2.3.1
+turbine:turbine:2.2-rc1
+turbine:turbine:2.1
+turbine:turbine:2.2b1
+turbine:turbine:2.2
+velocity-dvsl:velocity-dvsl:0.43
+velocity-dvsl:velocity-dvsl:0.40
+velocity-dvsl:velocity-dvsl:0.44.20020720.082908
+velocity-dvsl:velocity-dvsl:0.31
+velocity-dvsl:velocity-dvsl:0.43.20020711.010949
+velocity-dvsl:velocity-dvsl:0.44.20020720.011619
+velocity-dvsl:velocity-dvsl:0.44.20020719.122919
+velocity-dvsl:velocity-dvsl:0.45
+velocity-dvsl:velocity-dvsl:0.43.20020716.041424
+velocity-dvsl:velocity-dvsl:0.43.20020719.020022
+javainetlocator:inetaddresslocator:2.18
+hivemind:hivemind-jmx:1.1
+hivemind:hivemind-jmx:1.1-beta-1
+hivemind:hivemind-jmx:1.1.1
+hivemind:hivemind-jmx:1.1-rc-1
+hivemind:hivemind-jmx:1.1-beta-2
+hivemind:hivemind-jmx:1.1-beta-3
+hivemind:hivemind-lib:1.1
+hivemind:hivemind-lib:1.1-beta-1
+hivemind:hivemind-lib:1.0-beta-1
+hivemind:hivemind-lib:1.0-beta-2
+hivemind:hivemind-lib:1.1-alpha-2
+hivemind:hivemind-lib:1.0-rc-2
+hivemind:hivemind-lib:1.1.1
+hivemind:hivemind-lib:1.0
+hivemind:hivemind-lib:1.1-rc-1
+hivemind:hivemind-lib:1.1-beta-2
+hivemind:hivemind-lib:1.1-alpha-1
+hivemind:hivemind-lib:1.1-beta-3
+hivemind:hivemind-lib:1.1-alpha-3
+hivemind:hivemind-lib:1.0-rc-1
+hivemind:hivemind:1.1
+hivemind:hivemind:1.1-beta-1
+hivemind:hivemind:1.0-beta-1
+hivemind:hivemind:1.0-beta-2
+hivemind:hivemind:1.1-alpha-2
+hivemind:hivemind:1.0-rc-2
+hivemind:hivemind:1.1.1
+hivemind:hivemind:1.0
+hivemind:hivemind:1.1-rc-1
+hivemind:hivemind:1.1-beta-2
+hivemind:hivemind:1.1-alpha-1
+hivemind:hivemind:1.1-beta-3
+hivemind:hivemind:1.1-alpha-3
+hivemind:hivemind:1.0-rc-1
+ar.com.fdvs:DynamicJasper:2.0.7
+ar.com.fdvs:DynamicJasper:2.0.8
+ar.com.fdvs:DynamicJasper:2.1.0
+jdo:jdo:1.0.1
+jdo:jdo:2.0-SNAPSHOT
+jdo:jdo:1.0.1
+stax:stax-api:1.0
+stax:stax-api:1.0.1
+stax:stax:1.1-dev
+stax:stax:1.1.2
+stax:stax:1.2.0
+stax:stax:1.2.0_rc2-dev
+stax:stax:1.1.1-dev
+urbanophile:java-getopt:1.0.9
+sysunit:plugin-sysunit:1.0-beta-11
+sysunit:sysunit:1.0-beta-11
+sysunit:sysunit:20030724.170336
+sysunit:sysunit:20030725.201137
+sysunit:sysunit:20030723.151801
+sysunit:sysunit:20030725.164117
+sysunit:sysunit:20030711.161346
+sysunit:sysunit:20030723.161221
+sysunit:sysunit:1.0-beta-1
+sysunit:sysunit:1.0-beta-2
+sysunit:sysunit:20030725.200415
+sysunit:sysunit:1.0-beta-13
+sysunit:sysunit:20030814.161217
+sysunit:sysunit:20030723.172754
+sysunit:sysunit:20030723.145040
+sysunit:sysunit:20030723.151552
+sysunit:sysunit:1.0-beta-10
+sysunit:sysunit:20030711.135515
+sysunit:sysunit:20030814.160208
+sysunit:sysunit:20030723.151320
+commons-configuration:commons-configuration:1.1
+commons-configuration:commons-configuration:1.0-rc2
+commons-configuration:commons-configuration:1.2
+commons-configuration:commons-configuration:1.3
+commons-configuration:commons-configuration:20040121.140929
+commons-configuration:commons-configuration:1.0
+commons-configuration:commons-configuration:20030620.073343
+commons-configuration:commons-configuration:1.0-rc1
+commons-configuration:commons-configuration:1.5
+commons-configuration:commons-configuration:1.4
+commons-configuration:commons-configuration:1.0-dev-2.20021231.045254
+commons-configuration:commons-configuration:1.1-dev
+commons-configuration:commons-configuration:20030311.152757
+commons-configuration:commons-configuration:20030706.202021
+commons-configuration:commons-configuration:1.1-dev
+commons-configuration:commons-configuration:1.0-dev-3.20030603.101200
+commons-configuration:commons-configuration:1.0-dev-3.20030607.194155
+generama:generama:1.1
+generama:generama:1.2.3
+generama:generama:1.2
+generama:generama:1.1-SNAPSHOT
+generama:generama:1.1
+generama:generama:1.0
+generama:generama:1.2.1
+generama:generama:1.1
+generama:generama:1.1.1
+generama:generama:1.1-SNAPSHOT
+generama:generama:1.1-SNAPSHOT
+generama:generama:1.1-SNAPSHOT
+generama:generama:1.1-SNAPSHOT
+generama:generama:1.1.1
+generama:generama:1.2.2
+generama:generama:1.1-SNAPSHOT
+generama:generama:1.1.1
+jarsync:jarsync:0.2.1
+proxytoys:proxytoys-src:0.2.1
+proxytoys:proxytoys-src:0.2
+proxytoys:proxytoys:0.1
+proxytoys:proxytoys:0.2.1
+proxytoys:proxytoys:0.2-RC1
+proxytoys:proxytoys:0.2
+excalibur-logger:excalibur-logger:1.1
+excalibur-logger:excalibur-logger:20020820
+excalibur-logger:excalibur-logger:1.0
+excalibur-logger:excalibur-logger:1.0.1
+excalibur-logger:excalibur-logger:2.1
+jgrapht:jgrapht:0.7.3
+jgrapht:jgrapht:0.5.3
+jgrapht:jgrapht:0.6.0
+opensymphony:xwork-tiger:1.1
+opensymphony:xwork-tiger:1.2.3
+opensymphony:xwork-tiger:1.1.3
+opensymphony:xwork-tiger:1.2.
+opensymphony:xwork-tiger:1.1.1
+opensymphony:xwork-tiger:1.2.1
+opensymphony:xwork-tiger:2.0-beta-1
+opensymphony:xwork-tiger:1.2.2
+opensymphony:webwork-src:2.2.1
+opensymphony:webwork-src:2.2
+opensymphony:clickstream:1.0.2
+opensymphony:propertyset:1.3
+opensymphony:quartz:1.4.0
+opensymphony:quartz:1.4.4
+opensymphony:quartz:1.4.3
+opensymphony:quartz:1.4.5
+opensymphony:quartz:1.5.0
+opensymphony:webwork:2.1.6
+opensymphony:webwork:2.2.5
+opensymphony:webwork:2.2.2
+opensymphony:webwork:2.1.5
+opensymphony:webwork:2.0
+opensymphony:webwork:2.2.1
+opensymphony:webwork:1.4
+opensymphony:webwork:2.2.3
+opensymphony:webwork:2.2.4
+opensymphony:webwork:2.1.4
+opensymphony:webwork:2.1
+opensymphony:webwork:2.1.3
+opensymphony:webwork:2.1.7
+opensymphony:webwork:2.2
+opensymphony:xwork-src:1.1
+opensymphony:xwork-src:1.1.1
+opensymphony:osuser:1.0-20060106
+opensymphony:quartz-weblogic:1.5.0
+opensymphony:sitemesh:2.3
+opensymphony:sitemesh:2.2.1
+opensymphony:sitemesh:2.0.1
+opensymphony:oscache:2.3
+opensymphony:oscache:2.4
+opensymphony:oscache:2.0.2
+opensymphony:oscache:2.1
+opensymphony:oscache:2.1.1
+opensymphony:quartz-jboss:1.5.0
+opensymphony:oscore:2.2.4
+opensymphony:ognl:2.6.11
+opensymphony:ognl:2.6.10
+opensymphony:osworkflow:2.7.0
+opensymphony:pell-multipart:2.1.5
+opensymphony:xwork-tiger-src:1.1
+opensymphony:xwork-tiger-src:1.1.1
+opensymphony:quartz-oracle:1.5.0
+opensymphony:xwork:1.1
+opensymphony:xwork:2.0-beta2
+opensymphony:xwork:1.2.3
+opensymphony:xwork:1.1.3
+opensymphony:xwork:1.2
+opensymphony:xwork:1.0.3
+opensymphony:xwork:1.1.1
+opensymphony:xwork:1.0
+opensymphony:xwork:1.2.1
+opensymphony:xwork:1.0.5
+opensymphony:xwork:2.0.2
+opensymphony:xwork:1.0.1
+opensymphony:xwork:2.0.1
+opensymphony:xwork:2.0.0
+opensymphony:xwork:2.0-beta-1
+opensymphony:xwork:1.2.2
+opensymphony:xwork:1.0.4
+opensymphony:xwork:2.0-SNAPSHOT
+opensymphony:xwork:2.0-beta-3
+opensymphony:xwork:2.0.3
+surefire:surefire-booter:1.1
+surefire:surefire-booter:1.0
+surefire:surefire-root:1.1
+surefire:surefire-root:1.0
+surefire:surefire:1.1
+surefire:surefire:1.0
+exo:exoplatform.portlets.core.workflow:1.0
+exo:exoplatform.services.workflow.impl:1.0
+exo:exoplatform.portlets.core.wsrp:1.0
+exo:exoplatform.business-process.holiday:1.0
+exo:exoplatform.services.organization.impl:1.0
+exo:exoplatform.services.portal.api:1.0
+exo:exoplatform.services.remote.impl:1.0
+exo:exoplatform.services.security.api:1.0
+exo:exoplatform.services.project-manager.impl:1.0
+exo:exoplatform.services.grammar-analyzer.api:1.0
+exo:exoplatform.portlets.core.project-manager:1.0
+exo:exoplatform.services.communication.api:1.0
+exo:exoplatform.services.resources.api:1.0
+exo:exoplatform.jsf.exo-components:1.0
+exo:exoplatform.portal.impl:1.0
+exo:exoplatform.portlets.core.exomvc:1.0
+exo:exoplatform.portal.api:1.0
+exo:exoplatform.portlets.core.user:1.0
+exo:exoplatform.services.project-manager.api:1.0
+exo:exoplatform.services.ldap.impl:1.0
+exo:exoplatform.services.cache.impl:1.0
+exo:exoplatform.web.portal:1.0
+exo:exoplatform.business-process.article:1.0
+exo:exoplatform.services.jcr.impl:1.0
+exo:exoplatform.services.portlet-registry.api:1.0
+exo:exoplatform.services.portlet-registry.impl:1.0
+exo:exoplatform.services.templates.api:1.0
+exo:exoplatform.services.communication.impl:1.0
+exo:exoplatform.web.skin:1.0
+exo:exoplatform.container:1.0
+exo:exoplatform.services.workflow.api:1.0
+exo:exoplatform.services.cms.api:1.0
+exo:exoplatform.services.ldap.api:1.0
+exo:exoplatform.portlet-framework.jsf:1.0
+exo:exoplatform.services.portlet-container.impl:1.0
+exo:exoplatform.portlets.core.content:1.0
+exo:exoplatform.commons:1.0
+exoplatform.services.xml-processing.api:exoplatform.services.xml-processing.api:1.0
+exo:exoplatform.services.indexing.api:1.0
+exo:exoplatform.services.organization.api:1.0
+exo:exoplatform.services.portal.impl:1.0
+exo:exoplatform.services.jcr.api:1.0
+exo:exoplatform.services.cache.api:1.0
+exo:exoplatform.services.wsrp.impl:1.0
+exo:exoplatform.services.id-generator.impl:1.0
+exo:exoplatform.services.common.impl:1.0
+exo:exoplatform.services.security.impl:1.0
+exo:exoplatform.portlet-framework.exomvc:1.0
+exo:exoplatform.services.common.api:1.0
+exo:exoplatform.services.templates.impl:1.0
+exo:exoplatform.business-process.content-validation:1.0
+exo:exoplatform.portlets.core.communications:1.0
+exo:exoplatform.services.database.api:1.0
+exo:exoplatform.portlet-framework.cocoon:1.0
+exo:exoplatform.portlets.core.web:1.0
+exo:exoplatform.portlet-framework.commons:1.0
+exo:exoplatform.services.resources.impl:1.0
+exo:exoplatform.jsf.core-components:1.0
+exoplatform.services.xml-processing.impl:exoplatform.services.xml-processing.impl:1.0
+exo:exoplatform.services.database.impl:1.0
+exo:exoplatform.services.remote.api:1.0
+exo:exoplatform.test.framework:1.0
+exo:exoplatform.portlets.core.admin:1.0
+exo:exoplatform.services.backup.impl:1.0
+exo:exoplatform.services.wsrp.api:1.0
+exo:exoplatform.services.indexing.impl:1.0
+exo:exoplatform.portlet-framework.struts:1.0
+exo:exoplatform.services.portlet-container.api:1.0
+exo:exoplatform.services.backup.api:1.0
+exo:exoplatform.services.id-generator.api:1.0
+exo:exoplatform.business-process.payraise:1.0
+exo:exoplatform.services.grammar-analyzer.impl:1.0
+exo:exoplatform.portlets.core.navigation:1.0
+exo:exoplatform.test.webunit-framework:1.0
+exo:exoplatform.services.cms.impl:1.0
+exo:exoplatform.portlets.ext.weather:1.0
+charlotte:charlotte:1.0-rc5
+junit-doclet:junit-doclet:1.0.1
+junit-doclet:junit-doclet:1.0.2
+jcvsii:jcvsii:5.3.2
+cewolf:cewolf:0.10.3
+cewolf:cewolf:1.0
+cewolf:cewolf:0.12.0
+xmlpull:xmlpull:1.1.3.1
+xmlpull:xmlpull:1.1.3.4d_b4_min
+xmlpull:xmlpull:1.1.2.1
+xmlpull:xmlpull:1.1.3.4a
+ivory:ivory:1.0-beta-1
+ivory:ivory:1.0-alpha-5
+axis2:axis2-core:0.94
+axis2:axis2-doom:0.94
+axis2:axis2-adb:0.94
+axis2:addressing:0.94
+axis2:axis2:0.9
+axis2:axis2-codegen:0.94
+pdfbox:pdfbox:0.7.3
+pdfbox:pdfbox:0.7.1
+pdfbox:pdfbox:0.6.4
+javatar:javatar:2.5
+rhino:js:1.7R1
+rhino:js:1.6R7
+rhino:js:1.6R3
+rhino:js:1.6R6-candidate2
+rhino:js:1.5R4-RC3
+rhino:js:1.5R3
+rhino:js:1.6R5
+rhino:js:1.6R1
+rhino:js:1.6R2
+rhino:js:1.5R4.1
+rhino:js:1.6R6
+rhino:rhino:1.5R4.1
+jmscts:jmscts:0.5
+jmscts:jmscts:0.5-b2
+fastutil:fastutil:2.52
+fastutil:fastutil:5.0.7
+fastutil:fastutil:5.0.5
+fastutil:fastutil:5.0.4
+fastutil:fastutil:5.0.9
+fastutil:fastutil:4.4.0
+securityfilter:securityfilter:2.0
+cocoon:cocoon-serializers:2.1.6
+cocoon:cocoon-serializers:2.1.5.1
+cocoon:cocoon-serializers:2.1.7
+cocoon:cocoon-serializers:2.1.8
+cocoon:cocoon-linkrewriter:2.1.6
+cocoon:cocoon-linkrewriter:2.1.5.1
+cocoon:cocoon-linkrewriter:2.1.4
+cocoon:cocoon-linkrewriter:2.1.3
+cocoon:cocoon-linkrewriter:2.1.7
+cocoon:cocoon-linkrewriter:2.1.8
+cocoon:cocoon-python:2.1.6
+cocoon:cocoon-python:2.1.5.1
+cocoon:cocoon-python:2.1.4
+cocoon:cocoon-python:2.1.3
+cocoon:cocoon-python:2.1.7
+cocoon:cocoon-python:2.1.8
+cocoon:cocoon-qdox:2.1.6
+cocoon:cocoon-qdox:2.1.5.1
+cocoon:cocoon-qdox:2.1.4
+cocoon:cocoon-qdox:2.1.3
+cocoon:cocoon-qdox:2.1.7
+cocoon:cocoon-qdox:2.1.8
+cocoon:cocoon-html:2.1.6
+cocoon:cocoon-html:2.1.5.1
+cocoon:cocoon-html:2.1.4
+cocoon:cocoon-html:2.1.3
+cocoon:cocoon-html:2.1.7
+cocoon:cocoon-html:2.1.8
+cocoon:cocoon-xsp:2.1.6
+cocoon:cocoon-xsp:2.1.5.1
+cocoon:cocoon-xsp:2.1.7
+cocoon:cocoon-xsp:2.1.8
+cocoon:cocoon-webdav:2.1.6
+cocoon:cocoon-webdav:2.1.5.1
+cocoon:cocoon-webdav:2.1.4
+cocoon:cocoon-webdav:2.1.3
+cocoon:cocoon-webdav:2.1.7
+cocoon:cocoon-webdav:2.1.8
+cocoon:cocoon-forms:2.1.6
+cocoon:cocoon-forms:2.1.5.1
+cocoon:cocoon-forms:2.1.7
+cocoon:cocoon-forms:2.1.8
+cocoon:cocoon-cron:2.1.6
+cocoon:cocoon-cron:2.1.5.1
+cocoon:cocoon-cron:2.1.4
+cocoon:cocoon-cron:2.1.3
+cocoon:cocoon-cron:2.1.7
+cocoon:cocoon-cron:2.1.8
+cocoon:cocoon-ojb:2.1.6
+cocoon:cocoon-ojb:2.1.5.1
+cocoon:cocoon-ojb:2.1.4
+cocoon:cocoon-ojb:2.1.7
+cocoon:cocoon-ojb:2.1.8
+cocoon:cocoon-javaflow:2.1.6
+cocoon:cocoon-javaflow:2.1.5.1
+cocoon:cocoon-javaflow:2.1.7
+cocoon:cocoon-javaflow:2.1.8
+cocoon:cocoon-chaperon:2.1.6
+cocoon:cocoon-chaperon:2.1.5.1
+cocoon:cocoon-chaperon:2.1.4
+cocoon:cocoon-chaperon:2.1.3
+cocoon:cocoon-chaperon:2.1.7
+cocoon:cocoon-chaperon:2.1.8
+cocoon:cocoon-querybean:2.1.7
+cocoon:cocoon-querybean:2.1.8
+cocoon:cocoon-jcr:2.1.8
+cocoon:cocoon-php:2.1.5.1
+cocoon:cocoon-php:2.1.4
+cocoon:cocoon-php:2.1.3
+cocoon:cocoon-authentication-fw:2.1.6
+cocoon:cocoon-authentication-fw:2.1.5.1
+cocoon:cocoon-authentication-fw:2.1.4
+cocoon:cocoon-authentication-fw:2.1.3
+cocoon:cocoon-authentication-fw:2.1.7
+cocoon:cocoon-authentication-fw:2.1.8
+cocoon:cocoon-jfor:2.1.6
+cocoon:cocoon-jfor:2.1.5.1
+cocoon:cocoon-jfor:2.1.4
+cocoon:cocoon-jfor:2.1.3
+cocoon:cocoon-jfor:2.1.7
+cocoon:cocoon-jfor:2.1.8
+cocoon:cocoon-faces:2.1.6
+cocoon:cocoon-faces:2.1.7
+cocoon:cocoon-faces:2.1.8
+cocoon:cocoon-scratchpad:2.1.6
+cocoon:cocoon-scratchpad:2.1.5.1
+cocoon:cocoon-scratchpad:2.1.4
+cocoon:cocoon-scratchpad:2.1.3
+cocoon:cocoon-deprecated:2.1.6
+cocoon:cocoon-deprecated:2.1.5.1
+cocoon:cocoon-deprecated:2.1.4
+cocoon:cocoon-deprecated:2.1.3
+cocoon:cocoon-deprecated:2.1.7
+cocoon:cocoon-deprecated:2.1.8
+cocoon:cocoon-tour:2.1.6
+cocoon:cocoon-tour:2.1.5.1
+cocoon:cocoon-tour:2.1.7
+cocoon:cocoon-tour:2.1.8
+cocoon:cocoon-lucene:2.1.6
+cocoon:cocoon-lucene:2.1.5.1
+cocoon:cocoon-lucene:2.1.4
+cocoon:cocoon-lucene:2.1.3
+cocoon:cocoon-lucene:2.1.7
+cocoon:cocoon-lucene:2.1.8
+cocoon:cocoon-swf:2.1.5.1
+cocoon:cocoon-swf:2.1.4
+cocoon:cocoon-swf:2.1.3
+cocoon:cocoon-xmldb:2.1.6
+cocoon:cocoon-xmldb:2.1.5.1
+cocoon:cocoon-xmldb:2.1.4
+cocoon:cocoon-xmldb:2.1.3
+cocoon:cocoon-xmldb:2.1.7
+cocoon:cocoon-xmldb:2.1.8
+cocoon:cocoon-asciiart:2.1.6
+cocoon:cocoon-asciiart:2.1.5.1
+cocoon:cocoon-asciiart:2.1.4
+cocoon:cocoon-asciiart:2.1.3
+cocoon:cocoon-asciiart:2.1.7
+cocoon:cocoon-asciiart:2.1.8
+cocoon:cocoon-apples:2.1.6
+cocoon:cocoon-apples:2.1.5.1
+cocoon:cocoon-apples:2.1.4
+cocoon:cocoon-apples:2.1.3
+cocoon:cocoon-apples:2.1.7
+cocoon:cocoon-apples:2.1.8
+cocoon:cocoon-axis:2.1.6
+cocoon:cocoon-axis:2.1.5.1
+cocoon:cocoon-axis:2.1.4
+cocoon:cocoon-axis:2.1.3
+cocoon:cocoon-axis:2.1.7
+cocoon:cocoon-axis:2.1.8
+cocoon:cocoon-ajax:2.1.8
+cocoon:cocoon-web3:2.1.6
+cocoon:cocoon-web3:2.1.5.1
+cocoon:cocoon-web3:2.1.4
+cocoon:cocoon-web3:2.1.3
+cocoon:cocoon-web3:2.1.7
+cocoon:cocoon-web3:2.1.8
+cocoon:cocoon-xsltal:2.1.8
+cocoon:cocoon-bsf:2.1.6
+cocoon:cocoon-bsf:2.1.5.1
+cocoon:cocoon-bsf:2.1.4
+cocoon:cocoon-bsf:2.1.3
+cocoon:cocoon-bsf:2.1.7
+cocoon:cocoon-bsf:2.1.8
+cocoon:cocoon-hsqldb:2.1.6
+cocoon:cocoon-hsqldb:2.1.5.1
+cocoon:cocoon-hsqldb:2.1.4
+cocoon:cocoon-hsqldb:2.1.3
+cocoon:cocoon-hsqldb:2.1.7
+cocoon:cocoon-hsqldb:2.1.8
+cocoon:cocoon-databases:2.1.6
+cocoon:cocoon-databases:2.1.5.1
+cocoon:cocoon-databases:2.1.4
+cocoon:cocoon-databases:2.1.3
+cocoon:cocoon-databases:2.1.7
+cocoon:cocoon-databases:2.1.8
+cocoon:cocoon-itext:2.1.6
+cocoon:cocoon-itext:2.1.5.1
+cocoon:cocoon-itext:2.1.4
+cocoon:cocoon-itext:2.1.3
+cocoon:cocoon-itext:2.1.7
+cocoon:cocoon-itext:2.1.8
+cocoon:cocoon-midi:2.1.6
+cocoon:cocoon-midi:2.1.5.1
+cocoon:cocoon-midi:2.1.4
+cocoon:cocoon-midi:2.1.3
+cocoon:cocoon-midi:2.1.7
+cocoon:cocoon-midi:2.1.8
+cocoon:cocoon-slide:2.1.6
+cocoon:cocoon-slide:2.1.5.1
+cocoon:cocoon-slide:2.1.4
+cocoon:cocoon-slide:2.1.3
+cocoon:cocoon-slide:2.1.7
+cocoon:cocoon-slide:2.1.8
+cocoon:cocoon-batik:2.1.6
+cocoon:cocoon-batik:2.1.5.1
+cocoon:cocoon-batik:2.1.4
+cocoon:cocoon-batik:2.1.3
+cocoon:cocoon-batik:2.1.7
+cocoon:cocoon-batik:2.1.8
+cocoon:cocoon-eventcache:2.1.6
+cocoon:cocoon-eventcache:2.1.5.1
+cocoon:cocoon-eventcache:2.1.4
+cocoon:cocoon-eventcache:2.1.3
+cocoon:cocoon-eventcache:2.1.7
+cocoon:cocoon-eventcache:2.1.8
+cocoon:cocoon-proxy:2.1.6
+cocoon:cocoon-proxy:2.1.5.1
+cocoon:cocoon-proxy:2.1.4
+cocoon:cocoon-proxy:2.1.3
+cocoon:cocoon-proxy:2.1.7
+cocoon:cocoon-proxy:2.1.8
+cocoon:cocoon-mail:2.1.6
+cocoon:cocoon-mail:2.1.5.1
+cocoon:cocoon-mail:2.1.4
+cocoon:cocoon-mail:2.1.3
+cocoon:cocoon-mail:2.1.7
+cocoon:cocoon-mail:2.1.8
+cocoon:cocoon-slop:2.1.6
+cocoon:cocoon-slop:2.1.5.1
+cocoon:cocoon-slop:2.1.4
+cocoon:cocoon-slop:2.1.3
+cocoon:cocoon-slop:2.1.7
+cocoon:cocoon-slop:2.1.8
+cocoon:cocoon-poi:2.1.6
+cocoon:cocoon-poi:2.1.5.1
+cocoon:cocoon-poi:2.1.4
+cocoon:cocoon-poi:2.1.3
+cocoon:cocoon-poi:2.1.7
+cocoon:cocoon-poi:2.1.8
+cocoon:cocoon-stx:2.1.6
+cocoon:cocoon-stx:2.1.5.1
+cocoon:cocoon-stx:2.1.4
+cocoon:cocoon-stx:2.1.3
+cocoon:cocoon-stx:2.1.7
+cocoon:cocoon-stx:2.1.8
+cocoon:cocoon-testcase:2.1.6
+cocoon:cocoon-testcase:2.1.4
+cocoon:cocoon-testcase:2.1.3
+cocoon:cocoon-testcase:2.1.7
+cocoon:cocoon-fop:2.1.6
+cocoon:cocoon-fop:2.1.5.1
+cocoon:cocoon-fop:2.1.4
+cocoon:cocoon-fop:2.1.3
+cocoon:cocoon-fop:2.1.7
+cocoon:cocoon-fop:2.1.8
+cocoon:cocoon-repository:2.1.6
+cocoon:cocoon-repository:2.1.5.1
+cocoon:cocoon-repository:2.1.4
+cocoon:cocoon-repository:2.1.3
+cocoon:cocoon-repository:2.1.7
+cocoon:cocoon-repository:2.1.8
+cocoon:cocoon-woody:2.1.4
+cocoon:cocoon-woody:2.1.3
+cocoon:cocoon-taglib:2.1.6
+cocoon:cocoon-taglib:2.1.5.1
+cocoon:cocoon-taglib:2.1.4
+cocoon:cocoon-taglib:2.1.3
+cocoon:cocoon-taglib:2.1.7
+cocoon:cocoon-taglib:2.1.8
+cocoon:cocoon-captcha:2.1.8
+cocoon:cocoon-war:2.1.6
+cocoon:cocoon-war:2.1.4
+cocoon:cocoon-war:2.1.3
+cocoon:cocoon-war:2.1.7
+cocoon:cocoon-profiler:2.1.6
+cocoon:cocoon-profiler:2.1.5.1
+cocoon:cocoon-profiler:2.1.4
+cocoon:cocoon-profiler:2.1.3
+cocoon:cocoon-profiler:2.1.7
+cocoon:cocoon-profiler:2.1.8
+cocoon:cocoon-portal-fw:2.1.5.1
+cocoon:cocoon-portal-fw:2.1.4
+cocoon:cocoon-portal-fw:2.1.3
+cocoon:cocoon-session-fw:2.1.6
+cocoon:cocoon-session-fw:2.1.5.1
+cocoon:cocoon-session-fw:2.1.4
+cocoon:cocoon-session-fw:2.1.3
+cocoon:cocoon-session-fw:2.1.7
+cocoon:cocoon-session-fw:2.1.8
+cocoon:cocoon-paranoid:2.1.6
+cocoon:cocoon-paranoid:2.1.5.1
+cocoon:cocoon-paranoid:2.1.4
+cocoon:cocoon-paranoid:2.1.7
+cocoon:cocoon-paranoid:2.1.8
+cocoon:cocoon-jsp:2.1.6
+cocoon:cocoon-jsp:2.1.5.1
+cocoon:cocoon-jsp:2.1.4
+cocoon:cocoon-jsp:2.1.3
+cocoon:cocoon-jsp:2.1.7
+cocoon:cocoon-jsp:2.1.8
+cocoon:cocoon-validation:2.1.8
+cocoon:cocoon-precept:2.1.4
+cocoon:cocoon-precept:2.1.3
+cocoon:cocoon-velocity:2.1.6
+cocoon:cocoon-velocity:2.1.5.1
+cocoon:cocoon-velocity:2.1.4
+cocoon:cocoon-velocity:2.1.3
+cocoon:cocoon-velocity:2.1.7
+cocoon:cocoon-velocity:2.1.8
+cocoon:cocoon-portal:2.1.6
+cocoon:cocoon-portal:2.1.5.1
+cocoon:cocoon-portal:2.1.4
+cocoon:cocoon-portal:2.1.3
+cocoon:cocoon-portal:2.1.7
+cocoon:cocoon-portal:2.1.8
+cocoon:cocoon-deli:2.1.6
+cocoon:cocoon-deli:2.1.5.1
+cocoon:cocoon-deli:2.1.4
+cocoon:cocoon-deli:2.1.3
+cocoon:cocoon-deli:2.1.7
+cocoon:cocoon-deli:2.1.8
+cocoon:cocoon-linotype:2.1.6
+cocoon:cocoon-linotype:2.1.5.1
+cocoon:cocoon-linotype:2.1.4
+cocoon:cocoon-linotype:2.1.3
+cocoon:cocoon-linotype:2.1.7
+cocoon:cocoon-linotype:2.1.8
+cocoon:cocoon:2.1.6
+cocoon:cocoon:2.1.5.1
+cocoon:cocoon:2.1.4
+cocoon:cocoon:2.1.3
+cocoon:cocoon:2.1.7
+cocoon:cocoon:2.1.8
+cocoon:cocoon-naming:2.1.6
+cocoon:cocoon-naming:2.1.5.1
+cocoon:cocoon-naming:2.1.4
+cocoon:cocoon-naming:2.1.3
+cocoon:cocoon-naming:2.1.7
+cocoon:cocoon-naming:2.1.8
+cocoon:cocoon-petstore:2.1.6
+cocoon:cocoon-petstore:2.1.5.1
+cocoon:cocoon-petstore:2.1.4
+cocoon:cocoon-petstore:2.1.3
+cocoon:cocoon-petstore:2.1.7
+cocoon:cocoon-petstore:2.1.8
+cocoon:cocoon-jms:2.1.6
+cocoon:cocoon-jms:2.1.5.1
+cocoon:cocoon-jms:2.1.4
+cocoon:cocoon-jms:2.1.7
+cocoon:cocoon-jms:2.1.8
+cocoon:cocoon-jxforms:2.1.4
+cocoon:cocoon-jxforms:2.1.3
+jca:jca:1.0.0
+jca:jca:1.5
+jgroups:jgroups-all:2.2.7
+jgroups:jgroups-all:2.2.5
+jgroups:jgroups-all:2.2.8
+jgroups:jgroups-all:2.2.6
+jgroups:jgroups-all:2.2.9.1
+jgroups:jgroups-all:2.4.1
+jgroups:jgroups:2.2.5
+jgroups:jgroups:2.2.1
+doxia:doxia-core:1.0-alpha-4
+doxia:doxia-core:1.0-alpha-5
+doxia:doxia-core:1.0-alpha-3
+doxia:doxia-core:1.0-alpha-1
+doxia:doxia-core:1.0-alpha-2
+doxia:doxia-sink-api:1.0-alpha-4
+doxia:doxia-sink-api:1.0-alpha-5
+rsslibj:rsslibj:1.0RC2
+muse:wsdm-xbeans-src:1.0
+muse:advertiser-xbeans-src:1.0
+muse:advertiser-xbeans:1.0
+muse:wsdm-xbeans:1.0
+muse:muse:1.0
+graphlayout:graphlayout:1.2.1
+xfire:xfire-jsr181-api:1.0-M1
+xfire:xfire-xmpp:1.0-SNAPSHOT
+xfire:xfire-xmpp:1.0-M5
+xfire:xfire-xmpp:1.0-20050913.005129
+xfire:xfire-xmpp:1.0-20051009.200408
+xfire:xfire-xmpp:1.0-SNAPSHOT
+xfire:xfire-xmpp:1.0-SNAPSHOT
+xfire:xfire-xmpp:1.0
+xfire:xfire-xmpp:1.0-SNAPSHOT
+xfire:xfire-xmpp:1.0-20050920.034927
+xfire:xfire-xmpp:1.0-20050917.231155
+xfire:xfire-xmpp:1.0-SNAPSHOT
+xfire:xfire-xmpp:1.0-M4
+xfire:xfire-xmpp:1.0-20050920.032457
+xfire:jaxb-xjc:2.0
+xfire:jaxb-xjc:1.0.5
+xfire:jaxb-xjc:ea3
+xfire:opensaml:1.0.1
+xfire:jaxb-libs:1.0.5
+xfire:xmlbeans:2.0-20041214
+xfire:xfire-java5:1.0-M5
+xfire:xfire-java5:1.0-M4
+xfire:xfire-annotations:1.0-SNAPSHOT
+xfire:xfire-annotations:1.0-M5
+xfire:xfire-annotations:1.0-SNAPSHOT
+xfire:xfire-annotations:1.0-20050920.034640
+xfire:xfire-annotations:1.0
+xfire:xfire-annotations:1.0-20050920.032215
+xfire:xfire-annotations:1.0-SNAPSHOT
+xfire:xfire-annotations:1.0-SNAPSHOT
+xfire:xfire-annotations:1.0-20051009.195930
+xfire:xfire-annotations:1.0-20050913.004926
+xfire:xfire-annotations:1.0-M4
+xfire:xfire-annotations:1.0-20050917.230819
+xfire:xfire-annotations:1.0-SNAPSHOT
+xfire:xfire-jms:1.0-20050917.230855
+xfire:xfire-jms:1.0-SNAPSHOT
+xfire:saaj-impl:1.3
+xfire:jaxb-impl:2.0
+xfire:jaxb-impl:1.0.5
+xfire:xfire-picocontainer:1.0-20051009.200114
+xfire:xfire-picocontainer:1.0-SNAPSHOT
+xfire:xfire-picocontainer:1.0-M5
+xfire:xfire-picocontainer:1.0-20050920.032323
+xfire:xfire-picocontainer:1.0-20050920.034752
+xfire:xfire-picocontainer:1.0
+xfire:xfire-picocontainer:1.0-SNAPSHOT
+xfire:xfire-picocontainer:1.0-SNAPSHOT
+xfire:xfire-picocontainer:1.0-SNAPSHOT
+xfire:xfire-picocontainer:1.0-SNAPSHOT
+xfire:xfire-picocontainer:1.0-M4
+xfire:xfire-picocontainer:1.0-20050913.005017
+xfire:xfire-picocontainer:1.0-20050917.230959
+xfire:xfire-loom:1.0-SNAPSHOT
+xfire:xfire-loom:1.0-M5
+xfire:xfire-loom:1.0-SNAPSHOT
+xfire:xfire-loom:1.0-SNAPSHOT
+xfire:xfire-loom:1.0-20050920.032248
+xfire:xfire-loom:1.0-SNAPSHOT
+xfire:xfire-loom:1.0
+xfire:xfire-loom:1.0-20050917.230925
+xfire:xfire-loom:1.0-20050913.004946
+xfire:xfire-loom:1.0-20051009.200017
+xfire:xfire-loom:1.0-M4
+xfire:xfire-loom:1.0-SNAPSHOT
+xfire:xfire-loom:1.0-20050920.034713
+xfire:xfire-loom:20050202
+xfire:wss4j:1.1
+xfire:wss4j:1.0.0
+xfire:wsdl4j:1.5.2
+xfire:xfire-jaxb:1.0
+xfire:xfire-core:1.0-M5
+xfire:xfire-core:1.0-20050917.230558
+xfire:xfire-core:1.0-SNAPSHOT
+xfire:xfire-core:1.0-20051009.195738
+xfire:xfire-core:1.0
+xfire:xfire-core:1.0-20050920.032035
+xfire:xfire-core:1.0-SNAPSHOT
+xfire:xfire-core:1.0-SNAPSHOT
+xfire:xfire-core:1.0-20050913.004817
+xfire:xfire-core:1.0-M4
+xfire:xfire-core:1.0-SNAPSHOT
+xfire:xfire-core:1.0-20050920.034459
+xfire:xfire-core:1.0-SNAPSHOT
+xfire:xfire-core:1.0-SNAPSHOT
+xfire:xfire-aegis:1.0-SNAPSHOT
+xfire:xfire-aegis:1.0-M5
+xfire:xfire-aegis:1.0-20050920.032134
+xfire:xfire-aegis:1.0-20050917.230734
+xfire:xfire-aegis:1.0
+xfire:xfire-aegis:1.0-SNAPSHOT
+xfire:xfire-aegis:1.0-SNAPSHOT
+xfire:xfire-aegis:1.0-SNAPSHOT
+xfire:xfire-aegis:1.0-20050920.034603
+xfire:xfire-aegis:1.0-SNAPSHOT
+xfire:xfire-aegis:1.0-SNAPSHOT
+xfire:xfire-aegis:20050202
+xfire:xfire-aegis:1.0-alpha-1
+xfire:xfire-aegis:1.0-20051009.195836
+xfire:xfire-aegis:1.0-alpha-2
+xfire:xfire-aegis:1.0-20050913.004854
+xfire:xfire-spring:1.0-M5
+xfire:xfire-spring:1.0-20050917.231316
+xfire:xfire-spring:1.0-SNAPSHOT
+xfire:xfire-spring:1.0
+xfire:xfire-spring:1.0-SNAPSHOT
+xfire:xfire-spring:1.0-SNAPSHOT
+xfire:xfire-spring:1.0-20050913.005215
+xfire:xfire-spring:1.0-20050920.035052
+xfire:xfire-spring:1.0-M4
+xfire:xfire-spring:1.0-SNAPSHOT
+xfire:xfire-spring:1.0-20051009.200641
+xfire:xfire-spring:1.0-20050920.032605
+xfire:xfire-spring:1.0-SNAPSHOT
+xfire:xfire-jaxrpc:1.0-SNAPSHOT
+xfire:xfire-jaxrpc:1.0-SNAPSHOT
+xfire:xfire-jaxrpc:20041222
+xfire:xfire-java:1.0-M3
+xfire:xfire-java:1.0-SNAPSHOT
+xfire:xfire-java:1.0-SNAPSHOT
+xfire:xfire-java:1.0-SNAPSHOT
+xfire:xfire-java:1.0-M4
+xfire:xfire-java:20041222
+xfire:xfire-java:20050202
+xfire:xfire-java:1.0-alpha-1
+xfire:xfire-java:1.0-alpha-2
+xfire:xfire-demo:0.1
+xfire:xmlbeans-xmlpublic:2.0-20041214
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-M5
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-20050917.231235
+xfire:xfire-plexus:1.0
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-M3
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-20050920.035001
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-20050913.005153
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-20051009.200602
+xfire:xfire-plexus:1.0-M4
+xfire:xfire-plexus:1.0-SNAPSHOT
+xfire:xfire-plexus:1.0-20050920.032533
+xfire:xfire-plexus:20041222
+xfire:xfire-plexus:1.0-alpha-1
+xfire:xfire-plexus:1.0-alpha-2
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0-M5
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0-20050920.032405
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0-M3
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0-20050913.005055
+xfire:xfire-xmlbeans:1.0-M4
+xfire:xfire-xmlbeans:1.0-20051009.200227
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:xfire-xmlbeans:1.0-20050917.231100
+xfire:xfire-xmlbeans:20041222
+xfire:xfire-xmlbeans:20050202
+xfire:xfire-xmlbeans:1.0-alpha-1
+xfire:xfire-xmlbeans:1.0-alpha-2
+xfire:xfire-xmlbeans:1.0-20050920.034834
+xfire:xfire-xmlbeans:1.0-SNAPSHOT
+xfire:jaxb-api:2.0
+xfire:jaxb-api:1.0
+xfire:jaxb-api:ea3
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire:1.0-M3
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire:1.0-M4
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire:20041222
+xfire:xfire:20050202
+xfire:xfire:1.0-alpha-1
+xfire:xfire:1.0-alpha-2
+xfire:xfire:1.0-SNAPSHOT
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-20051014.153305
+xfire:xfire-all:1.0-M5
+xfire:xfire-all:1.0-20050921.165459
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0
+xfire:xfire-all:1.0-20051014.153215
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-20050920.030322
+xfire:xfire-all:1.0-20051009.202622
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-20051005.201401
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-20051014.153133
+xfire:xfire-all:1.0-SNAPSHOT
+xfire:xfire-all:1.0-20051014.153332
+xfire:xfire-all:1.0-M6
+xfire:xfire-all:1.0-20050921.171342
+xfire:xfire-all:1.0-20050913.005848
+log4j:apache-log4j-extras:1.0
+log4j:log4j:1.1.3
+log4j:log4j:1.2.7
+log4j:log4j:1.2.4
+log4j:log4j:1.2.14
+log4j:log4j:1.2.11
+log4j:log4j:1.2.12
+log4j:log4j:1.2.6
+log4j:log4j:1.2.9
+log4j:log4j:1.2.13
+log4j:log4j:1.2.8
+log4j:log4j:1.2.15
+log4j:log4j:1.2.5
+middlegen:maven-middlegen-plugin:2.1
+middlegen:middlegen-entitybean-plugin:2.1
+middlegen:middlegen-hibernate-plugin:2.1
+middlegen:middlegen:2.1
+messenger:messenger:20040413.162649
+messenger:messenger:20040408.185046
+messenger:messenger:20040413.162157
+messenger:messenger:20040423.080139
+messenger:messenger:20040422.090423
+oscube:oscube:0.3
+oscube:oscube:0.1
+oscube:oscube:0.2
+esper:esper:1.11.0
+maven-new:maven-fetch:20030525.145948
+emma:emma_ant:2.0.5312
+emma:emma_ant:2.0.4217
+emma:emma:2.0.5312
+emma:emma:2.0.4217
+emma:maven-emma-plugin:0.5
+excalibur-thread:excalibur-thread-impl:2.0
+excalibur-thread:excalibur-thread-impl:2.0.0
+excalibur-thread:excalibur-thread-impl:2.1
+excalibur-thread:excalibur-thread-api:2.0
+excalibur-thread:excalibur-thread-api:2.0.0
+excalibur-thread:excalibur-thread-api:2.1
+excalibur-thread:excalibur-thread-instrumented:2.0
+excalibur-thread:excalibur-thread-instrumented:2.0.0
+excalibur-thread:excalibur-thread-instrumented:2.1
+excalibur-thread:excalibur-thread:1.1.1
+excalibur-thread:excalibur-thread:1.0
+xalan:xalanservlet:2.5.1
+xalan:xalanservlet:2.4.1
+xalan:xalansamples:2.6.0
+xalan:xalansamples:2.5.1
+xalan:xalansamples:2.4.1
+xalan:serializer:2.7.1
+xalan:xalan:2.5.0
+xalan:xalan:2.6.0
+xalan:xalan:2.1.0
+xalan:xalan:2.4.0
+xalan:xalan:2.3.1
+xalan:xalan:2.7.0
+xalan:xalan:2.5.D1
+xalan:xalan:2.5.1
+xalan:xalan:2.7.1
+xalan:xalan:2.4.1
+avalon-composition:avalon-composition-spi:1.2.1
+avalon-composition:avalon-composition-spi:2.0.0
+avalon-composition:avalon-composition-spi:2.0.dev-0
+avalon-composition:avalon-composition-spi:1.0b1
+avalon-composition:avalon-composition-spi:1.0-beta-1-RC1
+avalon-composition:avalon-composition-impl:1.2.3
+avalon-composition:avalon-composition-impl:1.2.4
+avalon-composition:avalon-composition-impl:2.0.0
+avalon-composition:avalon-composition-impl:1.2.2
+avalon-composition:avalon-composition-impl:2.0.dev-0
+avalon-composition:avalon-composition-impl:1.0b1
+avalon-composition:avalon-composition-impl:1.0-beta-1-RC1
+avalon-composition:avalon-composition-impl:1.2.5
+avalon-composition:avalon-composition-api:1.2.3
+avalon-composition:avalon-composition-api:1.2.1
+avalon-composition:avalon-composition-api:2.0.0
+avalon-composition:avalon-composition-api:1.2.2
+avalon-composition:avalon-composition-api:2.0.dev-0
+avalon-composition:avalon-composition-api:1.0b1
+avalon-composition:avalon-composition-api:1.0-beta-1-RC1
+dumbster:dumbster:1.6
+dumbster:dumbster:1.0.3
+dumbster:dumbster:1.5
+wsrf:wsa-xbeans:1.0
+wsrf:wsrf-xbeans-src:1.0
+wsrf:wsrf-xbeans:1.0
+wsrf:j2ee-xbeans-src:1.0
+wsrf:wsrf-jndi-config-src:1.0
+wsrf:wsrf-jndi-config:1.0
+wsrf:j2ee-xbeans:1.0
+wsrf:wsrf:1.1
+wsrf:wsrf:1.0
+wsrf:wsa-xbeans-src:1.0
+shocks:shocks:1.0-alpha-2
+jrms:jrms:1.1
+jta:jta:1.0.1b
+norbert:norbert:0.1.1
+norbert:norbert:0.3
+norbert:norbert:0.1
+norbert:norbert:0.3.1
+norbert:norbert:0.3.2
+norbert:norbert:0.2
+cactus:cactus-ant:13-1.7
+cactus:cactus-ant:13-1.7dev-20040815
+cactus:cactus-ant:12-1.7.1
+cactus:cactus-ant:1.4.1
+cactus:cactus-ant:13-1.5dev-20030607
+cactus:cactus-ant:13-1.5dev-20030619
+cactus:cactus-ant:13-1.6
+cactus:cactus-ant:13-1.5
+cactus:cactus-ant:13-1.6dev-20040226
+cactus:cactus-ant:13-1.6.1
+cactus:cactus-ant:13-1.5-beta1
+cactus:cactus-ant:13-1.6dev-20030809
+cactus:cactus-ant:13-1.7.1
+cactus:cactus-ant:13-1.5-rc1
+cactus:cactus-ant:13-1.6dev-20030829
+cactus:cactus-ant:13-1.6dev-20030807
+cactus:cactus-ant:12-1.5
+cactus:cactus-ant:13-1.6dev-20040115
+cactus:cactus-ant:12-1.5-beta1
+cactus:cactus-ant:13-1.5dev-20030522
+cactus:cactus-maven:1.6
+cactus-maven:cactus-maven:1.7.2
+cactus-maven:cactus-maven:1.7.1
+cactus:cactus-maven:1.6dev-20040226
+cactus:cactus-maven:1.6dev-20031031
+cactus:cactus-maven:1.7
+cactus:cactus-maven:1.7dev-20040815
+cactus:cactus-maven:1.6dev-20040115
+cactus:cactus-maven:1.6.1
+cactus:cactus-integration-ant:1.5dev-20030407
+cactus:cactus-integration-ant:1.5dev-20030322
+cactus:jakarta-cactus:13-1.5-beta1
+cactus:jakarta-cactus:1.5-beta1
+cactus:jakarta-cactus:12-1.5-beta1
+cactus:cactus-framework:13-1.5dev-20030407
+cactus:cactus-framework:13-1.5dev-20030322
+cactus:cactus:13-1.7
+cactus:cactus:13-1.7dev-20040815
+cactus:cactus:12-1.7.1
+cactus:cactus:1.4b1
+cactus:cactus:13-1.5dev-20030607
+cactus:cactus:13-1.5dev-20030619
+cactus:cactus:13-1.6
+cactus:cactus:13-1.5
+cactus:cactus:12-1.4.1
+cactus:cactus:13-1.6dev-20040226
+cactus:cactus:13-1.6.1
+cactus:cactus:13-1.4.1
+cactus:cactus:13-1.5-beta1
+cactus:cactus:13-1.6dev-20030809
+cactus:cactus:13-1.7.1
+cactus:cactus:13-1.5-rc1
+cactus:cactus:13-1.6dev-20030829
+cactus:cactus:13-1.6dev-20030807
+cactus:cactus:12-1.5
+cactus:cactus:13-1.6dev-20040115
+cactus:cactus:12-1.5-beta1
+cactus:cactus:13-1.5dev-20030522
+avalon-util:avalon-util-criteria:1.1.dev-0
+avalon-util:avalon-util-criteria:1.0
+avalon-util:avalon-util-criteria:1.1.0
+avalon-util:avalon-util-plugin:1.0.dev-0
+avalon-util:avalon-util-plugin:1.0.0
+avalon-util:avalon-util-i18n:1.0
+avalon-util:avalon-util-i18n:1.0.0
+avalon-util:avalon-plugin:1.0
+avalon-util:avalon-util-extension-api:1.1
+avalon-util:avalon-util-extension-api:1.2.0
+avalon-util:avalon-util-extension-api:1.2.dev-0
+avalon-util:avalon-util-exception:1.0
+avalon-util:avalon-util-exception:1.0.0
+avalon-util:avalon-util-defaults:1.1
+avalon-util:avalon-util-defaults:1.2.1
+avalon-util:avalon-util-defaults:1.2.dev-0
+avalon-util:avalon-util-env:1.1.dev-0
+avalon-util:avalon-util-env:1.1.1
+avalon-util:avalon-util-env:1.0
+avalon-util:avalon-util-extension-impl:1.1
+avalon-util:avalon-util-extension-impl:1.2.0
+avalon-util:avalon-util-extension-impl:1.2.dev-0
+ashkelon:ashkelon:20030312.120000
+ashkelon:ashkelon:20030430.110700
+jmock:jmock-cglib:1.2.0
+jmock:jmock-cglib:1.0.0
+jmock:jmock-cglib:1.0.1
+jmock:jmock-cglib:1.0.0.RC1
+jmock:jmock-cglib:1.1.0
+jmock:jmock:2004-03-19
+jmock:jmock:20031129.200113
+jmock:jmock:1.2.0
+jmock:jmock:1.0.0
+jmock:jmock:1.0.1
+jmock:jmock:20031129.200437
+jmock:jmock:usedbypico
+jmock:jmock:1.0.0.RC1
+jmock:jmock:1.1.0
+clover:clover-ant:1.3_01
+clover:clover:1.2.3
+clover:clover:1.3.5
+clover:clover:1.2
+clover:clover:1.0
+clover:clover:1.3.11
+clover:clover:1.3.4
+clover:clover-ant:1.3_01
+clover:clover:1.3.8
+clover:clover:1.3.2
+clover:clover:1.3.6
+clover:clover:1.3.9
+clover:clover:1.3.12
+clover:clover:1.3.10_01
+proxool:proxool:0.8.3
+jboss:jboss-jmx:4.0.2
+jboss:jboss-jmx:3.0.4
+jboss:jboss-jmx:3.2.1
+jboss:javassist:3.1
+jboss:javassist:3.0
+jboss:javassist:2.6
+jboss:javassist:3.3.ga
+jboss:javassist:3.6.ga
+jboss:javassist:3.4.ga
+jboss:javassist:3.7.ga
+jboss:javassist:2.5.1
+jboss:javassist:3.0-rc-1
+jboss:jboss-minimal:4.0.2
+jboss:jboss-jsr77-client:3.2.3
+jboss:jboss-common-client:3.2.3
+jboss:jbossha-client:3.2.3
+jboss:jboss-management:3.2.3
+jboss:jboss-client:4.0.2
+jboss:jboss-client:3.2.1
+jboss:jboss-client:3.2.3
+jboss:jboss-parent:2
+jboss:jboss-parent:1
+jboss:jboss-iiop:3.2.3
+jboss:jboss-iiop-client:3.2.3
+jboss:jnet:3.2.1
+jboss:jboss-jsr77:3.2.3
+jboss:jpl-pattern:3.2.3
+jboss:jboss-transaction:3.2.3
+jboss:jnp-client:4.0.2
+jboss:jnp-client:3.2.1
+jboss:jboss-common:4.0.2
+jboss:jboss-common:1.0
+jboss:jboss-common:4.0.0
+jboss:jboss-common:3.2.1
+jboss:jboss-common:3.2.3
+jboss:jbossha:4.0.2
+jboss:jbossha:3.2.3
+jboss:jboss-net-client:3.2.3
+jboss:jboss-jmx-rmi-connector-client:3.0.4
+jboss:jboss-common-jdbc-wrapper:3.2.3
+jboss:jbossmq:3.2.3
+jboss:jbossall-client:3.2.1
+jboss:jbossall-client:3.2.3
+jboss:jboss-boot:3.2.1
+jboss:jboss-j2ee:4.0.2
+jboss:jboss-j2ee:4.0.0DR4
+jboss:jboss-j2ee:4.0.0
+jboss:jboss-j2ee:3.2.1
+jboss:jboss-j2ee:3.2.3
+jboss:jboss-jaas:3.2.3
+jboss:jbossjmx-ant:3.2.3
+jboss:jboss-system:4.0.2
+jboss:jboss-system:1.0
+jboss:jboss-system:3.2.1
+jboss:jboss-system:3.2.3
+jboss:jboss-transaction-client:3.2.3
+jboss:jmx-adaptor-plugin:3.2.1
+jboss:jboss-system-client:3.2.3
+jboss:jboss-cache:1.2.2
+jboss:jboss-cache:1.4.1.GA
+jboss:jbosssx-client:3.2.3
+jboss:jbossmq-client:4.0.2
+jboss:jbossmq-client:3.2.3
+jboss:jbosscx-client:3.2.3
+jboss:jboss-archive-browsing:5.0.0alpha-200607201-119
+jboss:jboss-j2se:200504122039
+jboss:jbosssx:3.2.3
+jboss:jpl-util:3.2.3
+jboss:jnpserver:3.2.3
+jboss:jboss:3.2.1
+jboss:jboss:3.2.3
+piccolo:piccolo:1.0.3
+tambora:tambora-tpi:1.0
+tambora:tambora-papinet:V2R10
+tambora:tambora-top:1.0
+tambora:tambora:3.0-beta-1
+jakarta-regexp:jakarta-regexp:1.4
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/c b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/c
new file mode 100755
index 0000000..92c6e60
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/c
@@ -0,0 +1 @@
+mvn -e -s s.xml org.sonatype.maven.plugins:mercury-compare-maven-plugin:1.0:deps -DtargetDir=../deps -DlistFile=../list.txt -DlocalRepo=../localRepoMaven
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/pom.xml b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/pom.xml
new file mode 100644
index 0000000..548de24
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/pom.xml
@@ -0,0 +1,73 @@
+<?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>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.sonatype.maven.plugins</groupId>
+ <artifactId>mercury-compare-maven-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <name>Mercury Maven resolution comparison</name>
+ <description>Mercury Maven resolution comparison</description>
+ <prerequisites />
+
+ <inceptionYear>2008</inceptionYear>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <developers>
+ <developer>
+ <name>Oleg Gusakov</name>
+ <email>ogusakov@apache.org</email>
+ <roles>
+ <role>jack-of-all-trades</role>
+ </roles>
+ <timezone>-8</timezone>
+ </developer>
+ </developers>
+
+ <properties>
+ <test.maven.version>2.0.9</test.maven.version>
+ </properties>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${test.maven.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${test.maven.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-compare-mdo</artifactId>
+ <version>${project.parent.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>7.0.0.pre5</version>
+ </dependency>
+
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/s.xml b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/s.xml
new file mode 100644
index 0000000..1ec3b8e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/s.xml
@@ -0,0 +1,90 @@
+<?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.
+
+-->
+
+<settings>
+
+ <localRepository>/app/src/asf/maven/mercury/trunk/mercury-maven/localRepoMaven</localRepository>
+
+<profiles>
+
+ <profile>
+ <id>standard</id>
+ <repositories>
+<!--
+ <repository>
+ <id>maven.central</id>
+ <url>http://repo1.maven.org/maven2</url>
+ <snapshots><enabled>false</enabled></snapshots>
+ <releases><enabled>true</enabled></releases>
+ </repository>
+
+ <repository>
+ <id>sona.central</id>
+ <url>http://repository.sonatype.org/content/groups/public</url>
+ <snapshots><enabled>true</enabled></snapshots>
+ <releases><enabled>true</enabled></releases>
+ </repository>
+ <repository>
+ <id>codehaus.snapshots</id>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <snapshots><enabled>true</enabled></snapshots>
+ <releases><enabled>false</enabled></releases>
+ </repository>
+ <repository>
+ <id>apache.snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <snapshots><enabled>true</enabled></snapshots>
+ <releases><enabled>false</enabled></releases>
+ </repository>
+ <repository>
+ <id>codehaus.releases</id>
+ <url>http://repository.codehaus.org</url>
+ <snapshots><enabled>false</enabled></snapshots>
+ <releases><enabled>true</enabled></releases>
+ </repository>
+ -->
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>sona.central</id>
+ <url>http://repository.sonatype.org/content/groups/public</url>
+ <snapshots><enabled>true</enabled></snapshots>
+ <releases><enabled>true</enabled></releases>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+
+</profiles>
+
+ <activeProfiles>
+ <activeProfile>standard</activeProfile>
+ </activeProfiles>
+
+ <pluginGroups>
+ <pluginGroup>org.sid.maven.plugins</pluginGroup>
+ <pluginGroup>org.mortbay.jetty</pluginGroup>
+ <pluginGroup>org.codehaus.mojo</pluginGroup>
+ <pluginGroup>org.sonatype.maven.plugins</pluginGroup>
+ </pluginGroups>
+
+</settings>
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/maven/MercuryDepsMojo.java b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/maven/MercuryDepsMojo.java
new file mode 100644
index 0000000..c106920
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/maven/MercuryDepsMojo.java
@@ -0,0 +1,240 @@
+/**
+ * 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.
+ */
+package org.sonatype.maven.plugins.mercury.compare.maven;
+
+import java.io.File;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.mercury.compare.DataBuilder;
+import org.apache.maven.mercury.compare.IDepResolver;
+import org.apache.maven.mercury.compare.mdo.Dependencies;
+import org.apache.maven.mercury.compare.mdo.Dependency;
+import org.apache.maven.mercury.util.Util;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.codehaus.plexus.PlexusContainer;
+import org.mortbay.jetty.plugin.RuntimeDependencyResolver;
+import org.mortbay.jetty.plugin.util.PluginLog;
+
+/**
+ *
+ * @author Oleg Gusakov
+ *
+ * @goal deps
+ * @requiresProject false
+ */
+
+public class MercuryDepsMojo
+extends AbstractMojo
+implements IDepResolver
+{
+ private static Log _log;
+ //----------------------------------------------------------------
+ /**
+ * @parameter expression="${localRepo}"
+ */
+ String localRepo;
+ /**
+ * @parameter expression="${targetDir}"
+ */
+ String targetDir;
+ /**
+ * @parameter expression="${listFile}"
+ */
+ String listFile;
+ /**
+ * @parameter expression="${session}"
+ */
+ MavenSession _session;
+ /**
+ * @component
+ */
+ private ArtifactResolver artifactResolver;
+ /**
+ *
+ * @component
+ */
+ private ArtifactFactory artifactFactory;
+ /**
+ *
+ * @component
+ */
+ private ArtifactMetadataSource metadataSource;
+
+ /**
+ *
+ * @component
+ */
+ private MavenProjectBuilder projectBuilder;
+ /**
+ *
+ * @parameter expression="${localRepository}"
+ */
+ private ArtifactRepository localRepository;
+ /**
+ *
+ * @parameter expression="${project.remoteArtifactRepositories}"
+ */
+ private List remoteRepositories;
+
+ PlexusContainer plexus;
+
+ RuntimeDependencyResolver resolver;
+
+ File target;
+
+ //----------------------------------------------------------------
+ public void execute()
+ throws MojoExecutionException, MojoFailureException
+ {
+
+ if( _session == null )
+ throw new MojoExecutionException("session not injected");
+
+ if( projectBuilder == null )
+ throw new MojoExecutionException("project builder is null");
+
+ _log = getLog();
+
+ PluginLog.setLog( _log );
+
+ resolver = new RuntimeDependencyResolver( artifactFactory
+ , artifactResolver
+ , metadataSource
+ , localRepository
+ , remoteRepositories
+ );
+
+ if( targetDir == null )
+ throw new MojoExecutionException("target dir not specified");
+
+ target = new File( targetDir );
+
+ if( !target.exists() )
+ {
+ target.mkdirs();
+ }
+ else
+ {
+ if( target.isFile() )
+ throw new MojoExecutionException("target directory turned to be a file, not a folder :" + targetDir );
+ }
+
+ File lr = new File( localRepo );
+
+ localRepository = new DefaultArtifactRepository( "localRepo", lr.toURI().toString(), new DefaultRepositoryLayout() );
+
+ _log.info( "local repo set to "+lr.getAbsolutePath() );
+
+ if( listFile == null )
+ throw new MojoExecutionException("list file not specified");
+
+ File list = new File( listFile );
+
+ try {
+ DataBuilder.visitDeps( list, this );
+ } catch( Exception e ) {
+ e.printStackTrace();
+ _log.error( e.getMessage() );
+ throw new MojoExecutionException( e.getMessage() );
+ }
+
+ }
+ //-----------------------------------------------------------------------------------------------------------------
+ public void resolve( String groupId, String artifactId, String version, String type )
+ throws Exception
+ {
+
+ long start = System.currentTimeMillis();
+
+ Set<Artifact> dl = (Set<Artifact>)resolver.transitivelyResolvePomDependencies( projectBuilder , groupId, artifactId, version, false );
+
+ File df = DataBuilder.getFile( target, groupId, artifactId, version, type );
+
+ System.out.println( df.getCanonicalPath() );
+
+ Dependencies deps = null;
+
+ if( df.exists() )
+ {
+ deps = DataBuilder.read( df );
+ List l = deps.getMaven();
+ if( !Util.isEmpty( l ) )
+ l.clear();
+ }
+ else
+ {
+ deps = new Dependencies();
+
+ deps.setGroupId( groupId );
+ deps.setArtifactId( artifactId );
+ deps.setVersion( version );
+ deps.setType( type );
+ }
+
+ deps.setMavenMillis( System.currentTimeMillis() - start );
+
+ for( Artifact am : dl )
+ {
+ String sc = am.getScope();
+
+ if( "test".equals( sc ) || "provided".equals( sc ) )
+ continue;
+
+ Dependency dep = new Dependency();
+ dep.setGroupId( am.getGroupId() );
+ dep.setArtifactId( am.getArtifactId() );
+ dep.setVersion( am.getVersion() );
+ dep.setType( am.getType() );
+ dep.setScope( am.getScope() );
+
+ deps.addMaven( dep );
+ }
+
+ DataBuilder.write( deps, df );
+
+ }
+ //-----------------------------------------------------------------------------------------------------------------
+ //-----------------------------------------------------------------------------------------------------------------
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.compare.IDepResolver#visit(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
+ */
+ public void visit(
+ String groupI,
+ String artifactId,
+ String version,
+ String type )
+ throws Exception
+ {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/pom.xml b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/pom.xml
new file mode 100644
index 0000000..1049c0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/pom.xml
@@ -0,0 +1,66 @@
+<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>
+
+ <artifactId>mercury-compare-mdo</artifactId>
+ <name>Mercury Compare MDO</name>
+ <description />
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-17</version>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/compare.mdo</model>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+
+ </plugin>
+</plugins>
+</build>
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ </dependency>
+
+ <!-- for some reason transitive does not work - have to copy deps from mercury-util -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java
new file mode 100644
index 0000000..a941204
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java
@@ -0,0 +1,210 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.compare;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.util.StringTokenizer;
+
+import org.apache.maven.mercury.compare.mdo.Dependencies;
+import org.apache.maven.mercury.compare.mdo.io.xpp3.DependenciesXpp3Reader;
+import org.apache.maven.mercury.compare.mdo.io.xpp3.DependenciesXpp3Writer;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DataBuilder
+{
+ public static Dependencies read( File f )
+ throws DataException
+ {
+ try
+ {
+ return new DependenciesXpp3Reader().read( new FileInputStream(f) );
+ }
+ catch( Exception e )
+ {
+ throw new DataException(e);
+ }
+ }
+
+ public static Dependencies read( InputStream in )
+ throws DataException
+ {
+ try
+ {
+ return new DependenciesXpp3Reader().read( in );
+ }
+ catch( Exception e )
+ {
+ throw new DataException(e);
+ }
+ }
+
+ public static Dependencies getMetadata( byte [] in )
+ throws DataException
+ {
+ if( in == null || in.length < 10 )
+ return null;
+
+ try
+ {
+ return new DependenciesXpp3Reader().read( new ByteArrayInputStream(in) );
+ }
+ catch( Exception e )
+ {
+ throw new DataException(e);
+ }
+ }
+
+ public static Dependencies write( Dependencies metadata, OutputStream out )
+ throws DataException
+ {
+ if( metadata == null )
+ return metadata;
+
+ try
+ {
+ new DependenciesXpp3Writer().write( new OutputStreamWriter(out), metadata );
+
+ return metadata;
+ }
+ catch( Exception e )
+ {
+ throw new DataException(e);
+ }
+ }
+
+ public static Dependencies write( Dependencies metadata, File f )
+ throws DataException
+ {
+ if( metadata == null )
+ return metadata;
+
+ try
+ {
+ new DependenciesXpp3Writer().write( new FileWriter(f), metadata );
+
+ return metadata;
+ }
+ catch( Exception e )
+ {
+ throw new DataException(e);
+ }
+ }
+
+ public static final File getFile( File dir, String groupId, String artifactId, String version, String type )
+ {
+ return new File( dir, groupId+"_"+artifactId+"_"+version+"_"+type+".deps" );
+ }
+
+ public static final void visitDeps( File deps, IDepResolver resolver )
+ throws Exception
+ {
+ if( !deps.exists() )
+ throw new Exception( "list file "+deps.getCanonicalPath()+" does not exist" );
+
+ BufferedReader r = new BufferedReader( new FileReader(deps) );
+
+ for( String line = r.readLine(); line != null; line = r.readLine() )
+ {
+ if( line.charAt( 0 ) == '#' )
+ continue;
+
+ StringTokenizer st = new StringTokenizer( line, " :" );
+
+ int count = st.countTokens();
+
+ if( count < 3 || count > 4 )
+ {
+ System.out.println( "Cannot parse line: "+line );
+ continue;
+ }
+
+ int i = 0;
+
+ String [] gav = new String[4];
+
+ while( st.hasMoreTokens() )
+ gav[i++ ] = st.nextToken();
+
+ try
+ {
+ resolver.resolve( gav[0], gav[1], gav[2], count == 4 ? gav[3] : "jar" );
+ }
+ catch( Throwable e )
+ {
+ e.printStackTrace();
+ }
+
+ }
+ }
+
+ public static final void compareDeps( File deps, IDepResolver resolver )
+ throws Exception
+ {
+ if( !deps.exists() )
+ throw new Exception( "list file "+deps.getCanonicalPath()+" does not exist" );
+
+ BufferedReader r = new BufferedReader( new FileReader(deps) );
+
+ for( String line = r.readLine(); line != null; line = r.readLine() )
+ {
+ if( line.charAt( 0 ) == '#' )
+ continue;
+
+ StringTokenizer st = new StringTokenizer( line, " :" );
+
+ int count = st.countTokens();
+
+ if( count < 3 || count > 4 )
+ {
+ System.out.println( "Cannot parse line: "+line );
+ continue;
+ }
+
+ int i = 0;
+
+ String [] gav = new String[4];
+
+ while( st.hasMoreTokens() )
+ gav[i++ ] = st.nextToken();
+
+ try
+ {
+ resolver.visit( gav[0], gav[1], gav[2], count == 4 ? gav[3] : "jar" );
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataException.java b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataException.java
new file mode 100644
index 0000000..926df49
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.compare;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DataException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public DataException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public DataException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public DataException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public DataException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/IDepResolver.java b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/IDepResolver.java
new file mode 100644
index 0000000..1a6526b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/IDepResolver.java
@@ -0,0 +1,36 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.compare;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface IDepResolver
+{
+ void resolve( String groupI, String artifactId, String version, String type )
+ throws Exception;
+
+ void visit( String groupI, String artifactId, String version, String type )
+ throws Exception;
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/mdo/compare.mdo b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/mdo/compare.mdo
new file mode 100644
index 0000000..a2dec4e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mdo/src/main/mdo/compare.mdo
@@ -0,0 +1,123 @@
+<model>
+ <id>dependencies-metadata</id>
+
+ <name>Dependencies</name>
+ <description>comparisson dependencies</description>
+
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.mercury.compare.mdo</value>
+ </default>
+ </defaults>
+
+ <classes>
+
+ <class rootElement="true">
+ <name>Dependencies</name>
+ <version>1.0.0</version>
+ <fields>
+
+ <field>
+ <name>groupId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>artifactId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>version</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>type</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>mavenMillis</name>
+ <version>1.0.0</version>
+ <type>long</type>
+ </field>
+
+ <field>
+ <name>mercuryMillis</name>
+ <version>1.0.0</version>
+ <type>long</type>
+ </field>
+
+ <field>
+ <name>maven</name>
+ <version>1.0.0</version>
+ <description>mercury generated dependencies</description>
+ <association>
+ <type>Dependency</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+
+ <field>
+ <name>mercury</name>
+ <version>1.0.0</version>
+ <description>mercury generated dependencies</description>
+ <association>
+ <type>Dependency</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+
+ </fields>
+ </class>
+
+
+ <class>
+
+ <name>Dependency</name>
+ <version>1.0.0</version>
+ <description>dependency</description>
+
+ <fields>
+
+ <field>
+ <name>groupId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>artifactId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>version</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>type</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>scope</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+
+ </fields>
+ </class>
+
+ </classes>
+</model>
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/c b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/c
new file mode 100644
index 0000000..624d26e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/c
@@ -0,0 +1 @@
+mvnDebug -X org.sonatype.maven.plugins:mercury-compare-plugin:1.0-test:compare -DlocalFileDir=./target/repo
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/pom.xml b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/pom.xml
new file mode 100644
index 0000000..44ab8c2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/pom.xml
@@ -0,0 +1,74 @@
+<?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>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.sonatype.maven.plugins</groupId>
+ <artifactId>mercury-compare-mercury</artifactId>
+
+ <packaging>maven-plugin</packaging>
+ <name>Mercury Maven resolusion comparisson</name>
+ <description>Mercury Maven resolusion comparisson</description>
+ <prerequisites />
+
+
+ <properties>
+ <maven.version>3.0-SNAPSHOT</maven.version>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <developers>
+ <developer>
+ <name>Oleg Gusakov</name>
+ <email>ogusakov@apache.org</email>
+ <roles>
+ <role>jack-of-all-trades</role>
+ </roles>
+ <timezone>-8</timezone>
+ </developer>
+ </developers>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-compare-mdo</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ </dependency>
+
+ </dependencies>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryResolve.java b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryResolve.java
new file mode 100644
index 0000000..196adf0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/mercury-compare-mercury/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryResolve.java
@@ -0,0 +1,295 @@
+/**
+ * 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.
+ */
+package org.sonatype.maven.plugins.mercury.compare;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileWriter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.maven.mercury.MavenDependencyProcessor;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.compare.DataBuilder;
+import org.apache.maven.mercury.compare.IDepResolver;
+import org.apache.maven.mercury.compare.mdo.Dependencies;
+import org.apache.maven.mercury.compare.mdo.Dependency;
+import org.apache.maven.mercury.metadata.DependencyBuilder;
+import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryUpdateIntervalPolicy;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.Util;
+
+/**
+ *
+ * @author Oleg Gusakov
+ *
+ */
+
+public class MercuryResolve
+implements IDepResolver
+{
+ static final String SYSTEM_PROPERTY_LOCAL_REPO = "localRepo";
+ static final String localRepoDir = System.getProperty( SYSTEM_PROPERTY_LOCAL_REPO, "../localRepoMercury" );
+// static final String localRepoDir = System.getProperty( SYSTEM_PROPERTY_LOCAL_REPO, "../localRepoMaven" );
+ static final File localRepoDirFile = new File( localRepoDir );
+
+ static final String SYSTEM_PROPERTY_LIST_FILE = "list";
+ static final String list = System.getProperty( SYSTEM_PROPERTY_LIST_FILE, "../list.txt" );
+ static final File listFile = new File( list );
+
+ static final String SYSTEM_PROPERTY_RESULTS_FILE = "results";
+ static final String results = System.getProperty( SYSTEM_PROPERTY_RESULTS_FILE, "../results.html" );
+ static final File resultsFile = new File( results );
+
+ static final String SYSTEM_PROPERTY_REPOS_FILE = "repoList";
+ static final String repoList = System.getProperty( SYSTEM_PROPERTY_REPOS_FILE, "../repositories.properties" );
+ static final File repoListFile = new File( repoList );
+
+ static final String SYSTEM_PROPERTY_TARGET_DIR = "targetDir";
+ static final String targetDir = System.getProperty( SYSTEM_PROPERTY_TARGET_DIR, "../deps" );
+ static final File targetDirFile = new File( targetDir );
+
+ static final List<Repository> repos = new ArrayList<Repository>(8);
+
+ static LocalRepositoryM2 lRepo;
+
+ static DependencyBuilder depBuilder;
+
+ static BufferedWriter bw;
+
+
+ //----------------------------------------------------------------
+ public static void main( String [] av )
+ throws Exception
+ {
+
+ if( !localRepoDirFile.exists() )
+ localRepoDirFile.mkdirs();
+
+ if( !listFile.exists() )
+ throw new Exception(listFile.getCanonicalPath()+" does nor exist");
+
+ if( !repoListFile.exists() )
+ throw new Exception(repoListFile.getCanonicalPath()+" does nor exist");
+
+ if( !targetDirFile.exists() )
+ targetDirFile.mkdirs();
+
+ lRepo = new LocalRepositoryM2( "localMercury", new File(localRepoDir), new MavenDependencyProcessor() );
+ repos.add( lRepo );
+
+ MercuryResolve mc = new MercuryResolve();
+
+ if( av == null || av.length < 1 )
+ {
+ Properties rep = new Properties();
+ rep.load( new FileInputStream(repoListFile) );
+
+ for( Object key : rep.keySet() )
+ {
+ Server server = new Server( (String)key, new URL(rep.getProperty( (String)key )) );
+ RemoteRepositoryM2 repo = new RemoteRepositoryM2( server, new MavenDependencyProcessor() );
+ repo.setUpdatePolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_NEVER );
+
+ repos.add( repo );
+ }
+
+ depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, repos, null, null, null );
+
+
+ DataBuilder.visitDeps( listFile, mc );
+ }
+ else
+ {
+ try
+ {
+ bw = new BufferedWriter( new FileWriter(resultsFile) );
+
+ bw.write( "<html><body>" );
+
+ DataBuilder.compareDeps( listFile, mc );
+
+ bw.write( "</body></html>" );
+ }
+ finally
+ {
+ if( bw != null )
+ try { bw.flush(); bw.close(); } catch( Exception e ){}
+ }
+ }
+ }
+
+ //------------------------------------------------------------------------
+ public void resolve( String groupId, String artifactId, String version, String type )
+ throws Exception
+ {
+ String ac = groupId+":"+artifactId+":"+version+"::"+type;
+
+ System.out.println("\n======> "+ac);
+
+ long start = System.currentTimeMillis();
+
+ ArtifactBasicMetadata bmd = new ArtifactBasicMetadata( ac );
+
+ MetadataTreeNode root = depBuilder.buildTree( bmd, ArtifactScopeEnum.runtime );
+
+ MetadataTreeNode.showNode( root, 0 );
+
+ long ll = System.currentTimeMillis();
+ System.out.println("BuildTree: " + (ll - start) );
+
+ List<ArtifactMetadata> dl = depBuilder.resolveConflicts( root );
+ System.out.println("resolveDeps: " + (System.currentTimeMillis() - ll) );
+
+ File df = DataBuilder.getFile( targetDirFile, bmd.getGroupId(), bmd.getArtifactId(), bmd.getVersion(), bmd.getType() );
+
+ System.out.println( df.getCanonicalPath() );
+
+ Dependencies deps = null;
+
+ if( df.exists() )
+ {
+ deps = DataBuilder.read( df );
+ List l = deps.getMercury();
+ if( !Util.isEmpty( l ) )
+ l.clear();
+ }
+ else
+ {
+ deps = new Dependencies();
+
+ deps.setGroupId( bmd.getGroupId() );
+ deps.setArtifactId( bmd.getArtifactId() );
+ deps.setVersion( bmd.getVersion() );
+ deps.setType( bmd.getType() );
+ }
+
+ deps.setMercuryMillis( System.currentTimeMillis() - start );
+
+ for( ArtifactMetadata am : dl )
+ {
+ Dependency dep = new Dependency();
+ dep.setGroupId( am.getGroupId() );
+ dep.setArtifactId( am.getArtifactId() );
+ dep.setVersion( am.getVersion() );
+ dep.setType( am.getType() );
+ dep.setScope( am.getScope() );
+
+ deps.addMercury( dep );
+ }
+
+ DataBuilder.write( deps, df );
+
+ }
+
+ public void visit( String groupId, String artifactId, String version, String type )
+ throws Exception
+ {
+ String ac = groupId+":"+artifactId+":"+version+"::"+type;
+
+ System.out.println("\n-------> "+ac);
+
+ ArtifactBasicMetadata bmd = new ArtifactBasicMetadata( ac );
+
+ File df = DataBuilder.getFile( targetDirFile, bmd.getGroupId(), bmd.getArtifactId(), bmd.getVersion(), bmd.getType() );
+
+ if( ! df.exists() )
+ return;
+
+ System.out.println( df.getCanonicalPath() );
+
+ Dependencies deps = null;
+
+ deps = DataBuilder.read( df );
+
+ if( deps.getMercuryMillis() == 0L || deps.getMavenMillis() == 0L )
+ return;
+
+ List<Dependency> mavenDeps = deps.getMaven();
+ List<Dependency> mercuryDeps = deps.getMercury();
+
+ if( mavenDeps.size() < 2 || mercuryDeps.size() < 2 )
+ return;
+
+ bw.write( "<table border='1'><tr><th colspan='2'>"+bmd.toString()+"</th></tr>\n" );
+
+ bw.write( "\n<tr><th>Maven: "+mavenDeps.size()+" deps in "+deps.getMavenMillis()+" millis</th>"
+ + "<th>Mercury: "+mercuryDeps.size()+" deps in "+deps.getMercuryMillis()+" millis</th></tr><tr>\n"
+ );
+
+ bw.write( "\n<td>\n" );
+ for( Dependency d : mavenDeps )
+ {
+ if( contains( d, mercuryDeps ) )
+ continue;
+
+ String bad = d.getGroupId()+":"+d.getArtifactId()+":"+d.getVersion()+"::"+d.getType()+":"+d.getScope();
+
+ System.out.println(" Maven, not mercury: "+ bad );
+
+ bw.write( bad+"<br/>\n" );
+ }
+ bw.write( "\n</td>\n" );
+
+ bw.write( "\n<td>\n" );
+ for( Dependency d : mercuryDeps )
+ {
+ if( contains( d, mavenDeps ) )
+ continue;
+
+ String bad = d.getGroupId()+":"+d.getArtifactId()+":"+d.getVersion()+"::"+d.getType()+":"+d.getScope();
+
+ System.out.println(" Mercury, not maven: "+ bad );
+
+ bw.write( bad+"<br/>\n" );
+ }
+ bw.write( "\n</td>\n" );
+
+ bw.write( "\n</tr></table><br/><br/><br/><br/>\n" );
+ }
+
+ private static boolean contains( Dependency dep, List<Dependency> dl )
+ {
+ for( Dependency d : dl )
+ {
+ if(
+ d.getGroupId().equals( dep.getGroupId() )
+ && d.getArtifactId().equals( dep.getArtifactId() )
+ && d.getVersion().equals( dep.getVersion() )
+// && Util.nvlS( d.getScope(), "compile" ).equals( Util.nvlS( dep.getScope(), "compile" ) )
+ )
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ //----------------------------------------------------------------
+ //----------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-maven/repositories.properties b/mercury-1.0.0-alpha-2/mercury-maven/repositories.properties
new file mode 100644
index 0000000..22a9d2b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-maven/repositories.properties
@@ -0,0 +1,23 @@
+#
+# 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.
+#
+#sona.central=http://repository.sonatype.org/content/groups/public
+maven.central=http://repo1.maven.org/maven2
+#codehaus.snapshots=http://snapshots.repository.codehaus.org
+#apache.snapshots=http://people.apache.org/repo/m2-snapshot-repository
+#codehaus.releases=http://repository.codehaus.org
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/pom.xml b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/pom.xml
new file mode 100644
index 0000000..d8f2e73
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/pom.xml
@@ -0,0 +1,79 @@
+<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>
+ <artifactId>mercury-md-sat</artifactId>
+ <name>Mercury Dependency Builder</name>
+ <description />
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <!-- SAT solver used to calculate viable ranges when dependencies are expressed pseudo boolean form -->
+ <dependency>
+ <groupId>org.sat4j</groupId>
+ <artifactId>org.sat4j.core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sat4j</groupId>
+ <artifactId>org.sat4j.pb</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ </dependency>
+
+ <!-- test deps -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
new file mode 100644
index 0000000..8a67aca
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Comparator;
+
+/**
+ * classical depth comparator: shallower is better by default, but that could
+ * be changed by appropriate constructor
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class ClassicDepthComparator
+implements Comparator<MetadataTreeNode>
+{
+ boolean _closerBetter = true;
+
+ public ClassicDepthComparator()
+ {
+ }
+
+ public ClassicDepthComparator( boolean closerBetter )
+ {
+ _closerBetter = closerBetter;
+ }
+
+ public int compare( MetadataTreeNode n1, MetadataTreeNode n2 )
+ {
+ return _closerBetter ? n2.getDepth() - n1.getDepth() : n1.getDepth() - n2.getDepth() ;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
new file mode 100644
index 0000000..68b8787
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Comparator;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+
+/**
+ * classical version comparator: newer is better by default, but that could
+ * be changed by appropriate constructor
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class ClassicVersionComparator
+implements Comparator<MetadataTreeNode>
+{
+ boolean _newerBetter = true;
+
+ public ClassicVersionComparator()
+ {
+ }
+
+ public ClassicVersionComparator( boolean newerBetter )
+ {
+ _newerBetter = newerBetter;
+ }
+
+ public int compare( MetadataTreeNode n1, MetadataTreeNode n2 )
+ {
+ ArtifactMetadata md1 = n1.getMd();
+ DefaultArtifactVersion v1 = new DefaultArtifactVersion( md1.getVersion() );
+
+ ArtifactMetadata md2 = n2.getMd();
+ DefaultArtifactVersion v2 = new DefaultArtifactVersion( md2.getVersion() );
+
+ return _newerBetter ? v1.compareTo(v2) : v2.compareTo(v1) ;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
new file mode 100644
index 0000000..b8a135a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
@@ -0,0 +1,140 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+
+/*
+ * classpath container that is aware of the classpath scope
+ *
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+public class ClasspathContainer
+ implements Iterable<ArtifactMetadata>
+{
+ private List<ArtifactMetadata> classpath;
+
+ private ArtifactScopeEnum scope;
+
+ //-------------------------------------------------------------------------------------------
+ public ClasspathContainer( ArtifactScopeEnum scope )
+ {
+ this.scope = ArtifactScopeEnum.checkScope( scope );
+ }
+
+ //-------------------------------------------------------------------------------------------
+ public ClasspathContainer( List<ArtifactMetadata> classpath, ArtifactScopeEnum scope )
+ {
+ this( scope );
+ this.classpath = classpath;
+ }
+
+ //-------------------------------------------------------------------------------------------
+ public Iterator<ArtifactMetadata> iterator()
+ {
+ return classpath == null ? null : classpath.iterator();
+ }
+
+ //-------------------------------------------------------------------------------------------
+ public ClasspathContainer add( ArtifactMetadata md )
+ {
+ if ( classpath == null )
+ {
+ classpath = new ArrayList<ArtifactMetadata>( 16 );
+ }
+
+ classpath.add( md );
+
+ return this;
+ }
+
+ //-------------------------------------------------------------------------------------------
+ public List<ArtifactMetadata> getClasspath()
+ {
+ return classpath;
+ }
+
+ //-------------------------------------------------------------------------------------------
+ public MetadataTreeNode getClasspathAsTree()
+ {
+ if ( classpath == null || classpath.size() < 1 )
+ return null;
+
+ MetadataTreeNode tree = null;
+ MetadataTreeNode parent = null;
+ MetadataTreeNode node = null;
+
+ for ( ArtifactMetadata md : classpath )
+ {
+ // TODO Oleg: is null for query good here ??
+ node = new MetadataTreeNode( md, parent, null, md.isResolved() );
+
+ if ( tree == null )
+ {
+ tree = node;
+ }
+
+ if ( parent != null )
+ {
+ parent.addChild( node );
+ }
+
+ parent = node;
+
+ }
+ return tree;
+ }
+
+ public void setClasspath( List<ArtifactMetadata> classpath )
+ {
+ this.classpath = classpath;
+ }
+
+ public ArtifactScopeEnum getScope()
+ {
+ return scope;
+ }
+
+ public void setScope( ArtifactScopeEnum scope )
+ {
+ this.scope = scope;
+ }
+
+ //-------------------------------------------------------------------------------------------
+ @Override
+ public String toString()
+ {
+ StringBuilder sb = new StringBuilder( 256 );
+ sb.append( "[scope=" + scope.getScope() );
+ if ( classpath != null )
+ for ( ArtifactMetadata md : classpath )
+ {
+ sb.append( ": " + md.toString() + '{' + md.getArtifactUri() + '}' );
+ }
+ sb.append( ']' );
+ return sb.toString();
+ }
+ //-------------------------------------------------------------------------------------------
+ //-------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java
new file mode 100644
index 0000000..abfcfc7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java
@@ -0,0 +1,89 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.event.MercuryEventListener;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface DependencyBuilder
+{
+ public static final String TREE_BUILD_EVENT = "tree.build";
+ public static final String TREE_NODE_BUILD_EVENT = "tree.node.build";
+ //------------------------------------------------------------------------
+ /**
+ * build the tree, using the repositories specified in the
+ * constructor
+ *
+ * @param startMD - root of the tree to build
+ * @param targetPlatform - limitations to use when retrieving metadata. Format is G:A=V, where V is Version Range
+ * @return the root of the tree built
+ * @throws MetadataTreeException
+ */
+ public abstract MetadataTreeNode buildTree( ArtifactBasicMetadata startMD, ArtifactScopeEnum scope )
+ throws MetadataTreeException;
+
+ /**
+ * hard to believe, but this actually resolves the conflicts, removing all duplicate GAVs from the tree
+ *
+ * @param root the tree to resolve conflicts on
+ * @return list of resolved GAVs
+ * @throws MetadataTreeException
+ */
+ public abstract List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root )
+ throws MetadataTreeException;
+
+ /**
+ * this one resolves the conflicts, removing all duplicate GAVs from the tree and
+ * returning a copy of the resulting subtree - original tree should be intact
+ *
+ * @param root the tree to resolve conflicts on
+ * @return resolved subtree
+ * @throws MetadataTreeException
+ */
+ public abstract MetadataTreeNode resolveConflictsAsTree( MetadataTreeNode root )
+ throws MetadataTreeException;
+
+ /**
+ * register a listener for dependency events
+ *
+ * @param listener
+ */
+ public abstract void register( MercuryEventListener listener );
+
+ /**
+ * remove a listener
+ *
+ * @param listener
+ */
+ public abstract void unRegister( MercuryEventListener listener );
+ //-----------------------------------------------------
+ //-----------------------------------------------------
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java
new file mode 100644
index 0000000..ee6bd55
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java
@@ -0,0 +1,61 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DependencyBuilderFactory
+{
+ public static final String JAVA_DEPENDENCY_MODEL = "java";
+ public static final String OSGI_DEPENDENCY_MODEL = "osgi";
+
+ private static final Language _lang = new DefaultLanguage( DependencyBuilderFactory.class) ;
+
+ public static final DependencyBuilder create(
+ final String dependencyModel
+ , final Collection<Repository> repositories
+ , final Collection<MetadataTreeArtifactFilter> filters
+ , final List<Comparator<MetadataTreeNode>> comparators
+ , final Map<String,ArtifactListProcessor> processors
+ )
+ throws RepositoryException
+ {
+ if( JAVA_DEPENDENCY_MODEL.equals( dependencyModel ) )
+ return new DependencyTreeBuilder( repositories, filters, comparators, processors );
+
+ throw new IllegalArgumentException( _lang.getMessage( "dependency.model.not.implemented", dependencyModel ) );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
new file mode 100644
index 0000000..5b6c3ea
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
@@ -0,0 +1,470 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
+import org.apache.maven.mercury.artifact.version.VersionException;
+import org.apache.maven.mercury.artifact.version.VersionRange;
+import org.apache.maven.mercury.artifact.version.VersionRangeFactory;
+import org.apache.maven.mercury.event.EventGenerator;
+import org.apache.maven.mercury.event.EventManager;
+import org.apache.maven.mercury.event.EventTypeEnum;
+import org.apache.maven.mercury.event.GenericEvent;
+import org.apache.maven.mercury.event.MercuryEvent;
+import org.apache.maven.mercury.event.MercuryEventListener;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.metadata.sat.DefaultSatSolver;
+import org.apache.maven.mercury.metadata.sat.SatException;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * This is the new entry point into Artifact resolution process.
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+class DependencyTreeBuilder
+implements DependencyBuilder, EventGenerator
+{
+ private static final Language _lang = new DefaultLanguage(DependencyTreeBuilder.class);
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DependencyTreeBuilder.class );
+
+ private Collection<MetadataTreeArtifactFilter> _filters;
+ private List<Comparator<MetadataTreeNode>> _comparators;
+ private Map<String,ArtifactListProcessor> _processors;
+
+ private VirtualRepositoryReader _reader;
+
+ private Map< String, MetadataTreeNode > _existingNodes;
+
+ private EventManager _eventManager;
+
+ /**
+ * creates an instance of MetadataTree. Use this instance to
+ * <ul>
+ * <li>buildTree - process all the dependencies</li>
+ * <li>resolveConflicts</li>
+ * <ul>
+ *
+ * @param filters - can veto any artifact before it's added to the tree
+ * @param comparators - used to define selection policies. If null is passed,
+ * classic comparators - nearest/newest first - will be used.
+ * @param repositories - order is <b>very</b> important. Ordering allows
+ * m2eclipse, for instance, insert a workspace repository
+ * @throws RepositoryException
+ */
+ protected DependencyTreeBuilder(
+ Collection<Repository> repositories
+ , Collection<MetadataTreeArtifactFilter> filters
+ , List<Comparator<MetadataTreeNode>> comparators
+ , Map<String,ArtifactListProcessor> processors
+ )
+ throws RepositoryException
+ {
+ this._filters = filters;
+ this._comparators = comparators;
+
+ // if used does not want to bother.
+ // if it's an empty list - user does not want any comparators - so be it
+ if( _comparators == null )
+ {
+ _comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ _comparators.add( new ClassicDepthComparator() );
+ _comparators.add( new ClassicVersionComparator() );
+ }
+
+ if( processors != null )
+ _processors = processors;
+
+ this._reader = new VirtualRepositoryReader( repositories );
+ }
+ //------------------------------------------------------------------------
+ public MetadataTreeNode buildTree( ArtifactBasicMetadata startMD, ArtifactScopeEnum treeScope )
+ throws MetadataTreeException
+ {
+ if( startMD == null )
+ throw new MetadataTreeException( "null start point" );
+
+ try
+ {
+ _reader.setEventManager( _eventManager );
+ _reader.setProcessors( _processors );
+ _reader.init();
+ }
+ catch( RepositoryException e )
+ {
+ throw new MetadataTreeException(e);
+ }
+
+ _existingNodes = new HashMap<String, MetadataTreeNode>(256);
+
+ GenericEvent treeBuildEvent = new GenericEvent( EventTypeEnum.dependencyBuilder, TREE_BUILD_EVENT, startMD.getGAV() );
+
+ MetadataTreeNode root = createNode( startMD, null, startMD, treeScope );
+
+ treeBuildEvent.stop();
+
+ if( _eventManager != null )
+ _eventManager.fireEvent( treeBuildEvent );
+
+ MetadataTreeNode.reNumber( root, 1 );
+
+ return root;
+ }
+ //-----------------------------------------------------
+ private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent, ArtifactBasicMetadata nodeQuery, ArtifactScopeEnum globalScope )
+ throws MetadataTreeException
+ {
+ GenericEvent nodeBuildEvent = null;
+
+ if( _eventManager != null )
+ nodeBuildEvent = new GenericEvent( EventTypeEnum.dependencyBuilder, TREE_NODE_BUILD_EVENT, nodeMD.getGAV() );
+
+ try
+ {
+ checkForCircularDependency( nodeMD, parent );
+
+ ArtifactMetadata mr;
+
+ MetadataTreeNode existingNode = _existingNodes.get( nodeQuery.toString() );
+
+ if( existingNode != null )
+ return MetadataTreeNode.deepCopy( existingNode );
+
+ mr = _reader.readDependencies( nodeMD );
+
+ if( mr == null )
+ throw new MetadataTreeException( _lang.getMessage( "artifact.md.not.found", nodeMD.toString() ) );
+
+ MetadataTreeNode node = new MetadataTreeNode( mr, parent, nodeQuery );
+
+ List<ArtifactBasicMetadata> allDependencies = mr.getDependencies();
+
+ if( allDependencies == null || allDependencies.size() < 1 )
+ return node;
+
+ List<ArtifactBasicMetadata> dependencies = new ArrayList<ArtifactBasicMetadata>( allDependencies.size() );
+ if( globalScope != null )
+ for( ArtifactBasicMetadata md : allDependencies )
+ {
+ ArtifactScopeEnum mdScope = md.getArtifactScope();
+ if( globalScope.encloses( mdScope ) )
+ dependencies.add( md );
+ }
+ else
+ dependencies.addAll( allDependencies );
+
+ if( Util.isEmpty( dependencies ) )
+ return node;
+
+ ArtifactBasicResults res = _reader.readVersions( dependencies );
+
+ Map<ArtifactBasicMetadata, List<ArtifactBasicMetadata>> expandedDeps = res.getResults();
+
+ for( ArtifactBasicMetadata md : dependencies )
+ {
+
+if( _log.isDebugEnabled() )
+ _log.debug("node "+nodeQuery+", dep "+md );
+
+ List<ArtifactBasicMetadata> versions = expandedDeps.get( md );
+ if( versions == null || versions.size() < 1 )
+ {
+ if( md.isOptional() )
+ continue;
+
+ throw new MetadataTreeException( "did not find non-optional artifact for " + md + " <== " + showPath( node ) );
+ }
+
+ boolean noGoodVersions = true;
+ boolean noVersions = true;
+ for( ArtifactBasicMetadata ver : versions )
+ {
+ if( veto( ver, _filters) || vetoInclusionsExclusions(node, ver) )
+ {
+ // there were good versions, but this one is filtered out
+ noGoodVersions = false;
+ continue;
+ }
+
+ MetadataTreeNode kid = createNode( ver, node, md, globalScope );
+ node.addChild( kid );
+
+ noVersions = false;
+
+ noGoodVersions = false;
+ }
+
+
+ if( noVersions && !noGoodVersions )
+ {
+ // there were good versions, but they were all filtered out
+ continue;
+ }
+ else if( noGoodVersions )
+ {
+ if( md.isOptional() )
+ continue;
+ throw new MetadataTreeException( "did not find non-optional artifact for " + md );
+ }
+ else
+ node.addQuery(md);
+ }
+
+ _existingNodes.put( nodeQuery.toString(), node );
+
+ return node;
+ }
+ catch (RepositoryException e)
+ {
+ if( _eventManager != null )
+ nodeBuildEvent.setResult( e.getMessage() );
+
+ throw new MetadataTreeException( e );
+ }
+ catch( VersionException e )
+ {
+ if( _eventManager != null )
+ nodeBuildEvent.setResult( e.getMessage() );
+
+ throw new MetadataTreeException( e );
+ }
+ catch( MetadataTreeException e )
+ {
+ if( _eventManager != null )
+ nodeBuildEvent.setResult( e.getMessage() );
+ throw e;
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ nodeBuildEvent.stop();
+ _eventManager.fireEvent( nodeBuildEvent );
+ }
+ }
+ }
+ //-----------------------------------------------------
+ private void checkForCircularDependency( ArtifactBasicMetadata md, MetadataTreeNode parent )
+ throws MetadataTreeCircularDependencyException
+ {
+ MetadataTreeNode p = parent;
+ int count = 0;
+ while( p != null )
+ {
+ count++;
+//System.out.println("circ "+md+" vs "+p.md);
+ if( md.sameGA(p.md) )
+ {
+ p = parent;
+ StringBuilder sb = new StringBuilder( 128 );
+ sb.append( md.toString() );
+ while( p!= null )
+ {
+ sb.append(" <- "+p.md.toString() );
+
+ if( md.sameGA(p.md) )
+ {
+ throw new MetadataTreeCircularDependencyException("circular dependency "+count + " levels up. "
+ + sb.toString() + " <= "+(p.parent == null ? "no parent" : p.parent.md) );
+ }
+ p = p.parent;
+ }
+ }
+ p = p.parent;
+ }
+ }
+ //-----------------------------------------------------
+ private boolean veto(ArtifactBasicMetadata md, Collection<MetadataTreeArtifactFilter> filters )
+ {
+ if( filters != null && filters.size() > 1)
+ for( MetadataTreeArtifactFilter filter : filters )
+ if( filter.veto(md) )
+ return true;
+ return false;
+ }
+ //-----------------------------------------------------
+ private boolean vetoInclusionsExclusions( MetadataTreeNode node, ArtifactBasicMetadata ver )
+ throws VersionException
+ {
+ for( MetadataTreeNode n = node; n != null; n = n.getParent() )
+ {
+ ArtifactBasicMetadata md = n.getQuery();
+
+ if( !md.allowDependency( ver ) ) // veto it
+ return true;
+ }
+ return false; // allow because all parents are OK with it
+ }
+ //-----------------------------------------------------
+ public List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root )
+ throws MetadataTreeException
+ {
+ if( root == null )
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
+
+ try
+ {
+ DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
+
+ solver.applyPolicies( getComparators() );
+
+ List<ArtifactMetadata> res = solver.solve();
+
+ return res;
+ }
+ catch (SatException e)
+ {
+ throw new MetadataTreeException(e);
+ }
+
+ }
+ //-----------------------------------------------------
+ public MetadataTreeNode resolveConflictsAsTree( MetadataTreeNode root )
+ throws MetadataTreeException
+ {
+ if( root == null )
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
+
+ try
+ {
+ DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
+
+ solver.applyPolicies( getComparators() );
+
+ MetadataTreeNode res = solver.solveAsTree();
+
+ return res;
+ }
+ catch (SatException e)
+ {
+ throw new MetadataTreeException(e);
+ }
+
+ }
+ //-----------------------------------------------------
+ private List<Comparator<MetadataTreeNode>> getComparators()
+ {
+ if( Util.isEmpty( _comparators ) )
+ _comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
+
+ if( _comparators.size() < 1 )
+ {
+ _comparators.add( new ClassicDepthComparator() );
+ _comparators.add( new ClassicVersionComparator() );
+ }
+
+ return _comparators;
+ }
+ //-----------------------------------------------------
+ private List<ArtifactMetadata> resolveConflicts( List<ArtifactBasicMetadata>trees )
+ throws MetadataTreeException
+ {
+ if( Util.isEmpty( trees ) )
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree.collection" ));
+
+ String dummyGAV = "__fake:__fake:0.0.0";
+
+ ArtifactBasicMetadata query = new ArtifactBasicMetadata( dummyGAV );
+
+ ArtifactMetadata dummyMd = new ArtifactMetadata( query );
+ dummyMd.setDependencies( trees );
+
+ MetadataTreeNode root = new MetadataTreeNode( dummyMd, null, query );
+
+ try
+ {
+ DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
+
+ solver.applyPolicies( getComparators() );
+
+ List<ArtifactMetadata> res = solver.solve();
+
+ res.remove( dummyMd );
+
+ return res;
+ }
+ catch (SatException e)
+ {
+ throw new MetadataTreeException(e);
+ }
+
+ }
+ //-----------------------------------------------------
+ private String showPath( MetadataTreeNode node )
+ throws MetadataTreeCircularDependencyException
+ {
+ StringBuilder sb = new StringBuilder( 256 );
+
+ String comma = "";
+
+ MetadataTreeNode p = node;
+
+ while( p != null )
+ {
+ sb.append( comma + p.getMd().toString() );
+
+ comma = " <== ";
+
+ p = p.parent;
+ }
+
+ return sb.toString();
+ }
+
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ if( _eventManager == null )
+ _eventManager = eventManager;
+ else
+ _eventManager.getListeners().addAll( eventManager.getListeners() );
+
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties
new file mode 100644
index 0000000..d84e297
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties
@@ -0,0 +1,23 @@
+#
+# 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.
+#
+artifact.md.not.found=cannot find artifact metadata for query {0}
+dependency.model.not.implemented=the requested dependency model {0} is not yet implemented
+empty.tree=Dependency tree is not populated yet
+empty.tree.collection=Empty tree collection supplied
+
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java
new file mode 100644
index 0000000..91beedd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java
@@ -0,0 +1,65 @@
+package org.apache.maven.mercury.metadata;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+
+/*
+ * 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.
+ */
+
+/**
+ * Error while retrieving repository metadata from the repository.
+ *
+ * @author Jason van Zyl
+ * @version $Id$
+ */
+public class MetadataRetrievalException
+ extends Exception
+{
+
+ private ArtifactMetadata artifact;
+
+ public MetadataRetrievalException( String message )
+ {
+ this( message, null, null );
+ }
+
+ public MetadataRetrievalException( Throwable cause )
+ {
+ this( null, cause, null );
+ }
+
+ public MetadataRetrievalException( String message,
+ Throwable cause )
+ {
+ this( message, cause, null );
+ }
+
+ public MetadataRetrievalException( String message,
+ Throwable cause,
+ ArtifactMetadata artifact )
+ {
+ super( message, cause );
+
+ this.artifact = artifact;
+ }
+
+ public ArtifactMetadata getArtifactMetadata()
+ {
+ return artifact;
+ }
+}
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java
new file mode 100644
index 0000000..507ece5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java
@@ -0,0 +1,32 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ * This is a member of a chain of filters that can stop an ArtifactMetadata
+ * from reaching the resolution tree
+ *
+ * @author Oleg Gusakov
+ */
+public interface MetadataTreeArtifactFilter
+{
+ public boolean veto( ArtifactBasicMetadata md );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeCircularDependencyException.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeCircularDependencyException.java
new file mode 100644
index 0000000..b5b30b8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeCircularDependencyException.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class MetadataTreeCircularDependencyException
+extends MetadataTreeException
+{
+
+ public MetadataTreeCircularDependencyException()
+ {
+ }
+
+ public MetadataTreeCircularDependencyException(String message)
+ {
+ super(message);
+ }
+
+ public MetadataTreeCircularDependencyException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public MetadataTreeCircularDependencyException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeException.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeException.java
new file mode 100644
index 0000000..cf036d0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeException.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class MetadataTreeException
+ extends Exception
+{
+
+ public MetadataTreeException()
+ {
+ }
+
+ public MetadataTreeException(String message)
+ {
+ super(message);
+ }
+
+ public MetadataTreeException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public MetadataTreeException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
new file mode 100644
index 0000000..70b37af
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
@@ -0,0 +1,363 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TreeSet;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+/**
+ * metadata [dirty] Tree
+ *
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ *
+ */
+public class MetadataTreeNode
+{
+ private static final int DEFAULT_CHILDREN_COUNT = 8;
+
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( MetadataTreeNode.class );
+ private static final Language _lang = new DefaultLanguage( MetadataTreeNode.class );
+
+ /**
+ * this node's artifact MD
+ */
+ ArtifactMetadata md;
+
+ /**
+ * fail resolution if it could not be found?
+ */
+ boolean optional = false;
+
+ /**
+ * parent node
+ */
+ MetadataTreeNode parent;
+
+ /**
+ * node unique id, used to identify this node in external tree manipulations, such as
+ */
+ int id;
+
+ /**
+ * query node - the one that originated this actual node
+ */
+ ArtifactBasicMetadata query;
+
+ /**
+ * queries - one per POM dependency
+ */
+ List<ArtifactBasicMetadata> queries;
+
+ /**
+ * actual found versions
+ */
+ List<MetadataTreeNode> children;
+ //------------------------------------------------------------------------
+ public int countNodes()
+ {
+ return countNodes(this);
+ }
+ //------------------------------------------------------------------------
+ public static int countNodes( MetadataTreeNode node )
+ {
+ int res = 1;
+
+ if( node.children != null && node.children.size() > 0)
+ {
+ for( MetadataTreeNode child : node.children )
+ {
+ res += countNodes( child );
+ }
+ }
+
+ return res;
+ }
+ //------------------------------------------------------------------------
+ public int countDistinctNodes()
+ {
+ TreeSet<String> nodes = new TreeSet<String>();
+
+ getDistinctNodes( this, nodes );
+if( _log.isDebugEnabled() )
+{
+ _log.debug( "tree distinct nodes count" );
+ _log.debug( nodes.toString() );
+}
+
+ return nodes.size();
+ }
+ //------------------------------------------------------------------------
+ public static void getDistinctNodes( MetadataTreeNode node, TreeSet<String> nodes )
+ {
+ if( node.getMd() == null )
+ throw new IllegalArgumentException( "tree node without metadata" );
+
+ nodes.add( node.getMd().getGAV() );
+
+ if( node.children != null && node.children.size() > 0)
+ for( MetadataTreeNode child : node.children )
+ getDistinctNodes( child, nodes );
+ }
+ //------------------------------------------------------------------------
+ public MetadataTreeNode()
+ {
+ }
+ //------------------------------------------------------------------------
+ /**
+ * pointers to parent and query are a must.
+ */
+ public MetadataTreeNode( ArtifactMetadata md
+ , MetadataTreeNode parent
+ , ArtifactBasicMetadata query
+ , boolean resolved
+ )
+ {
+ if ( md != null )
+ {
+ md.setArtifactScope( ArtifactScopeEnum.checkScope(md.getArtifactScope()) );
+ md.setResolved(resolved);
+ }
+
+ this.md = md;
+ this.parent = parent;
+ this.query = query;
+ }
+ //------------------------------------------------------------------------
+ public MetadataTreeNode( ArtifactMetadata md, MetadataTreeNode parent, ArtifactBasicMetadata query )
+ {
+ this( md, parent, query, true );
+ }
+ //------------------------------------------------------------------------
+ /**
+ * dependencies are ordered in the POM - they should be added in the POM order
+ */
+ public MetadataTreeNode addChild( MetadataTreeNode kid )
+ {
+ if ( kid == null )
+ {
+ return this;
+ }
+
+ if( children == null )
+ {
+ children = new ArrayList<MetadataTreeNode>( DEFAULT_CHILDREN_COUNT );
+ }
+
+ kid.setParent( this );
+ children.add( kid );
+
+ return this;
+ }
+ //------------------------------------------------------------------------
+ /**
+ * dependencies are ordered in the POM - they should be added in the POM order
+ */
+ public MetadataTreeNode addQuery( ArtifactBasicMetadata query )
+ {
+ if ( query == null )
+ {
+ return this;
+ }
+
+ if( queries == null )
+ {
+ queries = new ArrayList<ArtifactBasicMetadata>( DEFAULT_CHILDREN_COUNT );
+ }
+
+ queries.add( query );
+
+ return this;
+ }
+ //------------------------------------------------------------------
+ @Override
+ public String toString()
+ {
+ return md == null
+ ? "no metadata, parent " +
+ ( parent == null ? "null" : parent.toString() )
+ : md.toString()+":d="+getDepth()
+ ;
+ }
+ //------------------------------------------------------------------------
+ public boolean hasChildren()
+ {
+ return children != null;
+ }
+ //------------------------------------------------------------------------
+ public ArtifactMetadata getMd()
+ {
+ return md;
+ }
+
+ public MetadataTreeNode getParent()
+ {
+ return parent;
+ }
+
+ public int getDepth()
+ {
+ int depth = 0;
+
+ for( MetadataTreeNode p = parent; p != null; p = p.parent )
+ ++depth;
+
+ return depth;
+ }
+
+ public int getMaxDepth( int depth )
+ {
+ int res = 0;
+
+ if( ! hasChildren() )
+ return depth + 1;
+
+ for( MetadataTreeNode kid : children )
+ {
+ int kidDepth = kid.getMaxDepth( depth + 1 );
+ if( kidDepth > res )
+ res = kidDepth;
+ }
+
+ return res;
+ }
+
+ public void setParent( MetadataTreeNode parent )
+ {
+ this.parent = parent;
+ }
+
+ public List<MetadataTreeNode> getChildren()
+ {
+ return children;
+ }
+
+ public boolean isOptional()
+ {
+ return optional;
+ }
+
+ public ArtifactBasicMetadata getQuery()
+ {
+ return query;
+ }
+
+ public List<ArtifactBasicMetadata> getQueries()
+ {
+ return queries;
+ }
+ //------------------------------------------------------------------------
+ public static final MetadataTreeNode deepCopy( MetadataTreeNode node )
+ {
+ MetadataTreeNode res = new MetadataTreeNode( node.getMd()
+ , node.getParent()
+ , node.getQuery()
+ , true
+ );
+ res.setId( node.getId() );
+
+ if( node.hasChildren() )
+ for( MetadataTreeNode kid : node.children )
+ {
+ MetadataTreeNode deepKid = deepCopy( kid );
+ res.addChild( deepKid );
+ }
+
+ return res;
+ }
+ //----------------------------------------------------------------
+ /**
+ * helper method to print the tree into a Writer
+ */
+ public static final void showNode( MetadataTreeNode n, int level, Writer wr )
+ throws IOException
+ {
+ for( int i=0; i<level; i++ )
+ wr.write(" ");
+
+ wr.write( level+"."+n.getMd()+"\n" );
+
+ if( n.hasChildren() )
+ {
+ for( MetadataTreeNode kid : n.getChildren() )
+ showNode( kid, level+1, wr );
+ }
+ }
+ //----------------------------------------------------------------
+ /**
+ * helper method to print the tree into sysout
+ */
+ public static final void showNode( MetadataTreeNode n, int level )
+ throws IOException
+ {
+ StringWriter sw = new StringWriter();
+ MetadataTreeNode.showNode( n, 0, sw );
+ System.out.println( sw.toString() );
+ }
+ //------------------------------------------------------------------------
+ public int getId()
+ {
+ return id;
+ }
+ public void setId( int id )
+ {
+ this.id = id;
+ }
+ //------------------------------------------------------------------------
+ public static void reNumber( MetadataTreeNode node, int startNum )
+ {
+ reNum( node, new Counter(startNum) );
+ }
+ //------------------------------------------------------------------------
+ private static void reNum( MetadataTreeNode node, Counter num )
+ {
+ node.setId( num.next() );
+
+ if( node.hasChildren() )
+ for( MetadataTreeNode kid : node.getChildren() )
+ reNum( kid, num );
+ }
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+}
+//------------------------------------------------------------------------
+class Counter
+{
+ int n;
+
+ public Counter( int n )
+ {
+ this.n = n;
+ }
+
+ int next()
+ {
+ return n++;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
new file mode 100644
index 0000000..4ad35cd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
@@ -0,0 +1,38 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Comparator;
+
+/**
+ * utility class for DefaultSatSolver. Assumes good data - no null's
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class MetadataTreeNodeGAComparator
+implements Comparator<MetadataTreeNode>
+{
+
+ public int compare(MetadataTreeNode n1, MetadataTreeNode n2)
+ {
+ return n1.getMd().getGA().compareTo( n2.getMd().getGA() );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
new file mode 100644
index 0000000..a4d1bbe
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
@@ -0,0 +1,38 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Comparator;
+
+/**
+ * utility class for DefaultSatSolver. Assumes good data - no null's
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class MetadataTreeNodeGAVComparator
+implements Comparator<MetadataTreeNode>
+{
+
+ public int compare(MetadataTreeNode n1, MetadataTreeNode n2)
+ {
+ return n1.getMd().getGAV().compareTo( n2.getMd().getGAV() );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
new file mode 100644
index 0000000..3d7ee68
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
@@ -0,0 +1,656 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.event.EventManager;
+import org.apache.maven.mercury.event.EventTypeEnum;
+import org.apache.maven.mercury.event.GenericEvent;
+import org.apache.maven.mercury.event.MercuryEventListener;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.metadata.MetadataTreeNodeGAComparator;
+import org.apache.maven.mercury.metadata.MetadataTreeNodeGAVComparator;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+import org.sat4j.core.Vec;
+import org.sat4j.core.VecInt;
+import org.sat4j.pb.IPBSolver;
+import org.sat4j.pb.ObjectiveFunction;
+import org.sat4j.pb.SolverFactory;
+import org.sat4j.specs.ContradictionException;
+import org.sat4j.specs.IConstr;
+import org.sat4j.specs.IVec;
+import org.sat4j.specs.IVecInt;
+import org.sat4j.specs.TimeoutException;
+
+/**
+ * Default SAT4J implementation.
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class DefaultSatSolver
+implements SatSolver
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DefaultSatSolver.class );
+ private static final Language _lang = new DefaultLanguage( DefaultSatSolver.class );
+
+ protected SatContext _context;
+ protected IPBSolver _solver = SolverFactory.newEclipseP2();
+ protected MetadataTreeNode _root;
+
+ protected EventManager _eventManager;
+
+ protected static final Comparator<MetadataTreeNode> gaComparator = new MetadataTreeNodeGAComparator();
+ //-----------------------------------------------------------------------
+ public static SatSolver create( MetadataTreeNode tree )
+ throws SatException
+ {
+ return new DefaultSatSolver( tree );
+ }
+ //-----------------------------------------------------------------------
+ public static SatSolver create( MetadataTreeNode tree, EventManager eventManager )
+ throws SatException
+ {
+ return new DefaultSatSolver( tree, eventManager );
+ }
+ //-----------------------------------------------------------------------
+ public DefaultSatSolver( MetadataTreeNode tree, EventManager eventManager )
+ throws SatException
+ {
+ this._eventManager = eventManager;
+ GenericEvent event = null;
+
+ if( tree == null)
+ throw new SatException("cannot create a solver for an empty [null] tree");
+
+ try
+ {
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.satSolver, EVENT_CREATE_SOLVER, tree.toString() );
+
+ if( tree.getId() == 0 )
+ MetadataTreeNode.reNumber( tree, 1 );
+
+ int nNodes = tree.countDistinctNodes();
+
+ _log.debug( "SatContext: # of variables: "+nNodes );
+
+ _context = new SatContext( nNodes );
+ _solver.newVar( tree.countNodes() );
+ _root = tree;
+
+ try
+ {
+ addNode( tree );
+ }
+ catch (ContradictionException e)
+ {
+ throw new SatException(e);
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+ //-----------------------------------------------------------------------
+ public DefaultSatSolver( MetadataTreeNode tree )
+ throws SatException
+ {
+ this( tree, null );
+ }
+ //-----------------------------------------------------------------------
+ public final void applyPolicies( List<Comparator<MetadataTreeNode>> comparators )
+ throws SatException
+ {
+ if( comparators == null || comparators.size() < 1 )
+ return;
+
+ if( _root == null )
+ throw new SatException( "cannot apply policies to a null tree" );
+
+ // TODO og: assumption - around 128 GA's per tree. If more - map reallocates - slow down.
+ Map<String, List<MetadataTreeNode>> buckets = new HashMap<String, List<MetadataTreeNode>>(128);
+ fillBuckets( buckets, _root );
+ sortBuckets( buckets, comparators );
+ useBuckets( buckets );
+ }
+ //-----------------------------------------------------------------------
+ private void useBuckets( Map<String, List<MetadataTreeNode>> buckets )
+ throws SatException
+ {
+ if( buckets == null || buckets.size() < 1 )
+ return;
+
+ IVecInt vars = new VecInt( 128 );
+ IVec<BigInteger> coeffs = new Vec<BigInteger>( 128 );
+
+ int count = 0;
+
+ for( String key : buckets.keySet() )
+ {
+ List<MetadataTreeNode> bucket = buckets.get( key );
+
+// this is needed if optimization is "maximize"
+// Collections.reverse( bucket );
+
+ int bucketSize = bucket.size();
+
+ boolean bigBucket = bucketSize > 1;
+
+if( _log.isDebugEnabled() )
+ _log.debug( "\n\nBucket "+key );
+
+ IVecInt bucketVars = new VecInt( bucketSize );
+
+ for( int i=0; i<bucketSize; i++ )
+ {
+ MetadataTreeNode n = bucket.get(i);
+
+if( _log.isDebugEnabled() )
+ _log.debug( n.toString() );
+
+ SatVar var = _context.findOrAdd(n);
+ int varLiteral = var.getLiteral();
+
+ bucketVars.push( varLiteral );
+
+ if( bigBucket )
+ {
+ vars.push( varLiteral );
+
+ long cf = (long)Math.pow( 2, count++ );
+
+ coeffs.push( BigInteger.valueOf( cf ) );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( " "+cf+" x"+var.getLiteral() );
+ }
+
+ }
+
+ try
+ {
+ if( bucketVars != null && !bucketVars.isEmpty() )
+ {
+ _solver.addAtMost( bucketVars, 1 );
+ _solver.addAtLeast( bucketVars, 1 );
+ }
+ }
+ catch( ContradictionException e )
+ {
+ throw new SatException(e);
+ }
+
+if( _log.isDebugEnabled() )
+ _log.debug( "\n" );
+ }
+
+ if( vars.isEmpty() )
+ return;
+
+ _solver.setObjectiveFunction( new ObjectiveFunction( vars, coeffs ) );
+ }
+ //-----------------------------------------------------------------------
+ protected static final void sortBuckets(
+ Map<String, List<MetadataTreeNode>> buckets
+ , List<Comparator<MetadataTreeNode>> comparators
+ )
+ {
+ Comparator<MetadataTreeNode> lastComparator;
+ for( List<MetadataTreeNode> bucket : buckets.values() )
+ {
+ lastComparator = gaComparator;
+ for( Comparator<MetadataTreeNode> comparator : comparators )
+ {
+ sortBucket( bucket, comparator, lastComparator );
+ lastComparator = comparator;
+ }
+ // due to the nature of Comparator need to reverse the result
+ // as the best fit is now last
+ Collections.reverse( bucket );
+
+ // the best fit now first, and we don't need duplicate GAVs
+ removeDuplicateGAVs( bucket );
+
+ }
+ }
+ //-----------------------------------------------------------------------
+ // remove duplicates, preserving the order. The first one is the most fit,
+ // so need to delete from tail
+ protected static final void removeDuplicateGAVs( List<MetadataTreeNode> bucket )
+ {
+ if( bucket == null || bucket.size() < 2 )
+ return;
+
+ Comparator<MetadataTreeNode> gav = new MetadataTreeNodeGAVComparator();
+
+ int len = bucket.size();
+ int [] dups = new int[ len-1 ];
+ int cnt = 0;
+
+ for( int i=1; i<len; i++ )
+ {
+ MetadataTreeNode ti = bucket.get(i);
+
+ for( int j=0; j<i; j++ )
+ if( gav.compare( ti, bucket.get(j) ) == 0 )
+ {
+ dups[cnt++] = i;
+ break;
+ }
+ }
+
+ if( cnt > 0 )
+ for( int i=0; i<cnt; i++ )
+ bucket.remove( dups[cnt-i-1] );
+ }
+ //-----------------------------------------------------------------------
+ /**
+ * reorders the bucket's lastComparator equal subsets with comparator.
+ */
+ protected static final void sortBucket(
+ List<MetadataTreeNode> bucket
+ , Comparator<MetadataTreeNode> comparator
+ , Comparator<MetadataTreeNode> lastComparator
+ )
+ {
+ if( bucket == null || bucket.size() < 2 )
+ return;
+
+ int bLen = bucket.size();
+ MetadataTreeNode [] temp = bucket.toArray( new MetadataTreeNode[ bLen ] );
+
+ int wStart = -1;
+ int wLen = 0;
+ MetadataTreeNode [] work = new MetadataTreeNode[ bLen ];
+
+ MetadataTreeNode lastNode = null;
+ for( int i=0; i<bLen; i++ )
+ {
+ MetadataTreeNode n = temp[i];
+
+ if( lastNode == null )
+ {
+ lastNode = n;
+ continue;
+ }
+
+ if( lastComparator.compare(lastNode, n) == 0 )
+ {
+ if( wLen == 0 )
+ {
+ work[ wLen++ ] = lastNode;
+ wStart = i-1;
+ }
+
+ work[ wLen++ ] = n;
+
+ lastNode = n;
+
+ if( i < (bLen-1) )
+ continue;
+ }
+
+ if( wLen > 0 ) // eq list formed
+ {
+ reorder( work, wLen, comparator );
+ for( int j=0; j<wLen; j++ )
+ temp[ wStart+j ] = work[ j ];
+ wLen = 0;
+ wStart = -1;
+ }
+
+ lastNode = n;
+ }
+
+ bucket.clear();
+ for( int i=0; i<bLen; i++ )
+ bucket.add( temp[ i ] );
+ }
+ //-----------------------------------------------------------------------
+ private static final void reorder(
+ MetadataTreeNode[] work
+ , int wLen
+ , Comparator<MetadataTreeNode> comparator
+ )
+ {
+ MetadataTreeNode[] temp = new MetadataTreeNode[ wLen ];
+
+ for( int i=0; i< wLen; i++ )
+ temp[i] = work[i];
+
+ Arrays.sort( temp, comparator );
+
+ for( int i=0; i<wLen; i++ )
+ work[i] = temp[i];
+
+ }
+ //-----------------------------------------------------------------------
+ protected static final void fillBuckets(
+ Map<String, List<MetadataTreeNode>> buckets
+ , MetadataTreeNode node
+ )
+ {
+ String ga = node.getMd().getGA();
+ List<MetadataTreeNode> bucket = buckets.get(ga);
+ if( bucket == null )
+ {
+ // TODO og: assumption - around 32 GAVs per GA
+ bucket = new ArrayList<MetadataTreeNode>( 32 );
+ buckets.put( ga, bucket );
+ }
+
+ bucket.add( node );
+
+ if( ! node.hasChildren() )
+ return;
+
+ for( MetadataTreeNode kid : node.getChildren() )
+ {
+ fillBuckets( buckets, kid );
+ }
+ }
+ //-----------------------------------------------------------------------
+ private final void addPB( IVecInt lits, IVec<BigInteger> coeff, boolean ge, BigInteger cardinality )
+ throws ContradictionException
+ {
+ _solver.addPseudoBoolean( lits, coeff, ge, cardinality );
+
+if( _log.isDebugEnabled() )
+ _log.debug("PB: ");
+
+ for( int i=0; i<lits.size(); i++ )
+ {
+ int co = Integer.parseInt( ""+coeff.get(i) );
+ String sign = co < 0 ? "-" : "+";
+ int val = Math.abs(co);
+ String space = val == 1 ? "" : " ";
+
+if( _log.isDebugEnabled() )
+ _log.debug( " " + sign + (val==1?"":val) + space + "x"+lits.get(i) );
+ }
+if( _log.isDebugEnabled() )
+ _log.debug(( ge ? " >= " : " < ")+" "+cardinality );
+ }
+ //-----------------------------------------------------------------------
+ private final Map<ArtifactBasicMetadata, List<MetadataTreeNode>> processChildren(
+ List<ArtifactBasicMetadata> queries
+ , List<MetadataTreeNode> children
+ )
+ throws SatException
+ {
+ if( queries == null || queries.size() < 1 )
+ return null;
+
+ if( children == null || children.size() < 1 )
+ throw new SatException("there are queries, but not results. Queries: "+queries);
+
+ Map<ArtifactBasicMetadata, List<MetadataTreeNode>> res = new HashMap<ArtifactBasicMetadata, List<MetadataTreeNode>>( queries.size() );
+ for( ArtifactBasicMetadata q : queries )
+ {
+ List<MetadataTreeNode> bucket = new ArrayList<MetadataTreeNode>(4);
+ String queryGA = q.getGA();
+
+ for( MetadataTreeNode tn : children )
+ {
+ if( tn.getMd() == null )
+ throw new SatException("resulting tree node without metadata for query "+q );
+
+ if( queryGA.equals( tn.getMd().getGA()) )
+ {
+ bucket.add(tn);
+ }
+ }
+
+ if( bucket.size() < 1 )
+ throw new SatException("No children for query "+queryGA );
+
+ res.put( q, bucket );
+ }
+
+ return res;
+ }
+ //-----------------------------------------------------------------------
+ private final void addNode( MetadataTreeNode node )
+ throws ContradictionException, SatException
+ {
+ if( node == null )
+ return;
+
+ if( node.getMd() == null )
+ throw new SatException("found a node without metadata");
+
+ SatVar nodeLit = _context.findOrAdd( node );
+
+ // this one is a must :)
+ if( node.getParent() == null )
+ addPB( SatHelper.getSmallOnes( nodeLit.getLiteral() ), SatHelper.getBigOnes(1,false), true, BigInteger.ONE );
+
+ if( ! node.hasChildren() )
+ return;
+
+ Map<ArtifactBasicMetadata,List<MetadataTreeNode>> kids = processChildren( node.getQueries(), node.getChildren() );
+
+ // leaf node in this scope
+ if( kids == null )
+ return;
+
+ for( Map.Entry<ArtifactBasicMetadata,List<MetadataTreeNode>> kid : kids.entrySet() )
+ {
+ ArtifactBasicMetadata query = kid.getKey();
+
+ List<MetadataTreeNode> range = kid.getValue();
+
+ if( range.size() > 1 )
+ {
+ addRange( nodeLit.getLiteral(), range, query.isOptional() );
+ for( MetadataTreeNode tn : range )
+ {
+ addNode( tn );
+ }
+ }
+ else
+ {
+ MetadataTreeNode child = range.get(0);
+ SatVar kidLit = _context.findOrAdd( child );
+
+ addPB( SatHelper.getSmallOnes( new int [] { nodeLit.getLiteral(), kidLit.getLiteral() } )
+ , SatHelper.getBigOnes( 1, -1 )
+ , true, BigInteger.ZERO
+ );
+// addRange( nodeLit.getLiteral(), range, query.isOptional() );
+ addNode( child );
+ }
+
+ }
+ }
+ //-----------------------------------------------------------------------
+ private final int [] addRange( int parentLiteral, List<MetadataTreeNode> range, boolean optional )
+ throws ContradictionException, SatException
+ {
+ SatVar literal;
+
+ int [] literals = new int[ range.size() ];
+
+ int count = 0;
+
+ for( MetadataTreeNode tn : range )
+ {
+ literal = _context.findOrAdd( tn );
+ literals[count++] = literal.getLiteral();
+
+ // implication to parent
+ addPB( SatHelper.getSmallOnes( new int [] { parentLiteral, literal.getLiteral() } )
+ , SatHelper.getBigOnes( 1, -1 )
+ , true, BigInteger.ZERO
+ );
+ }
+
+ IVecInt rangeVector = SatHelper.getSmallOnes( literals );
+
+ if( optional ) // Sxi >= 0
+ {
+if( _log.isDebugEnabled() )
+ _log.debug( "optional range: atMost 1: "+ SatHelper.vectorToString( rangeVector) );
+
+ _solver.addAtMost( rangeVector, 1 );
+ }
+ else // Sxi = 1
+ {
+if( _log.isDebugEnabled() )
+ _log.debug( "range: " + SatHelper.vectorToString( rangeVector) );
+
+ IConstr atLeast = _solver.addAtLeast( rangeVector, 1 );
+ if( _log.isDebugEnabled() )
+ _log.debug( "atLeast: " + SatHelper.vectorToString( atLeast) );
+
+ IConstr atMost = _solver.addAtMost( rangeVector, 1 );
+ if( _log.isDebugEnabled() )
+ _log.debug( "atMost: " + SatHelper.vectorToString( atMost) );
+
+ }
+
+ return literals;
+ }
+ //-----------------------------------------------------------------------
+ public final List<ArtifactMetadata> solve()
+ throws SatException
+ {
+ List<ArtifactMetadata> res = null;
+ GenericEvent event = null;
+
+ try
+ {
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.satSolver, EVENT_SOLVE, _root.toString() );
+
+ if( _solver.isSatisfiable() )
+ {
+ res = new ArrayList<ArtifactMetadata>( _root.countNodes() );
+
+ int [] model = _solver.model();
+
+if( _log.isDebugEnabled() )
+ if( model != null )
+ {
+ StringBuilder sb = new StringBuilder();
+ String comma = "";
+ for( int m : model )
+ {
+ sb.append( comma+m );
+ comma = ", ";
+ }
+ _log.debug( '['+sb.toString()+']' );
+ }
+ else
+ _log.debug( "model is null" );
+
+ for( int i : model )
+ if( i > 0 )
+ res.add( _context.getMd( i ) );
+ }
+ }
+ catch (TimeoutException e)
+ {
+ throw new SatException( e );
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ return res;
+ }
+ //-----------------------------------------------------------------------
+ public final MetadataTreeNode solveAsTree()
+ throws SatException
+ {
+ try
+ {
+ if( _solver.isSatisfiable() )
+ {
+ int [] model = _solver.model();
+
+if( _log.isDebugEnabled() )
+ if( model != null )
+ {
+ StringBuilder sb = new StringBuilder();
+ String comma = "";
+ for( int m : model )
+ {
+ sb.append( comma+m );
+ comma = ", ";
+ }
+ _log.debug( '['+sb.toString()+']' );
+ }
+ else
+ _log.debug( "model is null" );
+
+ return _context.getSolutionSubtree( _root, model );
+ }
+ return null;
+ }
+ catch (TimeoutException e)
+ {
+ throw new SatException( e );
+ }
+
+ }
+ //-----------------------------------------------------------------------
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ _eventManager = eventManager;
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+ //-----------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/Messages.properties b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/Messages.properties
new file mode 100644
index 0000000..9200332
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/Messages.properties
@@ -0,0 +1,22 @@
+#
+# 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.
+#
+null.tree=tree root is null
+null.tree.md=tree root metadata is null
+null.model=model is null
+empty.model=model is null
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
new file mode 100644
index 0000000..35fa823
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
@@ -0,0 +1,160 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+ /**
+ * This class hold all variables fed to the SAT solver. Because of the
+ * tree unwinding algorithm all pivots (optional nodes) should be supplied first
+ *
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+class SatContext
+{
+ private static final Language _lang = new DefaultLanguage(SatContext.class);
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( SatContext.class );
+
+ Map<MetadataTreeNode,SatVar> variables;
+ //-----------------------------------------------------------------------
+ public SatContext( int estimatedTreeSize )
+ {
+ variables = new HashMap<MetadataTreeNode,SatVar>( estimatedTreeSize );
+ }
+ //-----------------------------------------------------------------------
+ public SatVar findOrAdd( MetadataTreeNode n )
+ throws SatException
+ {
+ if( n == null )
+ throw new SatException( "cannot create a literal out of a null metadata: "+n );
+
+ SatVar var = variables.get( n );
+
+ if( var != null )
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( var.toString() );
+ return var;
+ }
+
+ var = new SatVar( n );
+ variables.put( n, var );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( var.toString() );
+
+ return var;
+ }
+ //-----------------------------------------------------------------------
+ public ArtifactMetadata getMd( int literal )
+ {
+ for( SatVar v : variables.values() )
+ if( v._literal == literal )
+ return v.getMd();
+
+ return null;
+ }
+ //-----------------------------------------------------------------------
+ private static final boolean isSolution( int m, int [] model )
+ {
+ for( int mm : model )
+ if( mm == m )
+ return true;
+
+ return false;
+ }
+ //-----------------------------------------------------------------------
+ public MetadataTreeNode getSolutionSubtree( MetadataTreeNode tree, int [] model )
+ {
+ if( tree == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.tree" ) );
+
+ if( tree.getMd() == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.tree.md" ) );
+
+ if( model == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.model" ) );
+
+ if( model.length < 1 )
+ throw new IllegalArgumentException( _lang.getMessage( "empty.model" ) );
+
+ int sz = 0;
+
+ for( int m : model )
+ if( m > 0 )
+ ++sz;
+
+ if( sz == 0)
+ return null;
+
+ MetadataTreeNode res = MetadataTreeNode.deepCopy( tree );
+
+ cleanTree( res, model );
+
+ return res;
+ }
+ //-----------------------------------------------------------------------
+ private static final void cleanTree( MetadataTreeNode tn, int [] model )
+ {
+ if( ! tn.hasChildren() )
+ return;
+
+ List<MetadataTreeNode> badKids = new ArrayList<MetadataTreeNode>();
+
+ for( MetadataTreeNode kid : tn.getChildren() )
+ if( ! isSolution( kid.getId(), model ) )
+ badKids.add( kid );
+
+ tn.getChildren().removeAll( badKids );
+
+ if( ! tn.hasChildren() )
+ return;
+
+ for( MetadataTreeNode kid : tn.getChildren() )
+ cleanTree( kid, model );
+ }
+ //-----------------------------------------------------------------------
+// @Override
+// public String toString()
+// {
+// if(varCount < 1)
+// return "";
+// StringBuilder sb = new StringBuilder( 32*varCount );
+// char comma = '[';
+//
+// for( SatVar var : variables )
+// {
+// sb.append(comma+" x"+var._literal+"="+var._md.toString() );
+// comma = ',';
+// }
+// return sb.toString()+']';
+// }
+ //-----------------------------------------------------------------------
+ //-----------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatException.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatException.java
new file mode 100644
index 0000000..4e012a6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatException.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+/**
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+public class SatException
+ extends Exception
+{
+ private static final long serialVersionUID = -2461839690564604496L;
+
+ public SatException()
+ {
+ }
+
+ public SatException(String message)
+ {
+ super(message);
+ }
+
+ public SatException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public SatException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java
new file mode 100644
index 0000000..3da9b69
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java
@@ -0,0 +1,147 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.sat4j.core.ReadOnlyVec;
+import org.sat4j.core.ReadOnlyVecInt;
+import org.sat4j.core.Vec;
+import org.sat4j.core.VecInt;
+import org.sat4j.specs.IConstr;
+import org.sat4j.specs.IVec;
+import org.sat4j.specs.IVecInt;
+
+/**
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+public class SatHelper
+{
+ //-----------------------------------------------------------------------
+ public static final List<ArtifactMetadata> createList( String... uris )
+ {
+ List<ArtifactMetadata> aml = new ArrayList<ArtifactMetadata>( uris.length );
+ for( String uri : uris )
+ {
+ aml.add( new ArtifactMetadata(uri) );
+ }
+ return aml;
+ }
+ //-----------------------------------------------------------------------
+ public static final IVecInt getSmallOnes( int... ints )
+ {
+ VecInt res = new VecInt( ints );
+ return new ReadOnlyVecInt(res);
+ }
+ //-----------------------------------------------------------------------
+ public static final IVecInt getSmallOnes( int first, int second )
+ {
+ return getSmallOnes( new int [] {first, second} );
+ }
+ //-----------------------------------------------------------------------
+ public static int [] toIntArray( int first, int... ints )
+ {
+ int [] lits = new int[ ints.length+1 ];
+ lits[0] = first;
+ int ptr = 1;
+
+ for( int i : ints )
+ lits[ptr++] = i;
+
+ return lits;
+ }
+ //-----------------------------------------------------------------------
+ private static final IVec<BigInteger> toVec( BigInteger... bis )
+ {
+ return new ReadOnlyVec<BigInteger>( new Vec<BigInteger>( bis ) );
+ }
+ //-----------------------------------------------------------------------
+ public static final IVec<BigInteger> getBigOnes( int... ones )
+ {
+ BigInteger [] res = new BigInteger[ ones.length ];
+
+ for( int i=0; i<ones.length; i++ )
+ res[ i ] = BigInteger.valueOf( ones[i] );
+
+ return toVec( res );
+ }
+ //-----------------------------------------------------------------------
+ public static final IVec<BigInteger> getBigOnes( int nOnes, boolean negate )
+ {
+ BigInteger [] res = new BigInteger[ nOnes ];
+ BigInteger bi = negate ? BigInteger.ONE.negate() : BigInteger.ONE;
+
+ for( int i=0; i<nOnes; i++ )
+ res[i] = bi;
+
+ return toVec(res);
+ }
+ //-----------------------------------------------------------------------
+ public static final IVec<BigInteger> getBigOnes( int first, int nOnes, boolean negateOnes )
+ {
+ int len = nOnes + 1;
+
+ BigInteger [] res = new BigInteger[ len ];
+ res[ 0 ] = BigInteger.valueOf(first);
+
+ BigInteger bi = negateOnes ? BigInteger.ONE.negate() : BigInteger.ONE;
+
+ for( int i=0; i<nOnes; i++ )
+ res[i+1] = bi;
+
+ return toVec(res);
+ }
+ //-----------------------------------------------------------------------
+ public static final String vectorToString( IVecInt vec )
+ {
+ if( vec == null || vec.size() < 1 )
+ return "[]";
+
+ StringBuilder sb = new StringBuilder();
+ String comma = "";
+
+ for( int i=0; i<vec.size(); i++ )
+ {
+ sb.append( comma+"x"+vec.get( i ) );
+ comma = ", ";
+ }
+ return "["+sb.toString()+"]";
+ }
+ //-----------------------------------------------------------------------
+ public static final String vectorToString( IConstr vec )
+ {
+ if( vec == null || vec.size() < 1 )
+ return "[]";
+
+ StringBuilder sb = new StringBuilder();
+ String comma = "";
+
+ for( int i=0; i<vec.size(); i++ )
+ {
+ sb.append( comma+"x"+vec.get( i ) );
+ comma = ", ";
+ }
+ return "["+sb.toString()+"]";
+ }
+ //-----------------------------------------------------------------------
+ //-----------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
new file mode 100644
index 0000000..2ed7ae3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
@@ -0,0 +1,43 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.sat4j.pb.ObjectiveFunction;
+
+/**
+ * Sat solver optimizer - calculates and returns the minimization function
+ *
+ * @author Oleg Gusakov
+ *
+ */
+public interface SatOptimizer
+{
+ /**
+ * returns the function to be minimized
+ *
+ * @param tn
+ * @param context
+ * @return
+ * @throws SatException
+ */
+ public ObjectiveFunction getOptimizer( MetadataTreeNode tn, SatContext context )
+ throws SatException
+ ;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
new file mode 100644
index 0000000..6a37977
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
@@ -0,0 +1,54 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.event.EventGenerator;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+
+/**
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+public interface SatSolver
+extends EventGenerator
+{
+ public static final int DEFAULT_TREE_SIZE = 128; //nodes
+
+ public static final String EVENT_SOLVE = "solve";
+ public static final String EVENT_CREATE_SOLVER = "create.sat.solver";
+
+ /**
+ *
+ * @param sorts - policies expressed as sorted list of node sorters - from most important to the least
+ * @throws SatException
+ */
+ public void applyPolicies( List< Comparator<MetadataTreeNode> > comparators )
+ throws SatException;
+
+ /**
+ *
+ * @return list of ArtifactMetedata's in the solution
+ * @throws SatException
+ */
+ public List<ArtifactMetadata> solve()
+ throws SatException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
new file mode 100644
index 0000000..b2a0726
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+
+/**
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+class SatVar
+{
+ MetadataTreeNode _node;
+ int _literal;
+ boolean _optional;
+ //---------------------------------------------------------------------
+ public SatVar( MetadataTreeNode n )
+ throws SatException
+ {
+ if( n == null
+ || n.getMd() == null
+ )
+ throw new SatException("Cannot create SatVar from a null MetadataTreeNode: "+n);
+
+ ArtifactMetadata md = n.getMd();
+ if(
+ md == null
+ || md.getGroupId() == null
+ || md.getArtifactId() == null
+ || md.getVersion() == null
+ )
+ throw new SatException("Cannot create SatVar from a null Metadata: "+md);
+
+ this._node = n;
+ this._literal = n.getId();
+ }
+ //---------------------------------------------------------------------
+ public ArtifactMetadata getMd()
+ {
+ return _node.getMd();
+ }
+
+ public int getLiteral()
+ {
+ return _literal;
+ }
+ //---------------------------------------------------------------------
+ @Override
+ public String toString()
+ {
+ return _node.toString()+" -> X"+_literal;
+ }
+
+ //---------------------------------------------------------------------
+ //---------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
new file mode 100644
index 0000000..d6bfdf9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
@@ -0,0 +1,60 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+
+public abstract class AbstractSimpleTreeTest
+extends TestCase
+{
+ // b:b:1
+ // /
+ // a:a:1 b:b:2
+ // \ /
+ // c:c:1
+ // \ b:b:1
+
+ ArtifactMetadata mdaa1 = new ArtifactMetadata("a:a:1");
+ ArtifactMetadata mdbb1 = new ArtifactMetadata("b:b:1");
+ ArtifactMetadata mdbb2 = new ArtifactMetadata("b:b:2");
+ ArtifactMetadata mdcc1 = new ArtifactMetadata("c:c:1");
+
+ MetadataTreeNode aa1;
+ MetadataTreeNode bb1;
+ MetadataTreeNode cc1;
+ MetadataTreeNode cc1bb1;
+ MetadataTreeNode cc1bb2;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ aa1 = new MetadataTreeNode( mdaa1, null, mdaa1 );
+ bb1 = new MetadataTreeNode( mdbb1, aa1, mdbb1 );
+ aa1.addChild(bb1);
+ cc1 = new MetadataTreeNode( mdcc1, aa1, mdcc1 );
+ aa1.addChild(cc1);
+ cc1bb1 = new MetadataTreeNode( mdbb1, cc1, mdbb1 );
+ cc1.addChild( cc1bb1 );
+ cc1bb2 = new MetadataTreeNode( mdbb2, cc1, mdbb2 );
+ cc1.addChild( cc1bb2 );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
new file mode 100644
index 0000000..b4cfa58
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
@@ -0,0 +1,63 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Comparator;
+
+public class ClassicDepthComparatorTest
+extends AbstractSimpleTreeTest
+{
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+
+ public void testNearestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicDepthComparator();
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be closer'n cc1bb1", res > 0 );
+
+ res = comparator.compare( bb1, cc1 );
+ assertTrue( "bb1 should be the same as cc1", res == 0 );
+
+ res = comparator.compare( cc1, aa1 );
+ assertTrue( "cc1 should be deeper'n aa11", res < 0 );
+ }
+
+ public void testFarestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicDepthComparator(false);
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be closer'n cc1bb1", res < 0 );
+
+ res = comparator.compare( bb1, cc1 );
+ assertTrue( "bb1 should be the same as cc1", res == 0 );
+
+ res = comparator.compare( cc1, aa1 );
+ assertTrue( "cc1 should be deeper'n aa11", res > 0 );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
new file mode 100644
index 0000000..274cdc2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.util.Comparator;
+
+
+public class ClassicVersionComparatorTest
+extends AbstractSimpleTreeTest
+{
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+
+ public void testNewestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicVersionComparator();
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be the same cc1bb1", res == 0 );
+
+ res = comparator.compare( bb1, cc1bb2 );
+ assertTrue( "bb1 should be older'n cc1bb2", res < 0 );
+ }
+
+ public void testOldestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicVersionComparator(false);
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be the same cc1bb1", res == 0 );
+
+ res = comparator.compare( bb1, cc1bb2 );
+ assertTrue( "bb1 should be older'n cc1bb2", res > 0 );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java
new file mode 100644
index 0000000..2fadf9e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java
@@ -0,0 +1,287 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class DependencyTreeBuilderTest
+extends TestCase
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DependencyTreeBuilderTest.class );
+
+// ArtifactMetadata md = new ArtifactMetadata( "pmd:pmd:3.9" );
+// File repo = new File("./target/test-classes/localRepo");
+
+ File repoDir = new File("./target/test-classes/controlledRepo");
+
+ DependencyBuilder mt;
+ LocalRepositoryM2 localRepo;
+ List<Repository> reps;
+ DependencyProcessor processor;
+
+ //----------------------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ processor = new MetadataProcessorMock();
+ localRepo = new LocalRepositoryM2( "local", repoDir, new MetadataProcessorMock() );
+
+ reps = new ArrayList<Repository>(4);
+ reps.add( localRepo );
+
+ mt = new DependencyTreeBuilder( reps, null, null, null );
+ }
+ //----------------------------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testCircularDependency()
+ {
+ ArtifactMetadata circularMd = new ArtifactMetadata( "a:a:1" );
+ try
+ {
+ mt.buildTree( circularMd, null );
+ }
+ catch (MetadataTreeException e)
+ {
+ assertTrue( "expected circular dependency exception, but got "+e.getClass().getName()
+ , e instanceof MetadataTreeCircularDependencyException
+ );
+ return;
+ }
+ fail("circular dependency was not detected");
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testBuildTree()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ MetadataTreeNode root = mt.buildTree( md, null );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 4, root.countNodes() );
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveConflicts()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 4, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 3, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( "testResolveConflicts: " + res );
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflicts()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:4" );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 3, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ System.out.println( "testResolveScopedConflicts: " + res );
+
+ assertTrue( "no a:a:4 in the result", assertHasArtifact( res, "a:a:4" ) );
+ assertTrue( "no c:c:3 in the result", assertHasArtifact( res, "c:c:3" ) );
+
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFiltering()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFiltering";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:4" );
+
+ List<ArtifactBasicMetadata> exclusions = new ArrayList<ArtifactBasicMetadata>();
+ exclusions.add( new ArtifactBasicMetadata("c:c:3") );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 2, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ System.out.println( title+": " + res );
+
+ assertTrue( assertHasArtifact( res, "a:a:4" ) );
+ assertFalse( assertHasArtifact( res, "c:c:3" ) );
+
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFilteringOne()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFilteringOne";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ List<ArtifactBasicMetadata> exclusions = new ArrayList<ArtifactBasicMetadata>();
+ exclusions.add( new ArtifactBasicMetadata("c:c:2") );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 3, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( title+": " + res );
+
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFilteringTwo()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFilteringTwo";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ List<ArtifactBasicMetadata> exclusions = new ArrayList<ArtifactBasicMetadata>();
+ exclusions.add( new ArtifactBasicMetadata("b:b:2") );
+ exclusions.add( new ArtifactBasicMetadata("c:c:2") );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 2, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:1" ) );
+ assertFalse( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( title+": " + res );
+
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFilteringAll()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFilteringTwo";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ List<ArtifactBasicMetadata> exclusions = new ArrayList<ArtifactBasicMetadata>();
+ exclusions.add( new ArtifactBasicMetadata("b:b:1") );
+ exclusions.add( new ArtifactBasicMetadata("b:b:2") );
+ exclusions.add( new ArtifactBasicMetadata("c:c:2") );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 1, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 1, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertFalse( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
+ assertFalse( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( title+": " + res );
+
+ }
+ //----------------------------------------------------------------------------------------------
+ public void testResolveBigConflicts()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:3" );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+
+System.out.println("BigRes: "+res);
+
+ assertEquals( "wrong tree size", 3, res.size() );
+
+// assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+// assertTrue( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
+// assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+ }
+ //----------------------------------------------------------------------------------------------
+ private static boolean assertHasArtifact( List<ArtifactMetadata> res, String gav )
+ {
+ ArtifactMetadata gavMd = new ArtifactMetadata(gav);
+
+ for( ArtifactMetadata md : res )
+ if( md.sameGAV( gavMd ) )
+ return true;
+
+ return false;
+ }
+ //----------------------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
new file mode 100644
index 0000000..fc79e41
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
@@ -0,0 +1,567 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.metadata.sat;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.metadata.ClassicDepthComparator;
+import org.apache.maven.mercury.metadata.ClassicVersionComparator;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+
+/**
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ */
+public class DefaultSatSolverTest
+ extends TestCase
+{
+ DefaultSatSolver ss;
+ String title;
+
+ MetadataTreeNode tree;
+
+ ArtifactMetadata a1 = new ArtifactMetadata("t:a:1");
+ ArtifactMetadata b1 = new ArtifactMetadata("t:b:1");
+ ArtifactMetadata b2 = new ArtifactMetadata("t:b:2");
+ ArtifactMetadata b3 = new ArtifactMetadata("t:b:3");
+ ArtifactMetadata c1 = new ArtifactMetadata("t:c:1");
+ ArtifactMetadata c2 = new ArtifactMetadata("t:c:2");
+
+ ArtifactMetadata d1 = new ArtifactMetadata("t:d:1");
+
+ //----------------------------------------------------------------------
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+ //----------------------------------------------------------------------
+ public void testDedupe()
+ {
+ List<MetadataTreeNode> list = new ArrayList<MetadataTreeNode>();
+
+ list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata("b:b:1"), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata("b:b:1"), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
+
+ DefaultSatSolver.removeDuplicateGAVs( list );
+
+ System.out.println(list);
+
+ assertEquals( 2, list.size() );
+ }
+
+
+ private int f( int a, int b )
+ {
+ return -a + b;
+ }
+ //----------------------------------------------------------------------
+ // d:d:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ //----------------------------------------------------------------------
+ public void testReNumeration()
+ throws SatException, IOException
+ {
+ title = "testReNumeration";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
+ .addQuery(d1)
+ .addQuery(b2)
+ ;
+
+ ArtifactBasicMetadata c2q = new ArtifactBasicMetadata("t:c:[2,4)");
+
+ MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 )
+ .addQuery( c2q )
+ ;
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
+ .addQuery( c1 )
+ ;
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1
+ .addChild(nd1)
+ .addChild(nb2)
+ ;
+
+ nd1
+ .addChild(nc2)
+ ;
+
+ nb2
+ .addChild(nc1)
+ ;
+
+ MetadataTreeNode.reNumber( na1, 1 );
+
+ assertEquals( 1, na1.getId() );
+
+ assertEquals( 2, nd1.getId() );
+
+ }
+ //----------------------------------------------------------------------
+ public void testOptimization()
+ throws SatException
+ {
+ title = "optimization test";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ // b:b:1
+ // /
+ // a:a:1 b:b:2
+ // \ /
+ // c:c:1
+ // \ b:b:1
+
+ ArtifactMetadata mdaa1 = new ArtifactMetadata("a:a:1");
+ ArtifactMetadata mdbb1 = new ArtifactMetadata("b:b:1");
+ ArtifactMetadata mdbb2 = new ArtifactMetadata("b:b:2");
+ ArtifactMetadata mdcc1 = new ArtifactMetadata("c:c:1");
+
+ MetadataTreeNode aa1;
+ MetadataTreeNode bb1;
+ MetadataTreeNode cc1;
+ MetadataTreeNode cc1bb1;
+ MetadataTreeNode cc1bb2;
+
+ aa1 = new MetadataTreeNode( mdaa1, null, mdaa1 );
+ bb1 = new MetadataTreeNode( mdbb1, aa1, mdbb1 );
+ aa1.addChild(bb1);
+ cc1 = new MetadataTreeNode( mdcc1, aa1, mdcc1 );
+ aa1.addChild(cc1);
+ cc1bb1 = new MetadataTreeNode( mdbb1, cc1, mdbb1 );
+ cc1.addChild( cc1bb1 );
+ cc1bb2 = new MetadataTreeNode( mdbb2, cc1, mdbb2 );
+ cc1.addChild( cc1bb2 );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( aa1 );
+
+ List< Comparator<MetadataTreeNode>> comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ comparators.add( new ClassicDepthComparator() );
+ comparators.add( new ClassicVersionComparator() );
+
+ Map<String, List<MetadataTreeNode>> buckets = new HashMap<String, List<MetadataTreeNode>>(128);
+ DefaultSatSolver.fillBuckets( buckets, aa1 );
+ DefaultSatSolver.sortBuckets( buckets, comparators );
+
+ assertNotNull("no resulting map", buckets );
+ assertEquals( "bad map size", 3, buckets.size() );
+
+ System.out.println("optimized buckets: "+buckets);
+
+ List<MetadataTreeNode> bbl = buckets.get("b:b");
+ assertNotNull("no b:b list", bbl );
+ assertEquals( "bad b:b list size", 2, bbl.size() );
+
+ MetadataTreeNode first = bbl.get(0);
+ assertNotNull("bad first element", first );
+ assertEquals( "bad first element's GAV", "b:b:1::jar", first.getMd().getGAV() );
+ assertEquals( "bad first element's depth", 1, first.getDepth() );
+
+ MetadataTreeNode second = bbl.get(1);
+ assertNotNull("bad second element", second );
+ assertEquals( "bad second element's GAV", "b:b:2::jar", second.getMd().getGAV() );
+ assertEquals( "bad second element's depth", 2, second.getDepth() );
+ }
+ //----------------------------------------------------------------------
+ //
+ // a1
+ // and (b1 or b2 or b3)
+ // and ((c1 and b1) or (c2 and (b2 or b3))
+ //
+ //----------------------------------------------------------------------
+ public void testClassicResolution()
+ throws SatException
+ {
+ title = "simplest 3-node tree";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
+ .addQuery(b1)
+ .addQuery(c1)
+ ;
+
+ MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b1 );
+ MetadataTreeNode nb3 = new MetadataTreeNode( b3, na1, b1 );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, na1, c1 )
+ .addQuery(b1)
+ ;
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, na1, c1 )
+ .addQuery(b1)
+ ;
+
+ na1
+ .addChild(nb1)
+ .addChild(nb2)
+ .addChild(nb3)
+ .addChild(nc1)
+ .addChild(nc2)
+ ;
+
+ nc1
+ .addChild(nb1)
+ ;
+
+ nc2
+ .addChild(nb2)
+ .addChild(nb3)
+ ;
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print("model: " );
+ for( int i=0; i<m.length; i++ )
+ System.out.print(" "+m[i]);
+ System.out.println("");
+
+ assertNotNull( res );
+
+ System.out.print("Result:");
+ for( ArtifactMetadata md : res )
+ {
+ System.out.print(" "+md);
+ }
+ System.out.println("");
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( b2 ) );
+ assertTrue( res.contains( c2 ) );
+ }
+ //----------------------------------------------------------------------
+ // b:b:1 - c:c:2
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ //----------------------------------------------------------------------
+ public void testSingleVersionResolution()
+ throws SatException
+ {
+ title = "testSingleVersionResolution";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
+ .addQuery(b1)
+ .addQuery(b2)
+ ;
+
+ MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 )
+ .addQuery( c2 )
+ ;
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
+ .addQuery( c1 )
+ ;
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nb1, c2 );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1
+ .addChild(nb1)
+ .addChild(nb2)
+ ;
+
+ nb1
+ .addChild(nc2)
+ ;
+
+ nb2
+ .addChild(nc1)
+ ;
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
+
+ ss.applyPolicies( cl );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print("model: " );
+
+ for( int i=0; i<m.length; i++ )
+ System.out.print(" "+m[i]);
+ System.out.println("");
+
+ assertNotNull( res );
+
+ System.out.print("Result:");
+ for( ArtifactMetadata md : res )
+ {
+ System.out.print(" "+md);
+ }
+ System.out.println("");
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( b2 ) );
+ assertTrue( res.contains( c1 ) );
+ }
+ //----------------------------------------------------------------------
+ // b:b:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ //----------------------------------------------------------------------
+ public void testStrictRangeResolution()
+ throws SatException
+ {
+ title = "testStrictRangeResolution";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
+ .addQuery(b1)
+ .addQuery(b2)
+ ;
+
+ ArtifactBasicMetadata c2q = new ArtifactBasicMetadata("t:c:[2,4)");
+
+ MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 )
+ .addQuery( c2q )
+ ;
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
+ .addQuery( c1 )
+ ;
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nb1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1
+ .addChild(nb1)
+ .addChild(nb2)
+ ;
+
+ nb1
+ .addChild(nc2)
+ ;
+
+ nb2
+ .addChild(nc1)
+ ;
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
+
+ ss.applyPolicies( cl );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print("model: " );
+
+ for( int i=0; i<m.length; i++ )
+ System.out.print(" "+m[i]);
+ System.out.println("");
+
+ assertNotNull( res );
+
+ System.out.print("Result:");
+ for( ArtifactMetadata md : res )
+ {
+ System.out.print(" "+md);
+ }
+ System.out.println("");
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( b2 ) );
+ assertTrue( res.contains( c1 ) );
+ }
+ //----------------------------------------------------------------------
+ // d:d:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ //----------------------------------------------------------------------
+ public void testStrictRangeResolution2()
+ throws SatException
+ {
+ title = "testStrictRangeResolution2";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
+ .addQuery(d1)
+ .addQuery(b2)
+ ;
+
+ ArtifactBasicMetadata c2q = new ArtifactBasicMetadata("t:c:[2,4)");
+
+ MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 )
+ .addQuery( c2q )
+ ;
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
+ .addQuery( c1 )
+ ;
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1
+ .addChild(nd1)
+ .addChild(nb2)
+ ;
+
+ nd1
+ .addChild(nc2)
+ ;
+
+ nb2
+ .addChild(nc1)
+ ;
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
+
+ ss.applyPolicies( cl );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print("model: " );
+
+ for( int i=0; i<m.length; i++ )
+ System.out.print(" "+m[i]);
+ System.out.println("");
+
+ assertNotNull( res );
+
+ System.out.print("Result:");
+ for( ArtifactMetadata md : res )
+ {
+ System.out.print(" "+md);
+ }
+ System.out.println("");
+
+ assertEquals( 4, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( d1 ) );
+ assertTrue( res.contains( b2 ) );
+ assertTrue( res.contains( c2 ) );
+ }
+
+ //----------------------------------------------------------------------
+ // d:d:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ //----------------------------------------------------------------------
+ public void testSolveAsTree()
+ throws SatException, IOException
+ {
+ title = "testSolveAsTree";
+ System.out.println("\n\n==========================\n"+title+"\n");
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
+ .addQuery(d1)
+ .addQuery(b2)
+ ;
+
+ ArtifactBasicMetadata c2q = new ArtifactBasicMetadata("t:c:[2,4)");
+
+ MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 )
+ .addQuery( c2q )
+ ;
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
+ .addQuery( c1 )
+ ;
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1
+ .addChild(nd1)
+ .addChild(nb2)
+ ;
+
+ nd1
+ .addChild(nc2)
+ ;
+
+ nb2
+ .addChild(nc1)
+ ;
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
+
+ ss.applyPolicies( cl );
+
+ MetadataTreeNode res = ss.solveAsTree();
+
+ assertNotNull( res );
+
+ MetadataTreeNode.showNode( res, 0 );
+
+ assertEquals( 4, res.countNodes() );
+
+ }
+ //----------------------------------------------------------------------
+ //----------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/1/a-1.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/1/a-1.pom
new file mode 100644
index 0000000..61cd0de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/1/a-1.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/2/a-2.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/2/a-2.pom
new file mode 100644
index 0000000..b09ea5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/2/a-2.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>[1,2]</version>
+ </dependency>
+
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3)</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/3/a-3.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/3/a-3.pom
new file mode 100644
index 0000000..dcb5695
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/3/a-3.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>3</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>(1,)</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/4/a-4.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/4/a-4.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/4/a-4.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/maven-metadata.xml
new file mode 100644
index 0000000..672cfe8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/maven-metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/1/b-1.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/1/b-1.pom
new file mode 100644
index 0000000..040ffb3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/1/b-1.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/2/b-2.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/2/b-2.pom
new file mode 100644
index 0000000..18af26d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/2/b-2.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/1/c-1.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/1/c-1.pom
new file mode 100644
index 0000000..e91acd6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/1/c-1.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/2/c-2.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/2/c-2.pom
new file mode 100644
index 0000000..9f23282
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/2/c-2.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>2</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/3/c-3.pom b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/3/c-3.pom
new file mode 100644
index 0000000..8d43f00
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/3/c-3.pom
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>3</version>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/pom.xml b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/pom.xml
new file mode 100644
index 0000000..f114408
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/pom.xml
@@ -0,0 +1,87 @@
+<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.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ <name>Mercury Shared Metadata</name>
+ <description />
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>1.0-beta-3.0.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ </dependency>
+
+ <!--
+ | for some reason transitive does not work - have to copy deps from mercury-util
+ | but it works fine under m2eclipse
+ -->
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AbstractOperand.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AbstractOperand.java
new file mode 100644
index 0000000..6b66d9b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AbstractOperand.java
@@ -0,0 +1,31 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractOperand
+{
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AddPluginOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AddPluginOperation.java
new file mode 100644
index 0000000..9f50d4e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AddPluginOperation.java
@@ -0,0 +1,92 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * adds new plugin to metadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class AddPluginOperation
+ implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( AddPluginOperation.class );
+
+ private Plugin plugin;
+
+ /**
+ * @throws MetadataException
+ */
+ public AddPluginOperation( PluginOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if ( data == null || !( data instanceof PluginOperand ) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "PluginOperand", data == null ? "null" : data
+ .getClass().getName() ) );
+
+ plugin = ( (PluginOperand) data ).getOperand();
+ }
+
+ /**
+ * add version to the in-memory metadata instance
+ *
+ * @param metadata
+ * @param version
+ * @return
+ * @throws MetadataException
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException
+ {
+ if ( metadata == null )
+ return false;
+
+ List<Plugin> plugins = metadata.getPlugins();
+
+ for ( Iterator<Plugin> pi = plugins.iterator(); pi.hasNext(); )
+ {
+ Plugin p = pi.next();
+
+ if ( p.getArtifactId().equals( plugin.getArtifactId() ) )
+ {
+ // plugin already enlisted
+ return false;
+ }
+ }
+
+ // not found, add it
+ plugins.add( plugin );
+
+ return true;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AddVersionOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AddVersionOperation.java
new file mode 100644
index 0000000..6871d3e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/AddVersionOperation.java
@@ -0,0 +1,95 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import java.util.List;
+
+import org.apache.maven.mercury.util.TimeUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * adds new version to metadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class AddVersionOperation
+ implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( AddVersionOperation.class );
+
+ private String version;
+
+ /**
+ * @throws MetadataException
+ *
+ */
+ public AddVersionOperation( StringOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if( data == null || !(data instanceof StringOperand) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "StringOperand", data == null ? "null" : data.getClass().getName() ) );
+
+ version = ((StringOperand)data).getOperand();
+ }
+
+ /**
+ * add version to the in-memory metadata instance
+ *
+ * @param metadata
+ * @param version
+ * @return
+ * @throws MetadataException
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException
+ {
+ if( metadata == null )
+ return false;
+
+ Versioning vs = metadata.getVersioning();
+
+ if( vs == null )
+ {
+ vs = new Versioning();
+ metadata.setVersioning( vs );
+ }
+
+ if( vs.getVersions() != null && vs.getVersions().size() > 0 )
+ {
+ List<String> vl = vs.getVersions();
+ if( vl.contains( version ) )
+ return false;
+ }
+
+ vs.addVersion( version );
+ vs.setLastUpdated( TimeUtil.getUTCTimestamp() );
+
+ return true;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MergeOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MergeOperation.java
new file mode 100644
index 0000000..ee9bc5c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MergeOperation.java
@@ -0,0 +1,187 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MergeOperation
+ implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( MergeOperation.class );
+
+ Metadata sourceMetadata;
+
+ /**
+ * @throws MetadataException
+ *
+ */
+ public MergeOperation( MetadataOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ /**
+ * merge the supplied operand Metadata into this metadata
+ */
+ public boolean perform( Metadata targetMetadata )
+ throws MetadataException
+ {
+ boolean changed = false;
+
+ if( sourceMetadata == null || targetMetadata == null )
+ return false;
+
+ for ( java.util.Iterator i = sourceMetadata.getPlugins().iterator(); i.hasNext(); )
+ {
+ Plugin plugin = (Plugin) i.next();
+ boolean found = false;
+
+ for ( java.util.Iterator it = targetMetadata.getPlugins().iterator(); it.hasNext() && !found; )
+ {
+ Plugin preExisting = (Plugin) it.next();
+
+ if ( preExisting.getPrefix().equals( plugin.getPrefix() ) )
+ {
+ found = true;
+ }
+ }
+
+ if ( !found )
+ {
+ Plugin mappedPlugin = new Plugin();
+
+ mappedPlugin.setArtifactId( plugin.getArtifactId() );
+
+ mappedPlugin.setPrefix( plugin.getPrefix() );
+
+ mappedPlugin.setName( plugin.getName() );
+
+ targetMetadata.addPlugin( mappedPlugin );
+
+ changed = true;
+ }
+ }
+
+ Versioning sourceVersioning = sourceMetadata.getVersioning();
+ if ( sourceVersioning != null )
+ {
+ Versioning targetVersioning = targetMetadata.getVersioning();
+ if ( targetVersioning == null )
+ {
+ targetVersioning = new Versioning();
+ targetMetadata.setVersioning( targetVersioning );
+ changed = true;
+ }
+
+ for ( java.util.Iterator i = sourceVersioning.getVersions().iterator(); i.hasNext(); )
+ {
+ String version = (String) i.next();
+ if ( !targetVersioning.getVersions().contains( version ) )
+ {
+ changed = true;
+ targetVersioning.getVersions().add( version );
+ }
+ }
+
+ if ( "null".equals( sourceVersioning.getLastUpdated() ) )
+ {
+ sourceVersioning.setLastUpdated( null );
+ }
+
+ if ( "null".equals( targetVersioning.getLastUpdated() ) )
+ {
+ targetVersioning.setLastUpdated( null );
+ }
+
+ if ( sourceVersioning.getLastUpdated() == null || sourceVersioning.getLastUpdated().length() == 0 )
+ {
+ // this should only be for historical reasons - we assume local is newer
+ sourceVersioning.setLastUpdated( targetVersioning.getLastUpdated() );
+ }
+
+ if ( targetVersioning.getLastUpdated() == null || targetVersioning.getLastUpdated().length() == 0 ||
+ sourceVersioning.getLastUpdated().compareTo( targetVersioning.getLastUpdated() ) >= 0 )
+ {
+ changed = true;
+ targetVersioning.setLastUpdated( sourceVersioning.getLastUpdated() );
+
+ if ( sourceVersioning.getRelease() != null )
+ {
+ changed = true;
+ targetVersioning.setRelease( sourceVersioning.getRelease() );
+ }
+ if ( sourceVersioning.getLatest() != null )
+ {
+ changed = true;
+ targetVersioning.setLatest( sourceVersioning.getLatest() );
+ }
+
+ Snapshot s = targetVersioning.getSnapshot();
+ Snapshot snapshot = sourceVersioning.getSnapshot();
+ if ( snapshot != null )
+ {
+ if ( s == null )
+ {
+ s = new Snapshot();
+ targetVersioning.setSnapshot( s );
+ changed = true;
+ }
+
+ // overwrite
+ if ( s.getTimestamp() == null ? snapshot.getTimestamp() != null
+ : !s.getTimestamp().equals( snapshot.getTimestamp() ) )
+ {
+ s.setTimestamp( snapshot.getTimestamp() );
+ changed = true;
+ }
+ if ( s.getBuildNumber() != snapshot.getBuildNumber() )
+ {
+ s.setBuildNumber( snapshot.getBuildNumber() );
+ changed = true;
+ }
+ if ( s.isLocalCopy() != snapshot.isLocalCopy() )
+ {
+ s.setLocalCopy( snapshot.isLocalCopy() );
+ changed = true;
+ }
+ }
+ }
+ }
+ return changed;
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if( data == null || !(data instanceof MetadataOperand) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "MetadataOperand", data == null ? "null" : data.getClass().getName() ) );
+
+ sourceMetadata = ((MetadataOperand)data).getOperand();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/Messages.properties b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/Messages.properties
new file mode 100644
index 0000000..ff6064b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/Messages.properties
@@ -0,0 +1,22 @@
+#
+# 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.
+#
+bad.operand=Operand is not correct: expected {0}, bit got {1}
+empty.operand=Operand cannot be null or empty: {0}
+bad.string.data=cannot initialize from an empty string: {0}
+bad.snapshot.data=null snapshot passed as parameter
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataBuilder.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataBuilder.java
new file mode 100644
index 0000000..760b575
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataBuilder.java
@@ -0,0 +1,260 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.apache.maven.mercury.repository.metadata.io.xpp3.MetadataXpp3Writer;
+import org.apache.maven.mercury.util.TimeUtil;
+
+/**
+ * utility class to help with de/serializing metadata from/to XML
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataBuilder
+{
+
+ /**
+ * instantiate Metadata from a stream
+ *
+ * @param in
+ * @return
+ * @throws MetadataException
+ */
+ public static Metadata read( InputStream in )
+ throws MetadataException
+ {
+ try
+ {
+ return new MetadataXpp3Reader().read( in );
+ }
+ catch( Exception e )
+ {
+ throw new MetadataException(e);
+ }
+ }
+
+ /**
+ * instantiate Metadata from a byte array
+ *
+ * @param in
+ * @return
+ * @throws MetadataException
+ */
+ public static Metadata getMetadata( byte [] in )
+ throws MetadataException
+ {
+ if( in == null || in.length < 10 )
+ return null;
+
+ try
+ {
+ return new MetadataXpp3Reader().read( new ByteArrayInputStream(in) );
+ }
+ catch( Exception e )
+ {
+ throw new MetadataException(e);
+ }
+ }
+
+ /**
+ * serialize metadata into xml
+ *
+ * @param metadata to serialize
+ * @param out output to this stream
+ * @return same metadata as was passed in
+ * @throws MetadataException if any problems occured
+ */
+ public static Metadata write( Metadata metadata, OutputStream out )
+ throws MetadataException
+ {
+ if( metadata == null )
+ return metadata;
+
+ try
+ {
+ new MetadataXpp3Writer().write( new OutputStreamWriter(out), metadata );
+
+ return metadata;
+ }
+ catch( Exception e )
+ {
+ throw new MetadataException(e);
+ }
+ }
+
+ /**
+ * apply a list of operators to the specified serialized Metadata object
+ *
+ * @param metadataBytes - serialized Metadata object
+ * @param mutators - operators
+ * @return changed serialized object
+ * @throws MetadataException
+ */
+ public static byte [] changeMetadata( byte [] metadataBytes, List<MetadataOperation> mutators )
+ throws MetadataException
+ {
+ if( mutators == null || mutators.size() < 1 )
+ return metadataBytes;
+
+ Metadata metadata;
+ boolean changed = false;
+
+ if( metadataBytes == null || metadataBytes.length < 10 )
+ {
+ metadata = new Metadata();
+ }
+ else
+ {
+ ByteArrayInputStream in = new ByteArrayInputStream( metadataBytes );
+ metadata = read( in );
+ }
+
+ for( MetadataOperation op : mutators )
+ {
+ changed = op.perform( metadata ) || changed;
+ }
+
+// TODO og: does not work - check
+// if( !changed )
+// return metadataBytes;
+
+ return getBytes( metadata );
+ }
+
+ /**
+ * marshall metadata into a byte array
+ *
+ * @param metadata
+ * @return
+ * @throws MetadataException
+ */
+ public static byte [] getBytes( Metadata metadata )
+ throws MetadataException
+ {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ write( metadata, out );
+
+ byte [] res = out.toByteArray();
+
+ return res;
+ }
+ /**
+ * apply a list of operators to the specified serialized Metadata object
+ *
+ * @param metadataBytes - serialized Metadata object
+ * @param mutators - operators
+ * @return changed serialized object
+ * @throws MetadataException
+ */
+ public static byte [] changeMetadata( Metadata metadata, List<MetadataOperation> mutators )
+ throws MetadataException
+ {
+
+ boolean changed = false;
+
+ if( metadata == null )
+ {
+ metadata = new Metadata();
+ }
+
+ if( mutators != null && mutators.size() > 0 )
+ for( MetadataOperation op : mutators )
+ {
+ changed = op.perform( metadata ) || changed;
+ }
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ write( metadata, out );
+
+ byte [] res = out.toByteArray();
+
+ return res;
+ }
+
+ public static byte [] changeMetadata( byte [] metadataBytes, MetadataOperation op )
+ throws MetadataException
+ {
+ ArrayList<MetadataOperation> ops = new ArrayList<MetadataOperation>(1);
+ ops.add( op );
+
+ return changeMetadata( metadataBytes, ops );
+ }
+
+ public static byte [] changeMetadata( Metadata metadata, MetadataOperation op )
+ throws MetadataException
+ {
+ ArrayList<MetadataOperation> ops = new ArrayList<MetadataOperation>(1);
+ ops.add( op );
+
+ return changeMetadata( metadata, ops );
+ }
+
+ /**
+ * update snapshot timestamp to now
+ *
+ * @param target
+ */
+ public static void updateTimestamp( Snapshot target )
+ {
+ target.setTimestamp( TimeUtil.getUTCTimestamp() );
+ }
+
+ /**
+ * update versioning's lastUpdated timestamp to now
+ *
+ * @param target
+ */
+ public static void updateTimestamp( Versioning target )
+ {
+ target.setLastUpdated( TimeUtil.getUTCTimestamp() );
+ }
+
+ public static Snapshot createSnapshot( String version )
+ {
+ Snapshot sn = new Snapshot();
+
+ if( version == null || version.length() < 3 )
+ return sn;
+
+ String utc = TimeUtil.getUTCTimestamp();
+ sn.setTimestamp( utc );
+
+ if( version.endsWith( Artifact.SNAPSHOT_VERSION ))
+ return sn;
+
+ String sbn = version.substring( version.lastIndexOf( '-' )+1 );
+ int bn = Integer.parseInt( sbn );
+ sn.setBuildNumber( bn );
+
+ return sn;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataException.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataException.java
new file mode 100644
index 0000000..2a606df
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataException.java
@@ -0,0 +1,68 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public MetadataException()
+ {
+ }
+
+ /**
+ * @param message
+ */
+ public MetadataException(
+ String message )
+ {
+ super( message );
+ }
+
+ /**
+ * @param cause
+ */
+ public MetadataException(
+ Throwable cause )
+ {
+ super( cause );
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public MetadataException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataOperand.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataOperand.java
new file mode 100644
index 0000000..b7a665c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataOperand.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataOperand
+ extends AbstractOperand
+{
+ private static final Language lang = new DefaultLanguage( MetadataOperand.class );
+ Metadata metadata;
+
+ public MetadataOperand( Metadata data )
+ {
+ if( data == null )
+ this.metadata = new Metadata();
+ else
+ this.metadata = data;
+ }
+
+ public Metadata getOperand()
+ {
+ return metadata;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataOperation.java
new file mode 100644
index 0000000..d7986d0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/MetadataOperation.java
@@ -0,0 +1,42 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+/**
+ * change of a Metadata object
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface MetadataOperation
+{
+ /** sets the operation's data */
+ public void setOperand( Object data )
+ throws MetadataException;
+
+ /**
+ * performs the operation
+ *
+ * @param metadata to perform on
+ * @return true if operation changed the data
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/PluginOperand.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/PluginOperand.java
new file mode 100644
index 0000000..4c7fd26
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/PluginOperand.java
@@ -0,0 +1,46 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * Plugin storage
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class PluginOperand
+ extends AbstractOperand
+{
+ private static final Language lang = new DefaultLanguage( PluginOperand.class );
+
+ Plugin plugin;
+
+ public PluginOperand( Plugin data )
+ {
+ this.plugin = data;
+ }
+
+ public Plugin getOperand()
+ {
+ return plugin;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/RemovePluginOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/RemovePluginOperation.java
new file mode 100644
index 0000000..3dc5c22
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/RemovePluginOperation.java
@@ -0,0 +1,91 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * removes a Plugin from Metadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class RemovePluginOperation
+ implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( RemovePluginOperation.class );
+
+ private Plugin plugin;
+
+ /**
+ * @throws MetadataException
+ */
+ public RemovePluginOperation( PluginOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if ( data == null || !( data instanceof PluginOperand ) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "PluginOperand", data == null ? "null" : data
+ .getClass().getName() ) );
+
+ plugin = ( (PluginOperand) data ).getOperand();
+ }
+
+ /**
+ * remove version to the in-memory metadata instance
+ *
+ * @param metadata
+ * @param version
+ * @return
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException
+ {
+ if ( metadata == null )
+ return false;
+
+ List<Plugin> plugins = metadata.getPlugins();
+
+ if ( plugins != null && plugins.size() > 0 )
+ {
+ for ( Iterator<Plugin> pi = plugins.iterator(); pi.hasNext(); )
+ {
+ Plugin p = pi.next();
+
+ if ( p.getArtifactId().equals( plugin.getArtifactId() ) )
+ {
+ pi.remove();
+
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/RemoveVersionOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/RemoveVersionOperation.java
new file mode 100644
index 0000000..1ba6460
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/RemoveVersionOperation.java
@@ -0,0 +1,93 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import java.util.List;
+
+import org.apache.maven.mercury.util.TimeUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * removes a version from Metadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RemoveVersionOperation
+implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( RemoveVersionOperation.class );
+
+ private String version;
+
+ /**
+ * @throws MetadataException
+ *
+ */
+ public RemoveVersionOperation( StringOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if( data == null || !(data instanceof StringOperand) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "StringOperand", data == null ? "null" : data.getClass().getName() ) );
+
+ version = ((StringOperand)data).getOperand();
+ }
+
+ /**
+ * remove version to the in-memory metadata instance
+ *
+ * @param metadata
+ * @param version
+ * @return
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException
+ {
+ if( metadata == null )
+ return false;
+
+ Versioning vs = metadata.getVersioning();
+
+ if( vs == null )
+ {
+ return false;
+ }
+
+ if( vs.getVersions() != null && vs.getVersions().size() > 0 )
+ {
+ List<String> vl = vs.getVersions();
+ if( ! vl.contains( version ) )
+ return false;
+ }
+
+ vs.removeVersion( version );
+ vs.setLastUpdated( TimeUtil.getUTCTimestamp() );
+
+ return true;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SetSnapshotOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SetSnapshotOperation.java
new file mode 100644
index 0000000..785ddad
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SetSnapshotOperation.java
@@ -0,0 +1,85 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.apache.maven.mercury.util.TimeUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * adds new snapshot to metadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class SetSnapshotOperation
+ implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( SetSnapshotOperation.class );
+
+ private Snapshot snapshot;
+
+ /**
+ * @throws MetadataException
+ *
+ */
+ public SetSnapshotOperation( SnapshotOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if( data == null || !(data instanceof SnapshotOperand) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "SnapshotOperand", data == null ? "null" : data.getClass().getName() ) );
+
+ snapshot = ((SnapshotOperand)data).getOperand();
+ }
+
+ /**
+ * add/replace snapshot to the in-memory metadata instance
+ *
+ * @param metadata
+ * @return
+ * @throws MetadataException
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException
+ {
+ if( metadata == null )
+ return false;
+
+ Versioning vs = metadata.getVersioning();
+
+ if( vs == null )
+ {
+ vs = new Versioning();
+ metadata.setVersioning( vs );
+ }
+
+ vs.setSnapshot( snapshot );
+ vs.setLastUpdated( TimeUtil.getUTCTimestamp() );
+
+ return true;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SetVersionOperation.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SetVersionOperation.java
new file mode 100644
index 0000000..d6308d5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SetVersionOperation.java
@@ -0,0 +1,86 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * adds new snapshot to metadata
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class SetVersionOperation
+ implements MetadataOperation
+{
+ private static final Language lang = new DefaultLanguage( SetVersionOperation.class );
+
+ private String version;
+
+ /**
+ * @throws MetadataException
+ *
+ */
+ public SetVersionOperation( StringOperand data )
+ throws MetadataException
+ {
+ setOperand( data );
+ }
+
+ public void setOperand( Object data )
+ throws MetadataException
+ {
+ if( data == null || !(data instanceof StringOperand) )
+ throw new MetadataException( lang.getMessage( "bad.operand", "SnapshotOperand", data == null ? "null" : data.getClass().getName() ) );
+
+ version = ((StringOperand)data).getOperand();
+ }
+
+ /**
+ * add/replace snapshot to the in-memory metadata instance
+ *
+ * @param metadata
+ * @return
+ * @throws MetadataException
+ */
+ public boolean perform( Metadata metadata )
+ throws MetadataException
+ {
+ if( metadata == null )
+ return false;
+
+ String vs = metadata.getVersion();
+
+ if( vs == null )
+ {
+ if( version == null )
+ return false;
+ }
+ else
+ if( vs.equals( version ) )
+ return false;
+
+ metadata.setVersion( version );
+
+ return true;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SnapshotOperand.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SnapshotOperand.java
new file mode 100644
index 0000000..337ad38
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/SnapshotOperand.java
@@ -0,0 +1,46 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * String storage
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class SnapshotOperand
+ extends AbstractOperand
+{
+ private static final Language lang = new DefaultLanguage( SnapshotOperand.class );
+ Snapshot snapshot;
+
+ public SnapshotOperand( Snapshot data )
+ {
+ this.snapshot = data;
+ }
+
+ public Snapshot getOperand()
+ {
+ return snapshot;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/StringOperand.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/StringOperand.java
new file mode 100644
index 0000000..e3921db
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/java/org/apache/maven/mercury/repository/metadata/StringOperand.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * String storage
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class StringOperand
+ extends AbstractOperand
+{
+ private static final Language lang = new DefaultLanguage( StringOperand.class );
+ String str;
+
+ public StringOperand( String data )
+ {
+ if( data == null || data.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "bad.string.data", data ) );
+ this.str = data;
+ }
+
+ public String getOperand()
+ {
+ return str;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/mdo/metadata.mdo b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/mdo/metadata.mdo
new file mode 100644
index 0000000..4d74e35
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/main/mdo/metadata.mdo
@@ -0,0 +1,170 @@
+<!--
+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.
+-->
+
+<model>
+ <id>repository-metadata</id>
+ <name>Metadata</name>
+ <description>Per-directory repository metadata.</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.mercury.repository.metadata</value>
+ </default>
+ </defaults>
+ <classes>
+ <class rootElement="true">
+ <name>Metadata</name>
+ <version>1.0.0</version>
+ <fields>
+ <field>
+ <name>groupId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>The groupId that is directory represents, if any.</description>
+ </field>
+ <field>
+ <name>artifactId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>The artifactId that is directory represents, if any.</description>
+ </field>
+ <field>
+ <name>version</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>The version that is directory represents, if any.</description>
+ </field>
+ <field>
+ <name>versioning</name>
+ <version>1.0.0</version>
+ <association>
+ <type>Versioning</type>
+ </association>
+ <description>Versioning information for the artifact.</description>
+ </field>
+ <field>
+ <name>plugins</name>
+ <version>1.0.0</version>
+ <description>The set of plugin mappings for the group</description>
+ <association>
+ <type>Plugin</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>Versioning</name>
+ <version>1.0.0</version>
+ <description>Versioning information for an artifact</description>
+ <fields>
+ <field>
+ <name>latest</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>What the latest version in the directory is, including snapshots</description>
+ </field>
+ <field>
+ <name>release</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>What the latest version in the directory is, of the releases</description>
+ </field>
+ <field>
+ <name>snapshot</name>
+ <version>1.0.0</version>
+ <association>
+ <type>Snapshot</type>
+ </association>
+ <description>The current snapshot data in use for this version</description>
+ </field>
+ <field>
+ <name>versions</name>
+ <version>1.0.0</version>
+ <description>Versions available for the artifact</description>
+ <association>
+ <type>String</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>lastUpdated</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>When the metadata was last updated</description>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>Snapshot</name>
+ <version>1.0.0</version>
+ <description>Snapshot data for the current version</description>
+ <fields>
+ <field>
+ <name>timestamp</name>
+ <version>1.0.0</version>
+ <description>The time it was deployed</description>
+ <type>String</type>
+ </field>
+ <field>
+ <name>buildNumber</name>
+ <version>1.0.0</version>
+ <description>The incremental build number</description>
+ <type>int</type>
+ </field>
+ <field>
+ <name>localCopy</name>
+ <version>1.0.0</version>
+ <description>Whether to use a local copy instead (with filename that includes the base version)</description>
+ <type>boolean</type>
+ <defaultValue>false</defaultValue>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>Plugin</name>
+ <version>1.0.0</version>
+ <description>Mapping information for a single plugin within this group</description>
+ <comment>NOTE: plugin version is _NOT_ included here, since it is resolved using a separate algorithm.</comment>
+ <fields>
+ <field>
+ <name>name</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0</version>
+ <description>Display name for the plugin.</description>
+ </field>
+ <field>
+ <name>prefix</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0</version>
+ <description>The plugin invocation prefix (i.e. eclipse for eclipse:eclipse)</description>
+ </field>
+ <field>
+ <name>artifactId</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0</version>
+ <description>The plugin artifactId</description>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataBuilderTest.java b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataBuilderTest.java
new file mode 100644
index 0000000..4e0a4d1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataBuilderTest.java
@@ -0,0 +1,390 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.metadata;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.util.FileUtil;
+import org.apache.maven.mercury.util.TimeUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataBuilderTest
+extends TestCase
+{
+ MetadataBuilder mb;
+ File testBase = new File("./target/test-classes/controlledRepo");
+
+ //-------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ File temp = new File( testBase, "group-maven-metadata-write.xml");
+ if( temp.exists() )
+ temp.delete();
+ }
+ //-------------------------------------------------------------------------
+ protected void tearDown()
+ throws Exception
+ {
+ }
+ //-------------------------------------------------------------------------
+ public void testReadGroupMd()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ Metadata mmd = MetadataBuilder.read( new FileInputStream( groupMd ) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 4, versions.size() );
+ }
+ //-------------------------------------------------------------------------
+ public void testWriteGroupMd()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata-write.xml");
+ Metadata md = new Metadata();
+ md.setGroupId( "a" );
+ md.setArtifactId( "a" );
+ md.setVersion( "1.0.0" );
+ Versioning v = new Versioning();
+ v.addVersion( "1.0.0" );
+ v.addVersion( "2.0.0" );
+ md.setVersioning( v );
+
+ MetadataBuilder.write( md, new FileOutputStream( groupMd ) );
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(groupMd) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("1.0.0", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 2, versions.size() );
+ }
+ //-------------------------------------------------------------------------
+ public void testAddPluginOperation()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ Plugin plugin = new Plugin();
+ plugin.setArtifactId( "some-artifact-id" );
+ plugin.setName( "Some Plugin" );
+ plugin.setPrefix( "some" );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, new AddPluginOperation( new PluginOperand(plugin) ) );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals(1, mmd.getPlugins().size() );
+ assertEquals("some-artifact-id", ((Plugin)mmd.getPlugins().get( 0 )).getArtifactId() );
+ assertEquals("Some Plugin", ((Plugin)mmd.getPlugins().get( 0 )).getName() );
+ assertEquals("some", ((Plugin)mmd.getPlugins().get( 0 )).getPrefix() );
+
+ // now let's drop plugin
+ targetBytes = FileUtil.readRawData( resFile );
+ resBytes = MetadataBuilder.changeMetadata( targetBytes, new RemovePluginOperation( new PluginOperand(plugin) ) );
+
+ Metadata mmd2 = MetadataBuilder.read( new ByteArrayInputStream(resBytes) );
+
+ assertNotNull( mmd2 );
+ assertEquals(0, mmd2.getPlugins().size() );
+ }
+ //-------------------------------------------------------------------------
+ public void testMergeOperation()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ Metadata source = new Metadata();
+ source.setGroupId( "a" );
+ source.setArtifactId( "a" );
+ source.setVersion( "1.0.0" );
+ Versioning v = new Versioning();
+ v.addVersion( "1.0.0" );
+ v.addVersion( "2.0.0" );
+ source.setVersioning( v );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, new MergeOperation( new MetadataOperand(source) ) );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("4", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 6, versions.size() );
+ assertTrue( versions.contains("1") );
+ assertTrue( versions.contains("2") );
+ assertTrue( versions.contains("3") );
+ assertTrue( versions.contains("4") );
+ assertTrue( versions.contains("1.0.0") );
+ assertTrue( versions.contains("2.0.0") );
+ }
+ //-------------------------------------------------------------------------
+ public void testAddVersionOperation()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, new AddVersionOperation( new StringOperand("5") ) );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("4", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 5, versions.size() );
+ assertTrue( versions.contains("1") );
+ assertTrue( versions.contains("2") );
+ assertTrue( versions.contains("3") );
+ assertTrue( versions.contains("4") );
+ assertTrue( versions.contains("5") );
+ }
+ //-------------------------------------------------------------------------
+ public void testAddVersionTwiceOperation()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ Metadata checkMd = MetadataBuilder.getMetadata( targetBytes );
+
+ assertNotNull( checkMd );
+ assertEquals("a", checkMd.getGroupId() );
+ assertEquals("a", checkMd.getArtifactId() );
+ assertEquals("4", checkMd.getVersion() );
+
+ assertNotNull( checkMd.getVersioning() );
+
+ List<String> checkVersions = checkMd.getVersioning().getVersions();
+
+ assertNotNull( checkVersions );
+ assertEquals( 4, checkVersions.size() );
+ assertTrue( checkVersions.contains("1") );
+ assertTrue( checkVersions.contains("2") );
+ assertTrue( checkVersions.contains("3") );
+ assertTrue( checkVersions.contains("4") );
+ assertFalse( checkVersions.contains("5") );
+
+ List<MetadataOperation> ops = new ArrayList<MetadataOperation>();
+ ops.add( new AddVersionOperation( new StringOperand("5") ) );
+ ops.add( new AddVersionOperation( new StringOperand("5") ) );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, ops );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("4", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 5, versions.size() );
+ assertTrue( versions.contains("1") );
+ assertTrue( versions.contains("2") );
+ assertTrue( versions.contains("3") );
+ assertTrue( versions.contains("4") );
+ assertTrue( versions.contains("5") );
+ }
+ //-------------------------------------------------------------------------
+ public void testRemoveVersionOperation()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, new RemoveVersionOperation( new StringOperand("1") ) );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("4", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 3, versions.size() );
+ assertTrue( !versions.contains("1") );
+ assertTrue( versions.contains("2") );
+ assertTrue( versions.contains("3") );
+ assertTrue( versions.contains("4") );
+ }
+ //-------------------------------------------------------------------------
+ public void testSetSnapshotOperation()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ Snapshot sn = new Snapshot();
+ sn.setLocalCopy( false );
+ sn.setBuildNumber( 35 );
+ String ts = TimeUtil.getUTCTimestamp();
+ sn.setTimestamp( ts );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, new SetSnapshotOperation( new SnapshotOperand(sn) ) );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("4", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+ Snapshot snapshot = mmd.getVersioning().getSnapshot();
+ assertNotNull( snapshot );
+ assertEquals( ts, snapshot.getTimestamp() );
+
+ // now let's drop sn
+ targetBytes = FileUtil.readRawData( resFile );
+ resBytes = MetadataBuilder.changeMetadata( targetBytes, new SetSnapshotOperation( new SnapshotOperand(null) ) );
+
+ Metadata mmd2 = MetadataBuilder.read( new ByteArrayInputStream(resBytes) );
+
+ assertNotNull( mmd2 );
+ assertEquals("a", mmd2.getGroupId() );
+ assertEquals("a", mmd2.getArtifactId() );
+ assertEquals("4", mmd2.getVersion() );
+
+ assertNotNull( mmd2.getVersioning() );
+
+ snapshot = mmd2.getVersioning().getSnapshot();
+ assertNull( snapshot );
+ }
+ //-------------------------------------------------------------------------
+ public void testMultipleOperations()
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataException
+ {
+ File groupMd = new File( testBase, "group-maven-metadata.xml");
+ byte [] targetBytes = FileUtil.readRawData( groupMd );
+
+ ArrayList<MetadataOperation> ops = new ArrayList<MetadataOperation>(2);
+ ops.add( new RemoveVersionOperation( new StringOperand("1") ) );
+ ops.add( new AddVersionOperation( new StringOperand("8") ) );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( targetBytes, ops );
+
+ File resFile = new File( testBase, "group-maven-metadata-write.xml");
+
+ FileUtil.writeRawData( resFile, resBytes );
+
+ Metadata mmd = MetadataBuilder.read( new FileInputStream(resFile) );
+
+ assertNotNull( mmd );
+ assertEquals("a", mmd.getGroupId() );
+ assertEquals("a", mmd.getArtifactId() );
+ assertEquals("4", mmd.getVersion() );
+
+ assertNotNull( mmd.getVersioning() );
+
+ List<String> versions = mmd.getVersioning().getVersions();
+
+ assertNotNull( versions );
+ assertEquals( 4, versions.size() );
+ assertTrue( !versions.contains("1") );
+ assertTrue( versions.contains("2") );
+ assertTrue( versions.contains("3") );
+ assertTrue( versions.contains("4") );
+ assertTrue( versions.contains("8") );
+ }
+ //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/test/resources/controlledRepo/group-maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/test/resources/controlledRepo/group-maven-metadata.xml
new file mode 100644
index 0000000..ddafe90
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/mercury-md-shared/src/test/resources/controlledRepo/group-maven-metadata.xml
@@ -0,0 +1,36 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/pom.xml b/mercury-1.0.0-alpha-2/mercury-md/pom.xml
new file mode 100644
index 0000000..4946494
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/pom.xml
@@ -0,0 +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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-md</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury Metadata</name>
+
+ <modules>
+ <module>mercury-md-sat</module>
+ <module>mercury-md-shared</module>
+ </modules>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-event</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-md/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-md/src/site/site.xml
new file mode 100644
index 0000000..58a5b5a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-md/src/site/site.xml
@@ -0,0 +1,34 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="modules"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/pom.xml b/mercury-1.0.0-alpha-2/mercury-plexus/pom.xml
new file mode 100644
index 0000000..3ae10aa
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/pom.xml
@@ -0,0 +1,86 @@
+<?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>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <artifactId>mercury-plexus</artifactId>
+ <name>Mercury Plexus Component</name>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ </plugin>
+
+ <!-- had to move all tests to IT: http://jira.codehaus.org/browse/MERCURY-47 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ </dependency>
+
+ </dependencies>
+</project>
+
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
new file mode 100644
index 0000000..52f9b51
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
@@ -0,0 +1,314 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactExclusionList;
+import org.apache.maven.mercury.artifact.ArtifactInclusionList;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactQueryList;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.metadata.DependencyBuilder;
+import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
+import org.apache.maven.mercury.metadata.MetadataTreeException;
+import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+
+/**
+ * default implementation of Mercury plexus wrapper
+ *
+ * @author Oleg Gusakov
+ */
+
+@Component( role=PlexusMercury.class )
+public class DefaultPlexusMercury
+extends AbstractLogEnabled
+implements PlexusMercury
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DefaultPlexusMercury.class );
+ private static final Language _lang = new DefaultLanguage( DefaultPlexusMercury.class );
+
+ @Requirement( hint="maven" )
+ DependencyProcessor dependencyProcessor;
+
+ @Requirement
+ PlexusContainer plexus;
+
+ //---------------------------------------------------------------
+ public DependencyProcessor findDependencyProcessor( String hint )
+ throws RepositoryException
+ {
+ if( dependencyProcessor != null )
+ return dependencyProcessor;
+
+ if( plexus == null )
+ throw new RepositoryException( _lang.getMessage( "no.plexus.injected" ) );
+
+ DependencyProcessor dp = null;
+
+ try
+ {
+ dp = plexus.lookup( DependencyProcessor.class, hint );
+
+ return dp;
+ }
+ catch( ComponentLookupException e )
+ {
+ throw new RepositoryException( _lang.getMessage( "no.dep.processor.injected", hint, e.getMessage() ) );
+ }
+ }
+ //---------------------------------------------------------------
+ public DependencyProcessor findDependencyProcessor()
+ throws RepositoryException
+ {
+ return findDependencyProcessor( "default" );
+ }
+ //---------------------------------------------------------------
+ public RemoteRepositoryM2 constructRemoteRepositoryM2(
+ String id
+ , URL serverUrl, String serverUser, String serverPass
+ , URL proxyUrl, String proxyUser, String proxyPass
+ , Set<StreamObserverFactory> readerStreamObservers
+ , Set<StreamVerifierFactory> readerStreamVerifiers
+ , Set<StreamObserverFactory> writerStreamObservers
+ , Set<StreamVerifierFactory> writerStreamVerifiers
+ )
+ throws RepositoryException
+ {
+ Server server = new Server( id, serverUrl );
+
+ server.setReaderStreamObserverFactories( readerStreamObservers );
+ server.setReaderStreamVerifierFactories( readerStreamVerifiers );
+ server.setWriterStreamObserverFactories( writerStreamObservers );
+ server.setWriterStreamVerifierFactories( writerStreamVerifiers );
+
+ if( serverUser != null )
+ {
+ Credentials cred = new Credentials( serverUser, serverPass );
+ server.setServerCredentials( cred );
+ }
+
+ if( proxyUrl != null )
+ {
+ server.setProxy( proxyUrl );
+
+ if( proxyUser != null )
+ {
+ Credentials cred = new Credentials( proxyUser, proxyPass );
+ server.setProxyCredentials( cred );
+ }
+ }
+
+ RemoteRepositoryM2 repo = new RemoteRepositoryM2( id, server, findDependencyProcessor() );
+
+ return repo;
+ }
+ //---------------------------------------------------------------
+ public LocalRepositoryM2 constructLocalRepositoryM2(
+ String id,
+ File rootDir,
+ Set<StreamObserverFactory> readerStreamObservers,
+ Set<StreamVerifierFactory> readerStreamVerifiers,
+ Set<StreamObserverFactory> writerStreamObservers,
+ Set<StreamVerifierFactory> writerStreamVerifiers
+ )
+ throws RepositoryException
+ {
+ Server server;
+ try
+ {
+ server = new Server( id, rootDir.toURL() );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new RepositoryException(e);
+ }
+
+ server.setReaderStreamObserverFactories( readerStreamObservers );
+ server.setReaderStreamVerifierFactories( readerStreamVerifiers );
+ server.setWriterStreamObserverFactories( writerStreamObservers );
+ server.setWriterStreamVerifierFactories( writerStreamVerifiers );
+
+ LocalRepositoryM2 repo = new LocalRepositoryM2( server, findDependencyProcessor() );
+
+ return repo;
+ }
+
+ //---------------------------------------------------------------
+ public void write( Repository repo, Artifact... artifacts )
+ throws RepositoryException
+ {
+ write( repo, Arrays.asList( artifacts ) );
+ }
+
+ public void write(
+ Repository repo,
+ Collection<Artifact> artifacts )
+ throws RepositoryException
+ {
+ if( repo == null )
+ throw new RepositoryException( _lang.getMessage( "null.repo" ) );
+
+ RepositoryWriter wr = repo.getWriter();
+
+ wr.writeArtifacts( artifacts );
+
+ }
+ //---------------------------------------------------------------
+ public List<Artifact> read( List<Repository> repos, List<ArtifactMetadata> artifacts )
+ throws RepositoryException
+ {
+ if( Util.isEmpty( repos ) )
+ throw new RepositoryException( _lang.getMessage( "null.repo" ) );
+
+ VirtualRepositoryReader vr = new VirtualRepositoryReader( repos );
+
+ ArtifactResults ar = vr.readArtifacts( artifacts );
+ if( ar.hasExceptions() )
+ throw new RepositoryException( ar.getExceptions().toString() );
+
+ if( !ar.hasResults() )
+ return null;
+
+ Map<ArtifactBasicMetadata, List<Artifact>> am = ar.getResults();
+
+ List<Artifact> al = new ArrayList<Artifact>();
+ for( Map.Entry<ArtifactBasicMetadata, List<Artifact>> e : am.entrySet() )
+ al.addAll( e.getValue() );
+
+ return al;
+
+ }
+ public List<Artifact> read( List<Repository> repo, ArtifactMetadata... artifacts )
+ throws RepositoryException
+ {
+ return read( repo, Arrays.asList( artifacts ) );
+ }
+ //---------------------------------------------------------------
+ public PgpStreamVerifierFactory createPgpReaderFactory(
+ boolean lenient,
+ boolean sufficient,
+ InputStream pubRing )
+ throws StreamVerifierException
+ {
+ return new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes(PgpStreamVerifierFactory.DEFAULT_EXTENSION,lenient,sufficient )
+ , pubRing
+ );
+ }
+
+ //---------------------------------------------------------------
+ public PgpStreamVerifierFactory createPgpWriterFactory(
+ boolean lenient,
+ boolean sufficient,
+ InputStream secRing,
+ String keyId,
+ String keyPass )
+ throws StreamVerifierException
+ {
+ return new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes(PgpStreamVerifierFactory.DEFAULT_EXTENSION,lenient,sufficient )
+ , secRing , keyId, keyPass
+ );
+ }
+
+ public List<ArtifactMetadata> resolve( List<Repository> repos, ArtifactScopeEnum scope, ArtifactMetadata metadata )
+ throws RepositoryException
+ {
+ return resolve( repos, scope, new ArtifactQueryList( metadata ), null, null );
+
+ }
+
+ //---------------------------------------------------------------
+ public List<ArtifactMetadata> resolve( List<Repository> repos
+ , ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
+ , ArtifactInclusionList inclusions
+ , ArtifactExclusionList exclusions
+ )
+ throws RepositoryException
+ {
+ if( Util.isEmpty( artifacts ) || artifacts.isEmpty() )
+ throw new IllegalArgumentException( _lang.getMessage( "no.artifacts" ) );
+
+ if( artifacts.size() > 1 )
+ throw new RepositoryException( "I dont support more'n 1 artifact now" );
+
+ try
+ {
+ DependencyBuilder depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, repos, null, null, null );
+
+ ArtifactBasicMetadata a = artifacts.getMetadataList().get( 0 );
+
+ if( inclusions != null && ! inclusions.isEmpty() )
+ a.setInclusions( inclusions.getMetadataList() );
+
+ if( exclusions != null && ! exclusions.isEmpty() )
+ a.setExclusions( exclusions.getMetadataList() );
+
+ MetadataTreeNode root = depBuilder.buildTree( a, scope );
+
+ List<ArtifactMetadata> res = depBuilder.resolveConflicts( root );
+
+ return res;
+ }
+ catch( MetadataTreeException e )
+ {
+ throw new RepositoryException( e );
+ }
+ }
+ //---------------------------------------------------------------
+ //---------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java
new file mode 100644
index 0000000..945c4e0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java
@@ -0,0 +1,115 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * Mercury adaptor for plexus logger
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryPlexusLogger
+implements IMercuryLogger
+{
+ Logger _logger;
+
+ public MercuryPlexusLogger( Logger logger )
+ {
+ this._logger = logger;
+ }
+
+ public void debug( String message )
+ {
+ _logger.debug( message );
+ }
+
+ public void debug( String message, Throwable throwable )
+ {
+ _logger.debug( message, throwable );
+ }
+
+ public void error( String message )
+ {
+ _logger.error( message );
+ }
+
+ public void error( String message, Throwable throwable )
+ {
+ _logger.error( message, throwable );
+ }
+
+ public void fatal( String message )
+ {
+ _logger.fatalError( message );
+ }
+
+ public void fatal( String message, Throwable throwable )
+ {
+ _logger.fatalError( message, throwable );
+ }
+
+ public void info( String message )
+ {
+ _logger.info( message );
+ }
+
+ public void info( String message, Throwable throwable )
+ {
+ _logger.info( message, throwable );
+ }
+
+ public void warn( String message )
+ {
+ _logger.warn( message );
+ }
+
+ public void warn( String message, Throwable throwable )
+ {
+ _logger.warn( message, throwable );
+ }
+
+ public boolean isDebugEnabled()
+ {
+ return _logger.isDebugEnabled();
+ }
+
+ public boolean isErrorEnabled()
+ {
+ return _logger.isErrorEnabled();
+ }
+
+ public boolean isFatalEnabled()
+ {
+ return _logger.isFatalErrorEnabled();
+ }
+
+ public boolean isInfoEnabled()
+ {
+ return _logger.isInfoEnabled();
+ }
+
+ public boolean isWarnEnabled()
+ {
+ return _logger.isWarnEnabled();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLoggerFactory.java b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLoggerFactory.java
new file mode 100644
index 0000000..901c542
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLoggerFactory.java
@@ -0,0 +1,59 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.IMercuryLoggerFactory;
+import org.apache.maven.mercury.logging.MercuryLoggingLevelEnum;
+import org.codehaus.plexus.logging.LoggerManager;
+
+/**
+ * mercury adaptor for plesux logger factory (manager)
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryPlexusLoggerFactory
+implements IMercuryLoggerFactory
+{
+ LoggerManager _loggerManager;
+
+ public MercuryPlexusLoggerFactory( LoggerManager loggerManager )
+ {
+ setLoggerFactory( loggerManager );
+ }
+
+ public IMercuryLogger getLogger( Class clazz )
+ {
+ return new MercuryPlexusLogger( _loggerManager.getLoggerForComponent( clazz.getName() ) );
+ }
+
+ public void setLoggerFactory( LoggerManager loggerManager )
+ {
+ this._loggerManager = loggerManager;
+ }
+
+ public void setThreshold( MercuryLoggingLevelEnum threshold )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/Messages.properties b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/Messages.properties
new file mode 100644
index 0000000..7d2c5fa
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/Messages.properties
@@ -0,0 +1,22 @@
+#
+# 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.
+#
+null.repo=cannot do anything with null repository
+no.artifacts=no Artifacts supplied - null or empty collection
+no.plexus.injected=plexus framework did not inject plexus container, cannot proceed
+no.dep.processor.injected=cannot find a {0} DependencyProcessor in plexus framework, cannot proceed. Error {1}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
new file mode 100644
index 0000000..5c32141
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
@@ -0,0 +1,205 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactExclusionList;
+import org.apache.maven.mercury.artifact.ArtifactInclusionList;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactQueryList;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+
+/**
+ *
+ * @author Oleg Gusakov
+ *
+ */
+public interface PlexusMercury
+{
+ public static String ROLE = PlexusMercury.class.getName();
+
+ /**
+ * lookup dependency processor in plexus and return the "default" implementation
+ *
+ * @return the dependency processor
+ * @throws RepositoryException
+ */
+ public DependencyProcessor findDependencyProcessor()
+ throws RepositoryException
+ ;
+
+ /**
+ * lookup dependency processor in plexus and return the requested implementation
+ *
+ * @param hint the plexus hint to lookup by
+ * @return the dependency processor
+ * @throws RepositoryException
+ */
+ public DependencyProcessor findDependencyProcessor( String hint )
+ throws RepositoryException
+ ;
+
+ /**
+ * create PGP factory to configure into repository reader for signature verification
+ *
+ * @param lenient
+ * @param sufficient
+ * @param pubRing - keyring with all acceptable public keys
+ * @return pgp verifier factory to be sent to Repository
+ * @throws PlexusMercuryException
+ */
+ public PgpStreamVerifierFactory createPgpReaderFactory( boolean lenient, boolean sufficient, InputStream pubRing )
+ throws StreamVerifierException;
+
+ /**
+ * create PGP factory to configure into repository writer for signature generation
+ *
+ * @param lenient
+ * @param sufficient
+ * @param secRing
+ * @param keyId
+ * @param keyPass
+ * @return pgp verifier factory to be sent to Repository
+ * @throws PlexusMercuryException
+ */
+ public PgpStreamVerifierFactory createPgpWriterFactory(
+ boolean lenient
+ , boolean sufficient
+ , InputStream secRing
+ , String keyId
+ , String keyPass
+ )
+ throws StreamVerifierException;
+
+ /**
+ * construct remote M2 repository and configure it with supplied attributes
+ *
+ * @param id
+ * @param serverUrl
+ * @param serverUser
+ * @param serverPass
+ * @param proxyUrl
+ * @param proxyUser
+ * @param proxyPass
+ * @param readerStreamObservers
+ * @param readerStreamVerifiers
+ * @param writerStreamObservers
+ * @param writerStreamVerifiers
+ * @return repository instance
+ * @throws PlexusMercuryException
+ */
+ public RemoteRepositoryM2 constructRemoteRepositoryM2(
+ String id
+ , URL serverUrl, String serverUser, String serverPass
+ , URL proxyUrl, String proxyUser, String proxyPass
+ , Set<StreamObserverFactory> readerStreamObservers
+ , Set<StreamVerifierFactory> readerStreamVerifiers
+ , Set<StreamObserverFactory> writerStreamObservers
+ , Set<StreamVerifierFactory> writerStreamVerifiers
+ )
+ throws RepositoryException;
+
+
+ /**
+ * construct local M2 repository and configure it with supplied attributes
+ *
+ * @param id
+ * @param rootDir
+ * @param readerStreamObservers
+ * @param readerStreamVerifiers
+ * @param writerStreamObservers
+ * @param writerStreamVerifiers
+ * @return repository instance
+ * @throws PlexusMercuryException
+ */
+ public LocalRepositoryM2 constructLocalRepositoryM2(
+ String id
+ , File rootDir
+ , Set<StreamObserverFactory> readerStreamObservers
+ , Set<StreamVerifierFactory> readerStreamVerifiers
+ , Set<StreamObserverFactory> writerStreamObservers
+ , Set<StreamVerifierFactory> writerStreamVerifiers
+ )
+ throws RepositoryException;
+
+ /**
+ * write (deploy) given Artifact(s) to the repository
+ *
+ * @param repo repository instance to search
+ * @param artfifacts to write
+ * @return
+ * @throws PlexusMercuryException
+ */
+ public void write( Repository repo, Artifact... artifacts )
+ throws RepositoryException;
+ public void write( Repository repo, Collection<Artifact> artifacts )
+ throws RepositoryException;
+
+ /**
+ * read given Artifact(s) from the repository
+ *
+ * @param repo repository instance to search
+ * @param artfifacts to read
+ * @return
+ * @throws PlexusMercuryException
+ */
+ public List<Artifact> read( List<Repository> repo, List<ArtifactMetadata> artifacts )
+ throws RepositoryException;
+ public List<Artifact> read( List<Repository> repo, ArtifactMetadata... artifacts )
+ throws RepositoryException;
+
+ /**
+ * resolve Artifact dependencies. The inclusions and exclusions accept version ranges as parameters
+ *
+ * @param repo repository instance to search
+ * @param scope scope enumeration member indication the scope to resolve for
+ * @param artfifacts list of artifact metadatas to resolve
+ * @param inclusions list of artifact metadatas to include - only these will be in the resolved classpath
+ * @param exclusions list of artifact metadatas to exclude - is applied after the inclusion, if one is present
+ * @return
+ * @throws PlexusMercuryException
+ */
+ public List<ArtifactMetadata> resolve( List<Repository> repos
+ , ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
+ , ArtifactInclusionList inclusions
+ , ArtifactExclusionList exclusions
+ )
+ throws RepositoryException;
+
+ public List<ArtifactMetadata> resolve( List<Repository> repos, ArtifactScopeEnum scope, ArtifactMetadata metadata )
+ throws RepositoryException;
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercuryException.java b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercuryException.java
new file mode 100644
index 0000000..8f78839
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercuryException.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+public class PlexusMercuryException
+extends Exception
+{
+
+ public PlexusMercuryException()
+ {
+ }
+
+ public PlexusMercuryException(
+ String message )
+ {
+ super( message );
+ }
+
+ public PlexusMercuryException(
+ Throwable cause )
+ {
+ super( cause );
+ }
+
+ public PlexusMercuryException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-plexus/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
new file mode 100644
index 0000000..b19b429
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
@@ -0,0 +1,245 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.plexus;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactExclusionList;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactQueryList;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class DefaultPlexusMercuryTest
+extends TestCase
+{
+ PlexusMercury pm;
+
+ RemoteRepositoryM2 remoteRepo;
+ LocalRepositoryM2 localRepo;
+
+ List<Repository> repos;
+
+ Artifact a;
+
+ protected static final String keyId = "0EDB5D91141BC4F2";
+
+ protected static final String secretKeyFile = "/pgp/secring.gpg";
+ protected static final String publicKeyFile = "/pgp/pubring.gpg";
+ protected static final String secretKeyPass = "testKey82";
+
+// public static final String SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_URL = "plexus.mercury.test.url";
+// private String remoteServerUrl = System.getProperty( SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_URL, null );
+ static String remoteServerUrl = "http://people.apache.org/~ogusakov/repos/test";
+ String artifactCoord = "org.apache.maven.mercury:mercury-repo-virtual:1.0.0-alpha-2-SNAPSHOT";
+
+ private File localRepoDir;
+
+ public static final String SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_USER = "plexus.mercury.test.user";
+ static String remoteServerUser = System.getProperty( SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_USER, "admin" );
+
+ public static final String SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_PASS = "plexus.mercury.test.pass";
+ static String remoteServerPass = System.getProperty( SYSTEM_PARAMETER_PLEXUS_MERCURY_TEST_PASS, "admin123" );
+
+ PgpStreamVerifierFactory pgpRF;
+ PgpStreamVerifierFactory pgpWF;
+
+ SHA1VerifierFactory sha1F;
+ HashSet<StreamVerifierFactory> vFacSha1;
+
+ VirtualRepositoryReader vrr;
+
+ //-------------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ // prep. Artifact
+ File artifactBinary = File.createTempFile( "test-repo-writer", "bin" );
+ FileUtil.writeRawData( artifactBinary, getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+
+ a = new DefaultArtifact( new ArtifactBasicMetadata("org.apache.maven.mercury:mercury-core:2.0.9") );
+
+ a.setPomBlob( FileUtil.readRawData( getClass().getResourceAsStream( "/maven-core-2.0.9.pom" ) ) );
+ a.setFile( artifactBinary );
+
+ // prep Repository
+ pm = new DefaultPlexusMercury();
+
+ pgpRF = pm.createPgpReaderFactory( true, true, getClass().getResourceAsStream( publicKeyFile ) );
+ pgpWF = pm.createPgpWriterFactory( true, true, getClass().getResourceAsStream( secretKeyFile ), keyId, secretKeyPass );
+
+ sha1F = new SHA1VerifierFactory( true, false );
+
+ remoteRepo = pm.constructRemoteRepositoryM2( "testRepo"
+ , new URL(remoteServerUrl), remoteServerUser, remoteServerPass
+ , null, null, null
+ , null, FileUtil.vSet( pgpRF, sha1F )
+ , null, FileUtil.vSet( pgpWF, sha1F )
+ );
+
+// localRepoDir = File.createTempFile( "local-", "-repo" );
+ localRepoDir = new File( "./target/local" );
+ localRepoDir.delete();
+ localRepoDir.mkdir();
+
+ localRepo = new LocalRepositoryM2( "testLocalRepo", localRepoDir, pm.findDependencyProcessor() );
+
+ repos = new ArrayList<Repository>();
+ repos.add( localRepo );
+ repos.add( remoteRepo );
+
+ vrr = new VirtualRepositoryReader(repos);
+
+ }
+ //-------------------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ if( remoteServerUrl == null )
+ return;
+
+ super.tearDown();
+ }
+ //----------------------------------------------------------------------------------------------
+ private static boolean assertHasArtifact( List<ArtifactMetadata> res, String gav )
+ {
+ ArtifactMetadata gavMd = new ArtifactMetadata(gav);
+
+ for( ArtifactBasicMetadata md : res )
+ if( md.sameGAV( gavMd ) )
+ return true;
+
+ return false;
+ }
+ //-------------------------------------------------------------------------------------
+ public void notestWrite()
+ throws RepositoryException
+ {
+ pm.write( remoteRepo, a );
+ }
+ //-------------------------------------------------------------------------------------
+ public void testRead()
+ throws RepositoryException
+ {
+ ArtifactMetadata bmd = new ArtifactMetadata(artifactCoord);
+
+ Collection<Artifact> res = pm.read( repos, bmd );
+
+ assertNotNull( res );
+
+ assertFalse( res.isEmpty() );
+
+ Artifact a = res.toArray( new Artifact[1] )[0];
+
+ assertNotNull( a );
+
+ File fBin = a.getFile();
+
+ assertNotNull( fBin );
+
+ assertTrue( fBin.exists() );
+
+ byte [] pomBytes = a.getPomBlob();
+
+ assertNotNull( pomBytes );
+
+ assertTrue( pomBytes.length > 10 );
+ }
+ //-------------------------------------------------------------------------------------
+ public void testResolve()
+ throws Exception
+ {
+ Server central = new Server( "central", new URL("http://repo1.maven.org/maven2") );
+// Server central = new Server( "central", new URL("http://repository.sonatype.org/content/groups/public") );
+
+ repos.add( new RemoteRepositoryM2(central, pm.findDependencyProcessor()) );
+
+ String artifactId = "asm:asm-xml:3.0";
+
+ List<ArtifactMetadata> res = pm.resolve( repos, ArtifactScopeEnum.compile, new ArtifactQueryList(artifactId), null, null );
+
+ System.out.println("Resolved as "+res);
+
+ assertEquals( 4, res.size() );
+
+ assertTrue( assertHasArtifact( res, "asm:asm-xml:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-util:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-tree:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm:3.0" ) );
+ }
+ //-------------------------------------------------------------------------------------
+ @SuppressWarnings("unchecked")
+ public void testResolveWithExclusion()
+ throws Exception
+ {
+ Server central = new Server( "central", new URL("http://repo1.maven.org/maven2") );
+// Server central = new Server( "central", new URL("http://repository.sonatype.org/content/groups/public") );
+
+ repos.add( new RemoteRepositoryM2(central, pm.findDependencyProcessor()) );
+
+ String artifactId = "asm:asm-xml:3.0";
+
+ List<ArtifactMetadata> res = pm.resolve( repos
+ , ArtifactScopeEnum.compile
+ , new ArtifactQueryList(artifactId)
+ , null
+ , new ArtifactExclusionList("asm:asm:3.0")
+ );
+
+ System.out.println("Resolved as "+res);
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( assertHasArtifact( res, "asm:asm-xml:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-util:3.0" ) );
+ assertTrue( assertHasArtifact( res, "asm:asm-tree:3.0" ) );
+ assertFalse( assertHasArtifact( res, "asm:asm:3.0" ) );
+ }
+ //-------------------------------------------------------------------------------------
+ //-------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/maven-core-2.0.9.jar b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/maven-core-2.0.9.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/maven-core-2.0.9.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/maven-core-2.0.9.pom b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/maven-core-2.0.9.pom
new file mode 100644
index 0000000..08d0c39
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/maven-core-2.0.9.pom
@@ -0,0 +1,234 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0.9</version>
+ </parent>
+
+ <artifactId>maven-core</artifactId>
+ <name>Maven Core</name>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>apache.snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-parameter-documenter</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-error-diagnostics</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.0</version>
+ <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>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-4</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-utils</artifactId>
+ <groupId>plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ </dependency>
+ </dependencies>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>l10n-maven-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <configuration>
+ <locales>
+ <locale>el</locale>
+ <locale>de</locale>
+ <locale>es</locale>
+ <locale>fr</locale>
+ <locale>ja</locale>
+ <locale>nl</locale>
+ <locale>no</locale>
+ <locale>pl</locale>
+ <locale>zh_CN</locale>
+ </locales>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <profiles>
+ <profile>
+ <id>include-site</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-scm-plugin</artifactId>
+ <configuration>
+ <connectionUrl>scm:svn:http://svn.apache.org/repos/asf/maven/site/trunk</connectionUrl>
+ <checkoutDirectory>${project.build.directory}/maven-site</checkoutDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>initialize</phase>
+ <goals>
+ <goal>checkout</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-invoker-plugin</artifactId>
+ <configuration>
+ <projectsDirectory>${project.build.directory}/maven-site</projectsDirectory>
+ <pom>${project.build.directory}/maven-site/pom.xml</pom>
+ <goals>
+ <goal>clean</goal>
+ <goal>site</goal>
+ </goals>
+ </configuration>
+ <executions>
+ <execution>
+ <id>initialize</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-plexus/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/pom.xml
new file mode 100644
index 0000000..65c5fd8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/pom.xml
@@ -0,0 +1,42 @@
+<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.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <name>Mercury Repository APIs</name>
+ <description>Repository APIs</description>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-event</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ </dependency>
+
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
new file mode 100644
index 0000000..71dcb76
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
@@ -0,0 +1,84 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+
+
+/**
+ * This is to keep MetadataProcessor for all readers
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstracRepositoryReader
+implements RepositoryReader, MetadataReader
+{
+ protected DependencyProcessor _mdProcessor;
+
+ protected MetadataReader _mdReader;
+
+ protected RepositoryMetadataCache _mdCache;
+
+ public void setDependencyProcessor( DependencyProcessor mdProcessor )
+ {
+ _mdProcessor = mdProcessor;
+ }
+
+ public DependencyProcessor getDependencyProcessor()
+ {
+ return _mdProcessor;
+ }
+
+ public void setMetadataReader( MetadataReader mdReader )
+ {
+ _mdReader = mdReader;
+ }
+
+ public MetadataReader getMetadataReader()
+ {
+ return _mdReader;
+ }
+
+ public void setMetadataCache( RepositoryMetadataCache mdCache )
+ {
+ this._mdCache = mdCache;
+ }
+
+ public RepositoryMetadataCache getMetadataCache()
+ {
+ return _mdCache;
+ }
+
+ public boolean hasMetadataCache()
+ {
+ return _mdCache != null;
+ }
+
+ public byte[] readMetadata( ArtifactBasicMetadata bmd )
+ throws MetadataReaderException
+ {
+ return readRawData( bmd, "", "pom" );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepOpResult.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepOpResult.java
new file mode 100644
index 0000000..30b38e4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepOpResult.java
@@ -0,0 +1,74 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+/**
+ * generic repository operation result. Represents a Map of query object to AbstractRepositoryOperationResult
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractRepOpResult
+{
+ private Map<ArtifactBasicMetadata,Exception> _exceptions;
+
+ public AbstractRepOpResult()
+ {
+ }
+
+ public Map<ArtifactBasicMetadata,Exception> getExceptions()
+ {
+ return _exceptions;
+ }
+
+ public abstract boolean hasResults();
+
+ public abstract boolean hasResults( ArtifactBasicMetadata key );
+
+ public boolean hasExceptions()
+ {
+ return _exceptions != null && ! _exceptions.isEmpty();
+ }
+
+ public void addError( ArtifactBasicMetadata key, Exception error )
+ {
+ if( _exceptions == null )
+ _exceptions = new HashMap<ArtifactBasicMetadata, Exception>(8);
+
+ _exceptions.put( key, error );
+ }
+
+ public Exception getError( ArtifactBasicMetadata key )
+ {
+ if( _exceptions == null )
+ return null;
+
+ return _exceptions.get( key );
+ }
+
+ public String toString()
+ {
+ return _exceptions.toString();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java
new file mode 100644
index 0000000..e714361
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java
@@ -0,0 +1,252 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.QualityRange;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.transport.api.Server;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+
+/*
+ * 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.
+ */
+
+/**
+ * parent of all repositories and also a helper class for registration of readers/writers
+ *
+ *
+ */
+public abstract class AbstractRepository
+implements Repository
+{
+ private static final Language lang = new DefaultLanguage( AbstractRepository.class );
+ //---------------------------------------------------------------------------
+ public static final String DEFAULT_REMOTE_READ_PROTOCOL = "http";
+ public static final String DEFAULT_REMOTE_WRITE_PROTOCOL = "http";
+
+ public static final String DEFAULT_LOCAL_READ_PROTOCOL = "file";
+ public static final String DEFAULT_LOCAL_WRITE_PROTOCOL = "file";
+
+ public static final String DEFAULT_REPOSITORY_TYPE = "m2";
+
+ private String id;
+
+ private String defaultReadProtocol = DEFAULT_REMOTE_READ_PROTOCOL;
+
+ private String defaultWriteProtocol = DEFAULT_REMOTE_WRITE_PROTOCOL;
+ //---------------------------------------------------------------------------
+ private static Map< String, RepositoryReaderFactory > readerRegistry = Collections.synchronizedMap( new HashMap<String, RepositoryReaderFactory>(4) );
+ private static Map< String, RepositoryWriterFactory > writerRegistry = Collections.synchronizedMap( new HashMap<String, RepositoryWriterFactory>(4) );
+ //---------------------------------------------------------------------------
+ protected String type = DEFAULT_REPOSITORY_TYPE;
+
+ protected QualityRange repositoryQualityRange = QualityRange.ALL;
+
+ protected QualityRange versionRangeQualityRange = QualityRange.ALL;
+
+ protected DependencyProcessor dependencyProcessor;
+
+ protected Server server;
+ //---------------------------------------------------------------------------
+ public AbstractRepository( String id, String type )
+ {
+ this.id = id;
+ this.type = type;
+ }
+ //---------------------------------------------------------------------------
+ public String getId()
+ {
+ return id;
+ }
+ //---------------------------------------------------------------------------
+ public QualityRange getRepositoryQualityRange()
+ {
+ return repositoryQualityRange;
+ }
+ //---------------------------------------------------------------------------
+ public void setRepositoryQualityRange(
+ QualityRange repositoryQualityRange )
+ {
+ this.repositoryQualityRange = repositoryQualityRange;
+ }
+ //---------------------------------------------------------------------------
+ public QualityRange getVersionRangeQualityRange()
+ {
+ return versionRangeQualityRange;
+ }
+ //---------------------------------------------------------------------------
+ public void setVersionRangeQualityRange( QualityRange versionRangeQualityRange )
+ {
+ this.versionRangeQualityRange = versionRangeQualityRange;
+ }
+ //---------------------------------------------------------------------------
+ public String getDefaultReadProtocol()
+ {
+ return defaultReadProtocol;
+ }
+ //---------------------------------------------------------------------------
+ public void setDefaultReadProtocol( String defaultReadProtocol )
+ {
+ this.defaultReadProtocol = defaultReadProtocol;
+ }
+ //---------------------------------------------------------------------------
+ public String getDefaultWriteProtocol()
+ {
+ return defaultWriteProtocol;
+ }
+ //---------------------------------------------------------------------------
+ public void setDefaultWriteProtocol( String defaultWriteProtocol )
+ {
+ this.defaultWriteProtocol = defaultWriteProtocol;
+ }
+ //---------------------------------------------------------------------------
+ public static void register( String type, RepositoryReaderFactory readerFactory )
+ throws IllegalArgumentException
+ {
+ if( type == null || type.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "null.reader.type" ) );
+
+ if( readerFactory == null )
+ throw new IllegalArgumentException( lang.getMessage( "null.reader.factory" ) );
+
+ readerRegistry.put( type, readerFactory );
+ }
+ //---------------------------------------------------------------------------
+ public static void register( String type, RepositoryWriterFactory writerFactory )
+ throws IllegalArgumentException
+ {
+ if( type == null || type.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "null.writer.type" ) );
+
+ if( writerFactory == null )
+ throw new IllegalArgumentException( lang.getMessage( "null.writer.factory" ) );
+
+ writerRegistry.put( type, writerFactory );
+ }
+ //---------------------------------------------------------------------------
+ public static void unregisterReader( String type )
+ throws IllegalArgumentException
+ {
+ if( type == null || type.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "null.reader.type" ) );
+
+ readerRegistry.remove( type );
+ }
+ //---------------------------------------------------------------------------
+ public static void unregisterWriter( String type )
+ throws IllegalArgumentException
+ {
+ if( type == null || type.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "null.writer.type" ) );
+
+ writerRegistry.remove( type );
+ }
+ //---------------------------------------------------------------------------
+ public static RepositoryReader getReader( String type, Repository repo, DependencyProcessor mdProcessor )
+ throws IllegalArgumentException, RepositoryException
+ {
+ if( type == null || type.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "null.reader.type" ) );
+
+ if( repo == null )
+ throw new IllegalArgumentException( lang.getMessage( "null.reader.repo" ) );
+
+ RepositoryReaderFactory rf = readerRegistry.get( type );
+
+ if( rf == null )
+ throw new RepositoryException( lang.getMessage( "null.reader.factory.found" ) );
+
+ return rf.getReader( repo, mdProcessor );
+ }
+ //---------------------------------------------------------------------------
+ public static RepositoryWriter getWriter( String type, Repository repo )
+ throws IllegalArgumentException, RepositoryException
+ {
+ if( type == null || type.length() < 1 )
+ throw new IllegalArgumentException( lang.getMessage( "null.writer.type" ) );
+
+ if( repo == null )
+ throw new IllegalArgumentException( lang.getMessage( "null.writer.repo" ) );
+
+ RepositoryWriterFactory wf = writerRegistry.get( type );
+
+ if( wf == null )
+ throw new RepositoryException( lang.getMessage( "null.writer.factory.found" ) );
+
+ return wf.getWriter( repo );
+ }
+ //---------------------------------------------------------------------------
+ public boolean isSnapshots()
+ {
+ return repositoryQualityRange.isAcceptedQuality( Quality.SNAPSHOT_QUALITY );
+ }
+ //---------------------------------------------------------------------------
+ public boolean isReleases()
+ {
+ return repositoryQualityRange.isAcceptedQuality( Quality.RELEASE_QUALITY );
+ }
+ //---------------------------------------------------------------------------
+ public boolean isAcceptedQuality( Quality quality )
+ {
+ return repositoryQualityRange.isAcceptedQuality( quality );
+ }
+ //---------------------------------------------------------------------------
+ public boolean hasServer()
+ {
+ return server != null;
+ }
+ //---------------------------------------------------------------------------
+ public Server getServer()
+ {
+ return server;
+ }
+ //---------------------------------------------------------------------------
+ public boolean hasDependencyProcessor()
+ {
+ return dependencyProcessor == null;
+ }
+ public DependencyProcessor getDependencyProcessor()
+ {
+ return dependencyProcessor;
+ }
+ public void setDependencyProcessor( DependencyProcessor dependencyProcessor )
+ {
+ this.dependencyProcessor = dependencyProcessor;
+ }
+ //---------------------------------------------------------------------------
+ //---------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepositoryWriter.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepositoryWriter.java
new file mode 100644
index 0000000..89cb3fd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepositoryWriter.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+
+/**
+ * helper class for writing repository writers
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class AbstractRepositoryWriter
+extends Thread
+{
+
+ protected RepositoryMetadataCache _mdCache;
+
+ public void setMetadataCache( RepositoryMetadataCache mdCache )
+ {
+ this._mdCache = mdCache;
+ }
+
+ public RepositoryMetadataCache getMetadataCache()
+ {
+ return _mdCache;
+ }
+
+ public boolean hasMetadataCache()
+ {
+ return _mdCache != null;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java
new file mode 100644
index 0000000..b690b85
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java
@@ -0,0 +1,149 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactBasicResults
+extends AbstractRepOpResult
+{
+ Map< ArtifactBasicMetadata, List<ArtifactBasicMetadata>> _result = new HashMap<ArtifactBasicMetadata, List<ArtifactBasicMetadata>>(8);
+
+ /**
+ * first result is ready
+ */
+ public ArtifactBasicResults( ArtifactBasicMetadata query, List<ArtifactBasicMetadata> result )
+ {
+ this._result.put( query, result );
+ }
+
+ /**
+ * optimization opportunity
+ *
+ * @param size
+ */
+ public ArtifactBasicResults( int size )
+ {
+ }
+
+ private ArtifactBasicResults()
+ {
+ }
+
+ public static ArtifactBasicResults add( final ArtifactBasicResults res, final ArtifactBasicMetadata key, final Exception err )
+ {
+ ArtifactBasicResults ret = res;
+ if( res == null )
+ ret = new ArtifactBasicResults();
+
+ ret.addError( key, err );
+
+ return ret;
+ }
+
+ public static ArtifactBasicResults add( final ArtifactBasicResults res, final ArtifactBasicMetadata key, final List<ArtifactBasicMetadata> result )
+ {
+ ArtifactBasicResults ret = res;
+ if( res == null )
+ ret = new ArtifactBasicResults();
+
+ ret.add( key, result );
+
+ return ret;
+ }
+
+ public static ArtifactBasicResults add( final ArtifactBasicResults res, final ArtifactBasicMetadata key, final ArtifactBasicMetadata result )
+ {
+ ArtifactBasicResults ret = res;
+ if( res == null )
+ ret = new ArtifactBasicResults();
+
+ ret.add( key, result );
+
+ return ret;
+ }
+
+ private List<ArtifactBasicMetadata> getOrCreate( ArtifactBasicMetadata query )
+ {
+ List<ArtifactBasicMetadata> res = _result.get( query );
+ if( res == null )
+ {
+ res = new ArrayList<ArtifactBasicMetadata>(8);
+ _result.put( query, res );
+ }
+ return res;
+ }
+
+ /**
+ * add results if they are not there yet
+ *
+ * @param query
+ * @param result
+ */
+ public void add( ArtifactBasicMetadata query, List<ArtifactBasicMetadata> result )
+ {
+ List<ArtifactBasicMetadata> res = getOrCreate( query );
+ for( ArtifactBasicMetadata r : result )
+ {
+ if( res.contains( r ) )
+ continue;
+ res.add( r );
+ }
+ }
+
+ public void add( ArtifactBasicMetadata query, ArtifactBasicMetadata result )
+ {
+ List<ArtifactBasicMetadata> res = getOrCreate( query );
+ res.add( result );
+ }
+
+ public Map< ArtifactBasicMetadata, List<ArtifactBasicMetadata>> getResults()
+ {
+ return _result;
+ }
+
+ public List<ArtifactBasicMetadata> getResult( ArtifactBasicMetadata query )
+ {
+ return _result.get( query );
+ }
+
+ @Override
+ public boolean hasResults()
+ {
+ return ! _result.isEmpty();
+ }
+
+ @Override
+ public boolean hasResults( ArtifactBasicMetadata key )
+ {
+ return ! _result.isEmpty() && _result.containsKey( key ) && ! _result.get( key ).isEmpty();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java
new file mode 100644
index 0000000..99e1ef7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java
@@ -0,0 +1,95 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class ArtifactResults
+extends AbstractRepOpResult
+{
+ Map< ArtifactBasicMetadata, List<Artifact>> _result = new HashMap<ArtifactBasicMetadata, List<Artifact>>(8);
+
+ public ArtifactResults()
+ {
+ }
+
+ public ArtifactResults( ArtifactBasicMetadata query, List<Artifact> result )
+ {
+ this._result.put( query, result );
+ }
+
+ public void add( ArtifactBasicMetadata query, Artifact result )
+ {
+ List<Artifact> res = _result.get( query );
+ if( res == null )
+ {
+ res = new ArrayList<Artifact>(8);
+ _result.put( query, res );
+ }
+
+ res.add( result );
+ }
+
+ public void addAll( ArtifactBasicMetadata query, List<Artifact> result )
+ {
+ List<Artifact> res = _result.get( query );
+ if( res == null )
+ {
+ res = new ArrayList<Artifact>(8);
+ _result.put( query, res );
+ }
+
+ res.addAll( result );
+ }
+
+ public Map< ArtifactBasicMetadata, List<Artifact>> getResults()
+ {
+ return _result;
+ }
+
+ public List<Artifact> getResults( ArtifactBasicMetadata query )
+ {
+ return _result.get( query );
+ }
+
+ @Override
+ public boolean hasResults()
+ {
+ return ! _result.isEmpty();
+ }
+
+ @Override
+ public boolean hasResults( ArtifactBasicMetadata key )
+ {
+ return ! _result.isEmpty() && _result.containsKey( key ) && ! _result.get( key ).isEmpty();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/LocalRepository.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/LocalRepository.java
new file mode 100644
index 0000000..fd21917
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/LocalRepository.java
@@ -0,0 +1,31 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.io.File;
+
+
+/*
+ * 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.
+ */
+
+/**
+ */
+public interface LocalRepository
+extends Repository
+{
+ File getDirectory();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties
new file mode 100644
index 0000000..7cb93f7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties
@@ -0,0 +1,32 @@
+#
+# 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.
+#
+null.reader.type=reader factory type cannot be null
+null.reader.factory=reader factory cannot be null
+null.writer.type=writer factory type cannot be null
+null.writer.factory=writer factory cannot be null
+null.reader.repo=reader repository cannot be null
+null.reader.processor=reader processor cannot be null
+null.writer.repo=writer repository cannot be null
+null.writer.processor=writer processor cannot be null
+
+empty.policy=repository update policy cannot be empty: {0}
+bad.policy=cannot parse repository update policy: {0}
+bad.interval.policy=cannot parse interval repository update policy: {0}
+
+empty.md=cannot initialize metadata object from null
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataCacheException.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataCacheException.java
new file mode 100644
index 0000000..38b645b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataCacheException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataCacheException
+extends Exception
+{
+
+ /**
+ *
+ */
+ public MetadataCacheException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public MetadataCacheException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public MetadataCacheException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public MetadataCacheException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataCorruptionException.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataCorruptionException.java
new file mode 100644
index 0000000..9de376e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataCorruptionException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataCorruptionException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public MetadataCorruptionException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public MetadataCorruptionException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public MetadataCorruptionException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public MetadataCorruptionException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/NonExistentProtocolException.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/NonExistentProtocolException.java
new file mode 100644
index 0000000..677e58b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/NonExistentProtocolException.java
@@ -0,0 +1,52 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+public class NonExistentProtocolException
+ extends RepositoryException
+{
+
+ public NonExistentProtocolException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ public NonExistentProtocolException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ public NonExistentProtocolException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ public NonExistentProtocolException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RemoteRepository.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RemoteRepository.java
new file mode 100644
index 0000000..59f560a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RemoteRepository.java
@@ -0,0 +1,47 @@
+package org.apache.maven.mercury.repository.api;
+
+import org.apache.maven.mercury.transport.api.Server;
+
+
+/*
+ * 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.
+ */
+
+/**
+ */
+public interface RemoteRepository
+extends Repository
+{
+ /**
+ * this is the Server with many useful fields to describe the home of this remote repo
+ */
+ Server getServer();
+
+ /**
+ * get the update policy configured for this remote repository
+ *
+ * @return the policy or null, if it does not exist
+ */
+ RepositoryUpdatePolicy getUpdatePolicy();
+
+ /**
+ * set the update policy configured for this remote repository
+ *
+ */
+ void setUpdatePolicy( RepositoryUpdatePolicy updatePolicy );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java
new file mode 100644
index 0000000..3fd0ead
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java
@@ -0,0 +1,152 @@
+package org.apache.maven.mercury.repository.api;
+
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.QualityRange;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.transport.api.Server;
+
+
+/*
+ * 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.
+ */
+
+/**
+ */
+public interface Repository
+{
+ String getId();
+
+
+ /**
+ * repository type - m2, nexus, ivy, p2 - to name a few. It defines the RepositoryReader/Writer
+ * that will be searched for in the registry.
+ */
+ public String getType();
+
+ /**
+ * Indicates whether this is local Repository. This flag defines the necessity to download
+ * the artifact, if it was cleared by the conflict resolver but not read from a localRepo.
+ */
+ public boolean isLocal();
+
+ /**
+ * Indicates whether it's possible to read from this Repository.
+ */
+ public boolean isReadable();
+
+ /**
+ * Indicates whether it's possible to write to this Repository. Good example is the flat repo, which is used to
+ * only collect dependencies for some 3rd party reasons, but not read them.
+ *
+ * If there are multiple localRepo's and Artifact needs to be downloaded - it will be "written" to all
+ * "local" repositories that are writeable.
+ */
+ public boolean isWriteable();
+
+ /**
+ * Indicates whether this repository contains releases
+ */
+ public boolean isReleases();
+
+ /**
+ * Indicates whether this repository contains snapshots
+ */
+ public boolean isSnapshots();
+
+ /**
+ * reserved
+ */
+ public boolean isAcceptedQuality( Quality quality );
+
+ /**
+ * defines how VersionRnage treats upper boundary - which Artifacts should be treated as belonging
+ * to the vicinity - http://docs.codehaus.org/x/twDPBQ
+ *
+ * @return
+ * @throws NonExistentProtocolException if protocol not supported
+ */
+ public QualityRange getVersionRangeQualityRange();
+
+ /**
+ * get default reader, if any
+ *
+ * @return default reader or null, if none exists
+ * @throws RepositoryException
+ */
+ RepositoryReader getReader()
+ throws RepositoryException;
+
+ /**
+ * get protocol specific reader, if any
+ *
+ * @param protocol
+ * @return reader instance for the specified protocol
+ * @throws NonExistentProtocolException if protocol not supported
+ */
+ RepositoryReader getReader( String protocol )
+ throws RepositoryException;
+
+ /**
+ * get default writer, if any
+ *
+ * @return default writer or null, if none exists
+ * @throws RepositoryException
+ */
+ RepositoryWriter getWriter()
+ throws RepositoryException;
+
+ /**
+ *
+ * @param protocol
+ * @return writer instance for the specified protocol
+ * @throws NonExistentProtocolException if protocol not supported
+ */
+ RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException;
+
+ /**
+ * server where this repo resides. For local repo - folder as URL and stream verifiers are important.
+ *
+ * @return server
+ */
+ boolean hasServer();
+ Server getServer();
+
+ /**
+ * DependencyProcessor used by this repo resides
+ *
+ * @return server
+ */
+ boolean hasDependencyProcessor();
+ DependencyProcessor getDependencyProcessor();
+ void setDependencyProcessor( DependencyProcessor dependencyProcessor );
+
+ /**
+ * maven-metadata.xml file name for this repository. This is internal to repository and should never be used
+ * outside of readers and wrters
+ *
+ * @return server
+ */
+ String getMetadataName();
+
+
+ /**
+ * @param releasesOnly
+ */
+ void setRepositoryQualityRange( QualityRange releasesOnly );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryCallback.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryCallback.java
new file mode 100644
index 0000000..6ff5405
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryCallback.java
@@ -0,0 +1,34 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+
+/**
+ * This is a generic repository event callback. Used by all repository operations
+ * to signal end of operation and represents a list of exceptions plus a list
+ * of ArtifactBasicMetadata derivatives
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryCallback
+{
+ public void done( AbstractRepOpResult results );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryException.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryException.java
new file mode 100644
index 0000000..b28c801
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryException.java
@@ -0,0 +1,77 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1193169088723411771L;
+
+ /**
+ *
+ */
+ public RepositoryException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public RepositoryException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public RepositoryException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public RepositoryException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java
new file mode 100644
index 0000000..d9ab947
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java
@@ -0,0 +1,139 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.List;
+import java.util.TreeSet;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.artifact.version.VersionComparator;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.util.TimeUtil;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * This is a data object to carry GA level repository
+ * metadata, namely - a list of versions and last check timestamp
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryGAMetadata
+{
+ private static final Language _lang = new DefaultLanguage( RepositoryGAVMetadata.class );
+
+ protected ArtifactCoordinates ga;
+
+ /** a list of last discovered versions, ordered ascending */
+ protected TreeSet<String> versions = new TreeSet<String>( new VersionComparator() );
+
+ /** GMT timestamp of the last metadata check */
+ protected long lastCheck;
+
+ /** is set true by cache implementation when determined that it's time to refresh */
+ protected transient boolean expired = false;
+
+ protected RepositoryGAMetadata()
+ {
+ }
+
+ /**
+ * @param versions
+ * @param lastCheck
+ */
+ public RepositoryGAMetadata( ArtifactCoordinates ga, Collection<String> versions )
+ {
+ this.ga = ga;
+
+ if( ! Util.isEmpty( versions ) )
+ this.versions.addAll( versions );
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ /**
+ * construct from maven 2.x maven-metadata.xml object
+ *
+ * @param md
+ * @throws MetadataException
+ */
+ public RepositoryGAMetadata( Metadata md )
+ throws MetadataException
+ {
+ if( md == null )
+ throw new IllegalArgumentException( _lang.getMessage( "empty.md" ) );
+
+ this.ga = new ArtifactCoordinates( md.getGroupId(), md.getArtifactId(), md.getVersion() );
+
+ List<String> vers = null;
+
+ if( md.getVersioning() != null )
+ {
+ vers = md.getVersioning().getVersions();
+ this.versions.addAll( vers );
+ }
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ /**
+ * copy constructor
+ *
+ * @param md
+ * @throws MetadataException
+ */
+ public RepositoryGAMetadata( RepositoryGAMetadata md )
+ throws MetadataException
+ {
+ this.ga = md.getGA();
+
+ if( !Util.isEmpty( md.getVersions() ) )
+ {
+ this.versions.addAll( md.getVersions() );
+ }
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public TreeSet<String> getVersions()
+ {
+ return versions;
+ }
+
+ public long getLastCheckTs()
+ {
+ return lastCheck;
+ }
+
+ public long getLastCheckMillis()
+ throws ParseException
+ {
+ return TimeUtil.toMillis( lastCheck );
+ }
+
+ public void update( Collection<String> versions )
+ {
+ this.versions.addAll( versions );
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public ArtifactCoordinates getGA()
+ {
+ return ga;
+ }
+
+ public boolean isExpired()
+ {
+ return expired;
+ }
+
+ public void setExpired( boolean expired )
+ {
+ this.expired = expired;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java
new file mode 100644
index 0000000..d31c1cb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java
@@ -0,0 +1,187 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.List;
+import java.util.TreeSet;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.artifact.version.VersionComparator;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.util.TimeUtil;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * This is a data object to carry GA level repository
+ * metadata, namely - a list of versions and last check timestamp
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryGAVMetadata
+{
+ private static final Language _lang = new DefaultLanguage( RepositoryGAVMetadata.class );
+
+ protected ArtifactCoordinates gav;
+
+ /** a list of last discovered snapshots, ordered descending */
+ protected TreeSet<String> snapshots = new TreeSet<String>( new VersionComparator() );
+
+ /** a list of last discovered versions, ordered ascending */
+ protected Collection<String> classifiers;
+
+ /** GMT timestamp of the last metadata check */
+ protected long lastCheck;
+
+ /** is set true by cache implementation when determined that it's time to refresh */
+ protected transient boolean expired = false;
+
+ protected RepositoryGAVMetadata()
+ {
+ }
+
+ /**
+ * initialization of md object from scratch
+ *
+ * @param versions
+ * @param lastCheck
+ */
+ public RepositoryGAVMetadata( ArtifactCoordinates gav, Collection<String> snapshots, Collection<String> classifiers )
+ {
+ this.gav = gav;
+
+ if( !Util.isEmpty( snapshots ) )
+ this.snapshots.addAll( snapshots );
+
+ this.classifiers = classifiers;
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ /**
+ * construct from maven 2.x maven-metadata.xml object
+ *
+ * @param md
+ * @throws MetadataException
+ */
+ public RepositoryGAVMetadata( Metadata md )
+ throws MetadataException
+ {
+ if( md == null )
+ throw new IllegalArgumentException( _lang.getMessage( "empty.mdbytes" ) );
+
+ this.gav = new ArtifactCoordinates( md.getGroupId(), md.getArtifactId(), md.getVersion() );
+
+ List<String> versions = null;
+
+ if( md.getVersioning() != null )
+ versions = md.getVersioning().getVersions();
+
+ if( !Util.isEmpty( versions ) )
+ this.snapshots.addAll( versions );
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ /**
+ * copy constructor
+ *
+ * @param md
+ * @throws MetadataException
+ */
+ public RepositoryGAVMetadata( RepositoryGAVMetadata md )
+ throws MetadataException
+ {
+ this.gav = md.getGAV();
+
+ if( ! Util.isEmpty( md.getSnapshots() ) )
+ this.snapshots.addAll( md.getSnapshots() );
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public TreeSet<String> getSnapshots()
+ {
+ return snapshots;
+ }
+
+ public Collection<String> getClassifiers()
+ {
+ return classifiers;
+ }
+
+ /**
+ * find the most recent snapshot timestamp
+ *
+ * @return
+ */
+ public String getSnapshot()
+ {
+ return snapshots.last();
+ }
+
+ public long getLastCheck()
+ {
+ return lastCheck;
+ }
+
+ public long getLastCheckMillis()
+ throws ParseException
+ {
+ return TimeUtil.toMillis( lastCheck );
+ }
+
+ public void updateSnapshots( Collection<String> snapshots )
+ {
+ this.snapshots.clear();
+
+ if( !Util.isEmpty( snapshots ) )
+ this.snapshots.addAll( snapshots );
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public void updateClassifiers( Collection<String> classifiers )
+ {
+ this.classifiers = classifiers;
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+
+ public ArtifactCoordinates getGAV()
+ {
+ return gav;
+ }
+
+ public boolean isExpired()
+ {
+ return expired;
+ }
+
+ public void setExpired( boolean expired )
+ {
+ this.expired = expired;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java
new file mode 100644
index 0000000..a3593d2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java
@@ -0,0 +1,57 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.Quality;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryManager
+{
+ protected static transient List<Repository> _repoList = Collections.synchronizedList( new ArrayList<Repository>(8) );
+
+ void setRepositories()
+ {
+
+ }
+
+ List<Repository> getRepositories()
+ {
+ return _repoList;
+ }
+
+ LocalRepository findLocal( Quality aq )
+ {
+ for( Repository r : _repoList )
+ {
+ if( r.isLocal() && r.isWriteable() && r.isAcceptedQuality( aq ) )
+ return (LocalRepository)r;
+ }
+ return null;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java
new file mode 100644
index 0000000..46da67f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java
@@ -0,0 +1,103 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.event.EventGenerator;
+
+/**
+ * this object abstracts the existence of multiple repositories and repository
+ * policies. Given a metadata request, implementor of this interface will
+ * either return a local copy if one exists, or will go out and read from a remote repo
+ * if either local copy does not exist or remote repository policy allows a read
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryMetadataCache
+extends EventGenerator
+{
+ /**
+ * check if GA level metadata exists in this cache for the given repo. Read from repo, if does not exists
+ *
+ * @param repoGuid repository GUID
+ * @param up repository update policy
+ * @param coord bare GA coordinates of the requisted metadata
+ * @return metadata object or null, if data does not exist or has been expired
+ */
+ public RepositoryGAMetadata findGA( String repoGuid, RepositoryUpdatePolicy up, ArtifactCoordinates coord )
+ throws MetadataCorruptionException;
+
+ /**
+ * check if GAV level metadata exists in this cache for the given repo. Read from repo, if does not exists
+ *
+ * @param repoGuid repository GUID
+ * @param up repository update policy
+ * @param coord bare GAV coordinates of the requisted metadata
+ * @return
+ */
+ public RepositoryGAVMetadata findGAV( String repoGuid, RepositoryUpdatePolicy up, ArtifactCoordinates coord )
+ throws MetadataCorruptionException;
+
+ /**
+ * update stored GA metadata with a fresh copy
+ *
+ * @param repoGuid
+ * @param gam
+ * @throws MetadataCacheException
+ */
+ public void updateGA( String repoGuid, RepositoryGAMetadata gam )
+ throws MetadataCacheException;
+
+ /**
+ * update stored GA metadata with a fresh copy
+ *
+ * @param repoGuid
+ * @param gavm fresh metadata
+ * @throws MetadataCacheException
+ */
+ public void updateGAV( String repoGuid, RepositoryGAVMetadata gavm )
+ throws MetadataCacheException;
+
+ /**
+ * find cached raw data. Raw data is different from metadata in a sense
+ * that it does not expire, so it's either found or not.
+ * This call is crafted for caching POMs and thus ignores classifier
+ *
+ * @param bmd
+ * @return found bytes or null, if no data was cached for this coordinates before
+ * @throws MetadataCacheException
+ */
+ public byte [] findRaw( ArtifactBasicMetadata bmd )
+ throws MetadataCacheException;
+
+ /**
+ * cache raw data. Raw data is different from metadata in a sense
+ * that it does not expire, so it's either found or not
+ * This call is crafted for caching POMs and thus ignores classifier
+ *
+ * @param bmd
+ * @param rawBytes - bytes to cache
+ * @throws MetadataCacheException
+ */
+ public void saveRaw( ArtifactBasicMetadata bmd, byte [] rawBytes )
+ throws MetadataCacheException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryOperator.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryOperator.java
new file mode 100644
index 0000000..0eaa68e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryOperator.java
@@ -0,0 +1,34 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+/**
+ * parent of all repository accessors - readers and writers
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryOperator
+{
+ public String [] getProtocols();
+ public boolean canHandle( String protocol );
+ public void close();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
new file mode 100644
index 0000000..960c157
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
@@ -0,0 +1,197 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.Collection;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+
+/**
+ * Repository reader API to be implemented by any repo implementation that wishes
+ * to serve artifacts to the build process
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryReader
+extends RepositoryOperator, MetadataReader
+{
+ /**
+ * given basic coordinates query - instantiate all available matches as ArtifactBasicMetadata objects.
+ * <b>Analogous to reading maven-metadata.xml</b> file from GA folder i.e. this transforms
+ * GA[Vrange] -> [GAV1, GAV2, ... GAVn]
+ *
+ * @param query list of MD coordinate queries to find
+ * @return map of results - lists of available matches.
+ * <b>If no results are found, reader should return null<b> If there were exceptions, map element will indicate
+ * it with hasExceptions()
+ * @throws RepositoryException
+ */
+ public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException;
+
+ /**
+ * given basic coordinates query read dependencies as a GAV list
+ * with dependencies as queries i.e. each dependency at this stage is an ArtifactBasicMetadata
+ * <b>Analogous to reading pom.xml</b> file for given GAV
+ *
+ * @param query list of MD coordinate queries to read. They are found by previous call to findMetadata
+ * @return result as a map GAV -> [GAV1, GAV2, ... GAVn]
+ * @throws RepositoryException
+ */
+ public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException;
+
+ /**
+ * Given basic coordinates query read Artifact objects
+ * Analogous to downloading artifact binary file into local repo for given GAV
+ *
+ * @param query list of MD coordinate queries to read.
+ * @return array of results - lists of available matches. Order is the same as in query list. null means not found or worse
+ * @throws RepositoryException
+ */
+ public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException;
+
+ /**
+ * Need if for explanation function - where and how(protocol) this artifact is found.
+ */
+ public Repository getRepository();
+
+ /**
+ * Abstracted POM reader. First projectBuilder, then any type of dependency reader
+ */
+ public void setDependencyProcessor( DependencyProcessor mdProcessor );
+ public DependencyProcessor getDependencyProcessor();
+
+ /**
+ * MetadataReader field. Single repository uses itself, virtual reader injects itself
+ * to be able to find metadata across repositories
+ */
+ public void setMetadataReader( MetadataReader mdReader );
+ public MetadataReader getMetadataReader();
+
+ /**
+ * Abstracted metadata cache is used to store/retrieve metadata faster. It usually implements
+ * repository update policy
+ */
+ public void setMetadataCache( RepositoryMetadataCache mdCache );
+ public RepositoryMetadataCache getMetadataCache();
+
+ /**
+ * read content pointed by relative path. It will return content bytes
+ *
+ * @param path - realative resource path in this repository
+ * @return byte [] of the resource content, pointed by the path
+ * @throws MetadataReaderException
+ */
+ public byte [] readRawData( String path )
+ throws MetadataReaderException;
+
+ public static final RepositoryReader NULL_READER =
+ new RepositoryReader()
+ {
+ public DependencyProcessor getDependencyProcessor()
+ {
+ return null;
+ }
+ public RepositoryMetadataCache getMetadataCache()
+ {
+ return null;
+ }
+ public Repository getRepository()
+ {
+ return null;
+ }
+ public ArtifactResults readArtifacts(
+ Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ return null;
+ }
+ public ArtifactBasicResults readDependencies(
+ Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ return null;
+ }
+ public byte[] readRawData( String path )
+ throws MetadataReaderException
+ {
+ return null;
+ }
+
+ public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ return null;
+ }
+
+ public void setDependencyProcessor( DependencyProcessor mdProcessor )
+ {
+ }
+
+ public void setMetadataCache( RepositoryMetadataCache mdCache )
+ {
+ }
+
+ public boolean canHandle( String protocol )
+ {
+ return false;
+ }
+
+ public void close()
+ {
+ }
+
+ public String[] getProtocols()
+ {
+ return null;
+ }
+
+ public byte[] readMetadata( ArtifactBasicMetadata bmd )
+ throws MetadataReaderException
+ {
+ return null;
+ }
+
+ public byte[] readRawData(
+ ArtifactBasicMetadata bmd,
+ String classifier,
+ String type )
+ throws MetadataReaderException
+ {
+ return null;
+ }
+ public MetadataReader getMetadataReader()
+ {
+ return null;
+ }
+ public void setMetadataReader( MetadataReader mdReader )
+ {
+ }
+
+ };
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReaderFactory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReaderFactory.java
new file mode 100644
index 0000000..a19920c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReaderFactory.java
@@ -0,0 +1,27 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+
+public interface RepositoryReaderFactory
+{
+ public RepositoryReader getReader( Repository repo, DependencyProcessor mdProcessor )
+ throws RepositoryException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
new file mode 100644
index 0000000..61c31d3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
@@ -0,0 +1,132 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.text.ParseException;
+
+import org.apache.maven.mercury.util.TimeUtil;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * implements current maven update policy
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryUpdateIntervalPolicy
+implements RepositoryUpdatePolicy
+{
+ private static final Language _lang = new DefaultLanguage( RepositoryUpdateIntervalPolicy.class );
+
+ public static final String UPDATE_POLICY_NAME_NEVER = "never";
+
+ public static final String UPDATE_POLICY_NAME_ALWAYS = "always";
+
+ public static final String UPDATE_POLICY_NAME_DAILY = "daily";
+
+ public static final String UPDATE_POLICY_NAME_INTERVAL = "interval";
+ private static final int UPDATE_POLICY_INTERVAL_LENGTH = UPDATE_POLICY_NAME_INTERVAL.length();
+
+ public static final String DEFAULT_UPDATE_POLICY = UPDATE_POLICY_NAME_DAILY;
+
+ public static final RepositoryUpdateIntervalPolicy UPDATE_POLICY_NEVER = new RepositoryUpdateIntervalPolicy(UPDATE_POLICY_NAME_NEVER);
+ public static final RepositoryUpdateIntervalPolicy UPDATE_POLICY_ALWAYS = new RepositoryUpdateIntervalPolicy(UPDATE_POLICY_NAME_ALWAYS);
+
+ private static final long NEVER = -1L;
+
+ private static final long DAYLY = 3600000L*24L;
+
+ protected long interval = DAYLY;
+
+
+ public RepositoryUpdateIntervalPolicy()
+ {
+ }
+
+ public RepositoryUpdateIntervalPolicy( String policy )
+ {
+ init( policy );
+ }
+
+ /**
+ * used mostly for testing as it's too much waiting for a minute to test expiration
+ *
+ * @param interval
+ */
+ public RepositoryUpdateIntervalPolicy setInterval( long interval )
+ {
+ this.interval = interval;
+ return this;
+ }
+
+ public void init( String policy )
+ {
+ if( Util.isEmpty( policy ) )
+ throw new IllegalArgumentException( _lang.getMessage( "empty.policy", policy ));
+
+ if( policy.startsWith( UPDATE_POLICY_NAME_ALWAYS ) )
+ interval = 0L;
+ else if( policy.startsWith( UPDATE_POLICY_NAME_DAILY ) )
+ interval = DAYLY;
+ else if( policy.startsWith( UPDATE_POLICY_NAME_NEVER ) )
+ interval = NEVER;
+ else if( policy.startsWith( UPDATE_POLICY_NAME_INTERVAL ) )
+ {
+ int len = policy.length();
+ if( len <= UPDATE_POLICY_INTERVAL_LENGTH )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.interval.policy", policy ));
+
+ interval = Integer.parseInt( policy.substring( len-1 ) ) * 60000L;
+ }
+ else
+ throw new IllegalArgumentException( _lang.getMessage( "bad.policy", policy ));
+ }
+
+ public boolean timestampExpired( long lastUpdateMillis )
+ {
+ if( interval == NEVER )
+ return false;
+
+ long now;
+ try
+ {
+ now = TimeUtil.toMillis( TimeUtil.getUTCTimestamp() );
+ }
+ catch( ParseException e )
+ {
+ throw new IllegalArgumentException( e );
+ }
+
+ boolean res = ( (now - lastUpdateMillis) > interval);
+
+ return res;
+ }
+
+ public static void main(
+ String[] args )
+ {
+ RepositoryUpdateIntervalPolicy up = new RepositoryUpdateIntervalPolicy("interval2");
+
+ System.out.println("Interval is "+up.interval);
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java
new file mode 100644
index 0000000..edcddd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java
@@ -0,0 +1,44 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+/**
+ * abstraction of a repository update policy calculator
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryUpdatePolicy
+{
+ /**
+ * initialize this calculator
+ *
+ * @param policy as a string somewhere in configuration
+ */
+ void init( String policy );
+
+ /**
+ * perform the calculation and decide if it's time to update
+ *
+ * @param timestamp - UTC-based timestamp as long milliseconds
+ * @return
+ */
+ boolean timestampExpired( long timestampMillis );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriter.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriter.java
new file mode 100644
index 0000000..601da0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriter.java
@@ -0,0 +1,50 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import java.util.Collection;
+
+import org.apache.maven.mercury.artifact.Artifact;
+
+
+/**
+ * Repository writer API to be implemented by any repo implementation that wishes
+ * to store artifacts for Maven. All operations are asynchronous and can generate
+ * callback events
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryWriter
+extends RepositoryOperator
+{
+ /**
+ * write (upload) given artifact to the repository
+ *
+ * @param artifact to upload
+ * @throws RepositoryException
+ */
+ public void writeArtifacts( Collection<Artifact> artifact )
+ throws RepositoryException;
+
+ public void setMetadataCache( RepositoryMetadataCache mdCache );
+ public RepositoryMetadataCache getMetadataCache();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriterFactory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriterFactory.java
new file mode 100644
index 0000000..a87387d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriterFactory.java
@@ -0,0 +1,34 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+/**
+ *
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+
+public interface RepositoryWriterFactory
+{
+ public RepositoryWriter getWriter( Repository repo )
+ throws RepositoryException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java
new file mode 100644
index 0000000..c42bd67
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.api;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryUpdatePolicyIntervalTest
+ extends TestCase
+{
+ RepositoryUpdateIntervalPolicy in;
+ long now;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ in = new RepositoryUpdateIntervalPolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_NAME_INTERVAL+"1" );
+ now = System.currentTimeMillis();
+ }
+
+ public void testInterval()
+ {
+ assertFalse( in.timestampExpired( now ) );
+ assertTrue( in.timestampExpired( now-80000L ) );
+ }
+
+ public void testDayly()
+ {
+ in = new RepositoryUpdateIntervalPolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_NAME_DAILY );
+
+ assertFalse( in.timestampExpired( now ) );
+ assertFalse( in.timestampExpired( now-80000L ) );
+ assertTrue( in.timestampExpired( now - 24L*3600L*1000L - 80000L ) );
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/pom.xml
new file mode 100644
index 0000000..6e6ca3e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/pom.xml
@@ -0,0 +1,47 @@
+<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.mercury</groupId>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-repo-cache-fs</artifactId>
+ <name>Mercury Repository FS Cache</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <!--
+ <version>1.0-alpha-17</version>
+ -->
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/cached-metadata.mdo</model>
+ </configuration>
+ <executions>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedGAMetadata.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedGAMetadata.java
new file mode 100644
index 0000000..9785694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedGAMetadata.java
@@ -0,0 +1,106 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.cache.fs;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.repository.api.MetadataCorruptionException;
+import org.apache.maven.mercury.repository.api.RepositoryGAMetadata;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class CachedGAMetadata
+extends RepositoryGAMetadata
+{
+ public static final String ELEM_COORDINATES = "coordinates";
+ public static final String ATTR_GROUP_ID = "groupId";
+ public static final String ATTR_ARTIFACT_ID = "artifactId";
+ public static final String ATTR_VERSION = "version";
+
+ public static final String ELEM_VERSIONS = "versions";
+
+ CachedMetadata cm;
+
+ public CachedGAMetadata( File mdFile )
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataCorruptionException
+ {
+ cm = new CachedMetadata( mdFile );
+ fromXml();
+ }
+
+ public CachedGAMetadata( RepositoryGAMetadata md )
+ throws MetadataException
+ {
+ super( md );
+
+ cm = new CachedMetadata();
+
+ toXml();
+ }
+
+ /**
+ * fill GA with data from cm
+ *
+ * @throws MetadataCorruptionException
+ */
+ private void fromXml()
+ throws MetadataCorruptionException
+ {
+ ga = new ArtifactCoordinates(
+ cm.getAttribute( ELEM_COORDINATES, ATTR_GROUP_ID, true )
+ , cm.getAttribute( ELEM_COORDINATES, ATTR_ARTIFACT_ID, true )
+ , null
+ );
+
+ List<String> verList = cm.findAttributes( ELEM_VERSIONS, ATTR_VERSION );
+
+ if( ! Util.isEmpty( verList ) )
+ this.versions.addAll( verList );
+
+ String lChk = cm.getLastUpdate();
+
+ lastCheck = Long.parseLong( lChk );
+ }
+
+ private void toXml()
+ {
+ cm.clean();
+
+ cm.setAttribute( ELEM_COORDINATES, ATTR_GROUP_ID, ga.getGroupId() );
+ cm.setAttribute( ELEM_COORDINATES, ATTR_ARTIFACT_ID, ga.getArtifactId() );
+
+ if( !Util.isEmpty( versions ) )
+ cm.setAttribute( ELEM_VERSIONS, ATTR_VERSION, versions );
+
+ cm.setLastUpdate( ""+lastCheck );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedGAVMetadata.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedGAVMetadata.java
new file mode 100644
index 0000000..dda68d0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedGAVMetadata.java
@@ -0,0 +1,111 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.cache.fs;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.repository.api.MetadataCorruptionException;
+import org.apache.maven.mercury.repository.api.RepositoryGAVMetadata;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class CachedGAVMetadata
+extends RepositoryGAVMetadata
+{
+ public static final String ELEM_SNAPSHOTS = "snapshots";
+ public static final String ATTR_SNAPSHOT = "snapshot";
+
+ public static final String ELEM_CLASSIFIERS = "classifiers";
+ public static final String ATTR_CLASSIFIER = "classifier";
+
+ CachedMetadata cm;
+
+ public CachedGAVMetadata( File mdFile )
+ throws FileNotFoundException, IOException, XmlPullParserException, MetadataCorruptionException
+ {
+ cm = new CachedMetadata( mdFile );
+ fromXml();
+ }
+
+ public CachedGAVMetadata( RepositoryGAVMetadata gavm )
+ throws MetadataException
+ {
+ super( gavm );
+
+ cm = new CachedMetadata();
+
+ toXml();
+ }
+
+ /**
+ * fill GA with data from cm
+ *
+ * @throws MetadataCorruptionException
+ */
+ private void fromXml()
+ throws MetadataCorruptionException
+ {
+ gav = new ArtifactCoordinates(
+ cm.getAttribute( CachedGAMetadata.ELEM_COORDINATES, CachedGAMetadata.ATTR_GROUP_ID, true )
+ , cm.getAttribute( CachedGAMetadata.ELEM_COORDINATES, CachedGAMetadata.ATTR_ARTIFACT_ID, true )
+ , cm.getAttribute( CachedGAMetadata.ELEM_COORDINATES, CachedGAMetadata.ATTR_VERSION, true )
+ );
+
+ List<String> snList = cm.findAttributes( ELEM_SNAPSHOTS, ATTR_SNAPSHOT );
+
+ if( ! Util.isEmpty( snList ) )
+ this.snapshots.addAll( snList );
+
+ List<String> clList = cm.findAttributes( ELEM_CLASSIFIERS, ATTR_CLASSIFIER );
+
+ if( ! Util.isEmpty( clList ) )
+ this.classifiers.addAll( clList );
+
+ String lChk = cm.getLastUpdate();
+
+ lastCheck = Long.parseLong( lChk );
+ }
+
+ private void toXml()
+ {
+ cm.clean();
+
+ cm.setAttribute( CachedGAMetadata.ELEM_COORDINATES, CachedGAMetadata.ATTR_GROUP_ID, gav.getGroupId() );
+ cm.setAttribute( CachedGAMetadata.ELEM_COORDINATES, CachedGAMetadata.ATTR_ARTIFACT_ID, gav.getArtifactId() );
+ cm.setAttribute( CachedGAMetadata.ELEM_COORDINATES, CachedGAMetadata.ATTR_VERSION, gav.getVersion() );
+
+ if( !Util.isEmpty( snapshots ) )
+ cm.setAttribute( ELEM_SNAPSHOTS, ATTR_SNAPSHOT, snapshots );
+
+ cm.setLastUpdate( ""+lastCheck );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedMetadata.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedMetadata.java
new file mode 100644
index 0000000..0c432ed
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/CachedMetadata.java
@@ -0,0 +1,229 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.cache.fs;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.maven.mercury.repository.api.MetadataCorruptionException;
+import org.apache.maven.mercury.repository.cache.md.Attribute;
+import org.apache.maven.mercury.repository.cache.md.CachedRawMetadata;
+import org.apache.maven.mercury.repository.cache.md.Element;
+import org.apache.maven.mercury.repository.cache.md.io.xpp3.CachedMetadataXpp3Reader;
+import org.apache.maven.mercury.repository.cache.md.io.xpp3.CachedMetadataXpp3Writer;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+/**
+ * metadata serialization helper - saves/restores element/attribute xml.
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+class CachedMetadata
+{
+ private static final Language _lang = new DefaultLanguage( CachedMetadata.class );
+
+ private CachedRawMetadata crm;
+
+ private File mdFile;
+
+ private static CachedRawMetadata readRawMetadata( File mdFile )
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ CachedMetadataXpp3Reader reader = new CachedMetadataXpp3Reader();
+ return reader.read( new FileReader(mdFile) );
+ }
+
+ private static void writeRawMetadata( CachedRawMetadata cmd, File mdFile )
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ CachedMetadataXpp3Writer writer = new CachedMetadataXpp3Writer();
+ writer.write( new FileWriter(mdFile), cmd );
+ }
+
+ protected CachedMetadata()
+ {
+ crm = new CachedRawMetadata();
+ }
+
+ protected CachedMetadata( File mdFile )
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ if( mdFile.exists() )
+ crm = readRawMetadata( mdFile );
+ else
+ crm = new CachedRawMetadata();
+
+ this.mdFile = mdFile;
+ }
+
+ public void save( File mdFile )
+ throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ writeRawMetadata( crm, mdFile );
+ }
+
+ protected Element findElement( String elem )
+ {
+ List<Element> el = crm.getElements();
+ if( Util.isEmpty( el ) )
+ {
+ el = new ArrayList<Element>();
+ crm.setElements( el );
+ }
+
+ Element e = null;
+
+ for( Element le : el )
+ if( le.getName().equals( elem ) )
+ {
+ e = le;
+ break;
+ }
+
+ if( e == null )
+ {
+ e = new Element();
+ e.setName( elem );
+ el.add( e );
+ }
+
+ return e;
+ }
+
+ protected void cleanAttribute( Element e, String attr )
+ {
+ List<Attribute> al = e.getAttributes();
+
+ if( Util.isEmpty( al ))
+ return;
+
+ int sz = al.size();
+
+ for( int i= (sz-1); i >= 0; i-- )
+ {
+ Attribute a = al.get( i );
+ if( a.getName().equals( attr ) )
+ al.remove( i );
+ }
+ }
+
+ protected List<String> findAttributes( Element e, String attr )
+ {
+ List<Attribute> al = e.getAttributes();
+
+ if( Util.isEmpty( al ))
+ {
+ al = new ArrayList<Attribute>();
+ e.setAttributes( al );
+ return null;
+ }
+
+ List<String> a = null;
+
+ for( Attribute la : al )
+ if( la.getName().equals( attr ) )
+ {
+ if( a == null )
+ a = new ArrayList<String>();
+ a.add( la.getValue() );
+ }
+
+ return a;
+ }
+
+ protected List<String> findAttributes( String elem, String attr )
+ {
+ Element e = findElement( elem );
+ return findAttributes( e, attr );
+ }
+
+ protected String getAttribute( String elem, String attr, boolean mandatory )
+ throws MetadataCorruptionException
+ {
+ Element e = findElement( elem );
+
+ List<String> a = findAttributes( e, attr );
+
+ if( Util.isEmpty( a ) )
+ if( mandatory )
+ throw new MetadataCorruptionException( _lang.getMessage( "no.mandatory.attribute", elem, attr ) );
+ else
+ return null;
+
+ return a.get( 0 );
+ }
+
+ protected void addAttribute( Element e, String attr, String val )
+ {
+ List<Attribute> al = e.getAttributes();
+ if( al == null )
+ {
+ al = new ArrayList<Attribute>();
+ e.setAttributes( al );
+ }
+
+ Attribute a = new Attribute();
+ a.setName( attr );
+ a.setValue( val );
+
+ al.add( a );
+ }
+
+ protected void setAttribute( String elem, String attr, String val)
+ {
+ Element e = findElement( elem );
+ cleanAttribute( e, attr );
+ addAttribute( e, attr, val );
+ }
+
+ protected void setAttribute( String elem, String attr, Collection<String> vals )
+ {
+ Element e = findElement( elem );
+ cleanAttribute( e, attr );
+ for( String val : vals )
+ addAttribute( e, attr, val );
+ }
+
+ protected void setLastUpdate( String lastUpdated )
+ {
+ crm.setLastUpdated( lastUpdated );
+ }
+
+ protected String getLastUpdate()
+ {
+ return crm.getLastUpdated();
+ }
+
+ protected void clean()
+ {
+ crm.setElements( null );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/Messages.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/Messages.properties
new file mode 100644
index 0000000..96392ac
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/Messages.properties
@@ -0,0 +1,20 @@
+#
+# 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.
+#
+bad.root.file=bad root folder {0}
+no.mandatory.attribute=for element {0} mandatory attribute {1} is missing
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
new file mode 100644
index 0000000..b5f6a78
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
@@ -0,0 +1,512 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.cache.fs;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.event.EventManager;
+import org.apache.maven.mercury.event.EventTypeEnum;
+import org.apache.maven.mercury.event.GenericEvent;
+import org.apache.maven.mercury.event.MercuryEvent;
+import org.apache.maven.mercury.event.MercuryEventListener;
+import org.apache.maven.mercury.repository.api.MetadataCacheException;
+import org.apache.maven.mercury.repository.api.MetadataCorruptionException;
+import org.apache.maven.mercury.repository.api.RepositoryGAMetadata;
+import org.apache.maven.mercury.repository.api.RepositoryGAVMetadata;
+import org.apache.maven.mercury.repository.api.RepositoryMetadataCache;
+import org.apache.maven.mercury.repository.api.RepositoryUpdatePolicy;
+import org.apache.maven.mercury.util.FileLockBundle;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataCacheFs
+implements RepositoryMetadataCache
+{
+ public static final String EVENT_FIND_GA = "find.ga";
+ public static final String EVENT_FIND_GAV = "find.gav";
+ public static final String EVENT_FIND_RAW = "find.raw";
+
+ public static final String EVENT_UPDATE_GA = "update.ga";
+ public static final String EVENT_UPDATE_GAV = "update.gav";
+ public static final String EVENT_SAVE_RAW = "save.raw";
+
+ private static final Language _lang = new DefaultLanguage( RepositoryGAVMetadata.class );
+
+ static volatile Map<String, MetadataCacheFs> fsCaches = Collections.synchronizedMap( new HashMap<String, MetadataCacheFs>(2) );
+
+ // store resolved cached data in memory
+ private volatile Map<String, RepositoryGAMetadata> gaCache
+ = (Map<String, RepositoryGAMetadata>)Collections.synchronizedMap( new HashMap<String, RepositoryGAMetadata>(512) );
+
+ private volatile Map<String, RepositoryGAVMetadata> gavCache
+ = (Map<String, RepositoryGAVMetadata>)Collections.synchronizedMap( new HashMap<String, RepositoryGAVMetadata>(1024) );
+
+ private volatile Map<String, byte []> rawCache
+ = (Map<String, byte []>)Collections.synchronizedMap( new HashMap<String, byte []>(1024) );
+
+ private File root;
+
+ private EventManager _eventManager;
+
+ /**
+ * access to all known FS caches
+ *
+ * @param root
+ * @return
+ * @throws IOException
+ */
+ public static MetadataCacheFs getCache( File root )
+ throws IOException
+ {
+ if( root == null
+ || ( root.exists() && root.isFile() )
+ )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.root.file", root == null ? "null" : root.getAbsolutePath() ) );
+
+ String key = root.getCanonicalPath();
+
+ MetadataCacheFs fsc = fsCaches.get(key);
+
+ if( fsc == null )
+ {
+ fsc = new MetadataCacheFs( root );
+ fsCaches.put( key, fsc );
+ }
+
+ return fsc;
+ }
+
+ /**
+ * private as it should be obtained via a call to <code>getCache()</code>
+ */
+ private MetadataCacheFs( File root )
+ {
+ this.root = root;
+ }
+
+ public RepositoryGAMetadata findGA( String repoGuid, RepositoryUpdatePolicy up, ArtifactCoordinates coord )
+ throws MetadataCorruptionException
+ {
+ GenericEvent event = null;
+
+ try
+ {
+ String gaKey = getGAKey(coord);
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.fsCache, EVENT_FIND_GA, gaKey );
+
+ RepositoryGAMetadata inMem = gaCache.get( gaKey );
+
+ if( inMem != null )
+ {
+ long lastCheckMillis = inMem.getLastCheckMillis();
+
+ if( up.timestampExpired( lastCheckMillis ) )
+ {
+ inMem.setExpired( true );
+ gaCache.put( gaKey, inMem );
+ }
+
+ if( _eventManager != null )
+ event.setResult( "found in memory, expired is "+inMem.isExpired() );
+
+ return inMem;
+ }
+
+ File gaDir = getGADir(coord);
+
+ File gamF = getGAFile( gaDir, repoGuid );
+
+ CachedGAMetadata md = null;
+
+ if( gamF.exists() )
+ {
+ md = new CachedGAMetadata( gamF );
+
+ long lastCheckMillis = md.getLastCheckMillis();
+
+ if( up != null && up.timestampExpired( lastCheckMillis ) )
+ md.setExpired( true );
+
+ gaCache.put( gaKey, md );
+
+ if( _eventManager != null )
+ event.setResult( "found on disk, expired is "+md.isExpired() );
+ }
+ else
+ {
+ if( _eventManager != null )
+ event.setResult( "not found" );
+ }
+
+ return md;
+ }
+ catch( Exception e )
+ {
+ throw new MetadataCorruptionException( e.getMessage() );
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+
+ public RepositoryGAVMetadata findGAV( String repoGuid, RepositoryUpdatePolicy up, ArtifactCoordinates coord )
+ throws MetadataCorruptionException
+ {
+ FileLockBundle lock = null;
+ GenericEvent event = null;
+
+ try
+ {
+ String gavKey = getGAVKey(coord);
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.fsCache, EVENT_FIND_GAV, gavKey );
+
+ RepositoryGAVMetadata inMem = gavCache.get( gavKey );
+
+ if( inMem != null )
+ {
+ long lastCheckMillis = inMem.getLastCheckMillis();
+
+ if( up.timestampExpired( lastCheckMillis ) )
+ {
+ inMem.setExpired( true );
+ gavCache.put( gavKey, inMem );
+ }
+
+ if( _eventManager != null )
+ event.setResult( "found in memory, expired is "+inMem.isExpired() );
+
+ return inMem;
+ }
+
+ File gavDir = getGAVDir( coord );
+
+ lock = FileUtil.lockDir( gavDir.getCanonicalPath(), 500L, 5L );
+
+ File gavmF = getGAVFile( gavDir, repoGuid );
+
+ CachedGAVMetadata md = null;
+
+ if( gavmF.exists() )
+ {
+ md = new CachedGAVMetadata( gavmF );
+
+ if( up != null && up.timestampExpired( md.getLastCheck() ) )
+ md.setExpired( true );
+
+ if( _eventManager != null )
+ event.setResult( "found on disk, expired is "+inMem.isExpired() );
+
+ gavCache.put( gavKey, md );
+ }
+ else
+ if( _eventManager != null )
+ event.setResult( "not found" );
+
+ return md;
+ }
+ catch( Exception e )
+ {
+ throw new MetadataCorruptionException( e.getMessage() );
+ }
+ finally
+ {
+ if( lock != null )
+ lock.release();
+
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+
+ public void updateGA( String repoGuid, RepositoryGAMetadata gam )
+ throws MetadataCacheException
+ {
+ FileLockBundle lock = null;
+
+ GenericEvent event = null;
+
+ try
+ {
+ String gaKey = getGAKey( gam.getGA() );
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.fsCache, EVENT_UPDATE_GA, gaKey );
+
+ File gaDir = getGADir( gam.getGA() );
+
+ lock = FileUtil.lockDir( gaDir.getCanonicalPath(), 500L, 5L );
+
+ File gamF = getGAFile( gaDir, repoGuid );
+
+ CachedGAMetadata md = new CachedGAMetadata( gam );
+
+ md.cm.save( gamF );
+
+ gaCache.put( gaKey, md );
+ }
+ catch( Exception e )
+ {
+ throw new MetadataCacheException( e.getMessage() );
+ }
+ finally
+ {
+ if( lock != null ) lock.release();
+
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+
+ public void updateGAV( String repoGuid, RepositoryGAVMetadata gavm )
+ throws MetadataCacheException
+ {
+ FileLockBundle lock = null;
+
+ GenericEvent event = null;
+
+ try
+ {
+ String gavKey = getGAKey( gavm.getGAV() );
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.fsCache, EVENT_UPDATE_GA, gavKey );
+
+
+ File gavDir = getGAVDir( gavm.getGAV() );
+
+ lock = FileUtil.lockDir( gavDir.getCanonicalPath(), 500L, 5L );
+
+ File gavmF = getGAVFile( gavDir, repoGuid );
+
+ CachedGAVMetadata md = new CachedGAVMetadata( gavm );
+
+ md.cm.save( gavmF );
+
+ gavCache.put( gavKey, md );
+ }
+ catch( Exception e )
+ {
+ throw new MetadataCacheException( e.getMessage() );
+ }
+ finally
+ {
+ if( lock != null ) lock.release();
+
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+
+ public byte[] findRaw( ArtifactBasicMetadata bmd )
+ throws MetadataCacheException
+ {
+ GenericEvent event = null;
+
+ try
+ {
+ String rawKey = bmd.getGAV();
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.fsCache, EVENT_FIND_RAW, rawKey );
+
+ byte [] res = rawCache.get( rawKey );
+
+ if( res != null )
+ {
+ if( _eventManager != null )
+ event.setResult( "found in memory" );
+
+ return res;
+ }
+
+ // locking is provided by underlying OS, don't waste the effort
+ File f = new File( getGAVDir( bmd.getEffectiveCoordinates() )
+ , bmd.getArtifactId()+FileUtil.DASH+bmd.getVersion()+"."+bmd.getType()
+ );
+
+ if( ! f.exists() )
+ return null;
+
+ res = FileUtil.readRawData( f );
+
+ rawCache.put( rawKey, res );
+
+ if( _eventManager != null )
+ event.setResult( "found on disk" );
+
+ return res;
+ }
+ catch( IOException e )
+ {
+ throw new MetadataCacheException( e.getMessage() );
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+
+ public void saveRaw( ArtifactBasicMetadata bmd, byte[] rawBytes )
+ throws MetadataCacheException
+ {
+ GenericEvent event = null;
+
+ // locking is provided by underlying OS, don't waste the effort
+ try
+ {
+ String rawKey = bmd.getGAV();
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.fsCache, EVENT_SAVE_RAW, rawKey );
+
+ rawCache.put( rawKey, rawBytes );
+
+ File f = new File( getGAVDir( bmd.getEffectiveCoordinates() )
+ , bmd.getArtifactId()+FileUtil.DASH+bmd.getVersion()+"."+bmd.getType()
+ );
+
+ FileUtil.writeRawData( f, rawBytes );
+ }
+ catch( IOException e )
+ {
+ throw new MetadataCacheException( e.getMessage() );
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+ //---------------------------------------------------------------------------------------
+ private String getGAKey( ArtifactCoordinates coord )
+ {
+ return coord.getGroupId()+":"+coord.getArtifactId();
+ }
+
+ private String getGAVKey( ArtifactCoordinates coord )
+ {
+ return coord.getGroupId()+":"+coord.getArtifactId()+":"+coord.getVersion();
+ }
+
+ private File getGADir( ArtifactCoordinates coord )
+ {
+ File dir = new File( root, coord.getGroupId()+FileUtil.SEP+coord.getArtifactId() );
+
+ if( ! dir.exists() )
+ dir.mkdirs();
+
+ return dir;
+ }
+
+ private File getGAFile( File gaDir, String repoGuid )
+ {
+ return new File( gaDir, "meta-ga-"+repoGuid+".xml" );
+ }
+
+ private File getGAVDir( ArtifactCoordinates coord )
+ {
+ String version = coord.getVersion();
+
+ Quality q = new Quality( version );
+
+ if( q.compareTo( Quality.SNAPSHOT_TS_QUALITY ) == 0 )
+ {
+ DefaultArtifactVersion dav = new DefaultArtifactVersion(version);
+ version = dav.getBase()+"-"+ Artifact.SNAPSHOT_VERSION;
+ }
+
+ File dir = new File( getGADir( coord ), coord.getArtifactId()+FileUtil.DASH+version );
+
+ if( ! dir.exists() )
+ dir.mkdirs();
+
+ return dir;
+ }
+
+ private File getGAVFile( File gavDir, String repoGuid )
+ {
+ return new File( gavDir, "meta-gav-"+repoGuid+".xml" );
+ }
+
+
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ if( _eventManager == null )
+ _eventManager = eventManager;
+ else
+ _eventManager.getListeners().addAll( eventManager.getListeners() );
+
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/mdo/cached-metadata.mdo b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/mdo/cached-metadata.mdo
new file mode 100644
index 0000000..14d1605
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/main/mdo/cached-metadata.mdo
@@ -0,0 +1,117 @@
+<!--
+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.
+-->
+
+<model>
+ <id>cached-metadata</id>
+
+ <name>CachedMetadata</name>
+ <description>Per-directory repository metadata.</description>
+
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.mercury.repository.cache.md</value>
+ </default>
+ </defaults>
+
+ <classes>
+
+ <class rootElement="true">
+ <name>CachedRawMetadata</name>
+ <version>1.0.0</version>
+ <fields>
+
+ <field>
+ <name>lastUpdated</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>When the metadata was last updated</description>
+ </field>
+
+ <field>
+ <name>elements</name>
+ <version>1.0.0</version>
+ <description>group of metadata elements</description>
+ <association>
+ <type>Element</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
+
+ <class>
+ <name>Element</name>
+ <version>1.0.0</version>
+ <description>metadata element</description>
+ <fields>
+ <field>
+ <name>name</name>
+ <version>1.0.0</version>
+ <description>name of this element</description>
+ <type>String</type>
+ </field>
+
+ <field>
+ <name>attributes</name>
+ <version>1.0.0</version>
+ <description>group of metadata element attributes</description>
+ <association>
+ <type>Attribute</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+
+ <field>
+ <name>elements</name>
+ <version>1.0.0</version>
+ <description>group of metadata element elements</description>
+ <association>
+ <type>Element</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+
+ </fields>
+ </class>
+
+ <class>
+ <name>Attribute</name>
+ <version>1.0.0</version>
+ <description>generic attribute - name/value pair</description>
+ <fields>
+ <field>
+ <name>name</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0</version>
+ <description>name of this attribute</description>
+ </field>
+ <field>
+ <name>value</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0</version>
+ <description>value of this attribute</description>
+ </field>
+ </fields>
+ </class>
+
+ </classes>
+</model>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/java/org/apache/maven/mercury/repository/cache/fs/CachedGATest.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/java/org/apache/maven/mercury/repository/cache/fs/CachedGATest.java
new file mode 100644
index 0000000..a7bbcb8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/java/org/apache/maven/mercury/repository/cache/fs/CachedGATest.java
@@ -0,0 +1,85 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.cache.fs;
+
+import java.io.File;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.repository.api.RepositoryGAMetadata;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class CachedGATest
+ extends TestCase
+{
+
+ byte [] mdBytes;
+
+ CachedGAMetadata gam;
+
+ Metadata omd;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ InputStream is = CachedGATest.class.getResourceAsStream( "/ga-metadata.xml" );
+
+ mdBytes = FileUtil.readRawData( is );
+
+ omd = MetadataBuilder.getMetadata( mdBytes );
+
+ gam = new CachedGAMetadata( new RepositoryGAMetadata(omd) );
+ }
+
+ public void testData()
+ throws Exception
+ {
+ assertEquals( omd.getGroupId(), gam.getGA().getGroupId() );
+ assertEquals( omd.getArtifactId(), gam.getGA().getArtifactId() );
+
+ assertEquals( omd.getVersioning().getVersions().size(), gam.getVersions().size() );
+ }
+
+ public void testRead()
+ throws Exception
+ {
+ File mf = File.createTempFile( "test-ga-", ".xml", new File("./target") );
+ gam.cm.save( mf );
+
+ CachedGAMetadata gam2 = new CachedGAMetadata( mf );
+
+ assertEquals( omd.getGroupId(), gam2.getGA().getGroupId() );
+ assertEquals( omd.getArtifactId(), gam2.getGA().getArtifactId() );
+
+ assertEquals( omd.getVersioning().getVersions().size(), gam2.getVersions().size() );
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/java/org/apache/maven/mercury/repository/cache/fs/CachedGAVTest.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/java/org/apache/maven/mercury/repository/cache/fs/CachedGAVTest.java
new file mode 100644
index 0000000..a8fce0a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/java/org/apache/maven/mercury/repository/cache/fs/CachedGAVTest.java
@@ -0,0 +1,86 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.cache.fs;
+
+import java.io.File;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.repository.api.RepositoryGAVMetadata;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class CachedGAVTest
+ extends TestCase
+{
+
+ byte [] mdBytes;
+
+ CachedGAVMetadata gam;
+
+ Metadata omd;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ InputStream is = CachedGAVTest.class.getResourceAsStream( "/gav-metadata.xml" );
+
+ mdBytes = FileUtil.readRawData( is );
+
+ omd = MetadataBuilder.getMetadata( mdBytes );
+
+ gam = new CachedGAVMetadata( new RepositoryGAVMetadata(omd) );
+ }
+
+ public void testData()
+ throws Exception
+ {
+ assertEquals( omd.getGroupId(), gam.getGAV().getGroupId() );
+ assertEquals( omd.getArtifactId(), gam.getGAV().getArtifactId() );
+ assertEquals( omd.getVersion(), gam.getGAV().getVersion() );
+
+ assertEquals( omd.getVersioning().getVersions().size(), gam.getSnapshots().size() );
+ }
+
+ public void testRead()
+ throws Exception
+ {
+ File mf = File.createTempFile( "test-ga-", ".xml", new File("./target") );
+ gam.cm.save( mf );
+
+ CachedGAVMetadata gam2 = new CachedGAVMetadata( mf );
+
+ assertEquals( omd.getGroupId(), gam2.getGAV().getGroupId() );
+ assertEquals( omd.getArtifactId(), gam2.getGAV().getArtifactId() );
+ assertEquals( omd.getVersion(), gam2.getGAV().getVersion() );
+
+ assertEquals( omd.getVersioning().getVersions().size(), gam2.getSnapshots().size() );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/resources/ga-metadata.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/resources/ga-metadata.xml
new file mode 100644
index 0000000..0ddae23
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/resources/ga-metadata.xml
@@ -0,0 +1,32 @@
+<!--
+
+ 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.
+
+-->
+<metadata>
+ <groupId>activemq</groupId>
+ <artifactId>activemq-jaas</artifactId>
+ <version>4.0-M1</version>
+ <versioning>
+ <versions>
+ <version>4.0-M1</version>
+ <version>4.0-M2</version>
+ <version>4.0-M3</version>
+ </versions>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/resources/gav-metadata.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/resources/gav-metadata.xml
new file mode 100644
index 0000000..638ae35
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-cache-fs/src/test/resources/gav-metadata.xml
@@ -0,0 +1,38 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <localCopy>true</localCopy>
+ </snapshot>
+ <lastUpdated>20081009213718</lastUpdated>
+ <versions>
+ <version>1.0.0-alpha-2-20081006.174832-2</version>
+ <version>1.0.0-alpha-2-20081006.174832-9</version>
+ <version>1.0.0-alpha-2-20081006.174840-10</version>
+ <version>1.0.0-alpha-2-20081006.174840-11</version>
+ </versions>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/pom.xml
new file mode 100644
index 0000000..525d43a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/pom.xml
@@ -0,0 +1,44 @@
+<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.mercury</groupId>
+ <artifactId>mercury-repo-local-flat</artifactId>
+ <name>Mercury Local Flat Repository</name>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/ArtifactLocation.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/ArtifactLocation.java
new file mode 100644
index 0000000..bf9e592
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/ArtifactLocation.java
@@ -0,0 +1,179 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.flat;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ * artifact relative location data object - used by repositories to hold on to intermediate path calculations
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactLocation
+{
+ public static final String POM_EXT = ".pom";
+
+ private String prefix;
+
+ private String gaPath;
+ private String versionDir;
+ private String baseName;
+ private String version;
+ private String classifier;
+ private String type;
+
+ private ArtifactBasicMetadata bmd;
+
+ public ArtifactLocation( String prefix, ArtifactBasicMetadata bmd )
+ {
+ if( prefix == null || bmd == null || bmd.getGroupId() == null || bmd.getArtifactId() == null || bmd.getVersion() == null )
+ return;
+
+ this.bmd = bmd;
+
+ this.prefix = prefix;
+ this.gaPath = bmd.getGroupId().replace( '.', FileUtil.SEP_CHAR ) + FileUtil.SEP + bmd.getArtifactId();
+ this.version = bmd.getVersion();
+ this.baseName = bmd.getArtifactId();
+ this.versionDir = this.version;
+ this.classifier = bmd.getClassifier();
+ this.type = bmd.getType();
+ }
+
+ public String getRelPath()
+ {
+ return gaPath+FileUtil.SEP+versionDir+FileUtil.SEP+baseName+FileUtil.DASH+version+getDashedClassifier()+'.'+type;
+ }
+
+ public String getRelPomPath()
+ {
+ return gaPath+FileUtil.SEP+versionDir+FileUtil.SEP+baseName+FileUtil.DASH+version+POM_EXT;
+ }
+
+ public String getAbsPath()
+ {
+ if( prefix == null )
+ return null;
+
+ return getSeparatedPrefix() + getRelPath();
+ }
+
+ public String getAbsPomPath()
+ {
+ if( prefix == null )
+ return null;
+
+ return getSeparatedPrefix() + getRelPomPath();
+ }
+
+ public String getGavPath()
+ {
+ return getGaPath()+FileUtil.SEP+versionDir;
+ }
+
+ public String getBaseVersion()
+ {
+ if( version == null )
+ return null;
+
+ DefaultArtifactVersion dav = new DefaultArtifactVersion( version );
+ return dav.getBase();
+ }
+
+ //---------------------------------------------------------
+ public String getGaPath()
+ {
+ return gaPath;
+ }
+ public void setGaPath( String gaPath )
+ {
+ this.gaPath = gaPath;
+ }
+ public String getVersionDir()
+ {
+ return versionDir;
+ }
+ public void setVersionDir( String versionDir )
+ {
+ this.versionDir = versionDir;
+ }
+ public String getBaseName()
+ {
+ return baseName;
+ }
+ public void setBaseName( String baseName )
+ {
+ this.baseName = baseName;
+ }
+ public String getVersion()
+ {
+ return version;
+ }
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+ public String getClassifier()
+ {
+ return classifier;
+ }
+ public String getDashedClassifier()
+ {
+ return (classifier == null||classifier.length()<1) ? "" : FileUtil.DASH+classifier;
+ }
+ public void setClassifier( String classifier )
+ {
+ this.classifier = classifier;
+ }
+ public String getType()
+ {
+ return type;
+ }
+ public void setType( String type )
+ {
+ this.type = type;
+ }
+ public String getPrefix()
+ {
+ return prefix;
+ }
+ public String getSeparatedPrefix()
+ {
+ if( prefix == null )
+ return null;
+
+ return prefix+(prefix.endsWith( FileUtil.SEP ) ? "" : FileUtil.SEP);
+ }
+ public void setPrefix( String prefix )
+ {
+ this.prefix = prefix;
+ }
+
+ @Override
+ public String toString()
+ {
+ return bmd == null ? "no ArtifactBasicMetadata" : bmd.toString();
+ }
+
+}
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java
new file mode 100644
index 0000000..18ae3d2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java
@@ -0,0 +1,119 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.flat;
+
+import java.io.File;
+
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+
+public class LocalRepositoryFlat
+extends AbstractRepository
+implements LocalRepository
+{
+ public static final String FLAT_REPOSITORY_TYPE = "flat";
+
+ public static final String METADATA_FILE_NAME = "maven-metadata-local.xml";
+
+ private File directory;
+
+ private boolean createPoms = false;
+ private boolean createGroupFolders = false;
+
+ //----------------------------------------------------------------------------------
+ public LocalRepositoryFlat( String id, File directory, boolean createGroupFolders, boolean createPoms )
+ {
+ super( id, FLAT_REPOSITORY_TYPE );
+ this.directory = directory;
+ this.createGroupFolders = createGroupFolders;
+ this.createPoms = createPoms;
+ }
+ //----------------------------------------------------------------------------------
+ public File getDirectory()
+ {
+ return directory;
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryReader getReader()
+ {
+ return RepositoryReader.NULL_READER;
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryReader getReader( String protocol )
+ {
+ return RepositoryReader.NULL_READER;
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryWriter getWriter()
+ {
+ return new LocalRepositoryWriterFlat(this);
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException
+ {
+ return getWriter();
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isLocal()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isReadable()
+ {
+ return false;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isWriteable()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public String getType()
+ {
+ return DEFAULT_REPOSITORY_TYPE;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isCreatePoms()
+ {
+ return createPoms;
+ }
+ public void setCreatePoms( boolean createPoms )
+ {
+ this.createPoms = createPoms;
+ }
+ public boolean isCreateGroupFolders()
+ {
+ return createGroupFolders;
+ }
+ public void setCreateGroupFolders( boolean createGroupFolders )
+ {
+ this.createGroupFolders = createGroupFolders;
+ }
+ public String getMetadataName()
+ {
+ return METADATA_FILE_NAME;
+ }
+ //----------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java
new file mode 100644
index 0000000..e7eb91c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java
@@ -0,0 +1,328 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.flat;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.AbstractRepositoryWriter;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileLockBundle;
+import org.apache.maven.mercury.util.FileUtil;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class LocalRepositoryWriterFlat
+extends AbstractRepositoryWriter
+implements RepositoryWriter
+{
+ public static final String SYSTEM_PROPERTY_PARALLEL_WORKERS = "mercury.local.repo.workers";
+ public static final int PARALLEL_WORKERS = Integer.parseInt( System.getProperty( SYSTEM_PROPERTY_PARALLEL_WORKERS, "4" ) );
+
+ public static final long SLEEP_FOR_WORKERS_TICK = 20l;
+
+ public static final String SYSTEM_PROPERTY_SLEEP_FOR_LOCK = "mercury.local.lock.wait.millis";
+ public static final long SLEEP_FOR_LOCK = Long.parseLong( System.getProperty( SYSTEM_PROPERTY_SLEEP_FOR_LOCK, "5000" ) );
+
+ public static final long SLEEP_FOR_LOCK_TICK = 5l;
+
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( LocalRepositoryWriterFlat.class );
+ private static final Language _lang = new DefaultLanguage( LocalRepositoryWriterFlat.class );
+ //---------------------------------------------------------------------------------------------------------------
+ private static final String [] _protocols = new String [] { "file" };
+
+ private final LocalRepository _repo;
+ private final File _repoDir;
+ private final ArtifactQueue _aq;
+
+ private static final ArifactWriteData LAST_ARTIFACT = new ArifactWriteData( null, null );
+
+ //---------------------------------------------------------------------------------------------------------------
+ public LocalRepositoryWriterFlat( LocalRepository repo )
+ {
+ if( repo == null )
+ throw new IllegalArgumentException("localRepo cannot be null");
+
+ _repoDir = repo.getDirectory();
+ if( _repoDir == null )
+ throw new IllegalArgumentException("localRepo directory cannot be null");
+
+ if( !_repoDir.exists() )
+ throw new IllegalArgumentException("localRepo directory \""+_repoDir.getAbsolutePath()+"\" should exist");
+
+ _repo = repo;
+ _aq = null;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private LocalRepositoryWriterFlat( LocalRepository repo, File repoDir, ArtifactQueue aq )
+ {
+ _repo = repo;
+ _repoDir = repoDir;
+ _aq = aq;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public Repository getRepository()
+ {
+ return _repo;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public boolean canHandle( String protocol )
+ {
+ return AbstractRepository.DEFAULT_LOCAL_READ_PROTOCOL.equals( protocol );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public String[] getProtocols()
+ {
+ return _protocols;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void close()
+ {
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void writeArtifacts( Collection<Artifact> artifacts )
+ throws RepositoryException
+ {
+ if( artifacts == null || artifacts.size() < 1 )
+ return;
+
+ int nWorkers = PARALLEL_WORKERS;
+ if( artifacts.size() < nWorkers )
+ nWorkers = artifacts.size();
+
+ ArtifactQueue aq = new ArtifactQueue();
+ LocalRepositoryWriterFlat [] workers = new LocalRepositoryWriterFlat[ nWorkers ];
+
+ for( int i=0; i<nWorkers; i++ )
+ workers[ i ] = new LocalRepositoryWriterFlat( _repo, _repoDir, aq );
+
+ for( Artifact artifact : artifacts )
+ {
+ Set<StreamVerifierFactory> vFacs = null;
+ Server server = _repo.getServer();
+ if( server != null && server.hasWriterStreamVerifierFactories() )
+ vFacs = server.getWriterStreamVerifierFactories();
+
+ if( vFacs == null ) // let it be empty, but not null
+ vFacs = new HashSet<StreamVerifierFactory>(1);
+
+ aq.addArtifact( new ArifactWriteData( artifact, vFacs ) );
+ }
+ aq.addArtifact( LAST_ARTIFACT );
+
+ for( int i=0; i<nWorkers; i++ )
+ workers[ i ].start();
+
+ boolean alive = true;
+ while( alive )
+ {
+ alive = false;
+ for( int i=0; i<nWorkers; i++ )
+ if( workers[ i ].isAlive() )
+ {
+ alive = true;
+ try { sleep( SLEEP_FOR_WORKERS_TICK ); } catch( InterruptedException ie ) {}
+ }
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /* (non-Javadoc)
+ * @see java.lang.Thread#run()
+ */
+ @Override
+ public void run()
+ {
+ try
+ {
+ for(;;)
+ {
+ ArifactWriteData awd = _aq.getArtifact();
+
+ if( awd == null || awd.artifact == null )
+ break;
+
+ writeArtifact( awd.artifact, awd.vFacs );
+ }
+ }
+ catch (InterruptedException e)
+ {
+ }
+ catch( RepositoryException e )
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void writeArtifact( final Artifact artifact, final Set<StreamVerifierFactory> vFacs )
+ throws RepositoryException
+ {
+ if( artifact == null )
+ return;
+
+ boolean isPom = "pom".equals( artifact.getType() );
+
+ byte [] pomBlob = artifact.getPomBlob();
+ boolean hasPomBlob = pomBlob != null && pomBlob.length > 0;
+
+ InputStream in = artifact.getStream();
+ if( in == null )
+ {
+ File aFile = artifact.getFile();
+ if( aFile == null && !isPom )
+ {
+ throw new RepositoryException( _lang.getMessage( "artifact.no.stream", artifact.toString() ) );
+ }
+
+ try
+ {
+ in = new FileInputStream( aFile );
+ }
+ catch( FileNotFoundException e )
+ {
+ if( !isPom )
+ throw new RepositoryException( e );
+ }
+ }
+
+ String relGroupPath = ((LocalRepositoryFlat)_repo).isCreateGroupFolders() ? artifact.getGroupId() : "";
+ String versionPath = _repoDir.getAbsolutePath() + (Util.isEmpty( relGroupPath ) ? "" : "/"+relGroupPath);
+
+ String lockDir = null;
+ FileLockBundle fLock = null;
+
+ try
+ {
+
+ if( isPom )
+ {
+ if( in == null && !hasPomBlob )
+ throw new RepositoryException( _lang.getMessage( "pom.artifact.no.stream", artifact.toString() ) );
+
+ if( in != null )
+ {
+ byte [] pomBlobBytes = FileUtil.readRawData( in );
+ hasPomBlob = pomBlobBytes != null && pomBlobBytes.length > 0;
+ if( hasPomBlob )
+ pomBlob = pomBlobBytes;
+ }
+ }
+
+ // create folders
+ lockDir = versionPath;
+
+ File gav = new File( lockDir );
+ gav.mkdirs();
+
+ fLock = FileUtil.lockDir( lockDir, SLEEP_FOR_LOCK, SLEEP_FOR_LOCK_TICK );
+ if( fLock == null )
+ throw new RepositoryException( _lang.getMessage( "cannot.lock.gav", lockDir, ""+SLEEP_FOR_LOCK ) );
+
+ String fName = versionPath+'/'+artifact.getBaseName()+'.'+artifact.getType();
+
+ if( !isPom ) // first - take care of the binary
+ FileUtil.writeAndSign( fName, in, vFacs );
+
+ // if classier - nothing else to do :)
+ if( artifact.hasClassifier() )
+ return;
+
+ if( ((LocalRepositoryFlat)_repo).isCreatePoms() && hasPomBlob )
+ {
+ FileUtil.writeAndSign( versionPath
+ +'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom", pomBlob, vFacs
+ );
+ }
+
+ }
+ catch( Exception e )
+ {
+ throw new RepositoryException( e );
+ }
+ finally
+ {
+ if( fLock != null )
+ fLock.release();
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ //---------------------------------------------------------------------------------------------------------------
+}
+//=================================================================================================================
+class ArifactWriteData
+{
+ Artifact artifact;
+ Set<StreamVerifierFactory> vFacs;
+
+ public ArifactWriteData(Artifact artifact, Set<StreamVerifierFactory> vFacs)
+ {
+ this.artifact = artifact;
+ this.vFacs = vFacs;
+ }
+}
+//=================================================================================================================
+class ArtifactQueue
+{
+ LinkedList<ArifactWriteData> queue = new LinkedList<ArifactWriteData>();
+ boolean empty = false;
+
+ public synchronized void addArtifact( ArifactWriteData awd )
+ {
+ queue.addLast( awd );
+ empty = false;
+ notify();
+ }
+
+ public synchronized ArifactWriteData getArtifact()
+ throws InterruptedException
+ {
+ if( empty )
+ return null;
+
+ while( queue.isEmpty() )
+ wait();
+
+ ArifactWriteData res = queue.removeFirst();
+
+ if( res.artifact == null )
+ {
+ empty = true;
+ return null;
+ }
+
+ return res;
+ }
+}
+//=================================================================================================================
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlatFactory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlatFactory.java
new file mode 100644
index 0000000..a951337
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlatFactory.java
@@ -0,0 +1,50 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.flat;
+
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.api.RepositoryWriterFactory;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class LocalRepositoryWriterFlatFactory
+implements RepositoryWriterFactory
+{
+ private static final Language lang = new DefaultLanguage( LocalRepositoryWriterFlatFactory.class );
+ private static final LocalRepositoryWriterFlatFactory factory = new LocalRepositoryWriterFlatFactory();
+
+ static
+ {
+ AbstractRepository.register( LocalRepositoryFlat.FLAT_REPOSITORY_TYPE, factory );
+ }
+
+ public RepositoryWriter getWriter( Repository repo )
+ throws RepositoryException
+ {
+ if( repo == null || !(repo instanceof LocalRepository) )
+ throw new RepositoryException( lang.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) );
+
+ return new LocalRepositoryWriterFlat( (LocalRepository)repo );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/Messages.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/Messages.properties
new file mode 100644
index 0000000..6cd0926
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/Messages.properties
@@ -0,0 +1,33 @@
+#
+# 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.
+#
+bad.repository.type=repository should implement LocalRepository, instead got {0}
+empty.query=received empty query - {0}
+binary.not.found=Artifact {0} binary at not found {1}
+ga.not.found=Artifact {0} version group not found at {1}
+gav.not.found=No artifact version for {0} found in {1}
+snapshot.not.found=No snapshot version for {0} found in {1}
+gavdir.not.found=No directory {1} for artifact {0}
+pom.not.found=Artifact {0} - binary exists, but POM not found in the repository
+artifact.no.stream=Cannot find either input stream or file, associated with artifact {0}
+pom.artifact.no.stream=Cannot find either pom blob, input stream or file, associated with artifact {0}
+no.signature.file=Verifier for {0} is mandatory, but file {1} does not exist
+signature.failed=Signature "{0}": verification failed for file {1}
+cannot.read.signature.file=Cannot read signature file {0}, error: {1}
+cannot.lock.gav=Cannot lock GAV folder {0} in {1} millis
+file.is.empty=File {0} exists, but is empty. Data corruption somewhere - please repair metadata.
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java
new file mode 100644
index 0000000..4632329
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java
@@ -0,0 +1,207 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.flat;
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class LocalRepositoryFlatTest
+ extends TestCase
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( LocalRepositoryFlatTest.class );
+
+ File _dir;
+ LocalRepositoryFlat _repo;
+
+ String repoUrl = "http://repo1.sonatype.org";
+// String repoUrl = "http://repository.sonatype.org/content/groups/public";
+
+ Artifact a;
+ Artifact b;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ _dir = File.createTempFile( "test-flat-", "-repo" );
+ _dir.delete();
+ _dir.mkdirs();
+
+ _repo = new LocalRepositoryFlat("testFlatRepo", _dir, false, false );
+
+ byte [] pomBlob = "pomblob".getBytes();
+
+ a = new DefaultArtifact( new ArtifactBasicMetadata("a:a:1.0.0") );
+
+ File ant = File.createTempFile( "test-flat", "-repo" );
+ InputStream in = LocalRepositoryFlatTest.class.getResourceAsStream( "/ant-1.6.5.jar" );
+ FileUtil.writeRawData( ant, in );
+ a.setFile( ant );
+ a.setPomBlob( pomBlob );
+
+ b = new DefaultArtifact( new ArtifactBasicMetadata("b:b:1.0.0") );
+
+ File antlr = File.createTempFile( "test-flat", "-repo" );
+ in = LocalRepositoryFlatTest.class.getResourceAsStream( "/antlr-2.7.7.jar" );
+ FileUtil.writeRawData( antlr, in );
+ b.setFile( antlr );
+ b.setPomBlob( pomBlob );
+ }
+
+ public void testWriteFlat()
+ throws Exception
+ {
+ String test = "testWriteFlat()";
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File bf = new File ( _dir, "b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+ }
+
+
+ public void testWriteFlatWithPom()
+ throws Exception
+ {
+ String test = "testWriteFlatWithPom()";
+
+ _repo.setCreatePoms( true );
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File ap = new File ( _dir, "a-1.0.0.pom" );
+ assertTrue( ap.exists() );
+
+ File bf = new File ( _dir, "b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+
+ File bp = new File ( _dir, "b-1.0.0.pom" );
+ assertTrue( bp.exists() );
+ }
+
+ public void testWriteFlatWithGroup()
+ throws Exception
+ {
+ String test = "testWriteFlatWithGroup()";
+
+ _repo.setCreateGroupFolders( true );
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a/a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File bf = new File ( _dir, "b/b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+ }
+
+ public void testWriteFlatWithGroupAndPom()
+ throws Exception
+ {
+ String test = "testWriteFlatWithGroupAndPom()";
+
+ _repo.setCreateGroupFolders( true );
+ _repo.setCreatePoms( true );
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a/a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File ap = new File ( _dir, "a/a-1.0.0.pom" );
+ assertTrue( ap.exists() );
+
+ File bf = new File ( _dir, "b/b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+
+ File bp = new File ( _dir, "b/b-1.0.0.pom" );
+ assertTrue( bp.exists() );
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar
new file mode 100644
index 0000000..3beb3b8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar
new file mode 100644
index 0000000..5e5f14b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-flat/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/pom.xml
new file mode 100644
index 0000000..4f7056d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/pom.xml
@@ -0,0 +1,45 @@
+<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>
+
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <name>Mercury Local M2 Repository</name>
+ <description />
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/ArtifactLocation.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/ArtifactLocation.java
new file mode 100644
index 0000000..028df3c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/ArtifactLocation.java
@@ -0,0 +1,179 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ * artifact relative location data object - used by repositories to hold on to intermediate path calculations
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactLocation
+{
+ public static final String POM_EXT = ".pom";
+
+ private String prefix;
+
+ private String gaPath;
+ private String versionDir;
+ private String baseName;
+ private String version;
+ private String classifier;
+ private String type;
+
+ private ArtifactBasicMetadata bmd;
+
+ public ArtifactLocation( String prefix, ArtifactBasicMetadata bmd )
+ {
+ if( prefix == null || bmd == null || bmd.getGroupId() == null || bmd.getArtifactId() == null || bmd.getVersion() == null )
+ return;
+
+ this.bmd = bmd;
+
+ this.prefix = prefix;
+ this.gaPath = bmd.getGroupId().replace( '.', FileUtil.SEP_CHAR ) + FileUtil.SEP + bmd.getArtifactId();
+ this.version = bmd.getVersion();
+ this.baseName = bmd.getArtifactId();
+ this.versionDir = this.version;
+ this.classifier = bmd.getClassifier();
+ this.type = bmd.getType();
+ }
+
+ public String getRelPath()
+ {
+ return gaPath+FileUtil.SEP+versionDir+FileUtil.SEP+baseName+FileUtil.DASH+version+getDashedClassifier()+'.'+type;
+ }
+
+ public String getRelPomPath()
+ {
+ return gaPath+FileUtil.SEP+versionDir+FileUtil.SEP+baseName+FileUtil.DASH+version+POM_EXT;
+ }
+
+ public String getAbsPath()
+ {
+ if( prefix == null )
+ return null;
+
+ return getSeparatedPrefix() + getRelPath();
+ }
+
+ public String getAbsPomPath()
+ {
+ if( prefix == null )
+ return null;
+
+ return getSeparatedPrefix() + getRelPomPath();
+ }
+
+ public String getGavPath()
+ {
+ return getGaPath()+FileUtil.SEP+versionDir;
+ }
+
+ public String getBaseVersion()
+ {
+ if( version == null )
+ return null;
+
+ DefaultArtifactVersion dav = new DefaultArtifactVersion( version );
+ return dav.getBase();
+ }
+
+ //---------------------------------------------------------
+ public String getGaPath()
+ {
+ return gaPath;
+ }
+ public void setGaPath( String gaPath )
+ {
+ this.gaPath = gaPath;
+ }
+ public String getVersionDir()
+ {
+ return versionDir;
+ }
+ public void setVersionDir( String versionDir )
+ {
+ this.versionDir = versionDir;
+ }
+ public String getBaseName()
+ {
+ return baseName;
+ }
+ public void setBaseName( String baseName )
+ {
+ this.baseName = baseName;
+ }
+ public String getVersion()
+ {
+ return version;
+ }
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+ public String getClassifier()
+ {
+ return classifier;
+ }
+ public String getDashedClassifier()
+ {
+ return (classifier == null||classifier.length()<1) ? "" : FileUtil.DASH+classifier;
+ }
+ public void setClassifier( String classifier )
+ {
+ this.classifier = classifier;
+ }
+ public String getType()
+ {
+ return type;
+ }
+ public void setType( String type )
+ {
+ this.type = type;
+ }
+ public String getPrefix()
+ {
+ return prefix;
+ }
+ public String getSeparatedPrefix()
+ {
+ if( prefix == null )
+ return null;
+
+ return prefix+(prefix.endsWith( FileUtil.SEP ) ? "" : FileUtil.SEP);
+ }
+ public void setPrefix( String prefix )
+ {
+ this.prefix = prefix;
+ }
+
+ @Override
+ public String toString()
+ {
+ return bmd == null ? "no ArtifactBasicMetadata" : bmd.toString();
+ }
+
+}
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java
new file mode 100644
index 0000000..eaae5d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java
@@ -0,0 +1,128 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import java.io.File;
+
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.transport.api.Server;
+
+public class LocalRepositoryM2
+extends AbstractRepository
+implements LocalRepository
+{
+ private File directory;
+
+ public static final String METADATA_FILE_NAME = "maven-metadata-local.xml";
+
+ //----------------------------------------------------------------------------------
+ private void setDirectory( File directory )
+ {
+ if( directory == null )
+ throw new IllegalArgumentException( "null.directory" );
+
+ if( !directory.exists() )
+ directory.mkdirs();
+
+ this.directory = directory;
+ }
+ //----------------------------------------------------------------------------------
+ public LocalRepositoryM2( Server server, DependencyProcessor dependencyProcessor )
+ {
+ super( server.getId(), DEFAULT_REPOSITORY_TYPE );
+ setDirectory( new File( server.getURL().getFile() ) );
+ this.server = server;
+
+ setDependencyProcessor( dependencyProcessor );
+ }
+ //----------------------------------------------------------------------------------
+ public LocalRepositoryM2( String id, File directory, DependencyProcessor dependencyProcessor )
+ {
+ super( id, DEFAULT_REPOSITORY_TYPE );
+ setDirectory( directory );
+
+ setDependencyProcessor( dependencyProcessor );
+ }
+ //----------------------------------------------------------------------------------
+ public LocalRepositoryM2( String id, File directory, String type, DependencyProcessor dependencyProcessor )
+ {
+ super( id, type );
+ setDirectory( directory );
+
+ setDependencyProcessor( dependencyProcessor );
+ }
+ //----------------------------------------------------------------------------------
+ public File getDirectory()
+ {
+ return directory;
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryReader getReader()
+ {
+ return new LocalRepositoryReaderM2( this, getDependencyProcessor() );
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryReader getReader( String protocol )
+ {
+ return getReader();
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryWriter getWriter()
+ {
+ return new LocalRepositoryWriterM2(this);
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException
+ {
+ return getWriter();
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isLocal()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isReadable()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isWriteable()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public String getType()
+ {
+ return DEFAULT_REPOSITORY_TYPE;
+ }
+ //----------------------------------------------------------------------------------
+ public String getMetadataName()
+ {
+ return METADATA_FILE_NAME;
+ }
+ //----------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
new file mode 100644
index 0000000..c357640
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
@@ -0,0 +1,604 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.artifact.version.VersionException;
+import org.apache.maven.mercury.artifact.version.VersionRange;
+import org.apache.maven.mercury.artifact.version.VersionRangeFactory;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.AbstracRepositoryReader;
+import org.apache.maven.mercury.repository.api.AbstractRepOpResult;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class LocalRepositoryReaderM2
+extends AbstracRepositoryReader
+implements RepositoryReader, MetadataReader
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( LocalRepositoryReaderM2.class );
+ private static final Language _lang = new DefaultLanguage( LocalRepositoryReaderM2.class );
+ //---------------------------------------------------------------------------------------------------------------
+ private static final String [] _protocols = new String [] { "file" };
+
+ LocalRepository _repo;
+ File _repoDir;
+ //---------------------------------------------------------------------------------------------------------------
+ public LocalRepositoryReaderM2( LocalRepository repo, DependencyProcessor mdProcessor )
+ {
+ if( repo == null )
+ throw new IllegalArgumentException("localRepo cannot be null");
+
+ _repoDir = repo.getDirectory();
+ if( _repoDir == null )
+ throw new IllegalArgumentException("localRepo directory cannot be null");
+
+ if( !_repoDir.exists() )
+ throw new IllegalArgumentException("localRepo directory \""+_repoDir.getAbsolutePath()+"\" should exist");
+
+ _repo = repo;
+
+ if( mdProcessor == null )
+ throw new IllegalArgumentException("MetadataProcessor cannot be null ");
+
+ setDependencyProcessor( mdProcessor );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public Repository getRepository()
+ {
+ return _repo;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private static ArtifactLocation calculateLocation( String root, ArtifactBasicMetadata bmd, AbstractRepOpResult res )
+ {
+ ArtifactLocation loc = new ArtifactLocation( root, bmd );
+
+ File gaDir = new File( root, loc.getGaPath() );
+
+ if( !gaDir.exists() )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "ga.not.found", bmd.toString(), loc.getGaPath() ) ) );
+ return null;
+ }
+
+ Quality vq = new Quality( loc.getVersion() );
+
+ // RELEASE = LATEST - SNAPSHOTs
+ if( Artifact.RELEASE_VERSION.equals( loc.getVersion() )
+ ||
+ Artifact.LATEST_VERSION.equals( loc.getVersion() )
+ )
+ {
+ boolean noSnapshots = Artifact.RELEASE_VERSION.equals( loc.getVersion() );
+ loc.setVersion( null );
+ DefaultArtifactVersion tempDav = null;
+ DefaultArtifactVersion tempDav2 = null;
+
+ File [] files = gaDir.listFiles();
+
+ // find latest
+ for( File vf : files )
+ {
+ if( vf.isFile() )
+ continue;
+
+ String vn = vf.getName();
+
+ // RELEASE?
+ if( noSnapshots && vn.endsWith( Artifact.SNAPSHOT_VERSION ))
+ continue;
+
+ if( loc.getVersion() == null )
+ {
+ loc.setVersion( vn );
+ tempDav = new DefaultArtifactVersion( vn );
+ continue;
+ }
+
+ tempDav2 = new DefaultArtifactVersion( vn );
+ if( tempDav2.compareTo( tempDav ) > 0 )
+ {
+ loc.setVersion( vn );
+ tempDav = tempDav2;
+ }
+
+ }
+
+ if( loc.getVersion() == null )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "gav.not.found", bmd.toString(), loc.getGaPath() ) ) );
+ return null;
+ }
+
+ // LATEST is a SNAPSHOT :(
+ if( loc.getVersion().endsWith( Artifact.SNAPSHOT_VERSION ) )
+ {
+ loc.setVersionDir( loc.getVersion() );
+
+ if( !findLatestSnapshot( bmd, loc, res ) )
+ return null;
+ }
+ else
+ // R or L found and actual captured in loc.version
+ loc.setVersionDir( loc.getVersion() );
+ }
+ // regular snapshot requested
+ else if( loc.getVersion().endsWith( Artifact.SNAPSHOT_VERSION ) )
+ {
+ File gavDir = new File( gaDir, loc.getVersion() );
+ if( !gavDir.exists() )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "gavdir.not.found", bmd.toString(), gavDir.getAbsolutePath() ) ) );
+ return null;
+ }
+
+ if( !findLatestSnapshot( bmd, loc, res ) )
+ return null;
+
+ }
+ // time stamped snapshot requested
+ else if( vq.equals( Quality.SNAPSHOT_TS_QUALITY ))
+ {
+ loc.setVersionDir( loc.getBaseVersion()+FileUtil.DASH+Artifact.SNAPSHOT_VERSION );
+ }
+
+ return loc;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException,
+ IllegalArgumentException
+ {
+ if( query == null || query.isEmpty() )
+ throw new IllegalArgumentException( _lang.getMessage( "empty.query", query==null?"null":"empty" ) );
+
+ ArtifactResults res = new ArtifactResults();
+
+ Set<StreamVerifierFactory> vFacs = null;
+
+ if( _repo.hasServer() && _repo.getServer().hasReaderStreamVerifierFactories() )
+ vFacs = _repo.getServer().getReaderStreamVerifierFactories();
+
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ DefaultArtifact da = bmd instanceof DefaultArtifact ? (DefaultArtifact)bmd : new DefaultArtifact( bmd );
+
+ ArtifactLocation loc = calculateLocation( _repoDir.getAbsolutePath(), bmd, res );
+
+ if( loc == null )
+ continue;
+
+ File binary = new File( loc.getAbsPath() );
+
+ // binary calculated
+ if( ! binary.exists() )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "binary.not.found", bmd.toString(), binary.getAbsolutePath() ) ) );
+ continue;
+ }
+
+ try // reading pom if one exists
+ {
+ if( checkFile( binary, vFacs ) )
+ {
+ da.setFile( binary );
+ da.setTracker( this._repo );
+ }
+
+
+ if( "pom".equals( bmd.getType() ) )
+ {
+ da.setPomBlob( FileUtil.readRawData( binary ) );
+ }
+ else
+ {
+ File pomFile = new File( loc.getAbsPomPath() );
+ if( pomFile.exists() )
+ {
+ if( checkFile( pomFile, vFacs ) )
+ da.setPomBlob( FileUtil.readRawData( pomFile ) );
+ }
+ else
+ _log.warn( _lang.getMessage( "pom.not.found", bmd.toString()) );
+ }
+
+ da.setVersion( loc.getVersion() );
+ res.add( bmd, da );
+ }
+ catch( Exception e )
+ {
+ throw new RepositoryException( e );
+ }
+ }
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private static boolean checkFile( File f, Set<StreamVerifierFactory> vFacs )
+ throws RepositoryException, StreamVerifierException
+ {
+ if( vFacs != null )
+ {
+ String fileName = f.getAbsolutePath();
+
+ HashSet<StreamVerifier> vs = new HashSet<StreamVerifier>( vFacs.size() );
+
+ for( StreamVerifierFactory svf : vFacs )
+ {
+ StreamVerifier sv = svf.newInstance();
+ String ext = sv.getAttributes().getExtension();
+ String sigFileName = fileName+(ext.startsWith( "." )?"":".")+ext;
+ File sigFile = new File( sigFileName );
+ if( sigFile.exists() )
+ {
+ try
+ {
+ sv.initSignature( FileUtil.readRawDataAsString( sigFile ) );
+ }
+ catch( IOException e )
+ {
+ throw new RepositoryException( _lang.getMessage( "cannot.read.signature.file", sigFileName, e.getMessage() ) );
+ }
+ vs.add( sv );
+ }
+ else if( ! sv.getAttributes().isLenient() )
+ {
+ throw new RepositoryException( _lang.getMessage( "no.signature.file", ext, sigFileName ) );
+ }
+ // otherwise ignore absence of signature file, if verifier is lenient
+ }
+
+ FileInputStream fin = null;
+ try
+ {
+ fin = new FileInputStream( f );
+ byte [] buf = new byte[ 1024 ];
+ int n = -1;
+ while( (n = fin.read( buf )) != -1 )
+ {
+ for( StreamVerifier sv : vs )
+ try
+ {
+ sv.bytesReady( buf, 0, n );
+ }
+ catch( StreamObserverException e )
+ {
+ if( ! sv.getAttributes().isLenient() )
+ throw new RepositoryException(e);
+ }
+ }
+
+ for( StreamVerifier sv : vs )
+ {
+ if( sv.verifySignature() )
+ {
+ if( sv.getAttributes().isSufficient() )
+ break;
+ }
+ else
+ {
+ if( !sv.getAttributes().isLenient() )
+ throw new RepositoryException( _lang.getMessage( "signature.failed", sv.getAttributes().getExtension(), fileName ) );
+ }
+ }
+ }
+ catch( IOException e )
+ {
+ throw new RepositoryException(e);
+ }
+ finally
+ {
+ if( fin != null ) try { fin.close(); } catch( Exception any ) {}
+ }
+ }
+ return true;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException,
+ IllegalArgumentException
+ {
+ if( query == null || query.size() < 1 )
+ return null;
+
+ ArtifactBasicResults ror = null;
+
+ File pomFile = null;
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ String pomPath = bmd.getGroupId().replace( '.', '/' )
+ + "/" + bmd.getArtifactId()
+ + "/" + bmd.getVersion()
+ + "/" + bmd.getArtifactId()+'-'+bmd.getVersion()
+ + ".pom"
+ ;
+
+ pomFile = new File( _repoDir, pomPath );
+ if( ! pomFile.exists() )
+ {
+ _log.warn( "file \""+pomPath+"\" does not exist in local repo" );
+ continue;
+ }
+
+ // TODO HIGH og: delegate POM processing to maven-project
+ // for testing purpose - I plug in my test processor
+ try
+ {
+ List<ArtifactBasicMetadata> deps = _mdProcessor.getDependencies( bmd, _mdReader == null ? this : _mdReader
+ , System.getenv()
+ , System.getProperties()
+ );
+//for(ArtifactBasicMetadata d : deps )
+//{
+// System.out.println("======> "+d.getScope() );
+//}
+ ror = ArtifactBasicResults.add( ror, bmd, deps );
+ }
+ catch( Exception e )
+ {
+ _log.warn( "error reading "+bmd.toString()+" dependencies", e );
+ continue;
+ }
+
+ }
+
+ return ror;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private static boolean findLatestSnapshot( ArtifactBasicMetadata bmd, ArtifactLocation loc, AbstractRepOpResult res )
+ {
+ File binary = new File( loc.getAbsPath() );
+
+ if( binary.exists() )
+ return true;
+
+ // no real SNAPSHOT file, let's try to find one
+ File gavDir = new File( loc.getGavPath() );
+ File [] files = gavDir.listFiles();
+ loc.setVersion( null );
+ DefaultArtifactVersion tempDav = null;
+ DefaultArtifactVersion tempDav2 = null;
+
+ int aLen = loc.getBaseName().length();
+
+ // find latest
+ for( File vf : files )
+ {
+ if( vf.isFile() )
+ continue;
+
+ String vn = vf.getName().substring( aLen+1 );
+
+ // no snapshots
+ if( vn.endsWith( Artifact.SNAPSHOT_VERSION ))
+ continue;
+
+ if( loc.getVersion() == null )
+ {
+ loc.setVersion( vn );
+ tempDav = new DefaultArtifactVersion( vn );
+ continue;
+ }
+
+ tempDav2 = new DefaultArtifactVersion( vn );
+ if( tempDav2.compareTo( tempDav ) > 0 )
+ {
+ loc.setVersion( vn );
+ tempDav = tempDav2;
+ }
+
+ }
+
+ if( loc.getVersion() == null )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "snapshot.not.found", bmd.toString(), gavDir.getAbsolutePath() ) ) );
+ return false;
+ }
+
+ return true;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * direct disk search, no redirects - I cannot process pom files :(
+ */
+ public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException, IllegalArgumentException
+ {
+ if( query == null || query.size() < 1 )
+ return null;
+
+ ArtifactBasicResults res = new ArtifactBasicResults( query.size() );
+
+ File gaDir = null;
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ gaDir = new File( _repoDir, bmd.getGroupId().replace( '.', '/' )+"/"+bmd.getArtifactId() );
+ if( ! gaDir.exists() )
+ continue;
+
+ File [] versionFiles = gaDir.listFiles();
+
+ VersionRange versionQuery;
+ try
+ {
+ versionQuery = VersionRangeFactory.create( bmd.getVersion(), _repo.getVersionRangeQualityRange() );
+ }
+ catch( VersionException e )
+ {
+ res = ArtifactBasicResults.add( res, bmd, new RepositoryException(e) );
+ continue;
+ }
+
+ Quality vq = new Quality( bmd.getVersion() );
+
+ if( vq.equals( Quality.FIXED_RELEASE_QUALITY )
+ || vq.equals( Quality.FIXED_LATEST_QUALITY )
+ || vq.equals( Quality.SNAPSHOT_QUALITY )
+ )
+ {
+ ArtifactLocation loc = calculateLocation( _repoDir.getAbsolutePath(), bmd, res );
+
+ if( loc == null )
+ continue;
+
+ ArtifactBasicMetadata vmd = new ArtifactBasicMetadata();
+ vmd.setGroupId( bmd.getGroupId() );
+ vmd.setArtifactId( bmd.getArtifactId() );
+ vmd.setClassifier( bmd.getClassifier() );
+ vmd.setType( bmd.getType() );
+ vmd.setVersion( loc.getVersion() );
+
+ res = ArtifactBasicResults.add( res, bmd, vmd );
+
+ continue;
+
+ }
+
+ for( File vf : versionFiles )
+ {
+ if( !vf.isDirectory() )
+ continue;
+
+ String version = vf.getName();
+
+ Quality q = new Quality( version );
+ if( ! _repo.isAcceptedQuality( q ) )
+ continue;
+
+ if( !versionQuery.includes( vf.getName() ) )
+ continue;
+
+ ArtifactBasicMetadata vmd = new ArtifactBasicMetadata();
+ vmd.setGroupId( bmd.getGroupId() );
+ vmd.setArtifactId( bmd.getArtifactId() );
+ vmd.setClassifier( bmd.getClassifier() );
+ vmd.setType( bmd.getType() );
+ vmd.setVersion( vf.getName() );
+
+ res = ArtifactBasicResults.add( res, bmd, vmd );
+ }
+ }
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
+ throws MetadataReaderException
+ {
+ return readRawData( relPathOf(bmd, classifier, type, null ) );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private static String relPathOf( ArtifactBasicMetadata bmd, String classifier, String type, DefaultArtifactVersion inDav )
+ {
+ DefaultArtifactVersion dav = inDav;
+ if( inDav == null )
+ dav = new DefaultArtifactVersion( bmd.getVersion() );
+ Quality aq = dav.getQuality();
+ boolean isSnapshot = aq.equals( Quality.SNAPSHOT_QUALITY ) || aq.equals( Quality.SNAPSHOT_TS_QUALITY );
+
+ String bmdPath = bmd.getGroupId().replace( '.', '/' )+'/'+bmd.getArtifactId()
+ +'/' + ( isSnapshot ? dav.getBase()+'-'+Artifact.SNAPSHOT_VERSION : bmd.getVersion() );
+
+ String path = bmdPath+'/'+bmd.getBaseName(classifier)+'.' + (type == null ? bmd.getType() : type );
+
+ return path ;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public byte[] readRawData( String path )
+ throws MetadataReaderException
+ {
+ File file = new File( _repoDir, path );
+
+ if( ! file.exists() )
+ return null;
+
+ FileInputStream fis = null;
+
+ try
+ {
+ fis = new FileInputStream( file );
+ int len = (int)file.length();
+ byte [] pom = new byte [ len ];
+ fis.read( pom );
+ return pom;
+ }
+ catch( IOException e )
+ {
+ throw new MetadataReaderException(e);
+ }
+ finally
+ {
+ if( fis != null ) try { fis.close(); } catch( Exception any ) {}
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public String readStringData( String path )
+ throws MetadataReaderException
+ {
+ byte [] data = readRawData( path );
+ if( data == null )
+ return null;
+
+ return new String( data );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public boolean canHandle( String protocol )
+ {
+ return AbstractRepository.DEFAULT_LOCAL_READ_PROTOCOL.equals( protocol );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public String[] getProtocols()
+ {
+ return _protocols;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void close()
+ {
+ }
+ //---------------------------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2Factory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2Factory.java
new file mode 100644
index 0000000..406d9db
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2Factory.java
@@ -0,0 +1,51 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryReaderFactory;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class LocalRepositoryReaderM2Factory
+implements RepositoryReaderFactory
+{
+ private static final Language lang = new DefaultLanguage( LocalRepositoryReaderM2Factory.class );
+ private static final LocalRepositoryReaderM2Factory factory = new LocalRepositoryReaderM2Factory();
+
+ static
+ {
+ AbstractRepository.register( AbstractRepository.DEFAULT_REPOSITORY_TYPE, factory );
+ }
+
+ public RepositoryReader getReader( Repository repo, DependencyProcessor mdProcessor)
+ throws RepositoryException
+ {
+ if( repo == null || !(repo instanceof LocalRepository) )
+ throw new RepositoryException( lang.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) );
+
+ return new LocalRepositoryReaderM2( (LocalRepository)repo, mdProcessor );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
new file mode 100644
index 0000000..03810d7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
@@ -0,0 +1,438 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.AbstractRepositoryWriter;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.metadata.AddVersionOperation;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.repository.metadata.MetadataOperation;
+import org.apache.maven.mercury.repository.metadata.SetSnapshotOperation;
+import org.apache.maven.mercury.repository.metadata.Snapshot;
+import org.apache.maven.mercury.repository.metadata.SnapshotOperand;
+import org.apache.maven.mercury.repository.metadata.StringOperand;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileLockBundle;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class LocalRepositoryWriterM2
+extends AbstractRepositoryWriter
+implements RepositoryWriter
+{
+ public static final String SYSTEM_PROPERTY_PARALLEL_WORKERS = "mercury.local.repo.workers";
+ public static final int PARALLEL_WORKERS = Integer.parseInt( System.getProperty( SYSTEM_PROPERTY_PARALLEL_WORKERS, "4" ) );
+
+ public static final long SLEEP_FOR_WORKERS_TICK = 20l;
+
+ public static final String SYSTEM_PROPERTY_SLEEP_FOR_LOCK = "mercury.local.lock.wait.millis";
+ public static final long SLEEP_FOR_LOCK = Long.parseLong( System.getProperty( SYSTEM_PROPERTY_SLEEP_FOR_LOCK, "5000" ) );
+
+ public static final long SLEEP_FOR_LOCK_TICK = 5l;
+
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( LocalRepositoryWriterM2.class );
+ private static final Language _lang = new DefaultLanguage( LocalRepositoryWriterM2.class );
+ //---------------------------------------------------------------------------------------------------------------
+ private static final String [] _protocols = new String [] { "file" };
+
+ private final LocalRepository _repo;
+ private final File _repoDir;
+ private final ArtifactQueue _aq;
+
+ private static final ArifactWriteData LAST_ARTIFACT = new ArifactWriteData( null, null );
+ //---------------------------------------------------------------------------------------------------------------
+ public LocalRepositoryWriterM2( LocalRepository repo )
+ {
+ if( repo == null )
+ throw new IllegalArgumentException("localRepo cannot be null");
+
+ _repoDir = repo.getDirectory();
+ if( _repoDir == null )
+ throw new IllegalArgumentException("localRepo directory cannot be null");
+
+ if( !_repoDir.exists() )
+ throw new IllegalArgumentException("localRepo directory \""+_repoDir.getAbsolutePath()+"\" should exist");
+
+ _repo = repo;
+ _aq = null;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private LocalRepositoryWriterM2( LocalRepository repo, File repoDir, ArtifactQueue aq )
+ {
+ _repo = repo;
+ _repoDir = repoDir;
+ _aq = aq;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public Repository getRepository()
+ {
+ return _repo;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public boolean canHandle( String protocol )
+ {
+ return AbstractRepository.DEFAULT_LOCAL_READ_PROTOCOL.equals( protocol );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public String[] getProtocols()
+ {
+ return _protocols;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void close()
+ {
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void writeArtifacts( Collection<Artifact> artifacts )
+ throws RepositoryException
+ {
+ if( artifacts == null || artifacts.size() < 1 )
+ return;
+
+ int nWorkers = PARALLEL_WORKERS;
+ if( artifacts.size() < nWorkers )
+ nWorkers = artifacts.size();
+
+ ArtifactQueue aq = new ArtifactQueue();
+ LocalRepositoryWriterM2 [] workers = new LocalRepositoryWriterM2[ nWorkers ];
+
+ for( int i=0; i<nWorkers; i++ )
+ workers[ i ] = new LocalRepositoryWriterM2( _repo, _repoDir, aq );
+
+ for( Artifact artifact : artifacts )
+ {
+ Set<StreamVerifierFactory> vFacs = null;
+ Server server = _repo.getServer();
+ if( server != null && server.hasWriterStreamVerifierFactories() )
+ vFacs = server.getWriterStreamVerifierFactories();
+
+ if( vFacs == null ) // let it be empty, but not null
+ vFacs = new HashSet<StreamVerifierFactory>(1);
+
+ aq.addArtifact( new ArifactWriteData( artifact, vFacs ) );
+ }
+ aq.addArtifact( LAST_ARTIFACT );
+
+ for( int i=0; i<nWorkers; i++ )
+ workers[ i ].start();
+
+ boolean alive = true;
+ while( alive )
+ {
+ alive = false;
+ for( int i=0; i<nWorkers; i++ )
+ if( workers[ i ].isAlive() )
+ {
+ alive = true;
+ try { sleep( SLEEP_FOR_WORKERS_TICK ); } catch( InterruptedException ie ) {}
+ }
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /* (non-Javadoc)
+ * @see java.lang.Thread#run()
+ */
+ @Override
+ public void run()
+ {
+ try
+ {
+ for(;;)
+ {
+ ArifactWriteData awd = _aq.getArtifact();
+
+ if( awd == null || awd.artifact == null )
+ break;
+
+ writeArtifact( awd.artifact, awd.vFacs );
+ }
+ }
+ catch (InterruptedException e)
+ {
+ }
+ catch( RepositoryException e )
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void writeArtifact( final Artifact artifact, final Set<StreamVerifierFactory> vFacs )
+ throws RepositoryException
+ {
+ if( artifact == null )
+ return;
+
+ boolean isPom = "pom".equals( artifact.getType() );
+
+ byte [] pomBlob = artifact.getPomBlob();
+ boolean hasPomBlob = pomBlob != null && pomBlob.length > 0;
+
+ InputStream in = artifact.getStream();
+ if( in == null )
+ {
+ File aFile = artifact.getFile();
+ if( aFile == null && !isPom )
+ {
+ throw new RepositoryException( _lang.getMessage( "artifact.no.stream", artifact.toString() ) );
+ }
+
+ try
+ {
+ in = new FileInputStream( aFile );
+ }
+ catch( FileNotFoundException e )
+ {
+ if( !isPom )
+ throw new RepositoryException( e );
+ }
+ }
+ DefaultArtifactVersion dav = new DefaultArtifactVersion( artifact.getVersion() );
+ Quality aq = dav.getQuality();
+ boolean isSnapshot = aq.equals( Quality.SNAPSHOT_QUALITY ) || aq.equals( Quality.SNAPSHOT_TS_QUALITY );
+
+ String relGroupPath = artifact.getGroupId().replace( '.', '/' )+"/"+artifact.getArtifactId();
+ String versionDirName = isSnapshot ? (dav.getBase()+'-'+Artifact.SNAPSHOT_VERSION) : artifact.getVersion();
+ String relVersionPath = relGroupPath + '/' + versionDirName;
+
+ String lockDir = null;
+ FileLockBundle fLock = null;
+
+ try
+ {
+
+ if( isPom )
+ {
+ if( in == null && !hasPomBlob )
+ throw new RepositoryException( _lang.getMessage( "pom.artifact.no.stream", artifact.toString() ) );
+
+ if( in != null )
+ {
+ byte [] pomBlobBytes = FileUtil.readRawData( in );
+ hasPomBlob = pomBlobBytes != null && pomBlobBytes.length > 0;
+ if( hasPomBlob )
+ pomBlob = pomBlobBytes;
+ }
+ }
+
+ // create folders
+ lockDir = _repoDir.getAbsolutePath()+'/'+relGroupPath;
+
+ File gav = new File( lockDir );
+ gav.mkdirs();
+
+// haveLock = FileUtil.lockDir( lockDir, SLEEP_FOR_LOCK, SLEEP_FOR_LOCK_TICK );
+// if( !haveLock )
+// throw new RepositoryException( _lang.getMessage( "cannot.lock.gav", lockDir, ""+SLEEP_FOR_LOCK ) );
+ fLock = FileUtil.lockDir( lockDir, SLEEP_FOR_LOCK, SLEEP_FOR_LOCK_TICK );
+ if( fLock == null )
+ throw new RepositoryException( _lang.getMessage( "cannot.lock.gav", lockDir, ""+SLEEP_FOR_LOCK ) );
+
+ String fName = _repoDir.getAbsolutePath()+'/'+relVersionPath+'/'+artifact.getBaseName()+'.'+artifact.getType();
+
+ if( !isPom ) // first - take care of the binary
+ {
+ FileUtil.writeAndSign( fName, in, vFacs );
+ artifact.setFile( new File(fName) );
+ }
+
+ // GA metadata
+ File mdFile = new File( _repoDir, relGroupPath+'/'+_repo.getMetadataName() );
+ updateGAMetadata( mdFile, artifact, versionDirName, aq, vFacs );
+
+ // now - GAV metadata
+ mdFile = new File( _repoDir, relVersionPath+'/'+_repo.getMetadataName() );
+ updateGAVMetadata( mdFile, artifact, aq, vFacs );
+
+ // if classier - nothing else to do :)
+ if( artifact.hasClassifier() )
+ return;
+
+ if( hasPomBlob )
+ {
+ FileUtil.writeAndSign( _repoDir.getAbsolutePath()+'/'+relVersionPath
+ +'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom", pomBlob, vFacs
+ );
+ }
+
+ }
+ catch( Exception e )
+ {
+ throw new RepositoryException( e );
+ }
+ finally
+ {
+ if( fLock != null )
+ fLock.release();
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private void updateGAMetadata( final File mdFile
+ , final Artifact artifact
+ , final String version
+ , final Quality aq
+ , final Set<StreamVerifierFactory> vFacs
+ )
+ throws MetadataException, IOException, StreamObserverException
+ {
+ Metadata md = null;
+
+ if( mdFile.exists() )
+ {
+ try
+ {
+ byte [] mdBytes = FileUtil.readRawData( mdFile );
+
+ if( mdBytes == null )
+ throw new MetadataException( _lang.getMessage( "file.is.empty", mdFile.getAbsolutePath() ));
+
+ md = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) );
+ }
+ catch( MetadataException e )
+ {
+ throw e;
+ }
+ }
+ else
+ {
+ md = new Metadata();
+ md.setGroupId( artifact.getGroupId() );
+ md.setArtifactId( artifact.getArtifactId() );
+ }
+
+ MetadataOperation mdOp = new AddVersionOperation( new StringOperand( version ) );
+
+ byte [] resBytes = MetadataBuilder.changeMetadata( md, mdOp );
+
+ FileUtil.writeAndSign( mdFile.getAbsolutePath(), resBytes, vFacs );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private void updateGAVMetadata( final File mdFile
+ , final Artifact artifact
+ , final Quality aq
+ , final Set<StreamVerifierFactory> vFacs
+ )
+ throws MetadataException, IOException, StreamObserverException
+ {
+ Metadata md = null;
+
+ if( mdFile.exists() )
+ {
+ byte [] mdBytes = FileUtil.readRawData( mdFile );
+ md = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) );
+ }
+ else
+ {
+ md = new Metadata();
+ md.setGroupId( artifact.getGroupId() );
+ md.setArtifactId( artifact.getArtifactId() );
+ md.setVersion( artifact.getVersion() );
+ }
+ List<MetadataOperation> mdOps = new ArrayList<MetadataOperation>(2);
+
+ if( aq.equals( Quality.SNAPSHOT_TS_QUALITY ) )
+ {
+ Snapshot sn = MetadataBuilder.createSnapshot( artifact.getVersion() );
+ sn.setLocalCopy( true );
+ mdOps.add( new SetSnapshotOperation( new SnapshotOperand(sn) ) );
+ }
+
+ mdOps.add( new AddVersionOperation( new StringOperand(artifact.getVersion()) ) );
+
+//System.out.println("added "+artifact.getVersion());
+//System.out.flush();
+ byte [] resBytes = MetadataBuilder.changeMetadata( md, mdOps );
+ FileUtil.writeAndSign( mdFile.getAbsolutePath(), resBytes, vFacs );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ //---------------------------------------------------------------------------------------------------------------
+}
+//=================================================================================================================
+class ArifactWriteData
+{
+ Artifact artifact;
+ Set<StreamVerifierFactory> vFacs;
+
+ public ArifactWriteData(Artifact artifact, Set<StreamVerifierFactory> vFacs)
+ {
+ this.artifact = artifact;
+ this.vFacs = vFacs;
+ }
+}
+//=================================================================================================================
+class ArtifactQueue
+{
+ LinkedList<ArifactWriteData> queue = new LinkedList<ArifactWriteData>();
+ boolean empty = false;
+
+ public synchronized void addArtifact( ArifactWriteData awd )
+ {
+ queue.addLast( awd );
+ empty = false;
+ notify();
+ }
+
+ public synchronized ArifactWriteData getArtifact()
+ throws InterruptedException
+ {
+ if( empty )
+ return null;
+
+ while( queue.isEmpty() )
+ wait();
+
+ ArifactWriteData res = queue.removeFirst();
+
+ if( res.artifact == null )
+ {
+ empty = true;
+ return null;
+ }
+
+ return res;
+ }
+}
+//=================================================================================================================
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Factory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Factory.java
new file mode 100644
index 0000000..058d578
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Factory.java
@@ -0,0 +1,50 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.api.RepositoryWriterFactory;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class LocalRepositoryWriterM2Factory
+implements RepositoryWriterFactory
+{
+ private static final Language lang = new DefaultLanguage( LocalRepositoryWriterM2Factory.class );
+ private static final LocalRepositoryWriterM2Factory factory = new LocalRepositoryWriterM2Factory();
+
+ static
+ {
+ AbstractRepository.register( AbstractRepository.DEFAULT_REPOSITORY_TYPE, factory );
+ }
+
+ public RepositoryWriter getWriter( Repository repo )
+ throws RepositoryException
+ {
+ if( repo == null || !(repo instanceof LocalRepository) )
+ throw new RepositoryException( lang.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) );
+
+ return new LocalRepositoryWriterM2( (LocalRepository)repo );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/Messages.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/Messages.properties
new file mode 100644
index 0000000..6cd0926
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/Messages.properties
@@ -0,0 +1,33 @@
+#
+# 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.
+#
+bad.repository.type=repository should implement LocalRepository, instead got {0}
+empty.query=received empty query - {0}
+binary.not.found=Artifact {0} binary at not found {1}
+ga.not.found=Artifact {0} version group not found at {1}
+gav.not.found=No artifact version for {0} found in {1}
+snapshot.not.found=No snapshot version for {0} found in {1}
+gavdir.not.found=No directory {1} for artifact {0}
+pom.not.found=Artifact {0} - binary exists, but POM not found in the repository
+artifact.no.stream=Cannot find either input stream or file, associated with artifact {0}
+pom.artifact.no.stream=Cannot find either pom blob, input stream or file, associated with artifact {0}
+no.signature.file=Verifier for {0} is mandatory, but file {1} does not exist
+signature.failed=Signature "{0}": verification failed for file {1}
+cannot.read.signature.file=Cannot read signature file {0}, error: {1}
+cannot.lock.gav=Cannot lock GAV folder {0} in {1} millis
+file.is.empty=File {0} exists, but is empty. Data corruption somewhere - please repair metadata.
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2Test.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2Test.java
new file mode 100644
index 0000000..b7bc04f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2Test.java
@@ -0,0 +1,129 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class LocalRepositoryM2Test
+ extends TestCase
+{
+ File dir;
+ LocalRepositoryM2 repo;
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp()
+ throws Exception
+ {
+ dir = new File("./target/test-classes/repo");
+
+ repo = new LocalRepositoryM2( "test", dir, new MetadataProcessorMock() );
+
+ }
+
+
+ /**
+ * this does not fully test this use case, full test belongs to ITs. See http://jira.codehaus.org/browse/MERCURY-47
+ *
+ * @throws Exception
+ */
+ public void testReadTwice()
+ throws Exception
+ {
+ String artifactId = "a:a:4";
+
+ ArtifactBasicMetadata bmd = new ArtifactBasicMetadata(artifactId);
+
+ ArrayList<ArtifactBasicMetadata> q = new ArrayList<ArtifactBasicMetadata>();
+
+ q.add( bmd );
+
+ ArtifactResults res = repo.getReader().readArtifacts( q );
+
+ assertNotNull( res );
+
+ assertFalse( res.hasExceptions() );
+
+ assertTrue( res.hasResults() );
+
+ List<Artifact> arts = res.getResults( bmd );
+
+ assertNotNull( arts );
+
+ assertEquals( 1, arts.size() );
+
+ Artifact a = arts.get( 0 );
+
+ assertNotNull( a );
+
+ File f = a.getFile();
+
+ assertNotNull( f );
+
+ assertTrue( f.exists() );
+
+ assertEquals( 14800, f.length() );
+
+ // second time
+
+ res = repo.getReader().readArtifacts( q );
+
+ assertNotNull( res );
+
+ assertFalse( res.hasExceptions() );
+
+ assertTrue( res.hasResults() );
+
+ arts = res.getResults( bmd );
+
+ assertNotNull( arts );
+
+ assertEquals( 1, arts.size() );
+
+ a = arts.get( 0 );
+
+ assertNotNull( a );
+
+ f = a.getFile();
+
+ assertNotNull( f );
+
+ assertTrue( f.exists() );
+
+ assertEquals( 14800, f.length() );
+
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java
new file mode 100644
index 0000000..9da41dc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java
@@ -0,0 +1,110 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.local.m2;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.digester.Digester;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.xml.sax.SAXException;
+
+/**
+ *
+ * a temporary thing to be replaced with real projectBuilder implementation
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataProcessorMock
+implements DependencyProcessor
+{
+
+ public List<ArtifactBasicMetadata> getDependencies( ArtifactBasicMetadata bmd, MetadataReader mdReader, Map env, Map sysProps )
+ throws MetadataReaderException
+ {
+ List<ArtifactBasicMetadata> deps = null;
+
+ try
+ {
+ byte [] pomBytes = mdReader.readMetadata( bmd );
+ if( pomBytes == null )
+ {
+ throw new MetadataReaderException("no metadata found for "+bmd);
+ }
+ deps = getDeps( pomBytes );
+
+ return deps;
+ }
+ catch( Exception e )
+ {
+ throw new MetadataReaderException( e );
+ }
+ }
+
+ private static final List<ArtifactBasicMetadata> getDeps( byte [] pom )
+ throws IOException, SAXException
+ {
+ if( pom == null )
+ return null;
+
+ DependencyCreator dc = new DependencyCreator();
+ Digester digester = new Digester();
+ digester.push( dc );
+
+ digester.addCallMethod("project/dependencies/dependency", "addMD", 6 );
+ digester.addCallParam("project/dependencies/dependency/groupId",0);
+ digester.addCallParam("project/dependencies/dependency/artifactId",1);
+ digester.addCallParam("project/dependencies/dependency/version",2);
+ digester.addCallParam("project/dependencies/dependency/type",3);
+ digester.addCallParam("project/dependencies/dependency/scope",4);
+ digester.addCallParam("project/dependencies/dependency/optional",5);
+
+ digester.parse( new ByteArrayInputStream(pom) );
+
+ return dc.mds;
+ }
+
+}
+//==============================================================================================
+class DependencyCreator
+{
+ List<ArtifactBasicMetadata> mds = new ArrayList<ArtifactBasicMetadata>(8);
+
+ public void addMD( String g, String a, String v, String t, String s, String o)
+ {
+ ArtifactBasicMetadata md = new ArtifactBasicMetadata();
+ md.setGroupId(g);
+ md.setArtifactId(a);
+ md.setVersion(v);
+ md.setType(t);
+ md.setScope(s);
+ md.setOptional(o);
+
+ mds.add(md);
+ }
+}
+//==============================================================================================
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/1/a-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/1/a-1.pom
new file mode 100644
index 0000000..61cd0de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/1/a-1.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.jar.asc b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.jar.asc
new file mode 100644
index 0000000..1c66ba1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkitxHsACgkQDttdkRQbxPI7ywCdHDfUKblJaNRHID0S4yuhXCGO
+oi8An2QRvn7A3KnrUq1v92t6bM4IKkMl
+=khMy
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.pom
new file mode 100644
index 0000000..b09ea5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/2/a-2.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>[1,2]</version>
+ </dependency>
+
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3)</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.pom
new file mode 100644
index 0000000..dcb5695
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>3</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>(1,)</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar.asc b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar.asc
new file mode 100644
index 0000000..1c66ba1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkitxHsACgkQDttdkRQbxPI7ywCdHDfUKblJaNRHID0S4yuhXCGO
+oi8An2QRvn7A3KnrUq1v92t6bM4IKkMl
+=khMy
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1
new file mode 100644
index 0000000..95f6d9d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1
@@ -0,0 +1 @@
+c35fe6fb7d71197acbf7c47c194c45082e4b65f2
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom.asc b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom.asc
new file mode 100644
index 0000000..6391ce1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkitxHsACgkQDttdkRQbxPLETACfaU+Tv6TEnMuoc8zHEpXsCqFA
+kQsAoIbUVY/qAn6WVUwr3HH1l23wyql3
+=yXa4
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml
new file mode 100644
index 0000000..ee34b78
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <versions>
+ <version>4</version>
+ </versions>
+ <lastUpdated>20080821193939</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/maven-metadata.xml
new file mode 100644
index 0000000..6aeaed9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/maven-metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/pom.xml
new file mode 100644
index 0000000..7d6344c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/pom.xml
@@ -0,0 +1,38 @@
+<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>
+
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <name>Mercury Remote M2 Repository</name>
+ <description />
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/Messages.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/Messages.properties
new file mode 100644
index 0000000..153234b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/Messages.properties
@@ -0,0 +1,50 @@
+#
+# 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.
+#
+bad.repository.type=repository should implement RemoteRepository, instead got {0}
+bad.repository.null=repository cannot be null
+bad.local.repository.empty=local repository list cannot be empty
+bad.repository.server.null=remote repository server cannot be null
+bad.repository.server.url.null=remote repository server URL cannot be null
+
+maven.bad.metadata=Problem processing metadata from {0} in repository {1}, cannot create metadata object
+maven.metadata.no.versions=No versions found in metadata from {0} in repository {1}
+no.group.md=No group metadata found at {0}/{1}
+group.md.no.versions=Group level metadata {0}/{1} at does not have any versions
+
+no.gav.md=No artifact metadata found at {0}/{1}
+gav.md.no.versions=Artifact level metadata {0}/{1} at does not have any versions
+
+snapshot.not.found=No snapshot found in artifact-level metadata at {0}/{1}
+
+no.pom.in.primary.artifact=Primary artifact {0} does not have a POM blob set, something is wrong with the client program.
+artifact.no.stream=non-POM artifact {0} does not have neither file nor stream associated with it. Nothing to upload.
+artifact.no.file=Artifact {0} - cannot open file {1} for reading, error: {2}
+
+read.raw.exceptions=Ignoring exceptions reading {0}. Exceptions: {1}
+
+null.artifact=artifact cannot be null
+bad.artifact.file=artifact {0} file {1} does not exist
+
+cached.data.problem=problem {0} reading cached data for {1}. Moving on ..
+cached.metadata.reading.exception=problem {0} reading cached data for {1}, server {2}
+
+lrepo.no.dir=local repo has a null dir
+lrepo.dir.not.exists=local repo dir {0} does not exist
+lrepo.null=local reposupplied is null
+dest.is.file=Destanation {0} is a file. Cannot copy to it
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java
new file mode 100644
index 0000000..1bfae07
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java
@@ -0,0 +1,122 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryUpdateIntervalPolicy;
+import org.apache.maven.mercury.repository.api.RepositoryUpdatePolicy;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.transport.api.Server;
+
+
+public class RemoteRepositoryM2
+extends AbstractRepository
+implements RemoteRepository
+{
+ public static final String METADATA_FILE_NAME = "maven-metadata.xml";
+
+ private Server _server;
+
+ /** default update policy */
+ private RepositoryUpdatePolicy _updatePolicy = new RepositoryUpdateIntervalPolicy( RepositoryUpdateIntervalPolicy.DEFAULT_UPDATE_POLICY );
+
+ //----------------------------------------------------------------------------------
+ public RemoteRepositoryM2( Server server, DependencyProcessor dependencyProcessor )
+ {
+ this( server.getId(), server, dependencyProcessor );
+ }
+ //----------------------------------------------------------------------------------
+ public RemoteRepositoryM2( String id, Server server, DependencyProcessor dependencyProcessor )
+ {
+ super( id, DEFAULT_REPOSITORY_TYPE );
+ this._server = server;
+ setDependencyProcessor( dependencyProcessor );
+ }
+ //----------------------------------------------------------------------------------
+ public Server getServer()
+ {
+ return _server;
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryReader getReader()
+ throws RepositoryException
+ {
+ return new RemoteRepositoryReaderM2( this, getDependencyProcessor() );
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryReader getReader( String protocol )
+ throws RepositoryException
+ {
+ return getReader();
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryWriter getWriter()
+ throws RepositoryException
+ {
+ return new RemoteRepositoryWriterM2(this);
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isLocal()
+ {
+ return false;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isReadable()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isWriteable()
+ {
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public String getType()
+ {
+ return DEFAULT_REPOSITORY_TYPE;
+ }
+ //----------------------------------------------------------------------------------
+ public RepositoryUpdatePolicy getUpdatePolicy()
+ {
+ return _updatePolicy;
+ }
+ //----------------------------------------------------------------------------------
+ public void setUpdatePolicy( RepositoryUpdatePolicy updatePolicy )
+ {
+ this._updatePolicy = updatePolicy;
+ }
+ //----------------------------------------------------------------------------------
+ public String getMetadataName()
+ {
+ return METADATA_FILE_NAME;
+ }
+ //----------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2OperationException.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2OperationException.java
new file mode 100644
index 0000000..f9b18c8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2OperationException.java
@@ -0,0 +1,74 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import org.apache.maven.mercury.repository.api.RepositoryException;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RemoteRepositoryM2OperationException
+extends RepositoryException
+{
+
+ /**
+ *
+ */
+ public RemoteRepositoryM2OperationException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public RemoteRepositoryM2OperationException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public RemoteRepositoryM2OperationException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public RemoteRepositoryM2OperationException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
new file mode 100644
index 0000000..d758388
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
@@ -0,0 +1,711 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.artifact.version.VersionException;
+import org.apache.maven.mercury.artifact.version.VersionRange;
+import org.apache.maven.mercury.artifact.version.VersionRangeFactory;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.AbstracRepositoryReader;
+import org.apache.maven.mercury.repository.api.AbstractRepOpResult;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.MetadataCacheException;
+import org.apache.maven.mercury.repository.api.MetadataCorruptionException;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryGAMetadata;
+import org.apache.maven.mercury.repository.api.RepositoryGAVMetadata;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.local.m2.ArtifactLocation;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.client.retrieve.RetrievalResponse;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+/**
+ * implementation of M2 remote repository reader. Actual Transport (protocol, URL) [should] come from RemoteRepository Server URL
+ *
+ * Current implementation does not do the check and uses jetty-client directly.
+ * TODO - re-implements after jetty-client implements ReaderTransport
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RemoteRepositoryReaderM2
+extends AbstracRepositoryReader
+implements RepositoryReader, MetadataReader
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( RemoteRepositoryReaderM2.class );
+ private static final Language _lang = new DefaultLanguage( RemoteRepositoryReaderM2.class );
+
+ // TODO - replace with known Transport's protocols. Should be similar to RepositoryReader/Writer registration
+ private static final String [] _protocols = new String [] { "http", "https", "dav", "webdav" };
+
+ // TODO replace with Transport
+ DefaultRetriever _transport;
+ //---------------------------------------------------------------------------------------------------------------
+ RemoteRepository _repo;
+
+ List<LocalRepository> _localRepos;
+ File _defaultRoot;
+ //---------------------------------------------------------------------------------------------------------------
+ public RemoteRepositoryReaderM2( RemoteRepository repo, DependencyProcessor mdProcessor )
+ throws RepositoryException
+ {
+ this( repo, mdProcessor, null );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public RemoteRepositoryReaderM2( RemoteRepository repo, DependencyProcessor mdProcessor, List<LocalRepository> localRepos )
+ throws RepositoryException
+ {
+ if( repo == null )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.repository.null") );
+
+ if( repo.getServer() == null )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.repository.server.null") );
+
+ if( repo.getServer().getURL() == null )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.repository.server.url.null") );
+
+ _repo = repo;
+
+ if( mdProcessor == null )
+ throw new IllegalArgumentException("MetadataProcessor cannot be null ");
+
+ setDependencyProcessor( mdProcessor );
+
+ try
+ {
+ File temp = File.createTempFile( "temp-", "-locator" );
+ _defaultRoot = new File( temp.getParentFile(), "repo" );
+ _defaultRoot.mkdirs();
+ _log.info( "temporary repository folder set to "+_defaultRoot.getCanonicalPath() );
+ }
+ catch( IOException e )
+ {
+ throw new RepositoryException(e);
+ }
+
+ if( localRepos == null || localRepos.isEmpty() )
+ {
+ _localRepos = new ArrayList<LocalRepository>(1);
+ _localRepos.add( new LocalRepositoryM2("temp", _defaultRoot, getDependencyProcessor() ) );
+ }
+ else
+ _localRepos = localRepos;
+
+ try
+ {
+ // TODO 2008-07-29 og: here I should analyze Server protocol
+ // and come with appropriate Transport implementation
+ _transport = new DefaultRetriever();
+ HashSet<Server> servers = new HashSet<Server>(1);
+ servers.add( repo.getServer() );
+ _transport.setServers( servers );
+ }
+ catch( HttpClientException e )
+ {
+ throw new RepositoryException(e);
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public Repository getRepository()
+ {
+ return _repo;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private final ArtifactLocation calculateLocation( String root, ArtifactBasicMetadata bmd, AbstractRepOpResult res )
+ throws RepositoryException, MetadataReaderException, MetadataException
+ {
+ ArtifactLocation loc = new ArtifactLocation( root, bmd );
+
+ Collection<String> versions = null;
+ try
+ {
+ versions = getCachedVersions( loc, bmd );
+ }
+ catch( MetadataCacheException e )
+ {
+ throw new MetadataException( e );
+ }
+
+ if( Util.isEmpty( versions ) )
+ throw new RepositoryException( _lang.getMessage( "group.md.no.versions", _repo.getServer().getURL().toString(), loc.getGaPath() ) );
+
+ Quality vq = new Quality( loc.getVersion() );
+
+ // RELEASE = LATEST - SNAPSHOTs
+ if( Artifact.RELEASE_VERSION.equals( loc.getVersion() )
+ ||
+ Artifact.LATEST_VERSION.equals( loc.getVersion() )
+ )
+ {
+ boolean noSnapshots = Artifact.RELEASE_VERSION.equals( loc.getVersion() );
+ String ver = VersionRangeFactory.findLatest( versions, noSnapshots );
+
+ if( ver == null )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "gav.not.found", bmd.toString(), loc.getGaPath() ) ) );
+ return null;
+ }
+
+ loc.setVersion( ver );
+
+ // LATEST is a SNAPSHOT :(
+ if( loc.getVersion().endsWith( Artifact.SNAPSHOT_VERSION ) )
+ {
+ loc.setVersionDir( loc.getVersion() );
+
+ if( !findLatestSnapshot( bmd, loc, res ) )
+ return null;
+ }
+ else // R or L found and actual captured in loc.version
+ loc.setVersionDir( loc.getVersion() );
+ }
+ // regular snapshot requested
+ else if( loc.getVersion().endsWith( Artifact.SNAPSHOT_VERSION ) )
+ {
+ if( !versions.contains( loc.getVersion() ) && !findLatestSnapshot( bmd, loc, res ) )
+ return null;
+ }
+ // time stamped snapshot requested
+ else if( vq.equals( Quality.SNAPSHOT_TS_QUALITY ))
+ {
+ loc.setVersionDir( loc.getBaseVersion()+FileUtil.DASH+Artifact.SNAPSHOT_VERSION );
+ }
+
+ return loc;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private Collection<String> getCachedSnapshots( ArtifactBasicMetadata bmd, ArtifactLocation loc )
+ throws MetadataCacheException, RepositoryException, MetadataReaderException, MetadataException
+ {
+ RepositoryGAVMetadata gavm = null;
+ ArtifactCoordinates coord = null;
+
+ if( _mdCache != null )
+ {
+ try
+ {
+ coord = bmd.getEffectiveCoordinates();
+ coord.setVersion( loc.getVersion() );
+
+ gavm = _mdCache.findGAV( _repo.getId(), _repo.getUpdatePolicy(), coord );
+ if( gavm != null )
+ return gavm.getSnapshots();
+ }
+ catch( MetadataCorruptionException e )
+ {
+ // bad cached data - let's overwrite it
+ _log.error( _lang.getMessage( "cached.data.problem", e.getMessage(), bmd.toString() ) );
+ }
+ }
+
+ String mdPath = loc.getGavPath()+'/'+_repo.getMetadataName();
+
+ byte [] mdBytes = readRawData( mdPath );
+ if( mdBytes == null )
+ {
+ throw new RepositoryException( _lang.getMessage( "no.gav.md", _repo.getServer().getURL().toString(), mdPath ) ) ;
+ }
+
+ Metadata gavMd = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) );
+ if( gavMd == null )
+ {
+ throw new RepositoryException( _lang.getMessage( "gav.md.no.versions", _repo.getServer().getURL().toString(), mdPath ) );
+ }
+
+ gavm = new RepositoryGAVMetadata( gavMd );
+
+ if( _mdCache != null )
+ {
+ _mdCache.updateGAV( _repo.getId(), gavm );
+ }
+
+ if( Util.isEmpty( gavm.getSnapshots() ) )
+ {
+ throw new RepositoryException( _lang.getMessage( "gav.md.no.versions", _repo.getServer().getURL().toString(), mdPath ) );
+ }
+
+ return gavm.getSnapshots();
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private boolean findLatestSnapshot( ArtifactBasicMetadata bmd, ArtifactLocation loc, AbstractRepOpResult res )
+ throws MetadataReaderException, MetadataException, RemoteRepositoryM2OperationException
+ {
+ DefaultArtifactVersion dav = new DefaultArtifactVersion( loc.getVersion() );
+
+
+ Collection<String> versions = null;
+
+ try
+ {
+ versions = getCachedSnapshots( bmd, loc );
+ }
+ catch( Exception e )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "cached.metadata.reading.exception", e.getMessage(), bmd.toString(), _repo.getServer().getURL().toString() ) ) );
+ return false;
+ }
+
+ // version-SNAPSHOT or exact TS exists?
+ if( versions.contains( loc.getVersion() ) )
+ {
+ return true;
+ }
+
+ // nothing to do, but find latest
+ String ver = VersionRangeFactory.findLatest( versions, true );
+
+ if( ver == null )
+ {
+ res.addError( bmd, new RepositoryException( _lang.getMessage( "snapshot.not.found", _repo.getServer().getURL().toString(), bmd.toString() ) ) );
+ return false;
+ }
+
+ loc.setVersion( ver );
+ return true;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * TODO og: parallelize as soon as code stabilizes
+ */
+ public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ if( query == null || query.size() < 1 )
+ return null;
+
+ ArtifactResults res = new ArtifactResults();
+
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ try
+ {
+ readArtifact( bmd, res );
+ }
+ catch( Exception e )
+ {
+ res.addError( bmd, e );
+ }
+ }
+
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private File findLocalRoot( Quality vq )
+ {
+ for( LocalRepository lr : _localRepos )
+ if( lr.isWriteable() && lr.getVersionRangeQualityRange().isAcceptedQuality( vq ) )
+ return lr.getDirectory();
+
+ return _defaultRoot;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void readArtifact( ArtifactBasicMetadata bmd, ArtifactResults res )
+ throws IOException, RepositoryException, MetadataReaderException, MetadataException
+ {
+ DefaultArtifact da = bmd instanceof DefaultArtifact ? (DefaultArtifact)bmd : new DefaultArtifact( bmd );
+
+ ArtifactLocation loc = calculateLocation( _repo.getServer().getURL().toString(), bmd, res );
+
+ if( loc == null )
+ return;
+
+ da.setVersion( loc.getVersion() );
+
+ Quality vq = new Quality( loc.getVersion() );
+
+ File root = findLocalRoot( vq );
+
+ File binFile = new File( root, loc.getRelPath() );
+ File pomFile = null;
+
+ DefaultRetrievalRequest drr = new DefaultRetrievalRequest();
+
+ Binding binBinding = new Binding( new URL(loc.getAbsPath()), binFile );
+ drr.addBinding( binBinding );
+
+ boolean isPom = "pom".equals( bmd.getType() );
+ if( ! isPom )
+ {
+ pomFile = new File( root, loc.getRelPomPath() );
+ Binding pomBinding = new Binding( new URL(loc.getAbsPomPath()), pomFile );
+ drr.addBinding( pomBinding );
+ }
+
+ RetrievalResponse resp = _transport.retrieve( drr );
+
+ if( resp.hasExceptions() )
+ {
+ res.addError( bmd, new RepositoryException(resp.getExceptions().toString() ) );
+ }
+ else
+ {
+ da.setFile( binFile );
+ da.setPomBlob( FileUtil.readRawData( isPom ? binFile : pomFile ) );
+ res.add( bmd, da );
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ if( query == null || query.size() < 1 )
+ return null;
+
+ ArtifactBasicResults ror = new ArtifactBasicResults(16);
+
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ try
+ {
+ List<ArtifactBasicMetadata> deps = _mdProcessor.getDependencies( bmd, _mdReader == null ? this : _mdReader
+ , System.getenv(), System.getProperties()
+ );
+ ror.add( bmd, deps );
+ }
+ catch( Exception e )
+ {
+ _log.warn( "error reading "+bmd.toString()+" dependencies", e );
+ continue;
+ }
+
+ }
+
+ return ror;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private Collection<String> getCachedVersions( ArtifactLocation loc, ArtifactBasicMetadata bmd )
+ throws MetadataException, MetadataReaderException, MetadataCacheException
+ {
+ RepositoryGAMetadata gam = null;
+ ArtifactCoordinates coord = null;
+
+ // check the cache first
+ if( _mdCache != null )
+ {
+ try
+ {
+ coord = bmd.getEffectiveCoordinates();
+ coord.setVersion( loc.getVersion() );
+
+ gam = _mdCache.findGA( _repo.getId(), _repo.getUpdatePolicy(), coord );
+ if( gam != null && !gam.isExpired() )
+ return gam.getVersions();
+ }
+ catch( MetadataCorruptionException e )
+ {
+ // bad cached data - let's overwrite it
+ _log.error( _lang.getMessage( "cached.data.problem", e.getMessage(), bmd.toString() ) );
+ }
+ }
+
+ if( _log.isDebugEnabled() )
+ _log.debug( _repo.getId()+": did not find in the cache - go out for "+bmd );
+
+ // no cached data, or it has expired - read from repository
+ byte[] mavenMetadata = readRawData( loc.getGaPath()+FileUtil.SEP+_repo.getMetadataName() );
+
+ if( mavenMetadata == null )
+ throw new MetadataReaderException();
+
+ Metadata mmd = MetadataBuilder.getMetadata( mavenMetadata );
+
+ if( mmd == null || mmd.getVersioning() == null )
+ {
+ _log.warn( _lang.getMessage( "maven.bad.metadata", loc.getGaPath()+FileUtil.SEP+_repo.getMetadataName(), _repo.getId() ) );
+ return null;
+ }
+
+ gam = new RepositoryGAMetadata( mmd );
+
+ if( gam == null || Util.isEmpty( gam.getVersions() ) )
+ {
+ _log.warn( _lang.getMessage( "maven.metadata.no.versions", loc.getGaPath()+FileUtil.SEP+_repo.getMetadataName(), _repo.getId() ) );
+ return null;
+ }
+
+ // cache it
+ if( _mdCache != null )
+ {
+ _mdCache.updateGA( _repo.getId(), gam );
+ }
+
+ return gam.getVersions();
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * direct metadata search, no redirects, first attempt
+ */
+ public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ if( query == null || query.size() < 1 )
+ return null;
+
+ ArtifactBasicResults res = new ArtifactBasicResults( query.size() );
+
+ String root = _repo.getServer().getURL().toString();
+
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ ArtifactLocation loc = new ArtifactLocation( root, bmd );
+
+ Collection<String> versions = null;
+
+ try
+ {
+ versions = getCachedVersions( loc, bmd );
+
+ if( Util.isEmpty( versions ) )
+ continue;
+ }
+ catch( Exception e )
+ {
+ res.addError( bmd, e );
+ continue;
+ }
+
+ VersionRange versionQuery;
+ try
+ {
+ versionQuery = VersionRangeFactory.create( bmd.getVersion(), _repo.getVersionRangeQualityRange() );
+ }
+ catch( VersionException e )
+ {
+ res.addError( bmd, new RepositoryException(e) );
+ continue;
+ }
+
+ Quality vq = new Quality( bmd.getVersion() );
+
+ if( vq.equals( Quality.FIXED_RELEASE_QUALITY )
+ || vq.equals( Quality.FIXED_LATEST_QUALITY )
+ || vq.equals( Quality.SNAPSHOT_QUALITY )
+ )
+ {
+ try
+ {
+ loc = calculateLocation( root, bmd, res );
+ }
+ catch( Exception e )
+ {
+ res.addError( bmd, e );
+ continue;
+ }
+
+ if( loc == null )
+ continue;
+
+ ArtifactBasicMetadata vmd = new ArtifactBasicMetadata();
+ vmd.setGroupId( bmd.getGroupId() );
+ vmd.setArtifactId( bmd.getArtifactId() );
+ vmd.setClassifier( bmd.getClassifier() );
+ vmd.setType( bmd.getType() );
+ vmd.setVersion( loc.getVersion() );
+
+ res = ArtifactBasicResults.add( res, bmd, vmd );
+
+ continue;
+
+ }
+
+ for( String version : versions )
+ {
+ Quality q = new Quality( version );
+
+ if( ! _repo.isAcceptedQuality( q ) )
+ continue;
+
+ if( !versionQuery.includes( version ) )
+ continue;
+
+ ArtifactBasicMetadata vmd = new ArtifactBasicMetadata();
+ vmd.setGroupId( bmd.getGroupId() );
+ vmd.setArtifactId( bmd.getArtifactId() );
+ vmd.setClassifier( bmd.getClassifier() );
+ vmd.setType( bmd.getType() );
+ vmd.setVersion( version );
+
+ res = ArtifactBasicResults.add( res, bmd, vmd );
+ }
+
+ }
+
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
+ throws MetadataReaderException
+ {
+ byte [] res = null;
+ ArtifactBasicMetadata mod = null;
+
+//if( _log.isDebugEnabled() )
+// _log.debug( "reading "+bmd+" from " + _repo.getId() );
+
+ // only cache poms at the moment
+ if( _mdCache != null && "pom".equals( type ) )
+ {
+ mod = new ArtifactBasicMetadata();
+ mod.setGroupId( bmd.getGroupId() );
+ mod.setArtifactId( bmd.getArtifactId() );
+ mod.setVersion( bmd.getVersion() );
+ mod.setClassifier( classifier );
+ mod.setType( type );
+
+ try
+ {
+ res = _mdCache.findRaw( mod );
+ if( res != null )
+ {
+//if( _log.isDebugEnabled() )
+// _log.debug( "found "+bmd+" in the cache" );
+ return res;
+ }
+ }
+ catch( MetadataCacheException e )
+ {
+ // problems with the cache - move on
+ _log.error( _lang.getMessage( "cached.data.problem", e.getMessage(), bmd.toString() ) );
+ }
+ }
+
+ String bmdPath = bmd.getGroupId().replace( '.', '/' )
+ + '/'+bmd.getArtifactId()
+ + '/'+bmd.getVersion()
+ + '/'+bmd.getBaseName(classifier)
+ + '.' + (type == null ? bmd.getType() : type )
+ ;
+
+ res = readRawData( bmdPath );
+
+ if( _mdCache != null && res != null && mod != null )
+ {
+ try
+ {
+ _mdCache.saveRaw( mod, res );
+ }
+ catch( MetadataCacheException e )
+ {
+ throw new MetadataReaderException(e);
+ }
+ }
+
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public byte[] readRawData( String path )
+ throws MetadataReaderException
+ {
+ if( path == null || path.length() < 1 )
+ return null;
+
+ FileInputStream fis = null;
+ try
+ {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(10240);
+
+ String separator = "/";
+ if( path.startsWith( separator ))
+ separator = "";
+
+ String url = (path.startsWith( "http" ) ? "" : _repo.getServer().getURL().toString() + separator) + path;
+
+ Binding binding = new Binding( new URL( url ) , baos );
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ request.addBinding( binding );
+
+ RetrievalResponse response = _transport.retrieve( request );
+
+ if( response.hasExceptions() )
+ {
+ _log.info( _lang.getMessage( "read.raw.exceptions", path, response.getExceptions().toString() ) );
+ return null;
+ }
+
+ return baos.toByteArray();
+ }
+ catch( IOException e )
+ {
+ throw new MetadataReaderException(e);
+ }
+ finally
+ {
+ if( fis != null ) try { fis.close(); } catch( Exception any ) {}
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public boolean canHandle( String protocol )
+ {
+ return AbstractRepository.DEFAULT_REMOTE_READ_PROTOCOL.equals( protocol );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ //---------------------------------------------------------------------------------------------------------------
+ public void close()
+ {
+ // TODO Auto-generated method stub
+
+ }
+ public String[] getProtocols()
+ {
+ return _protocols;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2Factory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2Factory.java
new file mode 100644
index 0000000..a32f39d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2Factory.java
@@ -0,0 +1,51 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryReaderFactory;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class RemoteRepositoryReaderM2Factory
+implements RepositoryReaderFactory
+{
+ private static final Language lang = new DefaultLanguage( RemoteRepositoryReaderM2Factory.class );
+ private static final RemoteRepositoryReaderM2Factory factory = new RemoteRepositoryReaderM2Factory();
+
+ static
+ {
+ AbstractRepository.register( AbstractRepository.DEFAULT_REPOSITORY_TYPE, factory );
+ }
+
+ public RepositoryReader getReader( Repository repo, DependencyProcessor mdProcessor )
+ throws RepositoryException
+ {
+ if( repo == null || !(repo instanceof RemoteRepository) )
+ throw new RepositoryException( lang.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) );
+
+ return new RemoteRepositoryReaderM2( (RemoteRepository)repo, mdProcessor );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
new file mode 100644
index 0000000..3c5612c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
@@ -0,0 +1,299 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.AbstractRepositoryWriter;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryGAMetadata;
+import org.apache.maven.mercury.repository.api.RepositoryGAVMetadata;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.metadata.AddVersionOperation;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.repository.metadata.MetadataOperation;
+import org.apache.maven.mercury.repository.metadata.SetSnapshotOperation;
+import org.apache.maven.mercury.repository.metadata.Snapshot;
+import org.apache.maven.mercury.repository.metadata.SnapshotOperand;
+import org.apache.maven.mercury.repository.metadata.StringOperand;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployRequest;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.spi.http.client.deploy.DeployResponse;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class RemoteRepositoryWriterM2
+extends AbstractRepositoryWriter
+implements RepositoryWriter
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( RemoteRepositoryWriterM2.class );
+ private static final Language _lang = new DefaultLanguage( RemoteRepositoryWriterM2.class );
+ //---------------------------------------------------------------------------------------------------------------
+ private static final String [] _protocols = new String [] { "http", "https", "dav", "webdav" };
+
+ RemoteRepository _repo;
+ Server _server;
+ RepositoryReader _reader;
+
+ // TODO og: 2008-08-22 should be replaced with real transport implementation
+ DefaultDeployer _transport;
+ //---------------------------------------------------------------------------------------------------------------
+ public RemoteRepositoryWriterM2( RemoteRepository repo )
+ throws RepositoryException
+ {
+ if( repo == null )
+ throw new IllegalArgumentException("localRepo cannot be null");
+
+ _server = repo.getServer();
+ if( _server == null )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.repository.server.null" ) );
+
+ if( _server.getURL() == null )
+ throw new IllegalArgumentException(_lang.getMessage( "bad.repository.server.url.null" ));
+
+ _repo = repo;
+
+ _reader = _repo.getReader();
+
+ try
+ {
+ _transport = new DefaultDeployer();
+ HashSet<Server> servers = new HashSet<Server>(1);
+ servers.add( _server );
+ _transport.setServers( servers );
+ }
+ catch( HttpClientException e )
+ {
+ throw new RepositoryException(e);
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public Repository getRepository()
+ {
+ return _repo;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public boolean canHandle( String protocol )
+ {
+ return AbstractRepository.DEFAULT_LOCAL_READ_PROTOCOL.equals( protocol );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public String[] getProtocols()
+ {
+ return _protocols;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void close()
+ {
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void writeArtifacts( Collection<Artifact> artifacts )
+ throws RepositoryException
+ {
+ if( artifacts == null || artifacts.size() < 1 )
+ return;
+
+ Set<StreamVerifierFactory> vFacs = null;
+ Server server = _repo.getServer();
+ if( server != null && server.hasWriterStreamVerifierFactories() )
+ vFacs = server.getWriterStreamVerifierFactories();
+
+ if( vFacs == null ) // let it be empty, but not null
+ vFacs = new HashSet<StreamVerifierFactory>(1);
+
+ for( Artifact artifact : artifacts )
+ {
+ writeArtifact( artifact, vFacs );
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public void writeArtifact( Artifact artifact, Set<StreamVerifierFactory> vFacs )
+ throws RepositoryException
+ {
+ if( artifact == null )
+ throw new RepositoryException( _lang.getMessage( "null.artifact") );
+
+ if( artifact.getFile() == null || !artifact.getFile().exists() )
+ throw new RepositoryException( _lang.getMessage( "bad.artifact.file", artifact.toString(), (artifact.getFile() == null ? "null" : artifact.getFile().getAbsolutePath()) ) );
+
+ boolean isPom = "pom".equals( artifact.getType() );
+
+ byte [] pomBlob = artifact.getPomBlob();
+ boolean hasPomBlob = pomBlob != null && pomBlob.length > 0;
+
+ if( !artifact.hasClassifier() && !hasPomBlob )
+ throw new RepositoryException( _lang.getMessage( "no.pom.in.primary.artifact", artifact.toString() ) );
+
+ InputStream in = artifact.getStream();
+ if( in == null )
+ {
+ File aFile = artifact.getFile();
+ if( aFile == null && !isPom )
+ {
+ throw new RepositoryException( _lang.getMessage( "artifact.no.stream", artifact.toString() ) );
+ }
+
+ try
+ {
+ in = new FileInputStream( aFile );
+ }
+ catch( FileNotFoundException e )
+ {
+ if( !isPom )
+ throw new RepositoryException( _lang.getMessage( "artifact.no.file", artifact.toString(), aFile.getAbsolutePath(), e.getMessage() ) );
+ }
+ }
+ DefaultArtifactVersion dav = new DefaultArtifactVersion( artifact.getVersion() );
+ Quality aq = dav.getQuality();
+ boolean isSnapshot = aq.equals( Quality.SNAPSHOT_QUALITY ) || aq.equals( Quality.SNAPSHOT_TS_QUALITY );
+
+ String relGroupPath = artifact.getGroupId().replace( '.', '/' )+"/"+artifact.getArtifactId();
+ String relVersionPath = relGroupPath + '/' + (isSnapshot ? (dav.getBase()+'-'+Artifact.SNAPSHOT_VERSION) : artifact.getVersion() );
+
+ try
+ {
+ if( isPom )
+ {
+ if( in == null && !hasPomBlob )
+ throw new RepositoryException( _lang.getMessage( "pom.artifact.no.stream", artifact.toString() ) );
+
+ if( in != null )
+ {
+ byte [] pomBlobBytes = FileUtil.readRawData( in );
+ hasPomBlob = pomBlobBytes != null && pomBlobBytes.length > 0;
+ if( hasPomBlob )
+ pomBlob = pomBlobBytes;
+ }
+
+ }
+
+ String url = _server.getURL().toString();
+
+ // read metadata
+ String gaMdUrl = url+'/'+relGroupPath+'/'+_repo.getMetadataName();
+ byte [] gaMdBytes = _reader.readRawData( gaMdUrl );
+
+ String gavMdUrl = url+'/'+relVersionPath+'/'+_repo.getMetadataName();
+ byte [] gavMdBytes = _reader.readRawData( gavMdUrl );
+
+ HashSet<Binding> bindings = new HashSet<Binding>(4);
+
+ // first - take care of the binary
+ String binUrl = url+'/'+relVersionPath+'/'+artifact.getBaseName()+'.'+artifact.getType();
+ bindings.add( new Binding( new URL(binUrl), artifact.getFile() ) );
+
+ // GA metadata
+ Metadata md = gaMdBytes == null ? null : MetadataBuilder.getMetadata( gaMdBytes );
+
+ if( md == null )
+ {
+ md = new Metadata();
+ md.setGroupId( artifact.getGroupId() );
+ md.setArtifactId( artifact.getArtifactId() );
+ }
+
+ MetadataOperation mdOp = null;
+
+ if( isSnapshot )
+ {
+ Snapshot sn = MetadataBuilder.createSnapshot( artifact.getVersion() );
+ sn.setLocalCopy( true );
+ mdOp = new SetSnapshotOperation( new SnapshotOperand(sn) );
+ }
+ else
+ mdOp = new AddVersionOperation( new StringOperand(artifact.getVersion()) );
+
+ byte [] gaResBytes = MetadataBuilder.changeMetadata( md, mdOp );
+ Metadata gaMd = MetadataBuilder.getMetadata( gaResBytes );
+
+ bindings.add( new Binding(new URL(gaMdUrl), new ByteArrayInputStream(gaResBytes)) );
+
+ // now - GAV metadata
+ md = gavMdBytes == null ? null : MetadataBuilder.getMetadata( gavMdBytes );
+
+ if( md == null )
+ {
+ md = new Metadata();
+ md.setGroupId( artifact.getGroupId() );
+ md.setArtifactId( artifact.getArtifactId() );
+ md.setVersion( artifact.getVersion() );
+ }
+
+ byte [] gavResBytes = MetadataBuilder.changeMetadata( md, mdOp );
+ Metadata gavMd = MetadataBuilder.getMetadata( gavResBytes );
+
+ bindings.add( new Binding( new URL(gavMdUrl), new ByteArrayInputStream(gavResBytes)) );
+
+ if( !isPom && hasPomBlob )
+ {
+ String pomUrl = url+'/'+relVersionPath+'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom";
+ bindings.add( new Binding( new URL(pomUrl), new ByteArrayInputStream(pomBlob) ) );
+ }
+
+ DefaultDeployRequest request = new DefaultDeployRequest();
+ request.setBindings( bindings );
+
+ DeployResponse response = _transport.deploy( request );
+
+ if( response.hasExceptions() )
+ throw new RepositoryException( response.getExceptions().toString() );
+
+ if( _mdCache != null )
+ {
+ // cache metadata
+ _mdCache.updateGA( _repo.getId(), new RepositoryGAMetadata(gaMd) );
+ _mdCache.updateGAV( _repo.getId(), new RepositoryGAVMetadata(gavMd) );
+ if( hasPomBlob && DefaultArtifact.class.isAssignableFrom( artifact.getClass() ) )
+ _mdCache.saveRaw( (DefaultArtifact)artifact, pomBlob );
+ }
+
+ }
+ catch( Exception e )
+ {
+ throw new RepositoryException( e );
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ //---------------------------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java
new file mode 100644
index 0000000..623c525
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java
@@ -0,0 +1,51 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import org.apache.maven.mercury.repository.api.AbstractRepository;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.api.RepositoryWriterFactory;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+public class RemoteRepositoryWriterM2Factory
+implements RepositoryWriterFactory
+{
+ private static final Language lang = new DefaultLanguage( RemoteRepositoryWriterM2Factory.class );
+ private static final RemoteRepositoryWriterM2Factory factory = new RemoteRepositoryWriterM2Factory();
+
+ static
+ {
+ AbstractRepository.register( AbstractRepository.DEFAULT_REPOSITORY_TYPE, factory );
+ }
+
+ public RepositoryWriter getWriter( Repository repo )
+ throws RepositoryException
+ {
+ if( repo == null || !(repo instanceof LocalRepository) )
+ throw new RepositoryException( lang.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) );
+
+ return new RemoteRepositoryWriterM2( (RemoteRepository)repo );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RepositoryUtilM2.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RepositoryUtilM2.java
new file mode 100644
index 0000000..9427426
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RepositoryUtilM2.java
@@ -0,0 +1,180 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.NoSuchElementException;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.metadata.AddVersionOperation;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+import org.apache.maven.mercury.repository.metadata.MetadataBuilder;
+import org.apache.maven.mercury.repository.metadata.MetadataException;
+import org.apache.maven.mercury.repository.metadata.MetadataOperation;
+import org.apache.maven.mercury.repository.metadata.StringOperand;
+import org.apache.maven.mercury.util.FileUtil;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryUtilM2
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( RepositoryUtilM2.class );
+ private static final Language _lang = new DefaultLanguage( RepositoryUtilM2.class );
+ //----------------------------------------------------------------------------------
+ public static void flip( LocalRepositoryM2 repo, File dest )
+ {
+ if( repo == null )
+ throw new IllegalArgumentException( _lang.getMessage( "lrepo.null" ) );
+
+ File lDir = repo.getDirectory();
+
+ if( lDir == null )
+ throw new IllegalArgumentException( _lang.getMessage( "lrepo.no.dir" ) );
+
+ if( !lDir.exists() || !lDir.isDirectory() )
+ throw new IllegalArgumentException( _lang.getMessage( "lrepo.dir.not.exists", lDir.toString() ) );
+
+ if( dest.exists() && !dest.isFile() )
+ throw new IllegalArgumentException( _lang.getMessage( "dest.is.file", dest.toString() ) );
+
+
+ }
+
+ public static void flipLocalFolderToRemoteRepository( File repoDir )
+ {
+
+ if( !repoDir.exists() || !repoDir.isDirectory() )
+ throw new IllegalArgumentException( _lang.getMessage( "lrepo.dir.not.exists", repoDir.toString() ) );
+
+ // temporary solution: just rename metadata, hoping it is correct
+ // ideally - will use metadata correction utility
+ FileUtil.renameFile( repoDir, LocalRepositoryM2.METADATA_FILE_NAME, RemoteRepositoryM2.METADATA_FILE_NAME );
+ }
+
+ private static final void findGA( File dir )
+ throws MetadataException, IOException
+ {
+ if( dir.isFile() )
+ return;
+
+ File [] files = dir.listFiles();
+
+ if( files == null || files.length < 1 )
+ return;
+
+ int dep = FileUtil.depth( dir );
+
+ List<MetadataOperation> vo = null;
+
+ if( dep <= 1 )
+ vo = new ArrayList<MetadataOperation>();
+
+ for( File f : files )
+ {
+ if( f.isFile() )
+ return;
+
+ if( dep == 1 )
+ {
+ vo.add( new AddVersionOperation( new StringOperand(f.getName()) ) );
+ }
+ else
+ findGA( f );
+ }
+
+ if( dep == 1 )
+ {
+ Metadata md = new Metadata();
+
+ byte [] mdBytes = MetadataBuilder.changeMetadata( md, vo );
+
+ FileUtil.writeRawData( new File( dir, RemoteRepositoryM2.METADATA_FILE_NAME ), mdBytes );
+ }
+ else if( dep == 0 )
+ {
+
+ }
+ }
+ //----------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------
+}
+//=====================================================================================
+class copyGa
+implements Runnable
+{
+ ConcurrentLinkedQueue<ArtifactCoordinates> _q;
+ File _root;
+ File _dest;
+
+ public copyGa( ConcurrentLinkedQueue<ArtifactCoordinates> q, File from, File to )
+ {
+ this._q = q;
+ this._root = from;
+ this._dest = to;
+ }
+
+ // copy GAV to it's final dest
+ public void run()
+ {
+ try
+ {
+ for(;;)
+ {
+ ArtifactCoordinates ga = _q.remove();
+
+// File gaDir = new File( _root );
+// File gaDest = new File( _dest );
+//
+// gaDest.mkdirs();
+//
+// Metadata gaMd = new Metadata();
+// gaMd.setGroupId( groupId )
+//
+// File [] versions = gaDir.listFiles();
+//
+// for( File v : versions )
+// {
+// if( v.isFile() )
+// continue;
+// }
+
+ }
+ }
+ catch( NoSuchElementException e )
+ {
+ }
+ }
+ //-------------------------------------
+}
+//=====================================================================================
+
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryUtilM2Test.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryUtilM2Test.java
new file mode 100644
index 0000000..36fc518
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryUtilM2Test.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.remote.m2;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RemoteRepositoryUtilM2Test
+ extends TestCase
+{
+ public void testFlipFolder()
+ {
+ File repo = new File("./target/test-classes/localTestRepo");
+
+ RepositoryUtilM2.flipLocalFolderToRemoteRepository( repo );
+
+ File ga = new File( repo, "org/apache/maven/mercury/mercury-pom/maven-metadata.xml");
+
+ assertTrue( ga.exists() );
+
+ File gav = new File( repo, "org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata.xml");
+
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-apache.snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-apache.snapshots.xml
new file mode 100644
index 0000000..be33dc2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-apache.snapshots.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081001.164407</timestamp>
+ <buildNumber>5</buildNumber>
+ </snapshot>
+ <lastUpdated>20081001164410</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1
new file mode 100644
index 0000000..76fb7cf
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1
@@ -0,0 +1 @@
+d3bff9b2dbf8b8246bebc08145d48049c6c232f7
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-chsn.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-chsn.xml
new file mode 100644
index 0000000..bf122d4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-chsn.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-forge.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-forge.xml
new file mode 100644
index 0000000..c7a21fc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-forge.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20080925.170059</timestamp>
+ <buildNumber>13</buildNumber>
+ </snapshot>
+ <lastUpdated>20080925170059</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-forge.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-forge.xml.sha1
new file mode 100644
index 0000000..5306f9e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-forge.xml.sha1
@@ -0,0 +1 @@
+b7aaaff17c2327a5257b71ec83d0f0186aec9f91
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-local.xml
new file mode 100644
index 0000000..038bc3f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-local.xml
@@ -0,0 +1,32 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <localCopy>true</localCopy>
+ </snapshot>
+ <lastUpdated>20081003180132</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona-maven-snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona-maven-snapshots.xml
new file mode 100644
index 0000000..ea5bde4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona-maven-snapshots.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20080930.001014</timestamp>
+ <buildNumber>19</buildNumber>
+ </snapshot>
+ <lastUpdated>20080930001014</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona-maven-snapshots.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona-maven-snapshots.xml.sha1
new file mode 100644
index 0000000..d5b80f4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona-maven-snapshots.xml.sha1
@@ -0,0 +1 @@
+08d65517fc67f9decb840815103804d196a991a8
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona.central.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona.central.xml
new file mode 100644
index 0000000..9e64c4f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona.central.xml
@@ -0,0 +1,33 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081002.002426</timestamp>
+ <buildNumber>3</buildNumber>
+ </snapshot>
+ <lastUpdated>20081002002426</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona.central.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona.central.xml.sha1
new file mode 100644
index 0000000..cd77170
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-sona.central.xml.sha1
@@ -0,0 +1 @@
+5cb673228f748b743cde852d7bb4324922e4a16b
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-test-plugins.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-test-plugins.xml
new file mode 100644
index 0000000..be33dc2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-test-plugins.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081001.164407</timestamp>
+ <buildNumber>5</buildNumber>
+ </snapshot>
+ <lastUpdated>20081001164410</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-test-plugins.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-test-plugins.xml.sha1
new file mode 100644
index 0000000..76fb7cf
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/maven-metadata-test-plugins.xml.sha1
@@ -0,0 +1 @@
+d3bff9b2dbf8b8246bebc08145d48049c6c232f7
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.015600-9-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.015600-9-tests.jar
new file mode 100644
index 0000000..aab725b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.015600-9-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.015600-9.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.015600-9.pom
new file mode 100644
index 0000000..b54ad4d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.015600-9.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-i18n</artifactId>
+ <version>1.0-beta-10</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020713-10-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020713-10-tests.jar
new file mode 100644
index 0000000..aab725b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020713-10-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020713-10.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020713-10.pom
new file mode 100644
index 0000000..b54ad4d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020713-10.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-i18n</artifactId>
+ <version>1.0-beta-10</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020726-11-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020726-11-tests.jar
new file mode 100644
index 0000000..aab725b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020726-11-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020726-11.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020726-11.pom
new file mode 100644
index 0000000..b54ad4d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.020726-11.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-i18n</artifactId>
+ <version>1.0-beta-10</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.021118-12-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.021118-12-tests.jar
new file mode 100644
index 0000000..aab725b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.021118-12-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.021118-12.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.021118-12.pom
new file mode 100644
index 0000000..b54ad4d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080920.021118-12.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-i18n</artifactId>
+ <version>1.0-beta-10</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080925.170059-13-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080925.170059-13-tests.jar
new file mode 100644
index 0000000..1152723
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080925.170059-13-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080925.170059-13.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080925.170059-13.pom
new file mode 100644
index 0000000..b54ad4d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080925.170059-13.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-i18n</artifactId>
+ <version>1.0-beta-10</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.013528-14-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.013528-14-tests.jar
new file mode 100644
index 0000000..9e1f4aa
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.013528-14-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.013528-14.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.013528-14.pom
new file mode 100644
index 0000000..62ef77c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.013528-14.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.051328-15-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.051328-15-tests.jar
new file mode 100644
index 0000000..19f6506
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.051328-15-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.051328-15.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.051328-15.pom
new file mode 100644
index 0000000..62ef77c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080926.051328-15.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.185425-16-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.185425-16-tests.jar
new file mode 100644
index 0000000..ccda093
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.185425-16-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.185425-16.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.185425-16.pom
new file mode 100644
index 0000000..62ef77c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.185425-16.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.205605-17-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.205605-17-tests.jar
new file mode 100644
index 0000000..266098e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.205605-17-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.205605-17.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.205605-17.pom
new file mode 100644
index 0000000..62ef77c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.205605-17.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.235601-18-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.235601-18-tests.jar
new file mode 100644
index 0000000..dc322b3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.235601-18-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.235601-18.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.235601-18.pom
new file mode 100644
index 0000000..62ef77c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080929.235601-18.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.001014-19-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.001014-19-tests.jar
new file mode 100644
index 0000000..1c5690a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.001014-19-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.001014-19.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.001014-19.pom
new file mode 100644
index 0000000..62ef77c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.001014-19.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>sona-maven-snapshots</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.173800-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.173800-1.pom
new file mode 100644
index 0000000..be8c79e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.173800-1.pom
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+<!--
+ <distMgmtSnapshotsId>sona-maven-snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+ -->
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223749-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223749-1.pom
new file mode 100644
index 0000000..be8c79e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223749-1.pom
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+<!--
+ <distMgmtSnapshotsId>sona-maven-snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+ -->
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223849-1-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223849-1-tests.jar
new file mode 100644
index 0000000..453f934
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223849-1-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223849-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223849-1.pom
new file mode 100644
index 0000000..be8c79e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223849-1.pom
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+<!--
+ <distMgmtSnapshotsId>sona-maven-snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+ -->
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223922-2-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223922-2-tests.jar
new file mode 100644
index 0000000..bb3a53e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223922-2-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223922-2.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223922-2.pom
new file mode 100644
index 0000000..be8c79e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.223922-2.pom
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+<!--
+ <distMgmtSnapshotsId>sona-maven-snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+ -->
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.225150-3-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.225150-3-tests.jar
new file mode 100644
index 0000000..89cc871
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.225150-3-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.225150-3.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.225150-3.pom
new file mode 100644
index 0000000..fe128a0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20080930.225150-3.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164139-4-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164139-4-tests.jar
new file mode 100644
index 0000000..826fceb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164139-4-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164139-4.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164139-4.pom
new file mode 100644
index 0000000..fe128a0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164139-4.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164407-5-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164407-5-tests.jar
new file mode 100644
index 0000000..9507d81
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164407-5-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164407-5.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164407-5.pom
new file mode 100644
index 0000000..fe128a0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081001.164407-5.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081002.002426-3.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081002.002426-3.pom
new file mode 100644
index 0000000..fe128a0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081002.002426-3.pom
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/trunk/mercury/</developerConnection>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081002.002426-3.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081002.002426-3.pom.sha1
new file mode 100644
index 0000000..a657141
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-20081002.002426-3.pom.sha1
@@ -0,0 +1 @@
+0e5c83697f782373572634d3bcfef591dd2045a8
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-SNAPSHOT-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-SNAPSHOT-tests.jar
new file mode 100644
index 0000000..d0ea692
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-SNAPSHOT-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-SNAPSHOT.pom
new file mode 100644
index 0000000..327a6ec
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/mercury-pom-1-alpha-1-SNAPSHOT.pom
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-1-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${mercury.version.crypto}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercury.version.transport}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercury.version.repo}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/resolver-status.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/resolver-status.properties
new file mode 100644
index 0000000..3b134de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1-SNAPSHOT/resolver-status.properties
@@ -0,0 +1,27 @@
+#
+# 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.
+#
+#Last modified on: Fri Oct 03 10:29:44 PDT 2008
+#Fri Oct 03 10:29:44 PDT 2008
+ch.rel.maven-metadata-ch.rel.xml.lastUpdated=1223054951845
+apache.snapshots.maven-metadata-apache.snapshots.xml.lastUpdated=1223054950568
+ch.sn.maven-metadata-ch.sn.xml.lastUpdated=1223054951504
+codehaus.snapshots.maven-metadata-codehaus.snapshots.xml.lastUpdated=1223054953025
+sona.central.maven-metadata-sona.central.xml.lastUpdated=1223054951218
+test-plugins.maven-metadata-test-plugins.xml.lastUpdated=1223054984048
+maven.central.maven-metadata-maven.central.xml.lastUpdated=1223054950743
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1/mercury-pom-1-alpha-1-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1/mercury-pom-1-alpha-1-tests.jar
new file mode 100644
index 0000000..088f51e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1/mercury-pom-1-alpha-1-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1/mercury-pom-1-alpha-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1/mercury-pom-1-alpha-1.pom
new file mode 100644
index 0000000..3eeecee
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-1/mercury-pom-1-alpha-1.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-1-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-1-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-1-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-1-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-1-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-1-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml
new file mode 100644
index 0000000..3e790fc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml
@@ -0,0 +1,33 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081017.214422</timestamp>
+ <buildNumber>4</buildNumber>
+ </snapshot>
+ <lastUpdated>20081017214432</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1
new file mode 100644
index 0000000..7161ddb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1
@@ -0,0 +1 @@
+b7a089cccead20bb512fa8788a1939198cfd071c
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-ch.rel.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-ch.rel.xml
new file mode 100644
index 0000000..abc6677
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-ch.rel.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-ch.sn.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-ch.sn.xml
new file mode 100644
index 0000000..abc6677
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-ch.sn.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-codehaus.snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-codehaus.snapshots.xml
new file mode 100644
index 0000000..abc6677
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-codehaus.snapshots.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-local.xml
new file mode 100644
index 0000000..144a1fe
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-local.xml
@@ -0,0 +1,32 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <localCopy>true</localCopy>
+ </snapshot>
+ <lastUpdated>20081021021012</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-maven.central.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-maven.central.xml
new file mode 100644
index 0000000..abc6677
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-maven.central.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml
new file mode 100644
index 0000000..ffb0aac
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml
@@ -0,0 +1,33 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081018.014646</timestamp>
+ <buildNumber>16</buildNumber>
+ </snapshot>
+ <lastUpdated>20081018014649</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml.sha1
new file mode 100644
index 0000000..de6f984
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml.sha1
@@ -0,0 +1 @@
+688ce42f9641b2e45f8fe017a9b67f37526f70e6
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081006.174832-2.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081006.174832-2.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081006.174832-2.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081006.174832-2.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081006.174832-2.pom.sha1
new file mode 100644
index 0000000..6936185
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081006.174832-2.pom.sha1
@@ -0,0 +1 @@
+a1c571d0e7dd01516d7e7ff62ddea74c0e9d1aa1
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081007.043857-1-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081007.043857-1-tests.jar
new file mode 100644
index 0000000..7c24bd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081007.043857-1-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081007.043857-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081007.043857-1.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081007.043857-1.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081009.214126-6.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081009.214126-6.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081009.214126-6.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081009.214126-6.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081009.214126-6.pom.sha1
new file mode 100644
index 0000000..6936185
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081009.214126-6.pom.sha1
@@ -0,0 +1 @@
+a1c571d0e7dd01516d7e7ff62ddea74c0e9d1aa1
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081014.023618-10.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081014.023618-10.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081014.023618-10.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081014.023618-10.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081014.023618-10.pom.sha1
new file mode 100644
index 0000000..6936185
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081014.023618-10.pom.sha1
@@ -0,0 +1 @@
+a1c571d0e7dd01516d7e7ff62ddea74c0e9d1aa1
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081015.003721-2-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081015.003721-2-tests.jar
new file mode 100644
index 0000000..ff3a665
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081015.003721-2-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081015.003721-2.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081015.003721-2.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081015.003721-2.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081016.005900-3-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081016.005900-3-tests.jar
new file mode 100644
index 0000000..453c34f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081016.005900-3-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081016.005900-3.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081016.005900-3.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081016.005900-3.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4-tests.jar
new file mode 100644
index 0000000..2af14a8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4.pom.sha1
new file mode 100644
index 0000000..6936185
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081017.214422-4.pom.sha1
@@ -0,0 +1 @@
+a1c571d0e7dd01516d7e7ff62ddea74c0e9d1aa1
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081018.014646-16.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081018.014646-16.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081018.014646-16.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081018.014646-16.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081018.014646-16.pom.sha1
new file mode 100644
index 0000000..6936185
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-20081018.014646-16.pom.sha1
@@ -0,0 +1 @@
+a1c571d0e7dd01516d7e7ff62ddea74c0e9d1aa1
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-SNAPSHOT-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-SNAPSHOT-tests.jar
new file mode 100644
index 0000000..a1171a5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-SNAPSHOT-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-SNAPSHOT.pom
new file mode 100644
index 0000000..f7c55c4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/mercury-pom-1-alpha-2-SNAPSHOT.pom
@@ -0,0 +1,317 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <properties>
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+
+ <mercury.version.artifact>1.0.0-alpha-2-SNAPSHOT</mercury.version.artifact>
+ <mercury.version.crypto>1.0.0-alpha-2-SNAPSHOT</mercury.version.crypto>
+ <mercury.version.md>1.0.0-alpha-2-SNAPSHOT</mercury.version.md>
+ <mercury.version.repo>1.0.0-alpha-2-SNAPSHOT</mercury.version.repo>
+ <mercury.version.transport>1.0.0-alpha-2-SNAPSHOT</mercury.version.transport>
+
+ </properties>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${mercury.version.md}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/resolver-status.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/resolver-status.properties
new file mode 100644
index 0000000..5f96b02
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1-alpha-2-SNAPSHOT/resolver-status.properties
@@ -0,0 +1,27 @@
+#
+# 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.
+#
+#Last modified on: Tue Oct 21 15:55:27 PDT 2008
+#Tue Oct 21 15:55:27 PDT 2008
+ch.rel.maven-metadata-ch.rel.xml.lastUpdated=1224551378215
+apache.snapshots.maven-metadata-apache.snapshots.xml.lastUpdated=1224551377316
+codehaus.snapshots.maven-metadata-codehaus.snapshots.xml.lastUpdated=1224551378360
+ch.sn.maven-metadata-ch.sn.xml.lastUpdated=1224551378074
+sona.staging.maven-metadata-sona.staging.xml.lastUpdated=1224629727493
+sona.central.maven-metadata-sona.central.xml.lastUpdated=1224551377927
+maven.central.maven-metadata-maven.central.xml.lastUpdated=1224551377764
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml
new file mode 100644
index 0000000..48bbe10
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml
@@ -0,0 +1,33 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081110.035029</timestamp>
+ <buildNumber>33</buildNumber>
+ </snapshot>
+ <lastUpdated>20081110035046</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1
new file mode 100644
index 0000000..33fd315
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-apache.snapshots.xml.sha1
@@ -0,0 +1 @@
+1c1dd0f34b4573337802e0b79a9a7bda003f15d8
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-local.xml
new file mode 100644
index 0000000..cb8d012
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-local.xml
@@ -0,0 +1,32 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <localCopy>true</localCopy>
+ </snapshot>
+ <lastUpdated>20081110035045</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-maven.central.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-maven.central.xml
new file mode 100644
index 0000000..1375435
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-maven.central.xml
@@ -0,0 +1,26 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml
new file mode 100644
index 0000000..409b67a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml
@@ -0,0 +1,33 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081108.025000</timestamp>
+ <buildNumber>37</buildNumber>
+ </snapshot>
+ <lastUpdated>20081108025001</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml.sha1
new file mode 100644
index 0000000..083f8f6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sona.central.xml.sha1
@@ -0,0 +1 @@
+5a0eb9c8bc40337d8b2b30f280f8821ca5077495
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sonatype-forge.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sonatype-forge.xml
new file mode 100644
index 0000000..f2d16c8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sonatype-forge.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20081102.184718</timestamp>
+ <buildNumber>21</buildNumber>
+ </snapshot>
+ <lastUpdated>20081102184720</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sonatype-forge.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sonatype-forge.xml.sha1
new file mode 100644
index 0000000..c0298bb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/maven-metadata-sonatype-forge.xml.sha1
@@ -0,0 +1 @@
+d4a66323e790acfea021fb50e8c869ef641fb81f
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081021.234334-1-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081021.234334-1-tests.jar
new file mode 100644
index 0000000..53a1296
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081021.234334-1-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081021.234334-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081021.234334-1.pom
new file mode 100644
index 0000000..7db1a44
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081021.234334-1.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081022.162714-2-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081022.162714-2-tests.jar
new file mode 100644
index 0000000..a2b6fb6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081022.162714-2-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081022.162714-2.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081022.162714-2.pom
new file mode 100644
index 0000000..7db1a44
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081022.162714-2.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081023.183434-3-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081023.183434-3-tests.jar
new file mode 100644
index 0000000..b7ca495
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081023.183434-3-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081023.183434-3.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081023.183434-3.pom
new file mode 100644
index 0000000..7db1a44
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081023.183434-3.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.015149-4-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.015149-4-tests.jar
new file mode 100644
index 0000000..bac48e0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.015149-4-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.015149-4.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.015149-4.pom
new file mode 100644
index 0000000..7db1a44
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.015149-4.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.171715-5-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.171715-5-tests.jar
new file mode 100644
index 0000000..89b6d4f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.171715-5-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.171715-5.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.171715-5.pom
new file mode 100644
index 0000000..7db1a44
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.171715-5.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.220302-6-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.220302-6-tests.jar
new file mode 100644
index 0000000..accb4bd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.220302-6-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.220302-6.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.220302-6.pom
new file mode 100644
index 0000000..868cf2a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.220302-6.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.224528-7-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.224528-7-tests.jar
new file mode 100644
index 0000000..4ff6730
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.224528-7-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.224528-7.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.224528-7.pom
new file mode 100644
index 0000000..868cf2a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081024.224528-7.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081025.014722-5.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081025.014722-5.pom
new file mode 100644
index 0000000..868cf2a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081025.014722-5.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081025.014722-5.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081025.014722-5.pom.sha1
new file mode 100644
index 0000000..19b9ab5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081025.014722-5.pom.sha1
@@ -0,0 +1 @@
+a3cb88dc3bec5cdb8e13dc4866d93011d4a5c875
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081029.014719-6.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081029.014719-6.pom
new file mode 100644
index 0000000..868cf2a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081029.014719-6.pom
@@ -0,0 +1,301 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ -->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081029.014719-6.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081029.014719-6.pom.sha1
new file mode 100644
index 0000000..19b9ab5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081029.014719-6.pom.sha1
@@ -0,0 +1 @@
+a3cb88dc3bec5cdb8e13dc4866d93011d4a5c875
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081030.222331-8-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081030.222331-8-tests.jar
new file mode 100644
index 0000000..67633b3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081030.222331-8-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081030.222331-8.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081030.222331-8.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081030.222331-8.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.030454-9-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.030454-9-tests.jar
new file mode 100644
index 0000000..9024d0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.030454-9-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.030454-9.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.030454-9.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.030454-9.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.172118-10-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.172118-10-tests.jar
new file mode 100644
index 0000000..8aa4d52
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.172118-10-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.172118-10.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.172118-10.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.172118-10.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.181059-11-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.181059-11-tests.jar
new file mode 100644
index 0000000..e7ebfc5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.181059-11-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.181059-11.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.181059-11.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.181059-11.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.222634-12-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.222634-12-tests.jar
new file mode 100644
index 0000000..fea7382
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.222634-12-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.222634-12.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.222634-12.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.222634-12.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.230957-13-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.230957-13-tests.jar
new file mode 100644
index 0000000..eb78750
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.230957-13-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.230957-13.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.230957-13.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.230957-13.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.235100-14-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.235100-14-tests.jar
new file mode 100644
index 0000000..11d8fe0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.235100-14-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.235100-14.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.235100-14.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081031.235100-14.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.012448-15-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.012448-15-tests.jar
new file mode 100644
index 0000000..11d7cd7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.012448-15-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.012448-15.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.012448-15.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.012448-15.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.014716-13.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.014716-13.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.014716-13.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.014716-13.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.014716-13.pom.sha1
new file mode 100644
index 0000000..5c536d7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.014716-13.pom.sha1
@@ -0,0 +1 @@
+a34f70ef8f5c4cdc4904fbb71028b8f48ebc330f
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.185636-16-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.185636-16-tests.jar
new file mode 100644
index 0000000..d523068
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.185636-16-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.185636-16.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.185636-16.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.185636-16.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.222941-17-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.222941-17-tests.jar
new file mode 100644
index 0000000..812b278
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.222941-17-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.222941-17.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.222941-17.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.222941-17.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.235717-18.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.235717-18.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081101.235717-18.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.021108-18-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.021108-18-tests.jar
new file mode 100644
index 0000000..ae6008a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.021108-18-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.021108-18.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.021108-18.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.021108-18.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.064537-19-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.064537-19-tests.jar
new file mode 100644
index 0000000..cb3c081
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.064537-19-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.064537-19.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.064537-19.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.064537-19.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.153949-20-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.153949-20-tests.jar
new file mode 100644
index 0000000..96e2a13
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.153949-20-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.153949-20.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.153949-20.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.153949-20.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.184718-21.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.184718-21.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.184718-21.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.184718-21.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.184718-21.pom.sha1
new file mode 100644
index 0000000..5c536d7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081102.184718-21.pom.sha1
@@ -0,0 +1 @@
+a34f70ef8f5c4cdc4904fbb71028b8f48ebc330f
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21-tests.jar
new file mode 100644
index 0000000..8c556d8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21.pom.sha1
new file mode 100644
index 0000000..5c536d7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081103.185755-21.pom.sha1
@@ -0,0 +1 @@
+a34f70ef8f5c4cdc4904fbb71028b8f48ebc330f
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.002558-22-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.002558-22-tests.jar
new file mode 100644
index 0000000..925f088
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.002558-22-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.002558-22.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.002558-22.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.002558-22.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.204812-23-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.204812-23-tests.jar
new file mode 100644
index 0000000..d27eb5f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.204812-23-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.204812-23.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.204812-23.pom
new file mode 100644
index 0000000..b980468
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081104.204812-23.pom
@@ -0,0 +1,302 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.025646-24-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.025646-24-tests.jar
new file mode 100644
index 0000000..83fa8bc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.025646-24-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.025646-24.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.025646-24.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.025646-24.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.062400-25-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.062400-25-tests.jar
new file mode 100644
index 0000000..e493abe
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.062400-25-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.062400-25.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.062400-25.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081105.062400-25.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.001154-26-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.001154-26-tests.jar
new file mode 100644
index 0000000..f46f4e9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.001154-26-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.001154-26.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.001154-26.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.001154-26.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.023730-27-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.023730-27-tests.jar
new file mode 100644
index 0000000..c86394b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.023730-27-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.023730-27.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.023730-27.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.023730-27.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.025019-28-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.025019-28-tests.jar
new file mode 100644
index 0000000..583f9d0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.025019-28-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.025019-28.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.025019-28.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.025019-28.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.231623-29-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.231623-29-tests.jar
new file mode 100644
index 0000000..516920a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.231623-29-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.231623-29.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.231623-29.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081106.231623-29.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.020526-30-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.020526-30-tests.jar
new file mode 100644
index 0000000..5d7aab2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.020526-30-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.020526-30.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.020526-30.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.020526-30.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.023848-31-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.023848-31-tests.jar
new file mode 100644
index 0000000..1069f06
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.023848-31-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.023848-31.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.023848-31.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.023848-31.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32-tests.jar
new file mode 100644
index 0000000..c5bf2af
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32.pom.sha1
new file mode 100644
index 0000000..aa422b3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081108.025051-32.pom.sha1
@@ -0,0 +1 @@
+c3bec1d1617f434dfc90040beae432f2a7a396d8
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081110.035029-33-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081110.035029-33-tests.jar
new file mode 100644
index 0000000..1dc3b73
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081110.035029-33-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081110.035029-33.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081110.035029-33.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-20081110.035029-33.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-SNAPSHOT-tests.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-SNAPSHOT-tests.jar
new file mode 100644
index 0000000..1dc3b73
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-SNAPSHOT-tests.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-SNAPSHOT.pom
new file mode 100644
index 0000000..dd1ffd1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/mercury-pom-1.0.0-alpha-2-SNAPSHOT.pom
@@ -0,0 +1,291 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury parent POM: ${project.version}</name>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+<profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+
+<build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+<plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.google.code.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <basedir>${basedir}</basedir>
+ <header>${basedir}/header.txt</header>
+ <quiet>false</quiet>
+ <includes>
+ <include>src/**</include>
+ </includes>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <useDefaultMapping>true</useDefaultMapping>
+ </configuration>
+ </plugin>
+ -->
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-43</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/resolver-status.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/resolver-status.properties
new file mode 100644
index 0000000..211fc81
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/1.0.0-alpha-2-SNAPSHOT/resolver-status.properties
@@ -0,0 +1,28 @@
+#
+# 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.
+#
+#Last modified on: Sat Nov 08 21:16:45 PST 2008
+#Sat Nov 08 21:16:45 PST 2008
+ch.rel.maven-metadata-ch.rel.xml.lastUpdated=1226207805792
+apache.snapshots.maven-metadata-apache.snapshots.xml.lastUpdated=1226207805289
+sona.staging.maven-metadata-sona.staging.xml.lastUpdated=1225932061627
+ch.sn.maven-metadata-ch.sn.xml.lastUpdated=1226207805632
+codehaus.snapshots.maven-metadata-codehaus.snapshots.xml.lastUpdated=1226207805955
+sonatype-forge.maven-metadata-sonatype-forge.xml.lastUpdated=1225764961711
+sona.central.maven-metadata-sona.central.xml.lastUpdated=1226207805469
+maven.central.maven-metadata-maven.central.xml.lastUpdated=1225756825054
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.snapshots.xml
new file mode 100644
index 0000000..fb68f26
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.snapshots.xml
@@ -0,0 +1,34 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20081110035045</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.snapshots.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.snapshots.xml.sha1
new file mode 100644
index 0000000..9705015
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.snapshots.xml.sha1
@@ -0,0 +1 @@
+27862e38d9429cc5af8a66f298d95419431b5c06
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.staging.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.staging.xml
new file mode 100644
index 0000000..e640307
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-apache.staging.xml
@@ -0,0 +1,32 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1</version>
+ <versioning>
+ <versions>
+ <version>1-alpha-1</version>
+ </versions>
+ <lastUpdated>20081004001352</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-local.xml
new file mode 100644
index 0000000..e051639
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-local.xml
@@ -0,0 +1,35 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>1-alpha-1-SNAPSHOT</version>
+ <version>1-alpha-1</version>
+ <version>1-alpha-2-SNAPSHOT</version>
+ <version>1.0.0-alpha-2-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20081110035045</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-sona-maven-snapshots.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-sona-maven-snapshots.xml
new file mode 100644
index 0000000..3a8263c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-sona-maven-snapshots.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <versioning>
+ <versions>
+ <version>1-SNAPSHOT</version>
+ <version>1-alpha-1-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080930001014</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-sona-maven-snapshots.xml.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-sona-maven-snapshots.xml.sha1
new file mode 100644
index 0000000..f0edb42
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-sona-maven-snapshots.xml.sha1
@@ -0,0 +1 @@
+e0e537175ffe5b7165a8fd7c41b89d3c295f7050
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-staged.releases.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-staged.releases.xml
new file mode 100644
index 0000000..35db9b9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/localTestRepo/org/apache/maven/mercury/mercury-pom/maven-metadata-staged.releases.xml
@@ -0,0 +1,33 @@
+<?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.
+
+-->
+<metadata>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-pom</artifactId>
+ <version>1-alpha-1</version>
+ <versioning>
+ <release>1-alpha-1</release>
+ <versions>
+ <version>1-alpha-1</version>
+ </versions>
+ <lastUpdated>20081003184625</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom
new file mode 100644
index 0000000..61cd0de
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc
new file mode 100644
index 0000000..1c66ba1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkitxHsACgkQDttdkRQbxPI7ywCdHDfUKblJaNRHID0S4yuhXCGO
+oi8An2QRvn7A3KnrUq1v92t6bM4IKkMl
+=khMy
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom
new file mode 100644
index 0000000..b09ea5b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>[1,2]</version>
+ </dependency>
+
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3)</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar
new file mode 100644
index 0000000..2d3cd92
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom
new file mode 100644
index 0000000..dcb5695
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>3</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>(1,)</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc
new file mode 100644
index 0000000..1c66ba1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkitxHsACgkQDttdkRQbxPI7ywCdHDfUKblJaNRHID0S4yuhXCGO
+oi8An2QRvn7A3KnrUq1v92t6bM4IKkMl
+=khMy
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1
new file mode 100644
index 0000000..95f6d9d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1
@@ -0,0 +1 @@
+c35fe6fb7d71197acbf7c47c194c45082e4b65f2
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc
new file mode 100644
index 0000000..6391ce1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkitxHsACgkQDttdkRQbxPLETACfaU+Tv6TEnMuoc8zHEpXsCqFA
+kQsAoIbUVY/qAn6WVUwr3HH1l23wyql3
+=yXa4
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1
new file mode 100644
index 0000000..fd61ae0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1
@@ -0,0 +1 @@
+5e06980bdcbc3985bd872a32b7776fa5063aa6b3
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml
new file mode 100644
index 0000000..ee34b78
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <versions>
+ <version>4</version>
+ </versions>
+ <lastUpdated>20080821193939</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
new file mode 100644
index 0000000..43b3b0d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
new file mode 100644
index 0000000..3b9b200
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>3</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>b</groupId>
+ <artifactId>b</artifactId>
+ <version>2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>c</groupId>
+ <artifactId>c</artifactId>
+ <version>[2,3]</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml
new file mode 100644
index 0000000..6aeaed9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+<!--
+
+ 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.
+
+-->
+ <groupId>a</groupId>
+ <artifactId>a</artifactId>
+ <version>4</version>
+ <versioning>
+ <release>4</release>
+ <versions>
+ <version>1</version>
+ <version>2</version>
+ <version>3</version>
+ <version>4</version>
+ <version>5-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20080424212921</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/pom.xml
new file mode 100644
index 0000000..d7e745f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/pom.xml
@@ -0,0 +1,74 @@
+<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>
+
+ <artifactId>mercury-repo-virtual</artifactId>
+
+ <name>Mercury Virtual Repository</name>
+ <description />
+
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+
+<!-- had to move all tests to IT: http://jira.codehaus.org/browse/MERCURY-47
+ <build>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+-->
+
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-cache-fs</artifactId>
+ </dependency>
+
+ <!-- Test deps -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/Messages.properties b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/Messages.properties
new file mode 100644
index 0000000..c813e62
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/Messages.properties
@@ -0,0 +1,22 @@
+#
+# 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.
+#
+error.reading.existing.artifact=Error {0} reading existing artifacts from repository {1}
+internal.error.sorting.query=internal error while sorting query {0} - buckets cannot be null
+no.snapshots=cannot find snapshots for {0}, classifier {1}, type {2}
+query.element.bad.version=query element {0} has a bad version {1}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
new file mode 100644
index 0000000..5b2d7f5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
@@ -0,0 +1,782 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.virtual;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeSet;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.Quality;
+import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
+import org.apache.maven.mercury.artifact.api.ArtifactListProcessorException;
+import org.apache.maven.mercury.artifact.version.MetadataVersionComparator;
+import org.apache.maven.mercury.artifact.version.VersionException;
+import org.apache.maven.mercury.artifact.version.VersionRange;
+import org.apache.maven.mercury.artifact.version.VersionRangeFactory;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.event.EventGenerator;
+import org.apache.maven.mercury.event.EventManager;
+import org.apache.maven.mercury.event.EventTypeEnum;
+import org.apache.maven.mercury.event.GenericEvent;
+import org.apache.maven.mercury.event.MercuryEvent;
+import org.apache.maven.mercury.event.MercuryEventListener;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryMetadataCache;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.cache.fs.MetadataCacheFs;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * this helper class hides the necessity to talk to localRepo and a bunch of remoteRepos.
+ * It also adds discrete convenience methods, hiding batch nature of RepositoryReader
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class VirtualRepositoryReader
+implements MetadataReader, EventGenerator
+{
+ public static final String EVENT_READ_ARTIFACTS = "read.artifacts";
+ public static final String EVENT_READ_ARTIFACTS_FROM_REPO = "read.artifacts.from.repo";
+ public static final String EVENT_READ_ARTIFACTS_FROM_REPO_QUALIFIED = "read.artifacts.from.repo.qualified";
+ public static final String EVENT_READ_ARTIFACTS_FROM_REPO_UNQUALIFIED = "read.artifacts.from.repo.unqualified";
+
+ public static final String EVENT_READ_VERSIONS = "read.versions";
+ public static final String EVENT_READ_VERSIONS_FROM_REPO = "read.versions.from.repo";
+
+ public static final String EVENT_READ_DEPENDENCIES = "read.dependencies";
+ public static final String EVENT_READ_DEPENDENCIES_FROM_REPO = "read.dependencies.from.repo";
+
+ public static final String EVENT_READ_RAW = "vr.read.raw";
+ public static final String EVENT_READ_RAW_FROM_REPO = "read.raw.from.repo";
+
+ /** file system cache subfolder */
+ public static final String METADATA_CACHE_DIR = ".cache";
+
+ /** minimum # of queue elements to consider parallelization */
+ private static int MIN_PARALLEL = 5;
+
+ private static final Language _lang = new DefaultLanguage( VirtualRepositoryReader.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( VirtualRepositoryReader.class );
+
+ //----------------------------------------------------------------------------------------------------------------------------
+ private List<Repository> _repositories = new ArrayList<Repository>(8);
+
+ private RepositoryReader[] _repositoryReaders;
+
+ private LocalRepository _localRepository;
+
+ private RepositoryWriter _localRepositoryWriter;
+
+ RepositoryMetadataCache _mdCache;
+
+ private Map<String,ArtifactListProcessor> _processors;
+
+ private boolean _initialized = false;
+
+ private EventManager _eventManager;
+ //----------------------------------------------------------------------------------------------------------------------------
+ public VirtualRepositoryReader( Collection<Repository> repositories )
+ throws RepositoryException
+ {
+ if( ! Util.isEmpty( repositories ) )
+ this._repositories.addAll( repositories );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ private VirtualRepositoryReader(
+ LocalRepository localRepository
+ , Collection<RemoteRepository> remoteRepositories
+ )
+ throws RepositoryException
+ {
+ if( _localRepository == null )
+ throw new RepositoryException( "null local repo" );
+
+ this._localRepository = localRepository;
+
+ this._repositories.add( localRepository );
+
+ if( remoteRepositories != null && remoteRepositories.size() > 0 )
+ this._repositories.addAll( remoteRepositories );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ private VirtualRepositoryReader( Repository... repositories )
+ throws RepositoryException
+ {
+ if( repositories != null && repositories.length > 0 )
+ for( Repository r : repositories )
+ this._repositories.add( r );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public static final RepositoryMetadataCache getCache( File localRepositoryRoot )
+ throws IOException
+ {
+ // TODO: 2008-10-13 og: man - I miss plexus! Badly want an IOC container. This
+ // should be configured, not hardcoded
+ return MetadataCacheFs.getCache( new File(localRepositoryRoot, METADATA_CACHE_DIR) );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public void addRepository( Repository repo )
+ throws RepositoryException
+ {
+ if( _initialized )
+ throw new RepositoryException("cannot add repositories after VirtualReader has been initialized");
+
+ _repositories.add( repo );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public void setProcessors( Map<String, ArtifactListProcessor> processors )
+ {
+ _processors = processors;
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ /**
+ * very important call - makes VRR sort out all the information it collected so far
+ */
+ public void init()
+ throws RepositoryException
+ {
+ if( _initialized )
+ return;
+
+ _repositoryReaders = new RepositoryReader[ _repositories.size() ];
+
+ // move local repo's upfront - they are faster!
+ int i = 0;
+ for( Repository r : _repositories )
+ {
+ if( ! r.isLocal() || ! r.isReadable() )
+ continue;
+
+ RepositoryReader rr = r.getReader();
+
+ rr.setMetadataReader( this );
+
+ _repositoryReaders[ i++ ] = rr;
+
+ if( r.isWriteable() )
+ {
+ // we select the first writable repo in the list
+ if( _localRepository != null )
+ continue;
+
+ _localRepository = (LocalRepository)r.getReader().getRepository();
+ _localRepositoryWriter = _localRepository.getWriter();
+
+ if( _mdCache == null )
+ {
+ try
+ {
+ _mdCache = getCache( _localRepository.getDirectory() );
+
+ if( _eventManager != null )
+ _mdCache.setEventManager( _eventManager );
+ }
+ catch( IOException e )
+ {
+ throw new RepositoryException( e.getMessage() );
+ }
+ }
+ }
+ }
+
+ // remote ones
+ for( Repository r : _repositories )
+ {
+ if( r.isLocal() || ! r.isReadable() )
+ continue;
+
+ RepositoryReader rr = r.getReader();
+
+ if( _mdCache != null )
+ rr.setMetadataCache( _mdCache );
+
+ rr.setMetadataReader( this );
+
+ _repositoryReaders[ i++ ] = rr;
+ }
+ _initialized = true;
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
+ throws IllegalArgumentException, RepositoryException
+ {
+ if( query == null )
+ throw new IllegalArgumentException("null bmd supplied");
+
+ init();
+
+ GenericEvent event = null;
+
+ try
+ {
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_VERSIONS );
+
+ ArtifactBasicResults res = null;
+ ArtifactListProcessor tp = _processors == null ? null : _processors.get( ArtifactListProcessor.FUNCTION_TP );
+
+ GenericEvent eventRead = null;
+
+ List<ArtifactBasicMetadata> qList = new ArrayList<ArtifactBasicMetadata>( query.size() );
+ qList.addAll( query );
+
+ for( RepositoryReader rr : _repositoryReaders )
+ try
+ {
+ // all found
+ if( qList.isEmpty() )
+ break;
+
+ if( _eventManager!= null )
+ eventRead = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_VERSIONS_FROM_REPO, rr.getRepository().getId() );
+
+ ArtifactBasicResults repoRes = rr.readVersions( qList );
+
+ if( repoRes != null && repoRes.hasResults() )
+ {
+ for( ArtifactBasicMetadata key : repoRes.getResults().keySet() )
+ {
+ List<ArtifactBasicMetadata> rorRes = repoRes.getResult(key);
+
+ if( tp != null )
+ {
+ try
+ {
+ tp.configure( key );
+ rorRes = tp.process( rorRes );
+ }
+ catch( ArtifactListProcessorException e )
+ {
+ throw new RepositoryException(e);
+ }
+ }
+
+ if( Util.isEmpty( rorRes ) )
+ {
+ eventRead.setResult( "none found" );
+ continue;
+ }
+
+ for( ArtifactBasicMetadata bmd : rorRes )
+ bmd.setTracker( rr );
+
+ if( res == null )
+ res = new ArtifactBasicResults( key, rorRes );
+ else
+ res.add( key, rorRes );
+
+ String keyVersion = key.getVersion();
+ VersionRange keyVersionRange = null;
+ try
+ {
+ keyVersionRange = VersionRangeFactory.create( key.getVersion() );
+ }
+ catch( VersionException e )
+ {
+ throw new RepositoryException( _lang.getMessage( "query.element.bad.version", key.toString(), e.getMessage() ) );
+ }
+
+ if( keyVersionRange.isSingleton() )
+ {
+ Quality keyQuality = new Quality(keyVersion);
+ if( keyQuality.compareTo( Quality.RELEASE_QUALITY ) == 0 )
+ // fixed release is found - no more scanning
+ qList.remove( key );
+ }
+ }
+ }
+
+ if( _eventManager!= null )
+ eventRead.setResult( "repo done" );
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
+ }
+
+ return res;
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public ArtifactMetadata readDependencies( ArtifactBasicMetadata bmd )
+ throws IllegalArgumentException, RepositoryException
+ {
+ if( bmd == null )
+ throw new IllegalArgumentException("null bmd supplied");
+
+ GenericEvent event = null;
+
+ try
+ {
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_DEPENDENCIES, bmd.toString() );
+
+ init();
+
+ List<ArtifactBasicMetadata> query = new ArrayList<ArtifactBasicMetadata>(1);
+ query.add( bmd );
+
+ ArtifactMetadata md = new ArtifactMetadata( bmd );
+
+ RepositoryReader [] repos = _repositoryReaders;
+
+ Object tracker = bmd.getTracker();
+
+ // do we know where this metadata came from ?
+ if( tracker != null && RepositoryReader.class.isAssignableFrom( tracker.getClass() ) )
+ {
+ repos = new RepositoryReader [] { (RepositoryReader)tracker };
+ }
+
+ GenericEvent eventRead = null;
+
+ for( RepositoryReader rr : repos )
+ try
+ {
+
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_DEPENDENCIES_FROM_REPO, rr.getRepository().getId() );
+
+ ArtifactBasicResults res = rr.readDependencies( query );
+
+ if( res != null && res.hasResults( bmd ) )
+ {
+ md.setDependencies( res.getResult( bmd ) );
+ md.setTracker( rr );
+
+ if( _eventManager != null )
+ eventRead.setInfo( eventRead.getInfo()+", found: "+md.getDependencies() );
+
+ return md;
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
+ }
+
+ if( _eventManager != null )
+ event.setResult( "not found" );
+
+ return md;
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ /**
+ * split query into repository buckets
+ */
+ private Map< RepositoryReader, List<ArtifactBasicMetadata> > sortByRepo( Collection<? extends ArtifactBasicMetadata> query )
+ {
+ HashMap< RepositoryReader, List<ArtifactBasicMetadata> > res = null;
+
+ List<ArtifactBasicMetadata> rejects = null;
+
+ for( ArtifactBasicMetadata bmd : query )
+ {
+ Object tracker = bmd.getTracker();
+
+ // do we know where this metadata came from ?
+ if( tracker != null && RepositoryReader.class.isAssignableFrom( tracker.getClass() ) )
+ {
+ RepositoryReader rr = (RepositoryReader)tracker;
+
+ if( res == null )
+ {
+ res = new HashMap< RepositoryReader, List<ArtifactBasicMetadata> >();
+ }
+
+ List<ArtifactBasicMetadata> rl = res.get( rr );
+
+ if( rl == null )
+ {
+ rl = new ArrayList<ArtifactBasicMetadata>();
+ res.put( rr, rl );
+ }
+
+ rl.add( bmd );
+
+ }
+ else
+ {
+ if( rejects == null )
+ rejects = new ArrayList<ArtifactBasicMetadata>();
+
+ rejects.add( bmd );
+ }
+ }
+
+ if( rejects != null )
+ {
+ if( res == null )
+ res = new HashMap< RepositoryReader, List<ArtifactBasicMetadata> >();
+
+ res.put( RepositoryReader.NULL_READER, rejects );
+ }
+
+ return res;
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public ArtifactResults readArtifacts( Collection<? extends ArtifactBasicMetadata> query )
+ throws RepositoryException
+ {
+ GenericEvent event = null;
+
+ try
+ {
+ ArtifactResults res = null;
+
+ if( _eventManager != null )
+ event = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_ARTIFACTS, "" );
+
+ if( Util.isEmpty( query ) )
+ return res;
+
+ Map< RepositoryReader, List<ArtifactBasicMetadata> > buckets = sortByRepo( query );
+
+ List<ArtifactBasicMetadata> rejects = buckets == null ? null : buckets.get( RepositoryReader.NULL_READER );
+
+ if( buckets == null )
+ throw new RepositoryException( _lang.getMessage( "internal.error.sorting.query", query.toString() ) );
+
+ init();
+
+ // first read repository-qualified Artifacts
+ for( RepositoryReader rr : buckets.keySet() )
+ {
+ if( RepositoryReader.NULL_READER.equals( rr ) )
+ continue;
+
+ String repoId = rr.getRepository().getId();
+
+ GenericEvent eventRead = null;
+
+ try
+ {
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_ARTIFACTS_FROM_REPO_QUALIFIED, repoId );
+
+ List<ArtifactBasicMetadata> rrQuery = buckets.get( rr );
+
+ ArtifactResults rrRes = rr.readArtifacts( rrQuery );
+
+ if( rrRes.hasExceptions() )
+ throw new RepositoryException( _lang.getMessage( "error.reading.existing.artifact", rrRes.getExceptions().toString(), rr.getRepository().getId() ) );
+
+ if( rrRes.hasResults() )
+ for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
+ {
+ List<Artifact> al = rrRes.getResults( bm );
+
+ if( res == null )
+ res = new ArtifactResults();
+
+ res.addAll( bm, al );
+
+ // don't write local artifacts back to the same repo
+ if( _localRepository != null && repoId.equals( _localRepository.getId() ) )
+ continue;
+
+ if( _localRepositoryWriter != null )
+ _localRepositoryWriter.writeArtifacts( al );
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
+ }
+ }
+
+ // then search all repos for unqualified Artifacts
+ if( !Util.isEmpty( rejects ) )
+ {
+ for( RepositoryReader rr : _repositoryReaders )
+ {
+ if( rejects.isEmpty() )
+ break;
+
+ String repoId = rr.getRepository().getId();
+
+ GenericEvent eventRead = null;
+
+ try
+ {
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_ARTIFACTS_FROM_REPO_UNQUALIFIED, repoId );
+
+ ArtifactResults rrRes = rr.readArtifacts( rejects );
+
+ if( rrRes.hasResults() )
+ for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
+ {
+ List<Artifact> al = rrRes.getResults( bm );
+
+ if( res == null )
+ res = new ArtifactResults();
+
+ res.addAll( bm, al );
+
+ rejects.remove( bm );
+
+ // don't write local artifacts back to the same repo
+ if( _localRepository != null && repoId.equals( _localRepository.getId() ) )
+ continue;
+
+ if( _localRepositoryWriter != null )
+ _localRepositoryWriter.writeArtifacts( al );
+
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
+ }
+ }
+ }
+
+ return res;
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ // MetadataReader implementation
+ //----------------------------------------------------------------------------------------------------------------------------
+ public byte[] readMetadata( ArtifactBasicMetadata bmd )
+ throws MetadataReaderException
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "Asking for pom: "+bmd);
+
+ return readRawData( bmd, "", "pom" );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ // MetadataReader implementation
+ //----------------------------------------------------------------------------------------------------------------------------
+ public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
+ throws MetadataReaderException
+ {
+
+ GenericEvent event = null;
+ String eventTag = null;
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "request for "+bmd+", classifier="+classifier+", type="+type );
+
+ if( bmd == null )
+ throw new IllegalArgumentException("null bmd supplied");
+
+ try
+ {
+ if( _eventManager!= null )
+ {
+ eventTag = bmd.toString()
+ + (Util.isEmpty( classifier )?"":", classifier="+classifier)
+ + (Util.isEmpty( type )?"":", type="+type)
+ ;
+ event = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_RAW, eventTag );
+ }
+
+ ArtifactBasicMetadata bmdQuery = bmd;
+
+ try
+ {
+ init();
+ }
+ catch( RepositoryException e )
+ {
+ throw new MetadataReaderException(e);
+ }
+
+ byte [] res = null;
+ Quality vq = new Quality( bmd.getVersion() );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "quality calculated as "+vq.getQuality() == null ? "null" :vq.getQuality().name() );
+
+ if( Quality.SNAPSHOT_QUALITY.equals( vq ) )
+ {
+ List<ArtifactBasicMetadata> query = new ArrayList<ArtifactBasicMetadata>(1);
+ query.add( bmd );
+
+ try
+ {
+ ArtifactBasicResults vRes = readVersions( query );
+ if( Util.isEmpty( vRes ) )
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
+
+ throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ }
+
+
+ if( vRes.hasResults( bmd ) )
+ {
+ List<ArtifactBasicMetadata> versions = vRes.getResult( bmd );
+
+ TreeSet<ArtifactBasicMetadata> snapshots = new TreeSet<ArtifactBasicMetadata>( new MetadataVersionComparator() );
+ snapshots.addAll( versions );
+
+ bmdQuery = snapshots.last();
+ }
+ else
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
+
+ throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ }
+ }
+ catch( Exception e )
+ {
+ throw new MetadataReaderException(e);
+ }
+ }
+
+ for( RepositoryReader rr : _repositoryReaders )
+ {
+ GenericEvent eventRead = null;
+
+ try
+ {
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_RAW_FROM_REPO, rr.getRepository().getId()+": "+eventTag );
+
+ res = rr.readRawData( bmdQuery, classifier, type );
+ if( res != null )
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( bmdQuery+" found in "+rr.getRepository().getServer() );
+
+ if( _eventManager != null )
+ eventRead.setInfo( eventRead.getInfo() );
+
+ return res;
+ }
+
+ if( _eventManager != null )
+ eventRead.setResult( "not found" );
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
+ }
+ }
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "no data found, returning null" );
+
+ return null;
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ _eventManager = eventManager;
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java
new file mode 100644
index 0000000..cc6b845
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java
@@ -0,0 +1,216 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.repository.virtual;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.event.MercuryEvent;
+import org.apache.maven.mercury.event.MercuryEventListener;
+import org.apache.maven.mercury.event.MercuryEvent.EventMask;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.Repository;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class VirtualRepositoryReaderTest
+extends TestCase
+{
+ File _testBase;
+ LocalRepository _localRepo;
+ Server _server;
+ RemoteRepository _remoteRepo;
+ VirtualRepositoryReader _vr;
+
+ String _remoteUrl = "http://people.apache.org/~ogusakov/repos/test";
+ String _artifactCoordSn = "org.apache.maven.mercury:mercury-repo-virtual:1.0.0-alpha-2-SNAPSHOT";
+ String _artifactCoordLatest = "org.apache.maven.mercury:mercury-repo-virtual:1.0.0-alpha-2-LATEST";
+ String _artifactCoordRelease = "ant:ant:1.6.5";
+
+ String _localRepoId = "localRepo";
+ String _remoteRepoId = "remoteRepo";
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ _testBase = new File( "./target/repo" );
+ FileUtil.delete( _testBase );
+ _testBase.mkdirs();
+ FileUtil.copy( new File("./src/test/resources/repo"), _testBase, false );
+
+ if( !_testBase.exists() || !_testBase.isDirectory() )
+ throw new Exception( "cannot create clean folder " + _testBase.getAbsolutePath() );
+
+ _localRepo = new LocalRepositoryM2( _localRepoId, _testBase, new MetadataProcessorMock() );
+
+ _server = new Server( _remoteRepoId, new URL(_remoteUrl) );
+
+ _remoteRepo = new RemoteRepositoryM2( _server.getId(), _server, new MetadataProcessorMock() );
+
+ List<Repository> rl = new ArrayList<Repository>();
+ rl.add( _localRepo );
+ rl.add( _remoteRepo );
+
+ _vr = new VirtualRepositoryReader( rl );
+ }
+
+ public void testReadSnapshot()
+ throws Exception
+ {
+ ArtifactBasicMetadata bmd = new ArtifactBasicMetadata(_artifactCoordSn);
+ List<ArtifactBasicMetadata> q = new ArrayList<ArtifactBasicMetadata>();
+ q.add( bmd );
+
+ ArtifactResults res = _vr.readArtifacts( q );
+
+ assertNotNull( res );
+
+ assertFalse( res.hasExceptions() );
+
+ assertTrue( res.hasResults() );
+
+ assertTrue( res.hasResults( bmd ) );
+
+ Map<ArtifactBasicMetadata, List<Artifact>> m = res.getResults();
+
+ List<Artifact> al = m.get( bmd );
+
+ Artifact a = al.get( 0 );
+
+ assertTrue( bmd.getGroupId().equals( a.getGroupId() ) );
+ assertTrue( bmd.getArtifactId().equals( a.getArtifactId() ) );
+ assertTrue( bmd.getVersion().equals( a.getVersion() ) );
+
+ byte [] pomBytes = a.getPomBlob();
+
+ assertTrue( pomBytes != null );
+
+ assertEquals( 795, pomBytes.length );
+
+ File ab = a.getFile();
+
+ assertNotNull( ab );
+
+ assertTrue( ab.exists() );
+
+ assertEquals( 6162, ab.length() );
+ }
+
+ public void testWrite()
+ throws Exception
+ {
+ Artifact a = new DefaultArtifact( new ArtifactBasicMetadata("a:a:1.0:text:txt") );
+ File bin = File.createTempFile( "vr-", "-test.txt" );
+ FileUtil.writeRawData( bin, "test" );
+ a.setFile( bin );
+
+ List<Artifact> arts = new ArrayList<Artifact>();
+ arts.add( a );
+
+ _localRepo.getWriter().writeArtifacts( arts );
+
+ File af = new File( _testBase, "a/a/1.0/a-1.0-text.txt");
+
+ assertTrue( af.exists() );
+
+ assertEquals( 4, af.length() );
+
+ }
+
+ public void testReadRelease()
+ throws Exception
+ {
+ ArtifactBasicMetadata bmd = new ArtifactBasicMetadata( _artifactCoordRelease );
+ List<ArtifactBasicMetadata> q = new ArrayList<ArtifactBasicMetadata>();
+ q.add( bmd );
+
+ Listener l = new Listener();
+ _vr.register( l );
+
+ ArtifactBasicResults res = _vr.readVersions( q );
+
+ assertNotNull( res );
+
+ assertFalse( res.hasExceptions() );
+
+ assertTrue( res.hasResults() );
+
+ assertTrue( res.hasResults( bmd ) );
+
+ // let events propagate
+ Thread.sleep( 2000L );
+
+ assertTrue( l.localEventCount > 0 );
+
+ assertEquals( 0, l.remoteEventCount );
+
+ }
+ //========================================================================
+ class Listener
+ implements MercuryEventListener
+ {
+
+ int localEventCount = 0;
+ int remoteEventCount = 0;
+
+ public void fire( MercuryEvent event )
+ {
+ String tag = event.getInfo();
+
+ if( _localRepoId.equals( tag ) )
+ ++localEventCount;
+ else if( _remoteRepoId.equals( tag ) )
+ ++remoteEventCount;
+
+// System.out.println(EventManager.toString( event ));
+// System.out.flush();
+ }
+
+ public EventMask getMask()
+ {
+ return null;
+ }
+
+ }
+
+}
+
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.jar b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.jar
new file mode 100644
index 0000000..3beb3b8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.jar.sha1
new file mode 100644
index 0000000..eee0582
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.jar.sha1
@@ -0,0 +1 @@
+7d18faf23df1a5c3a43613952e0e8a182664564b
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.pom b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.pom
new file mode 100644
index 0000000..453d9d4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.pom
@@ -0,0 +1,26 @@
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>4</version>
+ </parent>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.6.5</version>
+ <!-- Fixed per MEV-531 -->
+ <dependencies>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.6.2</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>1.3.04</version>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.pom.sha1 b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.pom.sha1
new file mode 100644
index 0000000..95ffa76
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/mercury-repo-virtual/src/test/resources/repo/ant/ant/1.6.5/ant-1.6.5.pom.sha1
@@ -0,0 +1 @@
+1d43acaa1d04c7bf7f716a96a6e6526579109bcc ant-1.6.5.pom
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/pom.xml b/mercury-1.0.0-alpha-2/mercury-repo/pom.xml
new file mode 100644
index 0000000..f5dc45c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/pom.xml
@@ -0,0 +1,31 @@
+<?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>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-repo</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury Repository</name>
+
+ <modules>
+ <module>mercury-repo-api</module>
+ <module>mercury-repo-local-m2</module>
+ <module>mercury-repo-local-flat</module>
+ <module>mercury-repo-remote-m2</module>
+ <module>mercury-repo-cache-fs</module>
+ <module>mercury-repo-virtual</module>
+ </modules>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-repo/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-repo/src/site/site.xml
new file mode 100644
index 0000000..58a5b5a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-repo/src/site/site.xml
@@ -0,0 +1,34 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="modules"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/pom.xml b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/pom.xml
new file mode 100644
index 0000000..b1b6308
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/pom.xml
@@ -0,0 +1,21 @@
+<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>
+ <artifactId>mercury-transport-api</artifactId>
+ <name>Mercury Transport APIs</name>
+ <description>Mercury transport APIs</description>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/AbstractTransport.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/AbstractTransport.java
new file mode 100644
index 0000000..d80b1f7
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/AbstractTransport.java
@@ -0,0 +1,47 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+
+/**
+ * Helper parent of transport implementations. Common for read and write transports
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public abstract class AbstractTransport
+{
+ private Collection<Server> _servers = Collections.synchronizedSet( new HashSet< Server >() );
+
+ public void setServers( Collection<Server> servers )
+ {
+ _servers = servers;
+ }
+
+ public Collection<Server> getServers()
+ {
+ return _servers;
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Binding.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Binding.java
new file mode 100644
index 0000000..af51f8b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Binding.java
@@ -0,0 +1,167 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.transport.api;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+
+/**
+ * Binding <p/> A Binding represents a remote uri whose contents are to be
+ * downloaded and stored in a locally, or a local resource whose contents are to
+ * be uploaded to the remote uri.
+ */
+public class Binding
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( Binding.class );
+
+ protected URL remoteResource;
+ protected File localFile;
+ /**
+ * inbound in-memory binding for reading remote content.
+ * It is created by the constructor
+ */
+ protected ByteArrayOutputStream localOS;
+ /**
+ * this is outbound in-memory binding. IS is passed by the client
+ */
+ protected InputStream localIS;
+
+ protected Exception error;
+
+ public Binding()
+ {
+ }
+
+ public Binding( URL remoteUrl, File localFile)
+ {
+ this.remoteResource = remoteUrl;
+ this.localFile = localFile;
+
+ }
+
+ /**
+ * this is in-memory binding for writing remote content into localOS
+ *
+ * @param remoteUrl
+ * @param lenientChecksum
+ */
+ public Binding( URL remoteUrl )
+ {
+ this.remoteResource = remoteUrl;
+ // let's assume 4k on average
+ this.localOS = new ByteArrayOutputStream( 4*1024 );
+ }
+
+ /**
+ * outbound constructor - send contents of the stream to remoteUrl
+ *
+ * @param remoteUrl
+ * @param is
+ */
+ public Binding( URL remoteUrl, InputStream is )
+ {
+ this.remoteResource = remoteUrl;
+ this.localIS = is;
+ }
+
+ /**
+ * inbound constructor - read contents of the remoteUrl to the stream
+ *
+ * @param remoteUrl
+ * @param is
+ */
+ public Binding( URL remoteUrl, ByteArrayOutputStream os )
+ {
+ this.remoteResource = remoteUrl;
+ this.localOS = os;
+ }
+
+ public URL getRemoteResource()
+ {
+ return remoteResource;
+ }
+
+ public void setRemoteResource( URL remoteResource )
+ {
+ this.remoteResource = remoteResource;
+ }
+
+ public Exception getError()
+ {
+ return error;
+ }
+
+ public void setError( Exception error )
+ {
+ this.error = error;
+ }
+
+ public boolean isInMemory()
+ {
+ return (!isFile() && (localIS != null || localOS != null));
+ }
+
+ public boolean isFile()
+ {
+ return localFile != null;
+ }
+
+ public byte [] getInboundContent()
+ {
+ if( localOS != null )
+ return localOS.toByteArray();
+
+ return null;
+ }
+
+ public OutputStream getLocalOutputStream()
+ {
+ return localOS;
+ }
+
+ public InputStream getLocalInputStream()
+ {
+ return localIS;
+ }
+
+ public File getLocalFile ()
+ {
+ return localFile;
+ }
+
+ @Override
+ public String toString()
+ {
+ return '['
+ + (remoteResource == null ? "null URL" : remoteResource.toString() )+" <=> "
+ + (localFile == null ? ( localIS == null ? (localOS == null ? "null local Res" : localOS) : "localIS" ) : localFile.getAbsolutePath() )
+ +']'
+ ;
+ }
+
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Credentials.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Credentials.java
new file mode 100644
index 0000000..c646bf8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Credentials.java
@@ -0,0 +1,88 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+/**
+ * supplies credentials to the server
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class Credentials
+{
+ private String user;
+ private String pass;
+
+ private byte [] cert;
+
+ public Credentials( String user, String pass )
+ {
+ this.user = user;
+ this.pass = pass;
+ }
+
+ public Credentials( byte [] cert, String user, String pass )
+ {
+ this( user, pass );
+ this.cert = cert;
+ }
+
+ public Credentials( byte [] cert )
+ {
+ this.cert = cert;
+ }
+
+ public String getUser()
+ {
+ return user;
+ }
+
+ public void setUser( String user )
+ {
+ this.user = user;
+ }
+
+ public String getPass()
+ {
+ return pass;
+ }
+
+ public void setPass( String pass )
+ {
+ this.pass = pass;
+ }
+
+ public byte [] getCertificate()
+ {
+ return cert;
+ }
+
+ public boolean isCertificate()
+ {
+ return cert != null && cert.length > 1;
+ }
+
+ public void setCertificate( byte [] cert )
+ {
+ this.cert = cert;
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Initializable.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Initializable.java
new file mode 100644
index 0000000..db847bb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Initializable.java
@@ -0,0 +1,33 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface Initializable
+{
+ public void init()
+ throws InitializationException
+ ;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/InitializationException.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/InitializationException.java
new file mode 100644
index 0000000..326c176
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/InitializationException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class InitializationException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public InitializationException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public InitializationException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public InitializationException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public InitializationException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ReaderTransport.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ReaderTransport.java
new file mode 100644
index 0000000..533b085
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ReaderTransport.java
@@ -0,0 +1,39 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+import java.util.Collection;
+
+/**
+ * generic Transport interface - allows client to read data from a remote repository
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface ReaderTransport
+extends Initializable
+{
+ public TransportTransaction read( TransportTransaction trx )
+ throws TransportException;
+
+ public void setServers( Collection<Server> servers );
+
+ public Collection<Server> getServers();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
new file mode 100644
index 0000000..edcbef4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
@@ -0,0 +1,240 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Set;
+
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+
+public class Server
+{
+ private String id;
+
+ private URL url;
+ private Credentials serverCredentials;
+
+ private URL proxy;
+ private Credentials proxyCredentials;
+
+ private boolean requireEncryption = false;
+ private boolean requireTrustedServer = false;
+
+ private Set<StreamObserverFactory> writerStreamObserverFactories;
+ private Set<StreamObserverFactory> readerStreamObserverFactories;
+
+ private Set<StreamVerifierFactory> writerStreamVerifierFactories;
+ private Set<StreamVerifierFactory> readerStreamVerifierFactories;
+
+ private String userAgent;
+
+ public Server( String id, URL url )
+ {
+ if( url == null )
+ throw new IllegalArgumentException( "URL: "+url );
+
+ String ustr = url.toString();
+
+ if( ustr.endsWith( "/" ) )
+ try
+ {
+ this.url = new URL( ustr.substring( 0, ustr.length()-1 ) );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new IllegalArgumentException( e.getMessage() );
+ }
+ else
+ this.url = url;
+
+ this.id = id;
+ }
+
+ public Server( String id, URL url, boolean requireEncryption, boolean requireTrustedServer )
+ {
+ this( id, url );
+
+ this.requireEncryption = requireEncryption;
+ this.requireTrustedServer = requireTrustedServer;
+ }
+
+ public Server( String id, URL url, boolean requireEncryption, boolean requireTrustedServer, Credentials serverCredentials )
+ {
+ this( id, url, requireEncryption, requireTrustedServer );
+ this.serverCredentials = serverCredentials;
+ }
+
+ public Server( String id, URL url, boolean requireEncryption, boolean requireTrustedServer, Credentials serverCredentials, URL proxy )
+ {
+ this( id, url, requireEncryption, requireTrustedServer, serverCredentials );
+ this.proxy = proxy;
+ }
+
+ public Server( String id, URL url, boolean requireEncryption, boolean requireTrustedServer, Credentials serverCredentials, URL proxy, Credentials proxyCredentials )
+ {
+ this( id, url, requireEncryption, requireTrustedServer, serverCredentials, proxy );
+ this.proxyCredentials = proxyCredentials;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public boolean hasUserAgent()
+ {
+ return userAgent != null;
+ }
+
+ public String getUserAgent()
+ {
+ return userAgent;
+ }
+
+ public void setUserAgent( String userAgent )
+ {
+ this.userAgent = userAgent;
+ }
+
+ public void setURL( URL url )
+ {
+ this.url = url;
+ }
+
+ public URL getURL()
+ {
+ return this.url;
+ }
+
+ public Credentials getServerCredentials()
+ {
+ return this.serverCredentials;
+ }
+
+ public void setServerCredentials( Credentials cred )
+ {
+ this.serverCredentials = cred;
+ }
+
+ public URL getProxy()
+ {
+ return this.proxy;
+ }
+
+ public boolean hasProxy()
+ {
+ return this.proxy != null;
+ }
+
+ public void setProxy( URL proxy )
+ {
+ this.proxy = proxy;
+ }
+
+ public Credentials getProxyCredentials()
+ {
+ return this.proxyCredentials;
+ }
+
+ public void setProxyCredentials( Credentials user )
+ {
+ this.proxyCredentials = user;
+ }
+
+ public boolean hasWriterStreamVerifierFactories()
+ {
+ return writerStreamVerifierFactories != null && writerStreamVerifierFactories.size() > 0;
+ }
+
+ public Set<StreamVerifierFactory> getWriterStreamVerifierFactories()
+ {
+ return writerStreamVerifierFactories;
+ }
+
+ public void setWriterStreamVerifierFactories( Set<StreamVerifierFactory> factories )
+ {
+ writerStreamVerifierFactories = factories;
+ }
+
+ public boolean hasReaderStreamVerifierFactories()
+ {
+ return readerStreamVerifierFactories != null && readerStreamVerifierFactories.size() > 0;
+ }
+
+ public Set<StreamVerifierFactory> getReaderStreamVerifierFactories()
+ {
+ return readerStreamVerifierFactories;
+ }
+
+ public void setReaderStreamVerifierFactories( Set<StreamVerifierFactory> factories )
+ {
+ readerStreamVerifierFactories = factories;
+ }
+
+ public boolean hasWriterStreamObserverFactories()
+ {
+ return writerStreamObserverFactories != null && writerStreamObserverFactories.size() > 0;
+ }
+
+ public Set<StreamObserverFactory> getWriterStreamObserverFactories()
+ {
+ return writerStreamObserverFactories;
+ }
+
+ public void setWriterStreamObserverFactories( Set<StreamObserverFactory> factories )
+ {
+ writerStreamObserverFactories = factories;
+ }
+
+ public boolean hasReaderStreamObserverFactories()
+ {
+ return readerStreamObserverFactories != null && readerStreamObserverFactories.size() > 0;
+ }
+
+ public Set<StreamObserverFactory> getReaderStreamObserverFactories()
+ {
+ return readerStreamObserverFactories;
+ }
+
+ public void setReaderStreamObserverFactories( Set<StreamObserverFactory> factories )
+ {
+ readerStreamObserverFactories = factories;
+ }
+
+ public boolean isRequireEncryption()
+ {
+ return requireEncryption;
+ }
+
+ public boolean isRequireTrustedServer()
+ {
+ return requireTrustedServer;
+ }
+
+ @Override
+ public String toString()
+ {
+ return id+": "+url;
+ }
+
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ServerContainer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ServerContainer.java
new file mode 100644
index 0000000..3f00f5f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ServerContainer.java
@@ -0,0 +1,31 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+/**
+ * common interface for transports to obtain their servers from Collection's
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface ServerContainer
+{
+ public Server getServer();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java
new file mode 100644
index 0000000..db03b93
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class TransportException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public TransportException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public TransportException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public TransportException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public TransportException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java
new file mode 100644
index 0000000..519e831
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java
@@ -0,0 +1,153 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Repository access transaction. Consists of a collection of bindings
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class TransportTransaction
+{
+ public static final int DEFAULT_SIZE = 32;
+
+ protected Collection<Binding> _bindings;
+
+ //------------------------------------------------------------------------------------------------
+ private void init()
+ {
+ init( DEFAULT_SIZE );
+ }
+ //------------------------------------------------------------------------------------------------
+ private void init( int n )
+ {
+ if( _bindings == null )
+ _bindings = new ArrayList<Binding>( n );
+ }
+ //------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public TransportTransaction()
+ {
+ init();
+ }
+ //------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public TransportTransaction add( Binding binding )
+ {
+ init();
+
+ _bindings.add( binding );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ public TransportTransaction add( URL remoteResource, File localResource )
+ {
+ init();
+
+ _bindings.add( new Binding( remoteResource, localResource ) );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ public TransportTransaction add( URL remoteResource )
+ {
+ init();
+
+ _bindings.add( new Binding( remoteResource ) );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ public TransportTransaction add( URL remoteResource, InputStream is )
+ {
+ init();
+
+ _bindings.add( new Binding( remoteResource, is ) );
+
+ return this;
+ }
+
+ //------------------------------------------------------------------------------------------------
+ public TransportTransaction add( URL remoteResource, byte [] localResource )
+ {
+ init();
+
+ _bindings.add( new Binding( remoteResource, new ByteArrayInputStream(localResource)) );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ @SuppressWarnings("unchecked")
+ public Collection<Binding> getBindings()
+ {
+ return _bindings == null ? (List<Binding>)Collections.EMPTY_LIST : _bindings;
+ }
+
+ public void setBindings( List<Binding> bindings )
+ {
+ this._bindings = bindings;
+ }
+ //------------------------------------------------------------------------------------------------
+ public boolean isEmpty()
+ {
+ if( _bindings == null || _bindings.size() < 1 )
+ return true;
+
+ return false;
+ }
+ //------------------------------------------------------------------------------------------------
+ public boolean hasErrors()
+ {
+ if( _bindings == null )
+ return false;
+
+ for( Binding b : _bindings )
+ if( b.getError() != null )
+ return true;
+
+ return false;
+ }
+ //------------------------------------------------------------------------------------------------
+ public void clearErrors()
+ {
+ if( _bindings == null )
+ return;
+
+ for( Binding b : _bindings )
+ b.setError( null );
+ }
+ //------------------------------------------------------------------------------------------------
+ //------------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/WriterTransport.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/WriterTransport.java
new file mode 100644
index 0000000..654d7fc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/WriterTransport.java
@@ -0,0 +1,34 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.api;
+
+/**
+ * generic Transport interface - allows client to write data to a remote repository
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface WriterTransport
+extends Initializable
+{
+ public TransportTransaction write( TransportTransaction trx )
+ throws TransportException;
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-api/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/pom.xml b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/pom.xml
new file mode 100644
index 0000000..73ea9d9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/pom.xml
@@ -0,0 +1,53 @@
+<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>
+ <artifactId>mercury-transport-file</artifactId>
+ <name>Mercury File Transport</name>
+ <description />
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+
+
+ <dependencies>
+
+ <!-- Mercury Dependencies -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java
new file mode 100644
index 0000000..6f1d747
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java
@@ -0,0 +1,74 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.file;
+
+import org.apache.maven.mercury.transport.api.AbstractTransport;
+import org.apache.maven.mercury.transport.api.InitializationException;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.transport.api.TransportException;
+import org.apache.maven.mercury.transport.api.TransportTransaction;
+import org.apache.maven.mercury.transport.api.WriterTransport;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class FileWriterTransport
+extends AbstractTransport
+implements WriterTransport
+{
+ protected Server server;
+
+
+ public FileWriterTransport( Server server )
+ {
+ this.server = server;
+ }
+
+ public TransportTransaction write( TransportTransaction trx )
+ throws TransportException
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.transport.api.Initializable#init()
+ */
+ public void init()
+ throws InitializationException
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
+//==============================================================
+class FileWriter
+implements Runnable
+{
+
+ public void run()
+ {
+ }
+
+}
+//==============================================================
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-file/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/pom.xml b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/pom.xml
new file mode 100644
index 0000000..1c1cc87
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/pom.xml
@@ -0,0 +1,63 @@
+<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>
+ <artifactId>mercury-transport-http</artifactId>
+ <name>Mercury Jetty HTTP Transport</name>
+ <description />
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>servlet-api-2.5</artifactId>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-servlet-tester</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Mercury Dependencies -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/DestinationRealmResolver.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/DestinationRealmResolver.java
new file mode 100644
index 0000000..cbce3a3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/DestinationRealmResolver.java
@@ -0,0 +1,132 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.client;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.jetty.client.Address;
+import org.mortbay.jetty.client.HttpDestination;
+import org.mortbay.jetty.client.security.Realm;
+import org.mortbay.jetty.client.security.RealmResolver;
+
+/**
+ * DestinationRealmResolver
+ *
+ * Resolve a security realm based on the Server instance
+ * which matches an async Destination.
+ */
+public class DestinationRealmResolver implements RealmResolver
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger(DestinationRealmResolver.class);
+
+ protected Set<Server> _servers = new HashSet<Server>();
+
+
+
+ public DestinationRealmResolver (Set<Server> servers)
+ {
+ _servers.addAll(servers);
+ }
+
+ public Realm getRealm(String name, HttpDestination dest, String pathSpec)
+ throws IOException
+ {
+ Address address = dest.getAddress();
+ boolean secure = dest.isSecure();
+
+ if( _log.isDebugEnabled() )
+ {
+ _log.debug("Dest "+address.getHost()+":"+address.getPort()+"(secure="+secure+")" );
+ _log.debug("Server list: "+_servers );
+
+ }
+
+ //get a username and password appropriate for the destination. Usernames and passwords are
+ //associated with Server Credential objects.
+ Server server = null;
+ Iterator<Server> itor = _servers.iterator();
+ while (server==null && itor.hasNext())
+ {
+ Server s = itor.next();
+ if (s.getURL() != null)
+ {
+ String protocol = s.getURL().getProtocol();
+ String host = s.getURL().getHost();
+ int port = s.getURL().getPort();
+ if( port == -1 )
+ {
+ port = "https".equalsIgnoreCase( protocol ) ? 443 : 80;
+ }
+
+ if( _log.isDebugEnabled() )
+ _log.debug("Trying dest "+address.getHost()+":"+address.getPort()+"(secure="+dest.isSecure()
+ +") against server "+protocol+"://"+host+":"+port );
+
+ if (((secure && "https".equalsIgnoreCase(protocol)) || (!secure && "http".equalsIgnoreCase(protocol)))
+ &&
+ (address.getPort() == port))
+ {
+ if (address.getHost().equalsIgnoreCase(host) || address.getHost().equalsIgnoreCase(host))
+ {
+ server = s;
+ if (_log.isDebugEnabled())
+ _log.debug("Matched server "+address.getHost()+":"+address.getPort());
+ }
+ }
+ }
+ }
+
+ if (server == null || server.getServerCredentials() == null)
+ {
+ if (_log.isDebugEnabled())
+ _log.debug("No server matching "+address.getHost()+":"+address.getPort()+" or no credentials");
+ return null;
+ }
+
+ if (server.getServerCredentials().isCertificate())
+ throw new UnsupportedOperationException("Certificate not supported");
+
+ final Server realmServer = server;
+ return new Realm ()
+ {
+ public String getCredentials()
+ {
+ return realmServer.getServerCredentials().getPass();
+ }
+
+ public String getId()
+ {
+ return realmServer.getId();
+ }
+
+ public String getPrincipal()
+ {
+ return realmServer.getServerCredentials().getUser();
+ }
+
+ };
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
new file mode 100644
index 0000000..4ac332c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
@@ -0,0 +1,107 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.io.File;
+import java.net.URL;
+
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.io.Buffer;
+import org.mortbay.jetty.client.HttpClient;
+import org.mortbay.jetty.client.HttpExchange;
+
+/**
+ * FileExchange
+ * <p/>
+ * Base class for asynchronously PUTting or GETting a file.
+ */
+public abstract class FileExchange extends HttpExchange
+{
+
+
+
+ public static final String __BATCH_HEADER = "Jetty-Batch-Id";
+ public static final String __BATCH_SUPPORTED_HEADER = "Jetty-Batch-Supported";
+ public static final String __BATCH_COMMIT_HEADER = "Jetty-Batch-Commit";
+ public static final String __BATCH_DISCARD_HEADER = "Jetty-Batch-Discard";
+
+
+ protected HttpClient _httpClient;
+ protected int _status;
+ protected String _url;
+ protected File _localFile;
+ protected Binding _binding;
+ protected Server _server;
+
+ public abstract void onFileComplete( String url, File localFile );
+
+ public abstract void onFileError( String url, Exception e );
+
+
+ public FileExchange( Server server, Binding binding, File localFile, HttpClient client )
+ {
+ _server = server;
+ _binding = binding;
+ if (_binding != null)
+ {
+ URL url = binding.getRemoteResource();
+ if (url != null)
+ _url = url.toString();
+ }
+
+ _localFile = localFile;
+ _httpClient = client;
+ setURL( _url );
+ }
+
+ public void send()
+ {
+ try
+ {
+ SecureSender.send(_server, _httpClient, this);
+ }
+ catch ( Exception e )
+ {
+ onFileError( _url, e );
+ }
+ }
+
+ protected void onResponseStatus( Buffer version, int status, Buffer reason )
+ {
+ _status = status;
+ }
+
+ protected void onException( Throwable ex )
+ {
+ onFileError( _url, new Exception( ex ) );
+ }
+
+ protected void onExpire()
+ {
+ onFileError( _url, new Exception( "Timeout occurred" ) );
+ }
+
+ protected void onConnectionFailed(Throwable ex)
+ {
+ onFileError(_url, new Exception(ex));
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HandshakeExchange.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HandshakeExchange.java
new file mode 100644
index 0000000..533c77a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HandshakeExchange.java
@@ -0,0 +1,111 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.mortbay.io.Buffer;
+import org.mortbay.jetty.client.HttpClient;
+import org.mortbay.jetty.client.HttpExchange;
+
+/**
+ * HandshakeExchange
+ * <p/>
+ * Asychronous http message sending. Used to generate a commit or discard
+ * message to the remote server after the mercury upload is finished.
+ */
+public abstract class HandshakeExchange extends HttpExchange
+{
+ private HttpClient _httpClient;
+ private String _method;
+ private String _url;
+ private Map<String, String> _headers;
+ private int _status;
+
+ public abstract void onHandshakeComplete( String url );
+
+ public abstract void onHandshakeError( String url, Exception e );
+
+ /**
+ * @param httpClient
+ * @param method
+ * @param url
+ * @param headers
+ */
+ public HandshakeExchange( HttpClient httpClient, String method, String url, Map<String, String> headers )
+ {
+ _httpClient = httpClient;
+ _method = method;
+ _url = url;
+ _headers = headers;
+ }
+
+ public void send()
+ {
+ try
+ {
+ setMethod( _method );
+ setURL( _url );
+ if ( _headers != null )
+ {
+ for ( Map.Entry<String, String> e : _headers.entrySet() )
+ {
+ setRequestHeader( e.getKey(), e.getValue() );
+ }
+ }
+ _httpClient.send( this );
+ }
+ catch ( Exception e )
+ {
+ onHandshakeError( _url, new Exception( null, e ) );
+ }
+ }
+
+
+ protected void onResponseStatus( Buffer version, int status, Buffer reason )
+ {
+ _status = status;
+ }
+
+ protected void onException( Throwable ex )
+ {
+ onHandshakeError( _url, new Exception( ex ) );
+ }
+
+ protected void onExpire()
+ {
+ onHandshakeError( _url, new Exception( "Timeout occurred" ) );
+ }
+
+ protected void onResponseComplete()
+ {
+ if ( _status != HttpServletResponse.SC_OK )
+ {
+ onHandshakeError( _url, new Exception( "Http Error Code:" + _status ) );
+ }
+ else
+ {
+ onHandshakeComplete( _url );
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HttpClientException.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HttpClientException.java
new file mode 100644
index 0000000..4903411
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HttpClientException.java
@@ -0,0 +1,77 @@
+/**
+ * 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.
+ */
+
+//========================================================================
+//Copyright 2008 Sonatype Inc.
+//------------------------------------------------------------------------
+//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.
+//========================================================================
+
+package org.apache.maven.mercury.spi.http.client;
+import org.apache.maven.mercury.transport.api.Binding;
+
+/**
+ * BatchException
+ * <p/>
+ * Exception that occurs whilst deploying or retrieving files
+ * asynchronously.
+ */
+public class HttpClientException
+ extends Exception
+{
+ private Binding binding;
+
+ public HttpClientException( Binding b, String s )
+ {
+ super( s );
+ binding = b;
+ }
+
+ public HttpClientException( Binding b, String s, Throwable throwable )
+ {
+ super( s, throwable );
+ binding = b;
+ }
+
+ public HttpClientException( Binding b, Throwable throwable )
+ {
+ super( throwable );
+ binding = b;
+ }
+
+ public Binding getBinding()
+ {
+ return binding;
+ }
+
+
+ public String getMessage()
+ {
+ return super.getMessage() + " for " + binding;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableInputStream.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableInputStream.java
new file mode 100644
index 0000000..ea21e40
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableInputStream.java
@@ -0,0 +1,121 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.io.FilterInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+
+
+
+public class ObservableInputStream
+extends FilterInputStream
+{
+ Set<StreamObserver> observers = new HashSet<StreamObserver>();
+
+ public ObservableInputStream(InputStream in)
+ {
+ super(in);
+ }
+
+ public int read(byte[] b, int off, int len)
+ throws IOException
+ {
+ int result = in.read(b, off, len);
+ if (result != -1)
+ {
+ notifyListeners(b, off, result);
+ }
+ return result;
+ }
+
+
+ public int read() throws IOException
+ {
+ int ch = in.read();
+ if (ch != -1)
+ {
+ notifyListeners(ch);
+ }
+ return ch;
+ }
+
+
+ public void addObserver (StreamObserver o)
+ {
+ synchronized (this.observers)
+ {
+ this.observers.add(o);
+ }
+ }
+
+ public void addObservers (Collection<? extends StreamObserver> observers)
+ {
+ synchronized (this.observers)
+ {
+ this.observers.addAll(observers);
+ }
+ }
+
+ private void notifyListeners (byte[]b, int off, int len)
+ throws IOException
+ {
+ synchronized (this.observers)
+ {
+ for (StreamObserver o: this.observers)
+ {
+ try
+ {
+ o.bytesReady(b, off, len);
+ }
+ catch( StreamObserverException e )
+ {
+ throw new IOException(e.getMessage());
+ }
+ }
+ }
+ }
+
+ private void notifyListeners (int b)
+ throws IOException
+ {
+ synchronized (this.observers)
+ {
+ for (StreamObserver o: this.observers)
+ {
+ try
+ {
+ o.byteReady(b);
+ }
+ catch( StreamObserverException e )
+ {
+ throw new IOException(e.getMessage());
+ }
+ }
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableOutputStream.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableOutputStream.java
new file mode 100644
index 0000000..96a6358
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableOutputStream.java
@@ -0,0 +1,109 @@
+/**
+ * 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.
+ */
+
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+
+
+
+public class ObservableOutputStream extends FilterOutputStream
+{
+ Set<StreamObserver> observers = new HashSet<StreamObserver>();
+
+
+ public ObservableOutputStream(OutputStream out)
+ {
+ super(out);
+ }
+
+ public void write(int b) throws IOException
+ {
+ notifyListeners(b);
+ this.out.write(b);
+ }
+
+ public void write(byte[] b, int off, int len) throws IOException
+ {
+ notifyListeners(b, off, len);
+ this.out.write(b, off, len);
+ }
+ public void addObserver (StreamObserver o)
+ {
+ synchronized (this.observers)
+ {
+ this.observers.add(o);
+ }
+ }
+
+ public void addObservers (Collection<? extends StreamObserver> observers)
+ {
+ synchronized (this.observers)
+ {
+ this.observers.addAll(observers);
+ }
+ }
+ private void notifyListeners (byte[]b, int off, int len)
+ throws IOException
+ {
+ synchronized (this.observers)
+ {
+ for (StreamObserver o: this.observers)
+ {
+ try
+ {
+ o.bytesReady(b, off, len);
+ }
+ catch( StreamObserverException e )
+ {
+ throw new IOException(e.getMessage());
+ }
+ }
+ }
+ }
+
+ private void notifyListeners (int b)
+ throws IOException
+ {
+ synchronized (this.observers)
+ {
+ for (StreamObserver o: this.observers)
+ {
+ try
+ {
+ o.byteReady(b);
+ }
+ catch( StreamObserverException e )
+ {
+ throw new IOException(e.getMessage());
+ }
+ }
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/SecureSender.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/SecureSender.java
new file mode 100644
index 0000000..f59f8ff
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/SecureSender.java
@@ -0,0 +1,99 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.jetty.client.Address;
+import org.mortbay.jetty.client.HttpClient;
+import org.mortbay.jetty.client.HttpDestination;
+import org.mortbay.jetty.client.HttpExchange;
+import org.mortbay.jetty.client.security.ProxyAuthorization;
+
+/**
+ * SecureSender
+ *
+ * Initiates a HttpExchange with the remote server, taking into account any proxy
+ * authentication required. Any non-proxy authentication required will be taken
+ * care of by the DestinationRealmResolver that is set on the HttpClient used
+ * by this class.
+ *
+ * TODO think of a better name for this class.
+ */
+public class SecureSender
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( SecureSender.class );
+
+ public static void send (Server server, HttpClient httpClient, HttpExchange exchange)
+ throws Exception
+ {
+ if (server != null && server.hasProxy() && (server.getProxy() != null))
+ {
+ String s = exchange.getURI();
+ URI uri = new URI(s);
+ boolean ssl = "https".equalsIgnoreCase(uri.getScheme());
+ URL proxy = server.getProxy();
+
+ String host = proxy.getHost();
+ int port = proxy.getPort();
+ boolean proxySsl = "https".equalsIgnoreCase(proxy.getProtocol());
+ if (port < 0)
+ {
+ port = proxySsl?443:80;
+ }
+
+ Address proxyAddress = new Address(host,port);
+ HttpDestination destination = httpClient.getDestination(exchange.getAddress(), ssl);
+ if( _log.isDebugEnabled() )
+ _log.debug("Matched destination "+destination);
+
+ destination.setProxy(proxyAddress);
+ if( _log.isDebugEnabled() )
+ _log.debug("Set proxy "+host+":"+port+" on destination");
+ _log.info("Set proxy "+host+":"+port+" on destination");
+
+ //set up authentication for the proxy
+ Credentials proxyCredentials = server.getProxyCredentials();
+
+ if (proxyCredentials != null)
+ {
+ if (proxyCredentials.isCertificate())
+ throw new UnsupportedOperationException ("Proxy credential not supported");
+ else
+ {
+ destination.setProxyAuthentication(new ProxyAuthorization (proxyCredentials.getUser(), proxyCredentials.getPass()));
+ if( _log.isDebugEnabled() )
+ _log.debug( "Set proxy authentication: "+proxyCredentials.getUser()+":"+proxyCredentials.getPass());
+ }
+ }
+ destination.send(exchange);
+ }
+ else
+ {
+ httpClient.send(exchange);
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/BatchIdGenerator.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/BatchIdGenerator.java
new file mode 100644
index 0000000..eb8bbc3
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/BatchIdGenerator.java
@@ -0,0 +1,25 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+public interface BatchIdGenerator
+{
+ public String getId();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployRequest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployRequest.java
new file mode 100644
index 0000000..2b78d56
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployRequest.java
@@ -0,0 +1,62 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class DefaultDeployRequest
+implements DeployRequest
+{
+ private Set<Binding> _bindings = new HashSet<Binding>();
+ private boolean _failFast;
+
+ public Set<Validator> getValidators()
+ {
+ return null;
+ }
+ public void setBindings(Set<Binding> bindings)
+ {
+ _bindings=bindings;
+ }
+ public Set<Binding> getBindings()
+ {
+ return _bindings;
+ }
+
+ public boolean isFailFast()
+ {
+ return _failFast;
+ }
+
+ public void setFailFast (boolean f)
+ {
+ _failFast=f;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployResponse.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployResponse.java
new file mode 100644
index 0000000..3b4a21c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployResponse.java
@@ -0,0 +1,57 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+
+public class DefaultDeployResponse
+implements DeployResponse
+{
+ private Set<HttpClientException> _exceptions = Collections.synchronizedSet( new HashSet<HttpClientException>() );
+
+ public DefaultDeployResponse()
+ {
+ }
+
+ public void add( HttpClientException e )
+ {
+ _exceptions.add( e );
+ }
+
+ public Set<HttpClientException> getExceptions()
+ {
+ return _exceptions;
+ }
+
+ public String toString()
+ {
+ return _exceptions.toString();
+ }
+
+ public boolean hasExceptions()
+ {
+ return _exceptions != null && _exceptions.size() > 0;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
new file mode 100644
index 0000000..392ad95
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
@@ -0,0 +1,360 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+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.concurrent.atomic.AtomicInteger;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.spi.http.client.DestinationRealmResolver;
+import org.apache.maven.mercury.spi.http.client.FileExchange;
+import org.apache.maven.mercury.spi.http.client.HandshakeExchange;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.jetty.HttpMethods;
+import org.mortbay.jetty.client.HttpClient;
+
+/**
+ * JettyDeployer
+ * <p/>
+ * Implementation of Deployer using Jetty async HttpClient.
+ */
+public class DefaultDeployer implements Deployer
+{
+ private HttpClient _httpClient;
+ private BatchIdGenerator _idGenerator;
+ private Set<Server> _servers = new HashSet<Server>();
+
+ public DefaultDeployer()
+ throws HttpClientException
+ {
+ _idGenerator = new RandomBatchIdGenerator();
+ _httpClient = new HttpClient();
+ _httpClient.setConnectorType( HttpClient.CONNECTOR_SELECT_CHANNEL );
+ _httpClient.registerListener( "org.mortbay.jetty.client.webdav.WebdavListener");
+ try
+ {
+ _httpClient.start();
+ }
+ catch ( Exception e )
+ {
+ throw new HttpClientException( null, "unable to start http client", e );
+ }
+ }
+
+ public DefaultDeployer( HttpClient client, BatchIdGenerator idGenerator )
+ throws HttpClientException
+ {
+ _idGenerator = idGenerator;
+ if ( _idGenerator == null )
+ {
+ throw new HttpClientException( null, "no id generator supplied" );
+ }
+
+ _httpClient = client;
+ try
+ {
+ if ( _httpClient.isStarted() )
+ {
+ _httpClient.start();
+ }
+ }
+ catch ( Exception e )
+ {
+ throw new HttpClientException( null, "unable to start http client", e );
+ }
+ }
+
+ public BatchIdGenerator getBatchIdGenerator()
+ {
+ return _idGenerator;
+ }
+
+ public HttpClient getHttpClient()
+ {
+ return _httpClient;
+ }
+
+ public void setServers (Set<Server>servers)
+ {
+ _servers.clear();
+ _servers.addAll(servers);
+ _httpClient.setRealmResolver(new DestinationRealmResolver(_servers));
+ }
+
+ public Set<Server> getServers()
+ {
+ return _servers;
+ }
+
+ /**
+ * Deploy a set files synchronously. This call will return when either all
+ * files have been successfully deployed, or one or more failures have
+ * occurred, depending on the failFast setting of the DeployRequest.
+ *
+ * @see org.apache.maven.mercury.spi.http.client.deploy.Deployer#deploy(org.apache.maven.mercury.spi.http.client.deploy.DeployRequest)
+ */
+ public DeployResponse deploy( DeployRequest request )
+ {
+ final DeployResponse[] response = new DeployResponse[]{null};
+
+ deploy( request, new DeployCallback()
+ {
+ public void onComplete( DeployResponse r )
+ {
+ synchronized ( response )
+ {
+ response[0] = r;
+ response.notify();
+ }
+ }
+ } );
+
+ synchronized ( response )
+ {
+ try
+ {
+ while ( response[0] == null )
+ {
+ response.wait();
+ }
+ }
+ catch ( InterruptedException e )
+ {
+ return null;
+ }
+ return response[0];
+ }
+ }
+
+ /**
+ * Deploy a set of files, returning immediately. The callback will be called when
+ * all the files have been deployed or one or more errors occur (depends on the FailFast
+ * setting of the DeployRequest).
+ *
+ * @see org.apache.maven.mercury.spi.http.client.deploy.Deployer#deploy(org.apache.maven.mercury.spi.http.client.deploy.DeployRequest, org.apache.maven.mercury.spi.http.client.deploy.DeployCallback)
+ */
+ public void deploy( final DeployRequest request, final DeployCallback callback )
+ {
+ if ( request == null )
+ {
+ throw new IllegalArgumentException( "No request" );
+ }
+
+ if ( callback == null )
+ {
+ throw new IllegalArgumentException( "No callback" );
+ }
+
+ final String batchId = _idGenerator.getId();
+ final AtomicInteger count = new AtomicInteger( request.getBindings().size() );
+ final List<DeploymentTarget> targets = new ArrayList<DeploymentTarget>( request.getBindings().size() );
+ final DefaultDeployResponse response = new DefaultDeployResponse();
+ final Set<String> remoteHandshakeUrls = new HashSet<String>();
+
+ Binding[] bindings = new Binding[request.getBindings().size()];
+ request.getBindings().toArray( bindings );
+ for ( int i = 0; i < bindings.length && count.get() > 0; i++ )
+ {
+ final Binding binding = bindings[i];
+ DeploymentTarget target = null;
+ try
+ {
+ Server server = resolveServer(binding);
+ Set<StreamObserver> observers = createStreamObservers(server);
+ target = new DeploymentTarget( server, _httpClient, batchId, binding, request.getValidators(), observers )
+ {
+ public void onComplete()
+ {
+ if ( getRemoteJettyUrl() != null )
+ {
+ remoteHandshakeUrls.add( getRemoteJettyUrl() );
+ }
+ //uploaded the file - have we uploaded all of them?
+ checkComplete( callback, batchId, count, request, response, remoteHandshakeUrls );
+ }
+
+ public void onError( HttpClientException exception )
+ {
+ if ( getRemoteJettyUrl() != null )
+ {
+ remoteHandshakeUrls.add( getRemoteJettyUrl() );
+ }
+ response.add( exception );
+ checkComplete( callback, batchId, count, request, response, remoteHandshakeUrls );
+ }
+ };
+ targets.add( target );
+ }
+ catch ( Exception e )
+ {
+ response.add( new HttpClientException( binding, e ) );
+ checkComplete( callback, batchId, count, request, response, remoteHandshakeUrls );
+ }
+ }
+
+ for ( final DeploymentTarget target : targets )
+ {
+ target.deploy(); //upload file
+ }
+ }
+
+ private synchronized void checkComplete( final DeployCallback callback,
+ String batchId,
+ AtomicInteger count,
+ DeployRequest request,
+ DeployResponse response,
+ Set<String> remoteHandshakeUrls )
+ {
+ int x = count.decrementAndGet();
+ boolean completor = x == 0;
+ if ( !completor && request.isFailFast() && response.getExceptions().size() > 0 )
+ {
+ completor = count.getAndSet( 0 ) > 0;
+ }
+
+ if ( completor )
+ {
+ commit( callback, response, batchId, remoteHandshakeUrls );
+ }
+ }
+
+ /**
+ * Send message to remote server (if Jetty) to indicate all
+ * files uploaded should now be commited or discarded if there were exceptions.
+ *
+ * @param batchId
+ */
+ private void commit( final DeployCallback callback,
+ final DeployResponse response,
+ final String batchId,
+ final Set<String> remoteHandshakeUrls )
+ {
+ if ( remoteHandshakeUrls.isEmpty() )
+ {
+ callback.onComplete( response );
+ }
+ else
+ {
+ final AtomicInteger count = new AtomicInteger( remoteHandshakeUrls.size() );
+ Map<String, String> headers = new HashMap<String, String>();
+ //if no errors, then commit, otherwise send a discard message
+ if ( response.getExceptions().isEmpty() )
+ {
+ headers.put( FileExchange.__BATCH_COMMIT_HEADER, batchId );
+ }
+ else
+ {
+ headers.put( FileExchange.__BATCH_DISCARD_HEADER, batchId );
+ }
+ for ( final String remoteUrl : remoteHandshakeUrls )
+ {
+ HandshakeExchange exchange = new HandshakeExchange( _httpClient, HttpMethods.POST, remoteUrl, headers )
+ {
+ public void onHandshakeComplete( String url )
+ {
+ checkHandshakeComplete( callback, response, count );
+
+ }
+
+ public void onHandshakeError( String url, Exception e )
+ {
+ response.getExceptions().add( new HttpClientException( null, e ) );
+ checkHandshakeComplete( callback, response, count );
+ }
+ };
+ }
+ }
+ }
+
+
+ private void checkHandshakeComplete( final DeployCallback callback,
+ final DeployResponse response,
+ AtomicInteger count )
+ {
+ boolean completor = count.decrementAndGet() == 0;
+ if ( completor )
+ {
+ callback.onComplete( response );
+ }
+ }
+
+ private Server resolveServer (Binding binding)
+ throws MalformedURLException
+ {
+ if (binding.getRemoteResource() == null)
+ return null;
+
+ URL bindingURL = binding.getRemoteResource();
+ Iterator<Server> itor = _servers.iterator();
+ Server server = null;
+ while(itor.hasNext() && server==null)
+ {
+ Server s = itor.next();
+ if (bindingURL.getProtocol().equalsIgnoreCase(s.getURL().getProtocol())
+ && bindingURL.getHost().equalsIgnoreCase(s.getURL().getHost())
+ && bindingURL.getPort() == s.getURL().getPort())
+ server = s;
+ }
+ return server;
+ }
+
+ private Set<StreamObserver> createStreamObservers( Server server )
+ throws StreamObserverException
+ {
+ HashSet<StreamObserver> observers = new HashSet<StreamObserver>();
+
+ if( server == null )
+ return observers;
+
+ if( server.hasWriterStreamVerifierFactories() )
+ {
+ Set<StreamVerifierFactory> factories = server.getWriterStreamVerifierFactories();
+ for (StreamVerifierFactory f:factories)
+ {
+ observers.add( f.newInstance() );
+ }
+ }
+
+ if( server.hasWriterStreamObserverFactories() )
+ {
+ Set<StreamObserverFactory> factories = server.getWriterStreamObserverFactories();
+ for (StreamObserverFactory f:factories)
+ {
+ observers.add( f.newInstance() );
+ }
+ }
+ return observers;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployCallback.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployCallback.java
new file mode 100644
index 0000000..d71008d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployCallback.java
@@ -0,0 +1,36 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+/**
+ * DeployCallback
+ * <p/>
+ * Classes that implement this method will be notified when a given job has
+ * been completed and validated.
+ */
+public interface DeployCallback
+{
+ /**
+ * Callback for asynchronous version of Retriever.retrieve.
+ *
+ * @param response empty if all artifacts retrieved ok, list of exceptions otherwise
+ */
+ void onComplete( DeployResponse response );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployRequest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployRequest.java
new file mode 100644
index 0000000..6ef271f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployRequest.java
@@ -0,0 +1,40 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+
+
+/**
+ * RetrievalRequest
+ * <p/>
+ * A set of files to retrieve from remote locations.
+ */
+public interface DeployRequest
+{
+ public abstract Set<Binding> getBindings();
+
+ public abstract boolean isFailFast();
+
+ public Set<Validator> getValidators();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployResponse.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployResponse.java
new file mode 100644
index 0000000..d9a38f5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployResponse.java
@@ -0,0 +1,44 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+
+/**
+ * DeployResponse
+ * <p/>
+ * A response to a request to upload a set of files to
+ * remote location(s).
+ */
+public interface DeployResponse
+{
+ /**
+ * The set will be empty if the operation completed successfully,
+ * or will contain a single entry if the Request is failFast, otherwise
+ * there will be one exception for every Binding in the Request.
+ *
+ * @return
+ */
+ public Set<HttpClientException> getExceptions();
+
+ public boolean hasExceptions();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/Deployer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/Deployer.java
new file mode 100644
index 0000000..2ac26ab
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/Deployer.java
@@ -0,0 +1,39 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+/**
+ * Deployer
+ * <p/>
+ * Deploy a set of files to remote locations as an atomic operation.
+ */
+public interface Deployer
+{
+ /** Deploy a set of files and return when all done. */
+ DeployResponse deploy( DeployRequest request );
+
+
+ /**
+ * Deploy a set of files and return immediately without waiting.
+ * The callback will be called when files are ready or an error
+ * has occurred.
+ */
+ void deploy( DeployRequest request, DeployCallback callback );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
new file mode 100644
index 0000000..dd9145d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
@@ -0,0 +1,335 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.jetty.HttpHeaders;
+import org.mortbay.jetty.client.HttpClient;
+
+public abstract class DeploymentTarget
+{
+ private static final IMercuryLogger log = MercuryLoggerManager.getLogger(DeploymentTarget.class);
+ protected Server _server;
+ protected HttpClient _httpClient;
+ protected String _batchId;
+ protected Binding _binding;
+ protected Set<Validator> _validators;
+ protected TargetState _targetState;
+ protected TargetState _checksumState;
+ protected HttpClientException _exception;
+ protected String _remoteJettyUrl;
+ protected Set<StreamObserver> _observers = new HashSet<StreamObserver>();
+ protected List<StreamVerifier> _verifiers = new ArrayList<StreamVerifier>();
+ protected int _checkSumFilesDeployed = -1;
+
+
+ public abstract void onComplete();
+
+ public abstract void onError( HttpClientException exception );
+
+
+ public class TargetState
+ {
+ public static final int __START_STATE = 1;
+ public static final int __REQUESTED_STATE = 2;
+ public static final int __READY_STATE = 3;
+
+ private int _state;
+ private Exception _exception;
+
+ public TargetState()
+ {
+ _state = __START_STATE;
+ }
+
+ public synchronized void ready()
+ {
+ setState( __READY_STATE );
+ }
+
+ public synchronized void ready( Exception e )
+ {
+ setState( __READY_STATE );
+ _exception = e;
+ }
+
+ public synchronized void requested()
+ {
+ setState( __REQUESTED_STATE );
+ }
+
+ public synchronized boolean isStart()
+ {
+ return _state == __START_STATE;
+ }
+
+ public synchronized boolean isRequested()
+ {
+ return _state == __REQUESTED_STATE;
+ }
+
+ public synchronized boolean isError()
+ {
+ return _exception != null;
+ }
+
+ public boolean isReady()
+ {
+ return _state == __READY_STATE;
+ }
+
+ public synchronized void setState( int status )
+ {
+ _state = status;
+ }
+
+ public synchronized int getState()
+ {
+ return _state;
+ }
+
+ public synchronized Exception getException()
+ {
+ return _exception;
+ }
+ }
+
+ public DeploymentTarget( Server server, HttpClient client, String batchId, Binding binding, Set<Validator> validators, Set<StreamObserver> observers )
+ {
+ _server = server;
+ _httpClient = client;
+ _batchId = batchId;
+ _binding = binding;
+ _validators = validators;
+
+ for (StreamObserver o:observers)
+ {
+ if (StreamVerifier.class.isAssignableFrom(o.getClass()))
+ _verifiers.add((StreamVerifier)o);
+ _observers.add(o);
+ }
+
+ if ( _binding == null )
+ {
+ throw new IllegalArgumentException( "Nothing to deploy - null binding" );
+ }
+
+ if ( _binding.isFile() && (_binding.getLocalFile() == null || !_binding.getLocalFile().exists()) )
+ {
+ throw new IllegalArgumentException( "Nothing to deploy - local file not found: " + _binding.getLocalFile() );
+ }
+ if( _binding.isInMemory() && _binding.getLocalInputStream() == null )
+ {
+ throw new IllegalArgumentException( "Nothing to deploy - inMemory binding with null stream" );
+ }
+ _targetState = new TargetState();
+ _checksumState = new TargetState();
+ if (_verifiers.isEmpty())
+ _checksumState.ready();
+ }
+
+ public Binding getBinding()
+ {
+ return _binding;
+ }
+
+ public void deploy()
+ {
+ updateState( null );
+ }
+
+ private synchronized void updateState( Throwable t )
+ {
+
+ if (log.isDebugEnabled())
+ {
+ log.debug("updateState: exception="+t+" targetState="+_targetState.getState()+" checksumState="+_checksumState.getState()+" verifiers="+_verifiers.size()+" checksumsdeployed="+_checkSumFilesDeployed);
+ }
+ if ( t != null && _exception == null )
+ {
+ _exception = ( t instanceof HttpClientException ? (HttpClientException) t : new HttpClientException( _binding, t ) );
+ }
+
+ if (_exception != null)
+ {
+ onError(_exception);
+ }
+ else
+ {
+ //if the target file can be uploaded, then upload it, calculating checksums on the fly as necessary
+ if ( _targetState.isStart() )
+ {
+ deployLocalFile();
+ }
+ //Upload the checksums
+ else if ( _targetState.isReady() && (_verifiers.size()>0) && (_checkSumFilesDeployed < (_verifiers.size() -1)) )
+ {
+ deployNextChecksumFile();
+ }
+ else if ( _targetState.isReady() && (_checksumState.isReady()))
+ {
+ onComplete();
+ }
+ }
+ }
+
+ private void deployLocalFile()
+ {
+ FilePutExchange fileExchange = new FilePutExchange( _server, _batchId, _binding, _binding.getLocalFile(), _observers, _httpClient )
+ {
+ public void onFileComplete( String url, File localFile )
+ {
+
+ DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
+ _targetState.ready();
+ updateState( null );
+ }
+
+ public void onFileError( String url, Exception e )
+ {
+
+ DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
+ _targetState.ready( e );
+ updateState( e );
+ }
+ };
+
+ if( _server != null && _server.hasUserAgent() )
+ fileExchange.setRequestHeader( HttpHeaders.USER_AGENT, _server.getUserAgent() );
+
+ _targetState.requested();
+
+ fileExchange.send();
+ }
+
+
+ private void deployNextChecksumFile()
+ {
+ Binding binding = _binding;
+ File file = null;
+ StreamVerifier v = _verifiers.get(++_checkSumFilesDeployed);
+
+ //No local checksum file, so make a temporary one using the checksum we
+ //calculated as we uploaded the file
+ try
+ {
+ URL url = _binding.getRemoteResource();
+ if (url != null)
+ {
+ url = new URL( url.toString() + v.getAttributes().getExtension() );
+ }
+
+ String localFileName = getFileName(url);
+
+ file = File.createTempFile( localFileName, ".tmp" );
+ file.deleteOnExit();
+ OutputStreamWriter fw = new OutputStreamWriter( new FileOutputStream( file ), "UTF-8" );
+ fw.write( v.getSignature() );
+ fw.close();
+ binding = new Binding(url, file);
+ }
+ catch ( Exception e )
+ {
+ _checksumState.ready( e );
+ }
+
+
+ //upload the checksum file
+ Set<StreamObserver> emptySet = Collections.emptySet();
+ FilePutExchange checksumExchange = new FilePutExchange( _server, _batchId, binding, file, emptySet, _httpClient )
+ {
+ public void onFileComplete( String url, File localFile )
+ {
+ DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
+ if (_checkSumFilesDeployed == (_verifiers.size() - 1))
+ _checksumState.ready();
+ updateState( null );
+ }
+
+ public void onFileError( String url, Exception e )
+ {
+ DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
+ if (_checkSumFilesDeployed == (_verifiers.size() - 1))
+ _checksumState.ready( e );
+ updateState( e );
+ }
+ };
+
+ if( _server != null && _server.hasUserAgent() )
+ checksumExchange.setRequestHeader( HttpHeaders.USER_AGENT, _server.getUserAgent() );
+
+ _checksumState.requested();
+ checksumExchange.send();
+ }
+
+ public boolean isRemoteJetty()
+ {
+ return _remoteJettyUrl != null;
+ }
+
+ public String getRemoteJettyUrl()
+ {
+ return _remoteJettyUrl;
+ }
+
+ public synchronized boolean isComplete()
+ {
+ return ( _checksumState.isReady() && _targetState.isReady() );
+ }
+
+ public String getFileName (URL url)
+ {
+ if (url==null)
+ return "";
+ String localFileName = url.getFile();
+ int i = localFileName.indexOf('?');
+ if (i > 0)
+ localFileName = localFileName.substring(0, i);
+ if (localFileName.endsWith("/"))
+ localFileName = localFileName.substring(0, localFileName.length()-1);
+ i = localFileName.lastIndexOf('/');
+ if (i >= 0)
+ localFileName = localFileName.substring(i+1);
+ return localFileName;
+ }
+
+ public String toString()
+ {
+ return "DeploymentTarget:" + _binding.getRemoteResource() + ":" + _targetState + ":" + _checksumState + ":" + isComplete();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
new file mode 100644
index 0000000..261672d
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
@@ -0,0 +1,208 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.spi.http.client.FileExchange;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.ObservableInputStream;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.io.Buffer;
+import org.mortbay.jetty.HttpMethods;
+import org.mortbay.jetty.client.HttpClient;
+
+
+/**
+ * FilePutExchange
+ * <p/>
+ * Asynchronously PUT a file to a remote server. The file that is being uploaded can also
+ * have it's SHA-1 digest calculated as it is being streamed up.
+ */
+public abstract class FilePutExchange extends FileExchange
+{
+ private static final int __readLimit = 1024;
+ private static final IMercuryLogger log = MercuryLoggerManager.getLogger(FilePutExchange.class);
+ private String _batchId;
+ private InputStream _inputStream;
+ private String _remoteRepoUrl;
+ private String _remoteBatchId;
+ private Set<StreamObserver> _observers = new HashSet<StreamObserver>();
+
+ public abstract void onFileComplete( String url, File localFile );
+
+ public abstract void onFileError( String url, Exception e );
+
+
+ public FilePutExchange( Server server, String batchId, Binding binding, File localFile, Set<StreamObserver> observers, HttpClient client )
+ {
+ super( server, binding, localFile, client );
+ _observers.addAll(observers);
+ _batchId = batchId;
+ }
+
+
+ /**
+ * Start the upload. Ensure that the id of the mercury is set as a request header
+ * so all files part of the same mercury can be identified as an atomic unit.
+ */
+ public void send()
+ {
+ try
+ {
+ setMethod( HttpMethods.PUT );
+ setRequestHeader( "Content-Type", "application/octet-stream" );
+ if (_binding.isFile())
+ {
+ setRequestHeader( "Content-Length", String.valueOf( _localFile.length() ) );
+ if (log.isDebugEnabled())
+ log.debug("PUT of "+_localFile.length()+" bytes");
+
+ for (StreamObserver o: _observers)
+ o.setLength(_localFile.length());
+ }
+
+ if (log.isDebugEnabled())
+ log.debug("PUT: "+getURI());
+
+ setRequestContentSource( getInputStream() );
+ setRequestHeader( __BATCH_HEADER, _batchId );
+ super.send();
+ }
+ catch ( Exception e )
+ {
+ onFileError( _url, e );
+ }
+ }
+
+ public boolean isRemoteJetty()
+ {
+ return _remoteRepoUrl != null;
+ }
+
+ public String getRemoteJettyUrl()
+ {
+ return _remoteRepoUrl;
+ }
+
+
+ protected void onResponseHeader( Buffer name, Buffer value )
+ {
+ if ( name.toString().equalsIgnoreCase( __BATCH_SUPPORTED_HEADER ) )
+ {
+ _remoteRepoUrl = value.toString();
+ }
+ else if ( name.toString().equalsIgnoreCase( __BATCH_HEADER ) )
+ {
+ _remoteBatchId = value.toString();
+ }
+ }
+
+ protected void onResponseComplete()
+ {
+ try
+ {
+ if (_inputStream != null)
+ _inputStream.close();
+
+ if ( _status != HttpServletResponse.SC_OK && _status != HttpServletResponse.SC_CREATED && _status != HttpServletResponse.SC_NO_CONTENT )
+ {
+ onFileError( _url, new HttpClientException( _binding, "Http status code=" + _status ) );
+ return;
+ }
+
+ if ( _remoteBatchId != null && !_batchId.equals( _remoteBatchId ) )
+ {
+ onFileError( _url, new HttpClientException( _binding,
+ "Non matching mercury ids. Sent=" + _batchId + " received=" + _remoteBatchId ) );
+ return;
+ }
+
+ //we've uploaded the file
+ onFileComplete( _url, _localFile );
+ }
+ catch ( Exception e )
+ {
+ onFileError( _url, new HttpClientException( _binding, e.getLocalizedMessage() ) );
+ }
+ }
+
+
+ private InputStream getInputStream()
+ throws IOException
+ {
+ if ( _inputStream == null )
+ {
+ InputStream is = null;
+ if (_binding.isFile())
+ is = new FileInputStream( _localFile );
+ else if (_binding.isInMemory())
+ {
+ is = _binding.getLocalInputStream();
+ if (!getRetryStatus())
+ {
+ if (is.markSupported())
+ is.mark(__readLimit);
+ }
+ else
+ {
+ if (is.markSupported())
+ is.reset();
+ }
+ }
+
+ //if this request is being retried, then don't set up the observers a second
+ //time?
+ if (!getRetryStatus())
+ {
+ ObservableInputStream ois = new ObservableInputStream( is );
+ _inputStream = ois;
+ ois.addObservers(_observers);
+ }
+ else
+ _inputStream = is;
+ }
+ return _inputStream;
+ }
+
+
+ protected void onRetry() throws IOException
+ {
+ super.onRetry();
+ if (_inputStream != null)
+ _inputStream.close();
+
+ _inputStream = null;
+ setRequestContent(null);
+ setRequestContentSource(getInputStream());
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/RandomBatchIdGenerator.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/RandomBatchIdGenerator.java
new file mode 100644
index 0000000..87c8567
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/RandomBatchIdGenerator.java
@@ -0,0 +1,83 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.deploy;
+
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.util.Random;
+
+
+public class RandomBatchIdGenerator implements BatchIdGenerator
+{
+ protected final static String SESSION_ID_RANDOM_ALGORITHM = "SHA1PRNG";
+ private Random _random;
+ private boolean _initialized;
+
+
+ public RandomBatchIdGenerator()
+ {
+ }
+
+ public String getId()
+ {
+ init();
+ String id = "";
+ if ( !( _random instanceof SecureRandom ) )
+ {
+ id = String.valueOf( hashCode() ^ Runtime.getRuntime().freeMemory() ^ _random.nextInt() );
+ }
+ else
+ {
+ id = String.valueOf( _random.nextLong() );
+ }
+ return id;
+ }
+
+ public void setRandom( Random random )
+ {
+ _random = random;
+ }
+
+ public Random getRandom()
+ {
+ return _random;
+ }
+
+ private void init()
+ {
+ synchronized ( this )
+ {
+ if ( !_initialized )
+ {
+ try
+ {
+ _random = SecureRandom.getInstance( SESSION_ID_RANDOM_ALGORITHM );
+ }
+ catch ( NoSuchAlgorithmException e )
+ {
+ _random = new Random();
+ }
+ _random.setSeed(
+ _random.nextLong() ^ System.currentTimeMillis() ^ hashCode() ^ Runtime.getRuntime().freeMemory() );
+ _initialized = true;
+ }
+ }
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalRequest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalRequest.java
new file mode 100644
index 0000000..d00bf63
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalRequest.java
@@ -0,0 +1,81 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+
+public class DefaultRetrievalRequest implements RetrievalRequest
+{
+ private boolean _isFailFast;
+ private Set<Binding> _bindings;
+ private Set<Validator> _validators;
+
+ public void setFailFast(boolean failFast)
+ {
+ _isFailFast = failFast;
+ }
+
+ public boolean isFailFast()
+ {
+ return _isFailFast;
+ }
+
+ public RetrievalRequest addBinding( Binding binding )
+ {
+ if ( _bindings == null )
+ {
+ _bindings = new HashSet<Binding>();
+ }
+
+ _bindings.add( binding );
+
+ return this;
+ }
+
+ public void setBindings(Set<Binding> bindings)
+ {
+ _bindings = new HashSet<Binding>(bindings);
+ }
+
+ public Set<Binding> getBindings()
+ {
+ return _bindings;
+ }
+
+ public void setValidators(Set<Validator> validators)
+ {
+ _validators = new HashSet<Validator>(validators);
+ }
+
+ public Set<Validator> getValidators()
+ {
+ return _validators;
+ }
+
+ public String toString()
+ {
+ return _bindings.toString()+"|"+_isFailFast;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalResponse.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalResponse.java
new file mode 100644
index 0000000..da4cbf2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalResponse.java
@@ -0,0 +1,56 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+
+public class DefaultRetrievalResponse implements RetrievalResponse
+{
+ private Set<HttpClientException> _exceptions = Collections.synchronizedSet( new HashSet<HttpClientException>() );
+
+ public DefaultRetrievalResponse()
+ {
+ }
+
+ protected void add( HttpClientException exception )
+ {
+ _exceptions.add( exception );
+ }
+
+ public Set<HttpClientException> getExceptions()
+ {
+ return _exceptions;
+ }
+
+ public String toString()
+ {
+ return _exceptions.toString();
+ }
+
+ public boolean hasExceptions()
+ {
+ return _exceptions.size() > 0;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java
new file mode 100644
index 0000000..b3e1cfc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java
@@ -0,0 +1,341 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.spi.http.client.DestinationRealmResolver;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.jetty.client.HttpClient;
+
+public class DefaultRetriever implements Retriever
+{
+ private HttpClient _httpClient;
+ private Set<Server> _servers = new HashSet<Server>();
+
+
+ public DefaultRetriever()
+ throws HttpClientException
+ {
+ // TODO take the default settings for now
+ _httpClient = new HttpClient();
+ _httpClient.setConnectorType( HttpClient.CONNECTOR_SELECT_CHANNEL );
+ try
+ {
+ //TODO: What are all the reasons that the httpclient couldn't start up correctly?
+
+ _httpClient.start();
+ }
+ catch ( Exception e )
+ {
+ throw new HttpClientException( null, "Unable to start http client.", e );
+ }
+ }
+
+ public DefaultRetriever( HttpClient client )
+ throws HttpClientException
+ {
+ // TODO take the default settings for now
+ _httpClient = client;
+ try
+ {
+ if ( _httpClient.isStarted() )
+ {
+ _httpClient.start();
+ }
+ }
+ catch ( Exception e )
+ {
+ throw new HttpClientException( null, "unable to start http client", e );
+ }
+ }
+
+ public void setServers (Set<Server>servers)
+ {
+ _servers.clear();
+ _servers.addAll(servers);
+ _httpClient.setRealmResolver(new DestinationRealmResolver(_servers));
+ }
+
+ public Set<Server> getServers()
+ {
+ return _servers;
+ }
+
+ /**
+ * Retrieve a set of artifacts and wait until all retrieved successfully
+ * or an error occurs.
+ * <p/>
+ * Note: whilst this method is synchronous for the caller, the implementation
+ * will be asynchronous so many artifacts are fetched in parallel.
+ *
+ * @param request
+ * @return the list of errors, if any
+ */
+ public RetrievalResponse retrieve( RetrievalRequest request )
+ {
+ final RetrievalResponse[] response = new RetrievalResponse[]{null};
+
+ retrieve( request, new RetrievalCallback()
+ {
+ public void onComplete( RetrievalResponse r )
+ {
+ synchronized ( response )
+ {
+ response[0] = r;
+ response.notify();
+ }
+ }
+ } );
+
+ synchronized ( response )
+ {
+ try
+ {
+ while ( response[0] == null )
+ {
+ response.wait();
+ }
+ }
+ catch ( InterruptedException e )
+ {
+ return null;
+ }
+ return response[0];
+ }
+ }
+
+ /**
+ * Retrieve a set of artifacts without waiting for the results.
+ * When all results have been obtained (or an error occurs) the
+ * RetrievalResponse will be called.
+ *
+ * @param request
+ * @param callback
+ */
+ public void retrieve( final RetrievalRequest request, final RetrievalCallback callback )
+ {
+ if ( request == null )
+ {
+ throw new IllegalArgumentException( "No request" );
+ }
+
+ if ( callback == null )
+ {
+ throw new IllegalArgumentException( "No callback" );
+ }
+
+ final AtomicInteger count = new AtomicInteger( request.getBindings().size() );
+
+ final List<RetrievalTarget> targets = new ArrayList<RetrievalTarget>( request.getBindings().size() );
+ final DefaultRetrievalResponse response = new DefaultRetrievalResponse();
+
+ Binding[] bindings = new Binding[request.getBindings().size()];
+ request.getBindings().toArray( bindings );
+
+ for ( int i = 0; i < bindings.length && count.get() > 0; i++ )
+ {
+ final Binding binding = bindings[i];
+
+ RetrievalTarget target = null;
+ try
+ {
+ Server server = resolveServer(binding);
+ Set<StreamObserver> observers = createStreamObservers(server);
+
+ target = new RetrievalTarget( server, DefaultRetriever.this, binding, request.getValidators(), observers )
+ {
+ public void onComplete()
+ {
+ //got the file, check the checksum
+ boolean checksumOK = false;
+ try
+ {
+ checksumOK = verifyChecksum();
+ if ( !checksumOK )
+ {
+ response.add( new HttpClientException( binding, "Checksum failed") );
+ }
+ }
+ catch( StreamVerifierException e )
+ {
+ response.add( new HttpClientException( binding, e.getMessage()) );
+ }
+
+ //if the file checksum is ok, then apply the validators
+ if ( checksumOK )
+ {
+ List<String> validateErrors = new ArrayList<String>();
+ if ( !validate( validateErrors ) )
+ {
+ for ( String s : validateErrors )
+ {
+ response.add( new HttpClientException( binding, s ) );
+ }
+ }
+ }
+
+ if ( DefaultRetriever.this.isComplete( count, request, response, targets ) )
+ {
+ callback.onComplete( response );
+ }
+ }
+
+ public void onError( HttpClientException exception )
+ {
+ response.add( exception );
+ if ( DefaultRetriever.this.isComplete( count, request, response, targets ) )
+ {
+ callback.onComplete( response );
+ }
+ }
+ };
+
+ targets.add( target );
+ }
+ catch ( Exception e )
+ {
+ response.add( new HttpClientException( binding, e ) );
+ if ( isComplete( count, request, response, targets ) )
+ {
+ callback.onComplete( response );
+ }
+ }
+ }
+
+ for ( final RetrievalTarget target : targets )
+ {
+ target.retrieve(); //go get the remote file
+ }
+ }
+
+ private boolean isComplete( AtomicInteger count,
+ RetrievalRequest request,
+ RetrievalResponse response,
+ List<RetrievalTarget> targets )
+ {
+ boolean completor = count.decrementAndGet() == 0;
+
+ if ( !completor && request.isFailFast() && response.getExceptions().size() > 0 )
+ {
+ completor = count.getAndSet( 0 ) > 0;
+ }
+
+ if ( completor )
+ {
+ if ( response.getExceptions().size() == 0 )
+ {
+ for ( RetrievalTarget t : targets )
+ {
+ if ( t != null )
+ {
+ t.move();
+ }
+ }
+ }
+
+ for ( RetrievalTarget t : targets )
+ {
+ t.cleanup();
+ }
+ return true;
+ }
+
+ return false;
+ }
+
+
+ /**
+ * Get the jetty async client
+ *
+ * @return
+ */
+ public HttpClient getHttpClient()
+ {
+ return _httpClient;
+ }
+
+ private Server resolveServer (Binding binding)
+ throws MalformedURLException
+ {
+ if (binding.getRemoteResource() == null)
+ return null;
+
+ URL bindingURL = binding.getRemoteResource();
+ if (_servers == null)
+ return null;
+
+ Iterator<Server> itor = _servers.iterator();
+ Server server = null;
+ while(itor.hasNext() && server==null)
+ {
+ Server s = itor.next();
+ if (bindingURL.getProtocol().equalsIgnoreCase(s.getURL().getProtocol())
+ && bindingURL.getHost().equalsIgnoreCase(s.getURL().getHost())
+ && bindingURL.getPort() == s.getURL().getPort())
+ server = s;
+ }
+ return server;
+ }
+
+ private Set<StreamObserver> createStreamObservers (Server server)
+ throws StreamObserverException
+ {
+ HashSet<StreamObserver> observers = new HashSet<StreamObserver>();
+
+ if( server == null )
+ return observers;
+
+ if ( server.hasReaderStreamVerifierFactories() )
+ {
+ Set<StreamVerifierFactory> factories = server.getReaderStreamVerifierFactories();
+ for( StreamVerifierFactory f:factories )
+ {
+ observers.add( f.newInstance() );
+ }
+ }
+
+ if ( server.hasReaderStreamObserverFactories() )
+ {
+ Set<StreamObserverFactory> factories = server.getReaderStreamObserverFactories();
+ for( StreamObserverFactory f:factories )
+ {
+ observers.add( f.newInstance() );
+ }
+ }
+ return observers;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
new file mode 100644
index 0000000..9cc067b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
@@ -0,0 +1,184 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.spi.http.client.FileExchange;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.ObservableOutputStream;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.io.Buffer;
+import org.mortbay.io.BufferUtil;
+import org.mortbay.jetty.HttpHeaders;
+import org.mortbay.jetty.HttpMethods;
+import org.mortbay.jetty.client.HttpClient;
+
+
+/**
+ * FileGetExchange
+ * <p/>
+ * Make an asynchronous request to download a file and stream its bytes to a file.
+ * When all bytes have been received onFileComplete will be called.
+ * <p/>
+ * As an optimization, the file that is being downloaded can have it's
+ * SHA-1 digest calculated as it is being streamed down.
+ */
+public abstract class FileGetExchange extends FileExchange
+{
+ private static final IMercuryLogger log = MercuryLoggerManager.getLogger(FileGetExchange.class);
+ private OutputStream _outputStream;
+ private Set<StreamObserver> _observers = new HashSet<StreamObserver>();
+ int _contentLength = -1;
+
+ /**
+ * Constructor.
+ *
+ * @param binding the remote file to fetch
+ * @param localFile the local file location to store the remote file
+ * @param observers observers of the io stream
+ * @param client async http client
+ */
+ public FileGetExchange( Server server, Binding binding, File localFile, Set<StreamObserver> observers, HttpClient client )
+ {
+ super( server, binding, localFile, client );
+ if (observers != null)
+ _observers.addAll(observers);
+ }
+
+
+ /** Start the retrieval. */
+ public void send()
+ {
+ setMethod( HttpMethods.GET );
+ super.send();
+ }
+
+ protected void onResponseHeader(Buffer name, Buffer value) throws IOException
+ {
+ int header = HttpHeaders.CACHE.getOrdinal(value);
+ switch (header)
+ {
+ case HttpHeaders.CONTENT_LENGTH_ORDINAL:
+ _contentLength = BufferUtil.toInt(value);
+ for (StreamObserver o:_observers)
+ {
+ o.setLength(_contentLength);
+ }
+ if (log.isDebugEnabled())
+ log.debug("GET of "+_contentLength +" bytes");
+ break;
+ case HttpHeaders.LAST_MODIFIED_ORDINAL:
+ for (StreamObserver o:_observers)
+ {
+ o.setLastModified(BufferUtil.to8859_1_String(value));
+ }
+ break;
+ }
+ }
+
+
+ protected void onResponseComplete()
+ {
+ //All bytes of file have been received
+ try
+ {
+ if (_outputStream != null)
+ _outputStream.close();
+
+ if ( _status == HttpServletResponse.SC_NOT_FOUND )
+ {
+ onFileError( _url, new FileNotFoundException( "File not found on remote server" ) );
+ return;
+ }
+ else if ( _status != HttpServletResponse.SC_OK )
+ {
+ onFileError( _url, new Exception( "Http status code=" + _status ) );
+ return;
+ }
+
+ onFileComplete( _url, _localFile );
+ }
+ catch ( Exception e )
+ {
+ onFileError( _url, new HttpClientException( _binding, e.getLocalizedMessage() ) );
+ }
+ }
+
+
+ /**
+ * Stream the downloaded bytes to a file
+ *
+ * @see org.mortbay.jetty.client.HttpExchange$ContentExchange#onResponseContent(org.sonatype.io.Buffer)
+ */
+ protected void onResponseContent( Buffer content )
+ throws IOException
+ {
+ try
+ {
+ OutputStream os = getOutputStream();
+ content.writeTo( os );
+ }
+ catch ( NoSuchAlgorithmException e )
+ {
+ throw new IOException( e.getLocalizedMessage() );
+ }
+ }
+
+
+ /**
+ * Get an output stream for the file contents. A digest can be optionally calculated
+ * for the file contents as they are being streamed.
+ *
+ * @return OutputStream for file contents
+ * @throws IOException if io error occurs
+ * @throws NoSuchAlgorithmException if the SHA-1 algorithm is not supported
+ */
+ protected OutputStream getOutputStream()
+ throws IOException, NoSuchAlgorithmException
+ {
+ if ( _outputStream == null )
+ {
+ OutputStream os = null;
+ if (_binding.isFile())
+ os = new FileOutputStream( _localFile );
+ else if (_binding.isInMemory())
+ os = _binding.getLocalOutputStream();
+
+ ObservableOutputStream oos = new ObservableOutputStream( os );
+ oos.addObservers(_observers);
+ _outputStream = oos;
+ }
+ return _outputStream;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalCallback.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalCallback.java
new file mode 100644
index 0000000..83af684
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalCallback.java
@@ -0,0 +1,34 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+/**
+ * Classes that implement this method will be notified when a given job has
+ * been completed and validated.
+ */
+public interface RetrievalCallback
+{
+ /**
+ * Callback for asynchronous version of Retriever.retrieve.
+ *
+ * @param response empty if all artifacts retrieved ok, list of exceptions otherwise
+ */
+ public abstract void onComplete( RetrievalResponse response );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalRequest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalRequest.java
new file mode 100644
index 0000000..930c040
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalRequest.java
@@ -0,0 +1,41 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+
+
+/**
+ * RetrievalRequest
+ * <p/>
+ * A set of files to retrieve from remote locations
+ * and a set of validators to apply to them.
+ */
+public interface RetrievalRequest
+{
+ Set<Binding> getBindings();
+
+ boolean isFailFast();
+
+ Set<Validator> getValidators();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalResponse.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalResponse.java
new file mode 100644
index 0000000..c902ede
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalResponse.java
@@ -0,0 +1,44 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+import java.util.Set;
+
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+
+
+/**
+ * RetrievalResponse
+ * <p/>
+ * Response from a request to download a set of files.
+ */
+public interface RetrievalResponse
+{
+ /**
+ * The set will be empty if the operation completed successfully,
+ * or will contain a single entry if the Request is failFast, otherwise
+ * there will be one exception for every Binding in the Request.
+ *
+ * @return
+ */
+ Set<HttpClientException> getExceptions();
+
+ boolean hasExceptions();
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
new file mode 100644
index 0000000..acabcda
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
@@ -0,0 +1,483 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+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 javax.servlet.http.HttpServletResponse;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.spi.http.client.FileExchange;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.SecureSender;
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.jetty.HttpHeaders;
+import org.mortbay.jetty.client.HttpExchange;
+
+
+
+/**
+ * RetrievalTarget
+ * <p/>
+ * A RetrievalTarget is a remote file that must be downloaded locally, checksummed
+ * and then atomically moved to its final location. The RetrievalTarget encapsulates
+ * the temporary local file to which the remote file is downloaded, and also the
+ * retrieval of the checksum file(s) and the checksum calculation(s).
+ */
+public abstract class RetrievalTarget
+{
+ private static final IMercuryLogger log = MercuryLoggerManager.getLogger( RetrievalTarget.class );
+ public static final String __PREFIX = "JTY_";
+ public static final String __TEMP_SUFFIX = ".tmp";
+ public static final int __START_STATE = 1;
+ public static final int __REQUESTED_STATE = 2;
+ public static final int __READY_STATE = 3;
+
+ protected int _checksumState;
+ protected int _targetState;
+
+ protected Server _server;
+ protected HttpClientException _exception;
+ protected Binding _binding;
+ protected File _tempFile;
+ protected DefaultRetriever _retriever;
+ protected boolean _complete;
+ protected HttpExchange _exchange;
+ protected Set<Validator> _validators;
+ protected Set<StreamObserver> _observers = new HashSet<StreamObserver>();
+ protected List<StreamVerifier> _verifiers = new ArrayList<StreamVerifier>();
+ protected Map<StreamVerifier, String> _verifierMap = new HashMap<StreamVerifier, String>();
+
+
+ public abstract void onComplete();
+
+ public abstract void onError( HttpClientException exception );
+
+ /**
+ * Constructor
+ *
+ * @param binding
+ * @param callback
+ */
+ public RetrievalTarget( Server server, DefaultRetriever retriever, Binding binding, Set<Validator> validators, Set<StreamObserver> observers )
+ {
+ if ( binding == null ||
+ (binding.getRemoteResource() == null) ||
+ (binding.isFile() && (binding.getLocalFile() == null)) ||
+ (binding.isInMemory() && (binding.getLocalOutputStream() == null)))
+ {
+ throw new IllegalArgumentException( "Nothing to retrieve" );
+ }
+ _server = server;
+ _retriever = retriever;
+ _binding = binding;
+ _validators = validators;
+
+ //sift out the potential checksum verifiers
+ for (StreamObserver o: observers)
+ {
+ if (StreamVerifier.class.isAssignableFrom(o.getClass()))
+ _verifiers.add((StreamVerifier)o);
+ else
+ _observers.add(o);
+ }
+
+ if (_binding.isFile())
+ {
+ _tempFile = new File( _binding.getLocalFile().getParentFile(),
+ __PREFIX + _binding.getLocalFile().getName() + __TEMP_SUFFIX );
+ _tempFile.deleteOnExit();
+ if ( !_tempFile.getParentFile().exists() )
+ {
+ _tempFile.getParentFile().mkdirs();
+ }
+
+ if ( _tempFile.exists() )
+ {
+ onError( new HttpClientException( binding, "File exists " + _tempFile.getAbsolutePath() ) );
+ }
+ else if ( !_tempFile.getParentFile().canWrite() )
+ {
+ onError( new HttpClientException( binding,
+ "Unable to write to dir " + _tempFile.getParentFile().getAbsolutePath() ) );
+ }
+ }
+ }
+
+
+
+ public File getTempFile()
+ {
+ return _tempFile;
+ }
+
+ public String getUrl()
+ {
+ return _binding.getRemoteResource().toExternalForm();
+ }
+
+
+ /** Start by getting the appropriate checksums */
+ public void retrieve()
+ {
+ //if there are no checksum verifiers configured, proceed directly to get the file
+ if (_verifiers.size() == 0)
+ {
+ _checksumState = __READY_STATE;
+ updateTargetState(__START_STATE, null);
+ }
+ else
+ {
+ _checksumState = __START_STATE;
+ updateChecksumState(-1, null);
+ }
+ }
+
+
+ /** Move the temporary file to its final location */
+ public boolean move()
+ {
+ if (_binding.isFile())
+ {
+ boolean ok = _tempFile.renameTo( _binding.getLocalFile() );
+ if (log.isDebugEnabled())
+ log.debug("Renaming "+_tempFile.getAbsolutePath()+" to "+_binding.getLocalFile().getAbsolutePath()+": "+ok);
+ return ok;
+ }
+ else
+ return true;
+ }
+
+ /** Cleanup temp files */
+ public synchronized void cleanup()
+ {
+ deleteTempFile();
+ if ( _exchange != null )
+ {
+ _exchange.cancel();
+ }
+ }
+
+ public synchronized boolean isComplete()
+ {
+ return _complete;
+ }
+
+ public String toString()
+ {
+ return "T:" + _binding.getRemoteResource() + ":" + _targetState + ":" + _checksumState + ":" + _complete;
+ }
+
+ private void updateChecksumState (int index, Throwable ex)
+ {
+ if ( _exception == null && ex != null )
+ {
+ if ( ex instanceof HttpClientException )
+ {
+ _exception = (HttpClientException) ex;
+ }
+ else
+ {
+ _exception = new HttpClientException( _binding, ex );
+ }
+ }
+
+ if (ex != null)
+ {
+ _checksumState = __READY_STATE;
+ onError(_exception);
+ }
+ else
+ {
+ boolean proceedWithTargetFile = false;
+ if (index >= 0)
+ {
+ //check if the just-completed retrieval means that we can stop trying to download checksums
+ StreamVerifier v = _verifiers.get(index);
+ if (_verifierMap.containsKey(v) && v.getAttributes().isSufficient())
+ proceedWithTargetFile = true;
+ }
+
+ index++;
+
+ if ((index < _verifiers.size()) && !proceedWithTargetFile)
+ {
+ retrieveChecksum(index);
+ }
+ else
+ {
+ _checksumState = __READY_STATE;
+
+ //finished retrieving all possible checksums. Add all verifiers
+ //that had matching checksums into the observers list
+ _observers.addAll(_verifierMap.keySet());
+
+ //now get the file now we have the checksum sorted out
+ updateTargetState( __START_STATE, null );
+ }
+ }
+ }
+
+
+
+
+
+ /**
+ * Check the actual checksum against the expected checksum
+ *
+ * @return
+ * @throws StreamVerifierException
+ */
+ public boolean verifyChecksum()
+ throws StreamVerifierException
+ {
+ boolean ok = true;
+
+ synchronized (_verifierMap)
+ {
+ Iterator<Map.Entry<StreamVerifier, String>> itor = _verifierMap.entrySet().iterator();
+ while (itor.hasNext() && ok)
+ {
+ Map.Entry<StreamVerifier, String> e = itor.next();
+ ok = e.getKey().verifySignature();
+ }
+ }
+
+ return ok;
+ }
+
+
+
+ public boolean validate( List<String> errors )
+ {
+ if ( _validators == null || _validators.isEmpty() )
+ {
+ return true;
+ }
+
+ String ext = _binding.getRemoteResource().toString();
+ if (ext.endsWith("/"))
+ ext = ext.substring(0, ext.length()-1);
+
+ int i = ext.lastIndexOf( "." );
+ ext = ( i > 0 ? ext.substring( i + 1 ) : "" );
+
+ for ( Validator v : _validators )
+ {
+ String vExt = v.getFileExtension();
+ if ( vExt.equalsIgnoreCase( ext ) )
+ {
+ try
+ {
+ if (_binding.isFile())
+ {
+ if ( !v.validate( _tempFile.getCanonicalPath(), errors ) )
+ {
+ return false;
+ }
+ }
+ else if (_binding.isInMemory())
+ {
+ //TODO Validation on in memory content?
+ //v.validate(_binding.getInboundContent())
+ }
+ }
+ catch ( IOException e )
+ {
+ errors.add( e.getMessage() );
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+
+
+ protected synchronized void updateTargetState( int state, Throwable ex )
+ {
+ _targetState = state;
+ if ( _exception == null && ex != null )
+ {
+ if ( ex instanceof HttpClientException )
+ {
+ _exception = (HttpClientException) ex;
+ }
+ else
+ {
+ _exception = new HttpClientException( _binding, ex );
+ }
+ }
+
+ if ( _targetState == __START_STATE )
+ {
+ _exchange = retrieveTargetFile();
+ }
+ //if both checksum and target file are ready, we're ready to return callback
+ else if (_targetState == __READY_STATE )
+ {
+ _complete = true;
+ if ( _exception == null )
+ {
+ onComplete();
+ }
+ else
+ {
+ onError( _exception );
+ }
+ }
+ }
+
+ /** Asynchronously fetch the checksum for the target file. */
+ private HttpExchange retrieveChecksum(final int index)
+ {
+ HttpExchange exchange = new HttpExchange.ContentExchange()
+ {
+ protected void onException( Throwable ex )
+ {
+ //if the checksum is mandatory, then propagate the exception and stop processing
+ if (!_verifiers.get(index).getAttributes().isLenient())
+ {
+ updateChecksumState(index, ex);
+ }
+ else
+ updateChecksumState(index, null);
+
+ }
+
+ protected void onResponseComplete() throws IOException
+ {
+ super.onResponseComplete();
+ StreamVerifier v = _verifiers.get(index);
+
+ if ( getResponseStatus() == HttpServletResponse.SC_OK )
+ {
+ //We got a checksum so match it up with the verifier it is for
+ synchronized (_verifierMap)
+ {
+ if( v.getAttributes().isSufficient() )
+ _verifierMap.clear(); //remove all other entries, we only need one checksum
+
+ String actualSignature = getResponseContent().trim();
+ try
+ { // Oleg: verifier need to be loaded upfront
+ v.initSignature( actualSignature );
+ }
+ catch( StreamVerifierException e )
+ {
+ throw new IOException(e.getMessage());
+ }
+ _verifierMap.put( v, actualSignature );
+ }
+ updateChecksumState(index, null);
+ }
+ else
+ {
+ if (!v.getAttributes().isLenient())
+ {
+ //checksum file MUST be present, fail
+ updateChecksumState(index, new Exception ("Mandatory checksum file not found "+this.getURI()));
+ }
+ else
+ updateChecksumState(index, null);
+ }
+ }
+ };
+
+ exchange.setURL( getChecksumFileURLAsString( _verifiers.get(index)) );
+
+ try
+ {
+ SecureSender.send(_server, _retriever.getHttpClient(), exchange);
+ }
+ catch ( Exception ex )
+ {
+ updateChecksumState(index, ex);
+ }
+ return exchange;
+ }
+
+
+ /** Asynchronously fetch the target file. */
+ private HttpExchange retrieveTargetFile()
+ {
+ updateTargetState( __REQUESTED_STATE, null );
+
+ //get the file, calculating the digest for it on the fly
+ FileExchange exchange = new FileGetExchange( _server, _binding, getTempFile(), _observers, _retriever.getHttpClient() )
+ {
+ public void onFileComplete( String url, File localFile )
+ {
+ //we got the target file ok, so tell our main callback
+ _targetState = __READY_STATE;
+ updateTargetState( __READY_STATE, null );
+ }
+
+ public void onFileError( String url, Exception e )
+ {
+ //an error occurred whilst fetching the file, return an error
+ _targetState = __READY_STATE;
+ updateTargetState( __READY_STATE, e );
+ }
+ };
+
+ if( _server != null && _server.hasUserAgent() )
+ exchange.setRequestHeader( HttpHeaders.USER_AGENT, _server.getUserAgent() );
+
+ exchange.send();
+ return exchange;
+ }
+
+ private String getChecksumFileURLAsString (StreamVerifier verifier)
+ {
+ String extension = verifier.getAttributes().getExtension();
+ if (extension.charAt(0) != '.')
+ extension = "."+extension;
+ return _binding.getRemoteResource().toString() + extension;
+ }
+
+ private boolean deleteTempFile()
+ {
+ if ( _tempFile != null && _tempFile.exists() )
+ {
+ boolean ok = _tempFile.delete();
+ if (log.isDebugEnabled())
+ log.debug("Deleting file "+_tempFile.getAbsolutePath()+" : "+ok);
+ return ok;
+ }
+ return false;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/Retriever.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/Retriever.java
new file mode 100644
index 0000000..b5f6a6a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/Retriever.java
@@ -0,0 +1,51 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client.retrieve;
+
+/**
+ * Retriever
+ * <p/>
+ * Component to retrieve a set of remote files as an atomic operation.
+ */
+public interface Retriever
+{
+ /**
+ * Retrieve a set of artifacts and wait until all retrieved successfully
+ * or an error occurs.
+ * <p/>
+ * Note: whilst this method is synchronous for the caller, the implementation
+ * will be asynchronous so many artifacts are fetched in parallel.
+ *
+ * @param request
+ * @return
+ */
+ RetrievalResponse retrieve( RetrievalRequest request );
+
+
+ /**
+ * Retrieve a set of artifacts without waiting for the results.
+ * When all results have been obtained (or an error occurs) the
+ * RetrievalResponse will be called.
+ *
+ * @param request
+ * @param callback
+ */
+ void retrieve( RetrievalRequest request, RetrievalCallback callback );
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/BatchFilter.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/BatchFilter.java
new file mode 100644
index 0000000..788b217
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/BatchFilter.java
@@ -0,0 +1,453 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.mortbay.jetty.HttpMethods;
+import org.mortbay.servlet.PutFilter;
+import org.mortbay.util.IO;
+import org.mortbay.util.URIUtil;
+
+/**
+ * BatchFilter
+ * <p/>
+ * Base class for handling atomic uploads of batches of files.
+ * Subclasses should implement their own means of making the
+ * uploads atomic. The methods putFile, commitFiles, discardFiles
+ * can be overridden/implemented in order to facilitate this.
+ * For example, the DefaultBatchFilter subclass copies all files
+ * to a staging area before moving them to their final locations
+ * upon receipt of a Jetty-Batch-Commit message.
+ * <p/>
+ * TODO consider having a scavenger thread to remove failed or incomplete uploads?
+ *
+ * @see org.sonatype.mercury.server.jetty.DefaultBatchFilter
+ */
+public abstract class BatchFilter extends PutFilter
+{
+ protected ConcurrentMap<String, Batch> _batches = new ConcurrentHashMap<String, Batch>();
+ protected String _batchIdHeader = "Jetty-Batch-Id";
+ protected String _batchSupportedHeader = "Jetty-Batch-Supported";
+ protected String _batchCommitHeader = "Jetty-Batch-Commit";
+ protected String _batchDiscardHeader = "Jetty-Batch-Discard";
+
+ /**
+ * Batch
+ * <p/>
+ * Retains the status of a mercury. If a mercury succeeds it is removed
+ * from the list. If it fails, then it is retained in the list
+ * but marked as failed. If a mercury is not completed, then the
+ * timestamp can be used by a timer thread to clean up.
+ */
+ protected class Batch
+ {
+ protected String _batchId;
+ protected long _timestamp;
+ protected boolean _ok;
+ protected List<String> _files;
+
+
+ public Batch( String batchId, long timestamp )
+ {
+ _batchId = batchId;
+ _timestamp = timestamp;
+ _files = new ArrayList<String>();
+ }
+
+ public String getBatchId()
+ {
+ return _batchId;
+ }
+
+ public void addFile( String file )
+ {
+ _files.add( file );
+ }
+
+ public List getFiles()
+ {
+ return _files;
+ }
+
+ public void failed()
+ {
+ _ok = false;
+ }
+
+ public boolean isOK()
+ {
+ return _ok;
+ }
+
+ public long getTimestamp()
+ {
+ return _timestamp;
+ }
+
+ public String toString()
+ {
+ return "BatchStatus: id=" + _batchId + " ts=" + _timestamp + " count=" + _files.size() + ", " + _ok;
+ }
+ }
+
+ /**
+ * Implement this method to finish the upload of the files by making them
+ * available for download. When this method returns, all files forming part of
+ * the mercury should be available.
+ *
+ * @param request
+ * @param response
+ * @param batchId
+ * @return
+ * @throws Exception
+ */
+ public abstract boolean commitFiles( HttpServletRequest request, HttpServletResponse response, Batch batch )
+ throws Exception;
+
+ /**
+ * Implement this method to abort the upload of a mercury of files. When this method returns,
+ * none of the files forming part of the upload should be available for download.
+ *
+ * @param request
+ * @param response
+ * @param batchId
+ * @return
+ * @throws Exception
+ */
+ public abstract boolean discardFiles( HttpServletRequest request, HttpServletResponse response, Batch batch )
+ throws Exception;
+
+
+ /**
+ * Initialize the filter. Read all configurable parameters.
+ *
+ * @see org.sonatype.servlet.PutFilter#init(javax.servlet.FilterConfig)
+ */
+ public void init( FilterConfig config )
+ throws ServletException
+ {
+ super.init( config );
+
+ //allow name of headers to be exchanged to be configured
+ String s = config.getInitParameter( "batchIdHeader" );
+ if ( s != null )
+ {
+ _batchIdHeader = s;
+ }
+ s = config.getInitParameter( "batchSupportedHeader" );
+ if ( s != null )
+ {
+ _batchSupportedHeader = s;
+ }
+ s = config.getInitParameter( "batchCommitHeader" );
+ if ( s != null )
+ {
+ _batchCommitHeader = s;
+ }
+ s = config.getInitParameter( "batchDiscardHeader" );
+ if ( s != null )
+ {
+ _batchDiscardHeader = s;
+ }
+ }
+
+
+ /**
+ * Run the filter.
+ *
+ * @see org.sonatype.servlet.PutFilter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
+ */
+ public void doFilter( ServletRequest req, ServletResponse res, FilterChain chain )
+ throws IOException, ServletException
+ {
+ HttpServletRequest request = (HttpServletRequest) req;
+ HttpServletResponse response = (HttpServletResponse) res;
+
+ //if GET fall through to filter chain
+ if ( request.getMethod().equals( HttpMethods.GET ) )
+ {
+ chain.doFilter( req, res );
+ return;
+ }
+
+
+ String batchId = request.getHeader( _batchIdHeader );
+ String commitId = request.getHeader( _batchCommitHeader );
+ String discardId = request.getHeader( _batchDiscardHeader );
+
+ //System.err.println("method="+request.getMethod()+" batchid="+batchId+" commitId="+commitId+" discardId="+discardId);
+
+ //we can't do atomic batches, handle as a normal PUT
+ if ( batchId == null && commitId == null && discardId == null )
+ {
+ super.doFilter( req, res, chain );
+ return;
+ }
+
+ /* TODO Is it worth handling this situation? This would mean that a directory was sent as the url
+ * along with a batchId. The cost is that the pathContext would be calculated twice in this case.
+
+ if (pathInContext.endsWith("/"))
+ {
+ super.doFilter(req,res,chain);
+ return;
+ }
+ */
+
+ if ( batchId != null )
+ {
+ handlePut( request, response, batchId );
+ return;
+ }
+
+ if ( discardId != null )
+ {
+ handleDiscard( request, response, discardId );
+ return;
+ }
+
+ if ( commitId != null )
+ {
+ handleCommit( request, response, commitId );
+ return;
+ }
+
+ //otherwise - shouldn't get here
+ chain.doFilter( req, res );
+ }
+
+ /**
+ * Handle a PUT request.
+ * <p/>
+ * The batchId is saved to a list of currently active batchIds so that
+ * all files forming part of the mercury can be committed or discarded as a
+ * whole later on.
+ * <p/>
+ * If a file already exists, then status 200 is returned; if the file
+ * did not previously exist, then status 201 is returned, otherwise
+ * a 403 is returned.
+ *
+ * @param request
+ * @param response
+ * @param batchId
+ * @throws ServletException
+ * @throws IOException
+ */
+ public void handlePut( HttpServletRequest request, HttpServletResponse response, String batchId )
+ throws ServletException, IOException
+ {
+ String servletPath = request.getServletPath();
+ String pathInfo = request.getPathInfo();
+ String pathInContext = URIUtil.addPaths( servletPath, pathInfo );
+ String finalResource = URIUtil.addPaths( _baseURI, pathInContext );
+ File finalFile = null;
+ try
+ {
+ finalFile = new File( new URI( finalResource ) );
+ boolean exists = finalFile.exists();
+
+ putFile( request, response, pathInContext, batchId );
+
+ Batch batch = addBatch( batchId, finalResource );
+
+ String contextPath = _context.getContextPath();
+ if ( contextPath.equals( "" ) )
+ {
+ contextPath = "/";
+ }
+ if ( !contextPath.endsWith( "/" ) )
+ {
+ contextPath += "/";
+ }
+ String commitBatchUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + contextPath;
+ response.setHeader( _batchSupportedHeader, commitBatchUrl );
+ response.setStatus( exists ? HttpServletResponse.SC_OK : HttpServletResponse.SC_CREATED );
+ response.flushBuffer();
+ }
+ catch ( Exception ex )
+ {
+ _context.log( ex.toString(), ex );
+ response.sendError( HttpServletResponse.SC_FORBIDDEN );
+ }
+ }
+
+ /**
+ * Client side wants us to discard all files in mercury.
+ *
+ * @param request
+ * @param response
+ * @param batchId
+ * @throws ServletException
+ * @throws IOException
+ */
+ public void handleDiscard( HttpServletRequest request, HttpServletResponse response, String batchId )
+ throws ServletException, IOException
+ {
+ boolean ok = true;
+ try
+ {
+ ok = discardFiles( request, response, _batches.get( batchId ) );
+ response.setStatus( ( ok ? HttpServletResponse.SC_OK : HttpServletResponse.SC_INTERNAL_SERVER_ERROR ) );
+ response.flushBuffer();
+ }
+ catch ( Exception ex )
+ {
+ _context.log( ex.toString(), ex );
+ response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+ }
+ finally
+ {
+ updateBatch( batchId, ok );
+ }
+ }
+
+
+ /**
+ * Client side wants us to move files into final position.
+ *
+ * @param request
+ * @param response
+ * @param batchId
+ * @throws ServletException
+ * @throws IOException
+ */
+ public void handleCommit( HttpServletRequest request, HttpServletResponse response, String batchId )
+ throws ServletException, IOException
+ {
+ boolean ok = true;
+ try
+ {
+ ok = commitFiles( request, response, _batches.get( batchId ) );
+ response.setStatus( ( ok ? HttpServletResponse.SC_OK : HttpServletResponse.SC_INTERNAL_SERVER_ERROR ) );
+ response.flushBuffer();
+ }
+ catch ( Exception ex )
+ {
+ ex.printStackTrace();
+ _context.log( ex.toString(), ex );
+ response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+ }
+ finally
+ {
+ updateBatch( batchId, ok );
+ }
+ }
+
+ /**
+ * Default behaviour is to put the file directly to it's final location.
+ * <p/>
+ * Subclasses can choose to override this method and put the file
+ * into a staging area first.
+ *
+ * @param request
+ * @param response
+ * @param pathInContext
+ * @param batchId
+ * @throws Exception
+ * @see org.sonatype.mercury.server.jetty.DefaultBatchFilter
+ */
+ public void putFile( HttpServletRequest request,
+ HttpServletResponse response,
+ String pathInContext,
+ String batchId )
+ throws Exception
+ {
+ String finalResource = URIUtil.addPaths( _baseURI, pathInContext );
+ File finalFile = null;
+ finalFile = new File( new URI( finalResource ) );
+ File parent = finalFile.getParentFile();
+ parent.mkdirs();
+ int toRead = request.getContentLength();
+ InputStream in = request.getInputStream();
+ OutputStream out = new FileOutputStream( finalFile, false );
+ if ( toRead >= 0 )
+ {
+ IO.copy( in, out, toRead );
+ }
+ else
+ {
+ IO.copy( in, out );
+ }
+
+ }
+
+ /**
+ * Remember a mercury, or update the count of files in the mercury.
+ *
+ * @param batchId
+ */
+ protected Batch addBatch( String batchId, String file )
+ {
+ Batch status = (Batch) _batches.get( batchId );
+ long timestamp = System.currentTimeMillis();
+ if ( status == null )
+ {
+ status = new Batch( batchId, timestamp );
+ _batches.put( batchId, status );
+ }
+ status.addFile( file );
+ return status;
+ }
+
+
+ /**
+ * Update the status of the mercury.
+ *
+ * @param batchId
+ * @param ok if true, the mercury job is removed from the list; otherwise it is marked as failed
+ */
+ protected void updateBatch( String batchId, boolean ok )
+ {
+ Batch status = (Batch) _batches.get( batchId );
+ if ( status == null )
+ {
+ _context.log( "Unknown mercury id to update: " + batchId );
+ }
+ else
+ {
+ if ( ok )
+ {
+ _batches.remove( batchId );
+ }
+ else
+ {
+ status.failed(); //mark as failed
+ }
+ }
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/StagingBatchFilter.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/StagingBatchFilter.java
new file mode 100644
index 0000000..9eec539
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/StagingBatchFilter.java
@@ -0,0 +1,236 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URI;
+
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.mortbay.util.IO;
+import org.mortbay.util.URIUtil;
+
+
+/**
+ * DefaultBatchFilter
+ * <p/>
+ * Handles the atomic upload (using PUT messages) of a batch of files. "Atomic" means
+ * that either all file uploads succeed or none do. This transactionality can only be
+ * guaranteed when using the mercury client, as a "commit/discard" message
+ * is sent from the client side to indicate how to terminate the mercury operation. If
+ * a commit is received, then all files that form part of the batch - indicated by a
+ * batch id in the PUT headers - are moved from a staging location to the final
+ * location. If a discard is received, then all files forming part of the mercury will
+ * be deleted. If the client side is not the jetty batcher, then the server side
+ * cannot know when the batch has ended, and therefore will immediately copy files
+ * to their final locations during the PUT.
+ */
+public class StagingBatchFilter extends BatchFilter
+{
+ private String _stagingDirURI;
+
+ public void init( FilterConfig config )
+ throws ServletException
+ {
+ super.init( config );
+
+ //allow tmp dir location to be configured
+ String t = config.getInitParameter( "stagingDirURI" );
+ if ( t != null )
+ {
+ _stagingDirURI = t;
+ }
+ else
+ {
+ //fall back to WEB-INF/lib
+ File f = new File( _context.getRealPath( "/" ) );
+ File w = new File( f, "WEB-INF" );
+ File l = new File( w, "lib" );
+ _stagingDirURI = l.toURI().toString();
+ }
+ }
+
+
+ /**
+ * Put the file to a staging area before doing move to final location
+ * on a commit.
+ *
+ * @see BatchFilter#putFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.String)
+ */
+ public void putFile( HttpServletRequest request,
+ HttpServletResponse response,
+ String pathInContext,
+ String batchId )
+ throws Exception
+ {
+ String stagedResource = URIUtil.addPaths( _stagingDirURI,
+ batchId ); //put the file into staging dir under the batchid
+ stagedResource = URIUtil.addPaths( stagedResource, pathInContext );
+ File stagedFile = null;
+
+ try
+ {
+ stagedFile = new File( new URI( stagedResource ) );
+ File parent = stagedFile.getParentFile();
+ parent.mkdirs();
+
+ int toRead = request.getContentLength();
+ InputStream in = request.getInputStream();
+ OutputStream out = new FileOutputStream( stagedFile, false );
+ if ( toRead >= 0 )
+ {
+ IO.copy( in, out, toRead );
+ }
+ else
+ {
+ IO.copy( in, out );
+ }
+ out.close();
+ }
+ catch ( Exception e )
+ {
+ try
+ {
+ if ( stagedFile.exists() )
+ {
+ stagedFile.delete();
+ }
+ throw e;
+ }
+ catch ( Exception ex )
+ {
+ _context.log( ex.toString(), ex );
+ }
+ }
+ }
+
+
+ /**
+ * Do the move of all files in mercury to a final location
+ *
+ * @see BatchFilter#commitFiles(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
+ */
+ public boolean commitFiles( HttpServletRequest request, HttpServletResponse response, Batch batch )
+ throws Exception
+ {
+ if ( batch == null )
+ {
+ return true; //nothing to do
+ }
+
+ boolean ok = true;
+ String stagedResource = URIUtil.addPaths( _stagingDirURI, batch.getBatchId() );
+ File batchDir = new File( new URI( stagedResource ) );
+ File[] files = batchDir.listFiles();
+ for ( int i = 0; files != null && i < files.length; i++ )
+ {
+ String name = files[i].getName();
+ File dest = new File( new URI( URIUtil.addPaths( _baseURI, name ) ) );
+ if ( !files[i].renameTo( dest ) )
+ {
+ ok = false;
+ _context.log("Unable to rename file "+files[i].getAbsolutePath()+" to "+dest.getAbsolutePath());
+ }
+ }
+ if ( ok )
+ {
+ ok = batchDir.delete();
+ if (!ok)
+ _context.log("Unable to delete batch dir "+batchDir.getAbsolutePath());
+ }
+ return ok;
+ }
+
+
+ /**
+ * Delete all files in the mercury from the staging area.
+ *
+ * @see BatchFilter#discardFiles(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
+ */
+ public boolean discardFiles( HttpServletRequest request, HttpServletResponse response, Batch batch )
+ throws Exception
+ {
+ if ( batch == null )
+ {
+ return true; //nothing to do
+ }
+
+ String stagedResource = URIUtil.addPaths( _stagingDirURI, batch.getBatchId() );
+ File batchDir = new File( new URI( stagedResource ) );
+ boolean ok = true;
+ if ( !deleteFile( batchDir ) )
+ {
+ ok = false;
+ }
+ return ok;
+ }
+
+
+ /**
+ * Recursively descend file hierarchy and delete all files.
+ *
+ * @param f
+ * @return
+ */
+ private boolean deleteFile( File f )
+ {
+ if ( f == null )
+ {
+ return true;
+ }
+ if ( f.isFile() )
+ {
+ boolean ok = f.delete();
+ if (!ok)
+ _context.log("Unable to delete file "+f.getAbsolutePath());
+ return ok;
+ }
+ else if ( f.isDirectory() )
+ {
+ File[] files = f.listFiles();
+ boolean ok = true;
+ for ( int i = 0; files != null && i < files.length; i++ )
+ {
+ if ( !deleteFile( files[i] ) )
+ {
+ ok = false;
+ }
+ }
+
+ if ( !f.delete() )
+ {
+ ok = false;
+ _context.log("Unable to delete dir "+f.getAbsolutePath());
+ }
+
+ return ok;
+ }
+ else
+ {
+ return true;
+ }
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/PomValidator.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/PomValidator.java
new file mode 100644
index 0000000..ea7c966
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/PomValidator.java
@@ -0,0 +1,56 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.validate;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.codehaus.plexus.util.FileUtils;
+
+public class PomValidator implements Validator
+{
+ public String getFileExtension()
+ {
+ return "pom";
+ }
+
+ public boolean validate(String stagedFile, List<String> errors)
+ {
+ try
+ {
+ String file = FileUtils.fileRead( stagedFile );
+
+ if ( file.contains( "<project>" ) )
+ {
+ return true;
+ }
+ else
+ {
+ errors.add( "file not valid" );
+ }
+ }
+ catch ( IOException ioe )
+ {
+ errors.add( "ioe" );
+ }
+
+ return false;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/Validator.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/Validator.java
new file mode 100644
index 0000000..1a28b73
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/Validator.java
@@ -0,0 +1,47 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.validate;
+
+import java.util.List;
+
+/**
+ * Validator
+ * <p/>
+ * Interface for validating mercury content prior to completion
+ */
+public interface Validator
+{
+ /**
+ * The file extension the validator will process
+ *
+ * @return String file extension
+ */
+ public String getFileExtension();
+
+ /**
+ * validation for a given file target with errors being able to be logged in the list
+ *
+ * @param stagedFile
+ * @param errors
+ * @return true if target file is valid
+ */
+ public boolean validate( String stagedFile, List<String> errors );
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpReaderTransport.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpReaderTransport.java
new file mode 100644
index 0000000..3291f1b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpReaderTransport.java
@@ -0,0 +1,61 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.http;
+
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.transport.api.AbstractTransport;
+import org.apache.maven.mercury.transport.api.InitializationException;
+import org.apache.maven.mercury.transport.api.ReaderTransport;
+import org.apache.maven.mercury.transport.api.TransportException;
+import org.apache.maven.mercury.transport.api.TransportTransaction;
+
+/**
+ * HTTP retriever adaptor: adopts DefaultRetriever to ReaderTransport API
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class HttpReaderTransport
+extends AbstractTransport
+implements ReaderTransport
+{
+ private DefaultRetriever _retriever;
+
+ public TransportTransaction read( TransportTransaction trx )
+ throws TransportException
+ {
+ return null;
+ }
+
+ public void init()
+ throws InitializationException
+ {
+ try
+ {
+ _retriever = new DefaultRetriever();
+ }
+ catch( HttpClientException e )
+ {
+ throw new InitializationException(e);
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpWriterTransport.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpWriterTransport.java
new file mode 100644
index 0000000..158074f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpWriterTransport.java
@@ -0,0 +1,66 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.transport.http;
+
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployRequest;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.transport.api.AbstractTransport;
+import org.apache.maven.mercury.transport.api.InitializationException;
+import org.apache.maven.mercury.transport.api.TransportException;
+import org.apache.maven.mercury.transport.api.TransportTransaction;
+import org.apache.maven.mercury.transport.api.WriterTransport;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class HttpWriterTransport
+extends AbstractTransport
+implements WriterTransport
+{
+
+ DefaultDeployer _deployer;
+
+ public TransportTransaction write( TransportTransaction trx )
+ throws TransportException
+ {
+ DefaultDeployRequest req = new DefaultDeployRequest();
+// req.setBindings( trx.getBindings() );
+
+ return null;
+ }
+
+ public void init()
+ throws InitializationException
+ {
+ try
+ {
+ _deployer = new DefaultDeployer();
+ }
+ catch( HttpClientException e )
+ {
+ throw new InitializationException(e);
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/Messages.properties b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/Messages.properties
new file mode 100644
index 0000000..dd08521
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/Messages.properties
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+empty.transaction=cannot serve empty transaction {0}, returning it back
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/AuthenticatingJettyDeployerTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/AuthenticatingJettyDeployerTest.java
new file mode 100644
index 0000000..8cd2bb8
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/AuthenticatingJettyDeployerTest.java
@@ -0,0 +1,60 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.client;
+
+import java.net.URL;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.spi.http.server.AuthenticatingPutServer;
+import org.apache.maven.mercury.transport.api.Credentials;
+
+public class AuthenticatingJettyDeployerTest extends JettyDeployerTest
+{
+
+ public AuthenticatingJettyDeployerTest () throws Exception
+ {
+ super();
+ }
+
+ protected void setUp() throws Exception
+ {
+ setUpFiles();
+ _deployer = new DefaultDeployer();
+ _putServer = new AuthenticatingPutServer();
+ _putServer.start();
+ _port = String.valueOf(_putServer.getPort());
+ setUpServerType();
+ }
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ protected void setUpServerType () throws Exception
+ {
+ HashSet<org.apache.maven.mercury.transport.api.Server> remoteServerTypes = new HashSet<org.apache.maven.mercury.transport.api.Server>();
+ remoteServerType = new org.apache.maven.mercury.transport.api.Server( "test", new URL(_HOST_FRAGMENT+_port), false, false, new Credentials("foo", "bar"));
+ factories = new HashSet<StreamVerifierFactory>();
+ remoteServerTypes.add(remoteServerType);
+ _deployer.setServers(remoteServerTypes);
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/AuthenticatingJettyRetrieverTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/AuthenticatingJettyRetrieverTest.java
new file mode 100644
index 0000000..aa94323
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/AuthenticatingJettyRetrieverTest.java
@@ -0,0 +1,56 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.client;
+
+import java.net.URL;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.server.AuthenticatingTestServer;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+
+public class AuthenticatingJettyRetrieverTest extends JettyRetrieverTest
+{
+ public void setUp ()
+ throws Exception
+ {
+ server = new AuthenticatingTestServer();
+ server.start();
+ _port=String.valueOf(server.getPort());
+
+ HashSet<Server> remoteServerTypes = new HashSet<Server>();
+ remoteServerType = new Server( "test", new URL(__HOST_FRAGMENT+_port), false, false,
+ new Credentials(((AuthenticatingTestServer)server).getUsername(), ((AuthenticatingTestServer)server).getPassword()));
+ factories = new HashSet<StreamVerifierFactory>();
+
+ remoteServerTypes.add(remoteServerType);
+
+ retriever = new DefaultRetriever();
+ retriever.setServers(remoteServerTypes);
+ }
+
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
new file mode 100644
index 0000000..fb3a2c9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
@@ -0,0 +1,494 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStream;
+import java.net.URL;
+import java.util.HashSet;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.spi.http.client.deploy.DeployRequest;
+import org.apache.maven.mercury.spi.http.client.deploy.DeployResponse;
+import org.apache.maven.mercury.spi.http.server.SimplePutServer;
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.mortbay.util.IO;
+
+public class JettyDeployerTest extends TestCase
+{
+ public String _HOST_FRAGMENT = "http://localhost:";
+ public static final String __PATH_FRAGMENT = "/maven2/repo/";
+
+ private static final String keyId = "0EDB5D91141BC4F2";
+
+ private static final String secretKeyFile = "/pgp/secring.gpg";
+ private static final String secretKeyPass = "testKey82";
+
+ protected DefaultDeployer _deployer;
+ protected SimplePutServer _putServer;
+ protected String _port;
+ File _baseDir;
+ File _file0;
+ File _file1;
+ File _file2;
+ File _file3;
+ File _file4;
+ File _file5;
+ File _file6;
+
+ org.apache.maven.mercury.transport.api.Server remoteServerType;
+ HashSet<StreamVerifierFactory> factories;
+
+ protected class DeployRequestImpl implements DeployRequest
+ {
+ private Set<Binding> _bindings = new HashSet<Binding>();
+ private boolean _failFast;
+
+ public Set<Validator> getValidators()
+ {
+ return null;
+ }
+ public void setBindings(Set<Binding> bindings)
+ {
+ _bindings=bindings;
+ }
+ public Set<Binding> getBindings()
+ {
+ return _bindings;
+ }
+
+ public boolean isFailFast()
+ {
+ return _failFast;
+ }
+
+ public void setFailFast (boolean f)
+ {
+ _failFast=f;
+ }
+ };
+
+ public JettyDeployerTest () throws Exception
+ {
+
+ }
+
+ public void setUpFiles () throws Exception
+ {
+ //copy the test files from the classpath to disk
+ _baseDir = File.createTempFile("deployerTestFiles",null);
+ _baseDir.delete();
+ _baseDir.mkdir();
+ _baseDir.deleteOnExit();
+ URL list = JettyDeployerTest.class.getResource("/testRepo/");
+ LineNumberReader in = new LineNumberReader(new InputStreamReader(list.openStream()));
+ String file=null;
+ while ((file=in.readLine())!=null)
+ {
+ if (!file.startsWith("file"))
+ continue;
+ OutputStream out=new FileOutputStream(new File(_baseDir,file));
+ IO.copy(JettyDeployerTest.class.getResource("/testRepo/"+file).openStream(),out);
+ out.close();
+ }
+ }
+
+ protected void setUp() throws Exception
+ {
+ setUpFiles();
+ _deployer = new DefaultDeployer();
+ _putServer = new SimplePutServer();
+ _putServer.start();
+ _port = String.valueOf(_putServer.getPort());
+ setUpServerType();
+ super.setUp();
+ }
+
+
+ public void destroy (File f)
+ {
+ if (f == null)
+ return;
+ if (f.isDirectory())
+ {
+ File[] files = f.listFiles();
+ for (int i=0;files!=null && i<files.length; i++)
+ {
+ destroy (files[i]);
+ }
+ }
+ f.delete();
+ }
+
+ protected void setUpServerType () throws Exception
+ {
+ HashSet<org.apache.maven.mercury.transport.api.Server> remoteServerTypes = new HashSet<org.apache.maven.mercury.transport.api.Server>();
+ remoteServerType = new org.apache.maven.mercury.transport.api.Server( "test", new URL(_HOST_FRAGMENT+_port));
+ factories = new HashSet<StreamVerifierFactory>();
+ remoteServerTypes.add(remoteServerType);
+ _deployer.setServers(remoteServerTypes);
+ }
+
+ protected void tearDown() throws Exception
+ {
+ _putServer.stop();
+ _putServer.destroy();
+ destroy(_baseDir);
+ System.err.println("Destroyed "+_baseDir.getAbsolutePath());
+ super.tearDown();
+ }
+
+ public void testUploadOKWithChecksums () throws Exception
+ {
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ DeployRequestImpl request = new DeployRequestImpl();
+ factories.add( new SHA1VerifierFactory(false, true) ); //!lenient, sufficient
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( secretKeyFile )
+ , keyId, secretKeyPass
+ )
+ );
+ remoteServerType.setWriterStreamVerifierFactories(factories);
+
+ System.err.println("Basedir = "+_baseDir.getAbsolutePath());
+
+ _file0 = new File(_baseDir, "file0.txt");
+ _file1 = new File(_baseDir, "file1.txt");
+ _file2 = new File(_baseDir, "file2.txt");
+ _file3 = new File(_baseDir, "file3.jar");
+ _file4 = new File(_baseDir, "file4.so");
+ _file5 = new File(_baseDir, "file5.jpg");
+ _file6 = new File(_baseDir, "file6.gif");
+ Binding binding0 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), _file0);
+ Binding binding3 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), _file3);
+ Binding binding4 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), _file4);
+ Binding binding5 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), _file5);
+ Binding binding6 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file6.gif"), _file6);
+
+ bindings.add(binding0);
+ bindings.add(binding3);
+ bindings.add(binding4);
+ bindings.add(binding5);
+ bindings.add(binding6);
+
+ request.setBindings(bindings);
+
+ DeployResponse response = _deployer.deploy(request);
+
+ for (HttpClientException t:response.getExceptions())
+ t.printStackTrace();
+
+ assertEquals(0, response.getExceptions().size());
+ File f0 = new File(_putServer.getPutDir(), "file0.txt");
+ File f0cs = new File (_putServer.getPutDir(), "file0.txt.sha1");
+ assertTrue (f0.exists());
+ assertTrue (f0cs.exists());
+
+ File f3 = new File(_putServer.getPutDir(), "file3.jar");
+ File f3cs = new File (_putServer.getPutDir(), "file3.jar.sha1");
+ assertTrue(f3.exists());
+ assertTrue(f3cs.exists());
+
+ File f4 = new File(_putServer.getPutDir(), "file4.so");
+ File f4cs = new File (_putServer.getPutDir(), "file4.so.sha1");
+ assertTrue (f4.exists());
+ assertTrue (f4cs.exists());
+
+ File f5 = new File(_putServer.getPutDir(), "file5.jpg");
+ File f5cs = new File (_putServer.getPutDir(), "file5.jpg.sha1");
+ assertTrue (f5.exists());
+ assertTrue (f5cs.exists());
+
+ File f6 = new File(_putServer.getPutDir(), "file6.gif");
+ File f6cs = new File (_putServer.getPutDir(), "file6.gif.asc");
+ assertTrue (f6.exists());
+ assertTrue (f6cs.exists());
+
+ }
+ /* This test duplicates the one above unless we allow for checksum files to
+ * be pre-existing
+
+ public void testUploadOKMissingChecksum () throws Exception
+ {
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ DeployRequestImpl request = new DeployRequestImpl();
+
+ _file0 = new File(_baseDir, "file0.txt");
+ _file1 = new File(_baseDir, "file1.txt");
+ _file2 = new File(_baseDir, "file2.txt");
+ _file3 = new File(_baseDir, "file3.jar");
+ _file4 = new File(_baseDir, "file4.so");
+ _file5 = new File(_baseDir, "file5.jpg");
+
+ _binding0.setRemoteResource(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt");
+ _binding0.setLocalFile(_file0);
+ bindings.add(_binding0);
+
+ //TODO Test Lenient
+ _binding1.setRemoteResource(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"); //has no sha file
+ _binding1.setLocalFile(_file1);
+ //_binding1.setLenientChecksum(true);
+ bindings.add(_binding1);
+
+ _binding3.setRemoteResource(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar");
+ _binding3.setLocalFile(_file3);
+ bindings.add(_binding3);
+
+ _binding4.setRemoteResource(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so");
+ _binding4.setLocalFile(_file4);
+ bindings.add(_binding4);
+
+ _binding5.setRemoteResource(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg");
+ _binding5.setLocalFile(_file5);
+ bindings.add(_binding5);
+
+ request.setBindings(bindings);
+
+ DeployResponse response = _deployer.deploy(request);
+
+ //for (MercuryException t:response.getExceptions())
+ // t.printStackTrace();
+
+ assertEquals(10, _putServer.getPutDir().list().length);
+ assertEquals(0, response.getExceptions().size());
+ File f0 = new File(_putServer.getPutDir(), "file0.txt");
+ File f0cs = new File (_putServer.getPutDir(), "file0.txt.sha1");
+ assertTrue (f0.exists());
+ assertTrue (f0cs.exists());
+
+ File f1 = new File(_putServer.getPutDir(), "file1.txt");
+ File f1cs = new File(_putServer.getPutDir(), "file1.txt.sha1");
+ assertTrue(f1.exists());
+ assertTrue(f1cs.exists());
+
+ File f3 = new File(_putServer.getPutDir(), "file3.jar");
+ File f3cs = new File (_putServer.getPutDir(), "file3.jar.sha1");
+ assertTrue(f3.exists());
+ assertTrue(f3cs.exists());
+
+ File f4 = new File(_putServer.getPutDir(), "file4.so");
+ File f4cs = new File (_putServer.getPutDir(), "file4.so.sha1");
+ assertTrue (f4.exists());
+ assertTrue (f4cs.exists());
+
+ File f5 = new File(_putServer.getPutDir(), "file5.jpg");
+ File f5cs = new File (_putServer.getPutDir(), "file5.jpg.sha1");
+ assertTrue (f5.exists());
+ assertTrue (f5cs.exists());
+ }
+ */
+
+
+ public void testUploadFail () throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(false, true)); //!lenient, sufficient
+ remoteServerType.setWriterStreamVerifierFactories(factories);
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ DeployRequestImpl request = new DeployRequestImpl();
+
+ _file0 = new File(_baseDir, "file0.txt");
+ _file1 = new File(_baseDir, "file1.txt");
+ _file2 = new File(_baseDir, "file2.txt");
+ _file3 = new File(_baseDir, "file3.jar");
+ _file4 = new File(_baseDir, "file4.so");
+ _file5 = new File(_baseDir, "file5.jpg");
+ File file6 = new File(_baseDir, "file6.txt");//doesn't exist
+ File file7 = new File(_baseDir, "file7.txt");//doesn't exist
+
+ Binding binding0 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), _file0);
+ bindings.add(binding0);
+
+ Binding binding3 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), _file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), _file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), _file5);
+ bindings.add(binding5);
+
+ Binding binding6 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file6.txt"), file6);
+ bindings.add(binding6);
+
+ Binding binding7 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file7.txt"), file7);
+ bindings.add(binding7);
+
+ request.setBindings(bindings);
+ DeployResponse response = _deployer.deploy(request);
+
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+
+ //as the serverside is not running the mercury enhancements to the put filter, then
+ //all the files except for the 2 which don't exists should have been uploaded
+ assertEquals(2, response.getExceptions().size());
+ File f0 = new File(_putServer.getPutDir(), "file0.txt");
+ File f0cs = new File (_putServer.getPutDir(), "file0.txt.sha1");
+ assertTrue (f0.exists());
+ assertTrue (f0cs.exists());
+
+ File f3 = new File(_putServer.getPutDir(), "file3.jar");
+ File f3cs = new File (_putServer.getPutDir(), "file3.jar.sha1");
+ assertTrue(f3.exists());
+ assertTrue(f3cs.exists());
+
+ File f4 = new File(_putServer.getPutDir(), "file4.so");
+ File f4cs = new File (_putServer.getPutDir(), "file4.so.sha1");
+ assertTrue (f4.exists());
+ assertTrue (f4cs.exists());
+
+ File f5 = new File(_putServer.getPutDir(), "file5.jpg");
+ File f5cs = new File (_putServer.getPutDir(), "file5.jpg.sha1");
+ assertTrue (f5.exists());
+ assertTrue (f5cs.exists());
+
+ File f6 = new File(_putServer.getPutDir(), "file6.txt");
+ File f6cs = new File (_putServer.getPutDir(), "file6.txt.sha1");
+ assertFalse (f6.exists());
+ assertFalse (f6cs.exists());
+
+ File f7 = new File(_putServer.getPutDir(), "file7.txt");
+ File f7cs = new File (_putServer.getPutDir(), "file7.txt.sha1");
+ assertFalse (f7.exists());
+ assertFalse (f7cs.exists());
+ }
+
+ public void testUploadFailFast () throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(false, true)); //!lenient, sufficient
+ remoteServerType.setWriterStreamVerifierFactories(factories);
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ DeployRequestImpl request = new DeployRequestImpl();
+
+ _file0 = new File(_baseDir, "file0.txt");
+ _file1 = new File(_baseDir, "file1.txt");
+ _file2 = new File(_baseDir, "file2.txt");
+ _file3 = new File(_baseDir, "file3.jar");
+ _file4 = new File(_baseDir, "file4.so");
+ _file5 = new File(_baseDir, "file5.jpg");
+ File file6 = new File(_baseDir, "file6.txt");//doesn't exist
+ File file7 = new File(_baseDir, "file7.txt");//doesn't exist
+
+ Binding binding0 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), _file0);
+ bindings.add(binding0);
+
+ Binding binding3 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), _file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), _file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), _file5);
+ bindings.add(binding5);
+
+ Binding binding6 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file6.txt"), file6);
+ bindings.add(binding6);
+
+ Binding binding7 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file7.txt"), file7);
+ bindings.add(binding7);
+
+ request.setBindings(bindings);
+ request.setFailFast(true);
+ DeployResponse response = _deployer.deploy(request);
+
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+
+ //with failfast==true and the server side not running the mercury enhancements, we have no way to know
+ //how many files actually did get uploaded, but the first exception should cause it to stop
+ assertEquals(1, response.getExceptions().size());
+
+ File f6 = new File(_putServer.getPutDir(), "file6.txt");
+ File f6cs = new File (_putServer.getPutDir(), "file6.txt.sha1");
+ assertFalse (f6.exists());
+ assertFalse (f6cs.exists());
+ File f7 = new File(_putServer.getPutDir(), "file7.txt");
+ File f7cs = new File (_putServer.getPutDir(), "file7.txt.sha1");
+ assertFalse (f7.exists());
+ assertFalse (f7cs.exists());
+
+
+ Thread.sleep(500);
+ }
+
+ public void testMemoryDeployment () throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(false, true)); //!lenient, sufficient
+ remoteServerType.setWriterStreamVerifierFactories(factories);
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ DeployRequestImpl request = new DeployRequestImpl();
+
+ String s0 = "memory contents0";
+ InputStream is0 = new ByteArrayInputStream(s0.getBytes());
+ Binding binding0 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), is0);
+ bindings.add(binding0);
+
+ String s5 = "memory contents5";
+ InputStream is5 = new ByteArrayInputStream(s5.getBytes());
+ Binding binding5 = new Binding(new URL(_HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), is5);
+ bindings.add(binding5);
+
+ request.setBindings(bindings);
+ request.setFailFast(true);
+ DeployResponse response = _deployer.deploy(request);
+
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+
+
+ assertEquals(0, response.getExceptions().size());
+
+
+ File f0 = new File(_putServer.getPutDir(), "file0.txt");
+ File f0cs = new File (_putServer.getPutDir(), "file0.txt.sha1");
+ assertTrue (f0.exists());
+ BufferedReader reader = new BufferedReader(new FileReader(f0));
+ String s = reader.readLine();
+ reader.close();
+ assertEquals(s0, s.trim());
+ assertTrue (f0cs.exists());
+
+ File f5 = new File(_putServer.getPutDir(), "file5.jpg");
+ File f5cs = new File (_putServer.getPutDir(), "file5.jpg.sha1");
+ assertTrue (f5.exists());
+ reader = new BufferedReader(new FileReader(f5));
+ s = reader.readLine();
+ reader.close();
+ assertEquals(s5, s.trim());
+ assertTrue (f5cs.exists());
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
new file mode 100644
index 0000000..f8f1331
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
@@ -0,0 +1,570 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.HashSet;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.client.retrieve.RetrievalResponse;
+import org.apache.maven.mercury.spi.http.server.SimpleTestServer;
+import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Server;
+import org.mortbay.util.IO;
+
+public class JettyRetrieverTest extends TestCase
+{
+ public static final String __HOST_FRAGMENT = "http://localhost:";
+ public static final String __PATH_FRAGMENT = "/maven2/repo/";
+
+ private static final String publicKeyFile = "/pgp/pubring.gpg";
+
+ public String _port;
+ File file0;
+ File file1;
+ File file2;
+ File file3;
+ File file4;
+ File file5;
+ File file6;
+
+ DefaultRetriever retriever;
+ SimpleTestServer server;
+ Server remoteServerType;
+ HashSet<StreamVerifierFactory> factories;
+ File dir;
+
+
+ public class TxtValidator implements Validator
+ {
+
+ public String getFileExtension()
+ {
+ return "txt";
+ }
+
+ public boolean validate(String stagedFile, List<String> errors)
+ {
+ if (stagedFile==null)
+ return true;
+ int i = stagedFile.lastIndexOf(".");
+ String ext = (i>=0?stagedFile.substring(i+1):"");
+ if ("txt".equalsIgnoreCase(ext))
+ {
+ //just accept any file contents
+ File f = new File(stagedFile);
+ return f.isFile();
+ }
+
+ return false;
+ }
+
+ }
+
+ public class AlwaysFalseTxtValidator extends TxtValidator
+ {
+ public String getFileExtension()
+ {
+ return "txt";
+ }
+
+ public boolean validate(String stagedFile, List<String> errors)
+ {
+ errors.add("Always false");
+ return false;
+ }
+ }
+
+ public void setUp ()
+ throws Exception
+ {
+ server = new SimpleTestServer();
+ server.start();
+ _port=String.valueOf(server.getPort());
+
+ HashSet<Server> remoteServerTypes = new HashSet<Server>();
+ remoteServerType = new Server( "test", new URL(__HOST_FRAGMENT+_port));
+ factories = new HashSet<StreamVerifierFactory>();
+
+ remoteServerTypes.add(remoteServerType);
+
+ retriever = new DefaultRetriever();
+ retriever.setServers(remoteServerTypes);
+ }
+
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ server.stop();
+ server.destroy();
+ destroy(dir);
+ }
+
+
+ public void destroy (File f)
+ {
+ if (f == null)
+ return;
+ if (f.isDirectory())
+ {
+ File[] files = f.listFiles();
+ for (int i=0;files!=null && i<files.length; i++)
+ {
+ destroy (files[i]);
+ }
+ }
+ f.delete();
+ }
+
+
+ public File mkTempDir()
+ throws Exception
+ {
+ File dir = File.createTempFile("mercury", "tmp");
+ dir.delete();
+ dir.mkdir();
+ dir.deleteOnExit();
+ assert dir.exists();
+ assert dir.isDirectory();
+ assert dir.canWrite();
+ return dir;
+ }
+
+ public void testSyncRetrievalAllGood()
+ throws Exception
+ {
+ factories.add( new SHA1VerifierFactory(false, true) ); //!lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+
+ file0 = new File(dir, "file0.txt");
+ file1 = new File(dir, "file1.txt");
+ file2 = new File(dir, "file2.txt");
+ file3 = new File(dir, "file3.jar");
+ file4 = new File(dir, "file4.so");
+ file5 = new File(dir, "file5.jpg");
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+ bindings.add(binding0);
+
+ Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"),file1); //has no sha file
+ bindings.add(binding1);
+
+ Binding binding2 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file2.txt"), file2); //has wrong sha file
+ bindings.add(binding2);
+
+ Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
+ bindings.add(binding5);
+
+ request.setBindings(bindings);
+
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("--------- testSyncRetrievalAllGood --------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+ assertEquals(2,response.getExceptions().size());
+ assertTrue(!file0.exists());
+ assertTrue(!file1.exists());
+ assertTrue(!file2.exists());
+ assertTrue(!file3.exists());
+ assertTrue(!file4.exists());
+ assertTrue(!file5.exists());
+
+ }
+
+
+ public void testSyncRetrievalPgpGood()
+ throws Exception
+ {
+ factories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+
+ file6 = new File(dir, "file6.gif");
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file6.gif"), file6);
+ bindings.add(binding0);
+
+ request.setBindings(bindings);
+
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("--------- testSyncRetrievalPgpGood --------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+ assertEquals( 0, response.getExceptions().size() );
+ assertTrue( file6.exists() );
+
+ }
+
+
+ public void testSyncRetrievalFailFast()
+ throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(false, true)); //!lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+
+ file0 = new File(dir, "file0.txt");
+ file1 = new File(dir, "file1.txt");
+ file2 = new File(dir, "file2.txt");
+ file3 = new File(dir, "file3.jar");
+ file4 = new File(dir, "file4.so");
+ file5 = new File(dir, "file5.jpg");
+
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+ bindings.add(binding0);
+
+ Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"), file1); //has no sha file
+ bindings.add(binding1);
+
+ Binding binding2 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file2.txt"), file2); //has wrong sha file
+ bindings.add(binding2);
+
+ Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
+ bindings.add(binding5);
+
+
+ request = new DefaultRetrievalRequest();
+ request.setBindings(bindings);
+ request.setFailFast(true);
+
+ request.setBindings(bindings);
+
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("--------- testSyncRetrievalFailFast -------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+
+ assertTrue(!file0.exists());
+ assertTrue(!file1.exists());
+ assertTrue(!file2.exists());
+ assertTrue(!file3.exists());
+ assertTrue(!file4.exists());
+ assertTrue(!file5.exists());
+
+ Thread.sleep(100);
+ }
+
+ public void testSyncRetrievalLenient0()
+ throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(true, true)); //lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+
+ file0 = new File(dir, "file0.txt");
+ file1 = new File(dir, "file1.txt");
+ file2 = new File(dir, "file2.txt");
+ file3 = new File(dir, "file3.jar");
+ file4 = new File(dir, "file4.so");
+ file5 = new File(dir, "file5.jpg");
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+ bindings.add(binding0);
+
+ Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"), file1); //has no sha file
+ bindings.add(binding1);
+
+ Binding binding2 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file2.txt"), file2); //has wrong sha file
+ bindings.add(binding2);
+
+ Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"),file3 );
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
+ bindings.add(binding5);
+
+ request.setBindings(bindings);
+ request.setFailFast(false);
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("--------- testSyncRetrievalLenient0 -------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+
+ assertEquals(1,response.getExceptions().size());
+ assertEquals(binding2,response.getExceptions().iterator().next().getBinding());
+ assertTrue(!file0.exists());
+ assertTrue(!file1.exists());
+ assertTrue(!file2.exists());
+ assertTrue(!file3.exists());
+ assertTrue(!file4.exists());
+ assertTrue(!file5.exists());
+ }
+
+ public void testSyncRetrievalLenient1()
+ throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(true, true)); //lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+
+ file0 = new File(dir, "file0.txt");
+ file1 = new File(dir, "file1.txt");
+ file2 = new File(dir, "file2.txt");
+ file3 = new File(dir, "file3.jar");
+ file4 = new File(dir, "file4.so");
+ file5 = new File(dir, "file5.jpg");
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+ bindings.add(binding0);
+
+ Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"), file1); //has no sha file
+ bindings.add(binding1);
+
+ Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
+ bindings.add(binding5);
+
+ request.setBindings(bindings);
+ request.setFailFast(false);
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("------------- testSyncRetrievalLenient1 ---------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+
+ assertEquals(0,response.getExceptions().size());
+ assertTrue(file0.exists());
+ assertTrue(file1.exists());
+ assertTrue(!file2.exists());
+ assertTrue(file3.exists());
+ assertTrue(file4.exists());
+ assertTrue(file5.exists());
+
+ }
+
+ public void testValidatorSuccess() throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(true, true)); //lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ HashSet<Validator> validators = new HashSet<Validator>();
+ validators.add(new TxtValidator());
+ request.setValidators(validators);
+
+ file0 = new File(dir, "file0.txt");
+ file1 = new File(dir, "file1.txt");
+ file2 = new File(dir, "file2.txt");
+ file3 = new File(dir, "file3.jar");
+ file4 = new File(dir, "file4.so");
+ file5 = new File(dir, "file5.jpg");
+
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+ bindings.add(binding0);
+
+ Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"), file1); //has no sha file
+ bindings.add(binding1);
+
+ Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
+ bindings.add(binding5);
+
+ request.setFailFast(false);
+
+ request.setBindings(bindings);
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("------------ testValidatorSuccess ---------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+
+ assertEquals(0,response.getExceptions().size());
+ assertTrue(file0.exists());
+ assertTrue(file1.exists());
+ assertTrue(!file2.exists());
+ assertTrue(file3.exists());
+ assertTrue(file4.exists());
+ assertTrue(file5.exists());
+ }
+
+ public void testValidatorFailure () throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(true, true)); //lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ HashSet<Validator> validators = new HashSet<Validator>();
+ validators.add(new AlwaysFalseTxtValidator());
+ request.setValidators(validators);
+
+ file0 = new File(dir, "file0.txt");
+ file1 = new File(dir, "file1.txt");
+ file2 = new File(dir, "file2.txt");
+ file3 = new File(dir, "file3.jar");
+ file4 = new File(dir, "file4.so");
+ file5 = new File(dir, "file5.jpg");
+
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+ bindings.add(binding0);
+
+ Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"), file1); //has no sha file
+ bindings.add(binding1);
+
+ Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), file3);
+ bindings.add(binding3);
+
+ Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
+ bindings.add(binding4);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
+ bindings.add(binding5);
+
+ request.setFailFast(false);
+
+ request.setBindings(bindings);
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("---------- testValidatorFail --------------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+
+ assertEquals(2,response.getExceptions().size());
+ assertTrue(!file0.exists());
+ assertTrue(!file1.exists());
+ assertTrue(!file2.exists());
+ assertTrue(!file3.exists());
+ assertTrue(!file4.exists());
+ assertTrue(!file5.exists());
+ }
+
+ public void testMemoryRetrieval () throws Exception
+ {
+ factories.add(new SHA1VerifierFactory(true, true)); //lenient, sufficient
+ remoteServerType.setReaderStreamVerifierFactories(factories);
+
+ //make local dir to put stuff in
+ dir = mkTempDir();
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ HashSet<Binding> bindings = new HashSet<Binding>();
+ HashSet<Validator> validators = new HashSet<Validator>();
+ validators.add(new TxtValidator());
+ request.setValidators(validators);
+
+ Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"));
+ bindings.add(binding0);
+
+ Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"));
+ bindings.add(binding5);
+
+ request.setFailFast(false);
+
+ request.setBindings(bindings);
+ RetrievalResponse response = retriever.retrieve(request);
+
+// System.err.println("--------- testMemoryRetrieval -------------------");
+// for (HttpClientException t:response.getExceptions())
+// t.printStackTrace();
+// System.err.println("-------------------------------------------------");
+
+ assertEquals(0,response.getExceptions().size());
+
+
+ InputStream is = this.getClass().getResourceAsStream("/testRepo/file0.txt");
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ IO.copy(is, os);
+ assertEquals(os.toByteArray().length, binding0.getInboundContent().length);
+ is.close();
+ os.close();
+
+ is = this.getClass().getResourceAsStream("/testRepo/file5.jpg");
+ os.reset();
+ IO.copy(is,os);
+ assertEquals(os.toByteArray().length, binding5.getInboundContent().length);
+ is.close();
+ os.close();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/ProxyJettyDeployerTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/ProxyJettyDeployerTest.java
new file mode 100644
index 0000000..c049d87
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/ProxyJettyDeployerTest.java
@@ -0,0 +1,84 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import java.net.URL;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.spi.http.server.AuthenticatingProxyServer;
+import org.apache.maven.mercury.spi.http.server.AuthenticatingPutServer;
+import org.apache.maven.mercury.transport.api.Credentials;
+
+public class ProxyJettyDeployerTest extends JettyDeployerTest
+{
+
+
+ AuthenticatingProxyServer _proxyServer;
+ String _proxyPort;
+
+
+ public ProxyJettyDeployerTest() throws Exception
+ {
+ super();
+ }
+ protected void setUp() throws Exception
+ {
+ setUpFiles();
+ //Set up a proxy server (which requires authentication)
+ _proxyServer = new AuthenticatingProxyServer();
+ _proxyServer.start();
+ _proxyPort = String.valueOf(_proxyServer.getPort());
+
+ _deployer = new DefaultDeployer();
+
+ //set up a target server (which requires authentication)
+ _putServer = new AuthenticatingPutServer();
+ _putServer.start();
+ _port = String.valueOf(_putServer.getPort());
+ setUpServerType();
+ }
+
+
+
+ protected void setUpServerType () throws Exception
+ {
+ HashSet<org.apache.maven.mercury.transport.api.Server> remoteServerTypes = new HashSet<org.apache.maven.mercury.transport.api.Server>();
+ remoteServerType = new org.apache.maven.mercury.transport.api.Server( "test",
+ new URL(_HOST_FRAGMENT+_port),
+ false,
+ false,
+ new Credentials(((AuthenticatingPutServer)_putServer).getUsername(), ((AuthenticatingPutServer)_putServer).getPassword()),
+ new URL(_HOST_FRAGMENT+_proxyPort),
+ new Credentials(_proxyServer.getUsername(), _proxyServer.getPassword()));
+ factories = new HashSet<StreamVerifierFactory>();
+ remoteServerTypes.add(remoteServerType);
+ _deployer.setServers(remoteServerTypes);
+ }
+
+
+
+ protected void tearDown() throws Exception
+ {
+ _proxyServer.stop();
+ super.tearDown();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/ProxyJettyRetrieverTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/ProxyJettyRetrieverTest.java
new file mode 100644
index 0000000..708e38b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/ProxyJettyRetrieverTest.java
@@ -0,0 +1,70 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.client;
+
+import java.net.URL;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.server.AuthenticatingProxyServer;
+import org.apache.maven.mercury.spi.http.server.AuthenticatingTestServer;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+
+public class ProxyJettyRetrieverTest extends JettyRetrieverTest
+{
+ AuthenticatingProxyServer _proxyServer;
+ String _proxyPort;
+
+ public void setUp ()
+ throws Exception
+ {
+ //Set up a proxy server (which requires authentication)
+ _proxyServer = new AuthenticatingProxyServer();
+ _proxyServer.start();
+ _proxyPort = String.valueOf(_proxyServer.getPort());
+
+ //Set up the real target server (which requires authentication)
+ server = new AuthenticatingTestServer();
+ server.start();
+ _port=String.valueOf(server.getPort());
+
+ HashSet<Server> remoteServerTypes = new HashSet<Server>();
+ remoteServerType = new Server( "test", new URL(__HOST_FRAGMENT+_port),
+ false,
+ false,
+ new Credentials(((AuthenticatingTestServer)server).getUsername(), ((AuthenticatingTestServer)server).getPassword()),
+ new URL(__HOST_FRAGMENT+_proxyPort),
+ new Credentials(_proxyServer.getUsername(), _proxyServer.getPassword()));
+ factories = new HashSet<StreamVerifierFactory>();
+
+ remoteServerTypes.add(remoteServerType);
+
+ retriever = new DefaultRetriever();
+ retriever.setServers(remoteServerTypes);
+ }
+
+
+ protected void tearDown() throws Exception
+ {
+ _proxyServer.stop();
+ super.tearDown();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/SecureJettyDeployerTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/SecureJettyDeployerTest.java
new file mode 100644
index 0000000..f373b12
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/SecureJettyDeployerTest.java
@@ -0,0 +1,46 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.client;
+
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.spi.http.server.SecurePutServer;
+
+public class SecureJettyDeployerTest extends JettyDeployerTest
+{
+ public SecureJettyDeployerTest() throws Exception
+ {
+ super();
+ }
+
+ protected void setUp() throws Exception
+ {
+ _HOST_FRAGMENT = "https://localhost:";
+
+ setUpFiles();
+ _deployer = new DefaultDeployer();
+ _putServer = new SecurePutServer();
+ _putServer.start();
+ _port = String.valueOf(_putServer.getPort());
+ setUpServerType();
+ //super.setUp();
+ }
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingProxyServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingProxyServer.java
new file mode 100644
index 0000000..54ee9b5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingProxyServer.java
@@ -0,0 +1,111 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.DefaultHandler;
+import org.mortbay.jetty.handler.HandlerCollection;
+import org.mortbay.jetty.security.B64Code;
+import org.mortbay.jetty.security.HashUserRealm;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.servlet.ProxyServlet;
+import org.mortbay.util.StringUtil;
+
+public class AuthenticatingProxyServer extends Server
+{
+ public static final String __username = "foo";
+ public static final String __password = "banana";
+ public static final String __role = "fooproxy";
+ protected Context _context;
+
+
+
+
+ public static class AuthProxyServlet extends ProxyServlet
+ {
+ public void service(ServletRequest request, ServletResponse response)
+ throws ServletException, IOException
+ {
+ String proxyAuth = ((HttpServletRequest)request).getHeader("Proxy-Authorization");
+ if (proxyAuth!=null)
+ {
+ String authType = proxyAuth.substring(0,6);
+
+ if (authType.equalsIgnoreCase("basic "))
+ proxyAuth = proxyAuth.substring(6);
+
+ proxyAuth = B64Code.decode(proxyAuth,StringUtil.__ISO_8859_1);
+ int sep = proxyAuth.indexOf(":");
+ String username = proxyAuth.substring(0,sep);
+ String password = proxyAuth.substring(sep+1);
+
+ if (__username.equalsIgnoreCase(username) && __password.equalsIgnoreCase(password))
+ super.service(request, response);
+ else
+ ((HttpServletResponse)response).setStatus(HttpServletResponse.SC_FORBIDDEN);
+ }
+ else
+ {
+ ((HttpServletResponse)response).setStatus(HttpServletResponse.SC_FORBIDDEN);
+ }
+ }
+ }
+
+ public AuthenticatingProxyServer()
+ throws Exception
+ {
+ super( 0 );
+
+ HandlerCollection handlers = new HandlerCollection();
+ setHandler( handlers );
+
+ _context = new Context( handlers, "/" );
+ handlers.addHandler( new DefaultHandler() );
+
+ _context.addServlet( AuthProxyServlet.class, "/" );
+
+ HashUserRealm realm = new HashUserRealm();
+ realm.put (__username, __password);
+ realm.addUserToRole(__username, __role);
+ realm.setName("proxyrealm");
+ }
+
+ public int getPort()
+ {
+ return getConnectors()[0].getLocalPort();
+ }
+
+ public String getUsername()
+ {
+ return __username;
+ }
+
+ public String getPassword()
+ {
+ return __password;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingPutServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingPutServer.java
new file mode 100644
index 0000000..5a2940f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingPutServer.java
@@ -0,0 +1,73 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.server;
+
+import org.mortbay.jetty.security.BasicAuthenticator;
+import org.mortbay.jetty.security.Constraint;
+import org.mortbay.jetty.security.ConstraintMapping;
+import org.mortbay.jetty.security.HashUserRealm;
+import org.mortbay.jetty.security.SecurityHandler;
+
+public class AuthenticatingPutServer extends SimplePutServer
+{
+ private String _username = "foo";
+ private String _password = "bar";
+ private String _role = "foomeister";
+
+ public AuthenticatingPutServer()
+ throws Exception
+ {
+ super();
+
+ HashUserRealm realm = new HashUserRealm();
+ realm.put (_username, _password);
+ realm.addUserToRole(_username, _role);
+ realm.setName("foorealm");
+
+ SecurityHandler securityHandler = new SecurityHandler();
+ securityHandler.setAuthenticator(new BasicAuthenticator());
+ securityHandler.setUserRealm(realm);
+ Constraint constraint = new Constraint();
+ constraint.setAuthenticate(true);
+ constraint.setRoles(new String[]{_role});
+ ConstraintMapping cm = new ConstraintMapping();
+ cm.setConstraint(constraint);
+ cm.setPathSpec("/*");
+ securityHandler.setConstraintMappings(new ConstraintMapping[]{cm});
+ context.addHandler(securityHandler);
+ }
+
+ public static void main(String[] args)
+ throws Exception
+ {
+ AuthenticatingPutServer server = new AuthenticatingPutServer();
+ server.start();
+ server.join();
+ }
+
+ public String getUsername()
+ {
+ return _username;
+ }
+
+ public String getPassword ()
+ {
+ return _password;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java
new file mode 100644
index 0000000..ffc3e95
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.spi.http.server;
+
+import org.mortbay.jetty.security.BasicAuthenticator;
+import org.mortbay.jetty.security.Constraint;
+import org.mortbay.jetty.security.ConstraintMapping;
+import org.mortbay.jetty.security.HashUserRealm;
+import org.mortbay.jetty.security.SecurityHandler;
+
+public class AuthenticatingTestServer extends SimpleTestServer
+{
+ private static final String __username = "foo";
+ private static final String __password = "bar";
+ private static final String __role = "foomeister";
+
+ public AuthenticatingTestServer()
+ throws Exception
+ {
+ super();
+
+ HashUserRealm realm = new HashUserRealm();
+ realm.put (__username, __password);
+ realm.addUserToRole(__username, __role);
+ realm.setName("foorealm");
+
+ SecurityHandler securityHandler = new SecurityHandler();
+ securityHandler.setAuthenticator(new BasicAuthenticator());
+ securityHandler.setUserRealm(realm);
+ Constraint constraint = new Constraint();
+ constraint.setAuthenticate(true);
+ constraint.setRoles(new String[]{__role});
+ ConstraintMapping cm = new ConstraintMapping();
+ cm.setConstraint(constraint);
+ cm.setPathSpec("/*");
+ securityHandler.setConstraintMappings(new ConstraintMapping[]{cm});
+ context.addHandler(securityHandler);
+ }
+
+ public String getUsername()
+ {
+ return __username;
+ }
+
+ public String getPassword()
+ {
+ return __password;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/BatchFilterTest.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/BatchFilterTest.java
new file mode 100644
index 0000000..6b37621
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/BatchFilterTest.java
@@ -0,0 +1,237 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+import javax.servlet.http.HttpServletResponse;
+
+import junit.framework.TestCase;
+
+import org.mortbay.jetty.servlet.DefaultServlet;
+import org.mortbay.jetty.servlet.FilterHolder;
+import org.mortbay.jetty.testing.HttpTester;
+import org.mortbay.jetty.testing.ServletTester;
+import org.mortbay.util.IO;
+
+public class BatchFilterTest extends TestCase
+{
+ File _baseDir;
+ File _stagingDir;
+
+ ServletTester tester;
+
+
+ public void setUp () throws Exception
+ {
+ _baseDir = File.createTempFile("testBatchFilter",null);
+ _baseDir.delete();
+ _baseDir.mkdir();
+ _baseDir.deleteOnExit();
+ assertTrue(_baseDir.isDirectory());
+
+ _stagingDir = new File(System.getProperty("java.io.tmpdir"));
+
+ super.setUp();
+ tester=new ServletTester();
+ tester.setContextPath("/context");
+ tester.setResourceBase(_baseDir.getCanonicalPath());
+ tester.addServlet( DefaultServlet.class, "/");
+ FilterHolder holder = tester.addFilter( StagingBatchFilter.class,"/*",0);
+ holder.setInitParameter("stagingDirURI", _stagingDir.toURI().toString());
+ tester.start();
+ System.err.println("Set up tester, basedir="+tester.getResourceBase()+" exists?"+_baseDir.exists());
+ System.err.println("Set up tester, stagingdir="+_stagingDir.toURI().toString());
+ }
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ tester.stop();
+ destroy(_baseDir);
+ }
+
+ public void destroy (File f)
+ {
+ if (f == null)
+ return;
+ if (f.isDirectory())
+ {
+ File[] files = f.listFiles();
+ for (int i=0;files!=null && i<files.length; i++)
+ {
+ destroy (files[i]);
+ }
+ }
+ f.delete();
+ }
+
+ public void testHandlePutWithoutBatching() throws Exception
+ {
+ // generated and parsed test
+ HttpTester request = new HttpTester();
+ HttpTester response = new HttpTester();
+
+ request.setMethod("PUT");
+ request.setVersion("HTTP/1.1");
+ request.setHeader("Host","tester");
+ request.setURI("/context/file.txt");
+ request.setHeader("Content-Type","text/plain");
+ String data0="Now is the time for all good men to come to the aid of the party";
+ request.setContent(data0);
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_CREATED,response.getStatus());
+
+ File file=new File(_baseDir,"file.txt");
+ assertTrue(file.exists());
+ assertEquals(data0,IO.toString(new FileInputStream(file)));
+ }
+
+ public void testBatchingCommit() throws Exception
+ {
+ // generated and parsed test
+ HttpTester request = new HttpTester();
+ HttpTester response = new HttpTester();
+
+ request.setMethod("PUT");
+ request.setVersion("HTTP/1.1");
+ request.setHeader("Host","tester");
+ request.setURI("/context/file1.txt");
+ request.setHeader("Content-Type","text/plain");
+ request.setHeader("Jetty-Batch-Id", "999999");
+ String data1="How Now BROWN COW!!!!";
+ request.setContent(data1);
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_CREATED,response.getStatus());
+
+ File batchDir = new File (_stagingDir, "999999");
+ File stagedFile = new File (batchDir, "file1.txt");
+ System.err.println("Checking existence of "+stagedFile.getCanonicalPath());
+ assertTrue(stagedFile.exists());
+ FileInputStream fis = new FileInputStream(stagedFile);
+ assertEquals(data1,IO.toString(fis));
+ fis.close();
+
+ request.setMethod("PUT");
+ request.setURI("/context/file2.txt");
+ request.setHeader("Content-Type","text/plain");
+ String data2="Blah blah blah Blah blah";
+ request.setHeader("Jetty-Batch-Id", "999999");
+ request.setContent(data2);
+ response.parse(tester.getResponses(request.generate()));
+ assertEquals(HttpServletResponse.SC_CREATED,response.getStatus());
+
+ batchDir = new File (_stagingDir, "999999");
+ stagedFile = new File (batchDir, "file2.txt");
+ assertTrue(stagedFile.exists());
+ fis = new FileInputStream(stagedFile);
+ assertEquals(data2,IO.toString(fis));
+ fis.close();
+
+ // test POST commit
+ request = new HttpTester();
+ request.setMethod("POST");
+ request.setVersion("HTTP/1.1");
+ request.setHeader("Content-Type","text/plain");
+ request.setHeader("Host","tester");
+ request.setHeader("Jetty-Batch-Commit", "999999");
+ request.setURI("/context/");
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_OK,response.getStatus());
+
+ File finalFile1 = new File(_baseDir, "file1.txt");
+ assertTrue(finalFile1.exists());
+ File finalFile2 = new File(_baseDir, "file2.txt");
+ assertTrue(finalFile2.exists());
+ }
+
+
+ public void testBatchingDiscard ()
+ throws Exception
+ {
+ // generated and parsed test
+ HttpTester request = new HttpTester();
+ HttpTester response = new HttpTester();
+
+ request.setMethod("PUT");
+ request.setVersion("HTTP/1.1");
+ request.setHeader("Host","tester");
+ request.setURI("/context/org/foo/file1.txt");
+ request.setHeader("Content-Type","text/plain");
+ request.setHeader("Jetty-Batch-Id", "999999");
+ String data1="How Now BROWN COW!!!!";
+ request.setContent(data1);
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_CREATED,response.getStatus());
+
+ File batchDir = new File (_stagingDir, "999999");
+ File stagedFile = new File(batchDir, "org");
+ stagedFile = new File(stagedFile, "foo");
+ stagedFile = new File (stagedFile, "file1.txt");
+ System.err.println("Checking existence of "+stagedFile.getCanonicalPath());
+ FileInputStream fis = new FileInputStream(stagedFile);
+ assertTrue(stagedFile.exists());
+ assertEquals(data1,IO.toString(fis));
+ fis.close();
+
+ request.setMethod("PUT");
+ request.setVersion("HTTP/1.1");
+ request.setHeader("Host","tester");
+ request.setURI("/context/file2.txt");
+ request.setHeader("Content-Type","text/plain");
+ String data2="Blah blah blah Blah blah";
+ request.setHeader("Jetty-Batch-Id", "999999");
+ request.setContent(data2);
+ response.parse(tester.getResponses(request.generate()));
+ assertEquals(HttpServletResponse.SC_CREATED,response.getStatus());
+
+ batchDir = new File (_stagingDir, "999999");
+ stagedFile = new File (batchDir, "file2.txt");
+ assertTrue(stagedFile.exists());
+ fis = new FileInputStream(stagedFile);
+ assertEquals(data2,IO.toString(fis));
+ fis.close();
+
+ // test POST discard
+ request = new HttpTester();
+ request.setMethod("POST");
+ request.setVersion("HTTP/1.1");
+ request.setHeader("Content-Type","text/plain");
+ request.setHeader("Host","tester");
+ request.setHeader("Jetty-Batch-Discard", "999999");
+ request.setURI("/context/");
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_OK,response.getStatus());
+
+ File finalFile1 = new File(_baseDir, "org");
+ finalFile1 = new File(finalFile1, "foo");
+ finalFile1 = new File(finalFile1, "file1.txt");
+ assertFalse(finalFile1.exists());
+ File finalFile2 = new File(_baseDir, "file2.txt");
+ assertFalse(finalFile2.exists());
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/HttpTestServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/HttpTestServer.java
new file mode 100644
index 0000000..4b11018
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/HttpTestServer.java
@@ -0,0 +1,55 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.DefaultHandler;
+import org.mortbay.jetty.handler.HandlerCollection;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.DefaultServlet;
+
+public class HttpTestServer
+ extends Server
+{
+ public HttpTestServer( File base, String remotePathFragment )
+ throws Exception
+ {
+ super( 0 );
+
+ System.out.println( base );
+
+ if ( !base.exists() )
+ {
+ throw new IllegalArgumentException( "Specified base directory does not exist: " + base.getCanonicalPath() );
+ }
+
+ HandlerCollection handlers = new HandlerCollection();
+ setHandler( handlers );
+
+ Context context = new Context( handlers, remotePathFragment );
+ handlers.addHandler( new DefaultHandler() );
+
+ context.addServlet( DefaultServlet.class, "/" );
+ context.setResourceBase( base.getCanonicalPath() );
+ }
+
+ public int getPort()
+ {
+ return getConnectors()[0].getLocalPort();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SecurePutServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SecurePutServer.java
new file mode 100644
index 0000000..5f3cc88
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SecurePutServer.java
@@ -0,0 +1,88 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+
+import org.mortbay.jetty.Connector;
+import org.mortbay.jetty.handler.DefaultHandler;
+import org.mortbay.jetty.handler.HandlerCollection;
+import org.mortbay.jetty.security.SslSocketConnector;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.DefaultServlet;
+import org.mortbay.jetty.servlet.FilterHolder;
+import org.mortbay.servlet.PutFilter;
+
+public class SecurePutServer extends SimplePutServer
+{
+ private File _base;
+
+ public SecurePutServer() throws Exception
+ {
+ SslSocketConnector connector = new SslSocketConnector();
+ String keystore = System.getProperty("user.dir") + File.separator + "src" + File.separator + "test" + File.separator + "resources" + File.separator
+ + "secureServer" + File.separator + "keystore";
+
+ connector.setPort(0);
+ connector.setKeystore(keystore);
+ connector.setPassword("storepwd");
+ connector.setKeyPassword("keypwd");
+
+ setConnectors(new Connector[] { connector });
+
+ HandlerCollection handlers = new HandlerCollection();
+ setHandler(handlers);
+
+ Context context = new Context(handlers,"/maven2/repo");
+ handlers.addHandler(new DefaultHandler());
+
+ _base = File.createTempFile("securePutServer",null);
+ _base.delete();
+ _base.mkdir();
+ _base.deleteOnExit();
+ FilterHolder holder = context.addFilter(PutFilter.class, "/*", 0);
+ holder.setInitParameter("delAllowed","true");
+ context.addServlet(DefaultServlet.class,"/");
+ context.setResourceBase(_base.getCanonicalPath());
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.spi.http.server.PutServer#getPutDir()
+ */
+ public File getPutDir ()
+ {
+ return _base;
+ }
+
+ public void destroy ()
+ {
+ super.destroy();
+ destroy(_base);
+ }
+
+ public static void main(String[] args)
+ throws Exception
+ {
+ SecurePutServer server = new SecurePutServer();
+ server.start();
+ server.join();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimplePutServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimplePutServer.java
new file mode 100644
index 0000000..a823096
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimplePutServer.java
@@ -0,0 +1,127 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.DefaultHandler;
+import org.mortbay.jetty.handler.HandlerCollection;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.DefaultServlet;
+import org.mortbay.jetty.servlet.FilterHolder;
+import org.mortbay.servlet.PutFilter;
+
+public class SimplePutServer extends Server
+{
+ protected File _base;
+ protected Context context;
+
+
+ public SimplePutServer()
+ throws Exception
+ {
+ this("/maven2/repo", null );
+ }
+
+ /**
+ * @param string
+ * @param targetDirectory
+ */
+ public SimplePutServer( String contextPath, File targetDirectory )
+ throws Exception
+ {
+ super(0);
+
+ HandlerCollection handlers = new HandlerCollection();
+ setHandler(handlers);
+
+ context = new Context( handlers, contextPath );
+ handlers.addHandler(new DefaultHandler());
+
+ if( targetDirectory == null )
+ {
+ _base = File.createTempFile("simplePutServer",null);
+ _base.delete();
+ _base.mkdir();
+ _base.deleteOnExit();
+ }
+ else
+ {
+ _base = targetDirectory;
+ }
+
+ if( _base == null || !_base.exists() || !_base.isDirectory() )
+ throw new Exception("File not appropriate for base directory: "+_base);
+
+ FilterHolder holder = context.addFilter(PutFilter.class, "/*", 0);
+ holder.setInitParameter("delAllowed","true");
+ context.addServlet(DefaultServlet.class,"/");
+ context.setResourceBase(_base.getCanonicalPath());
+ }
+
+ public void destroy ()
+ {
+ super.destroy();
+ destroy(_base);
+ }
+
+ public void destroy (File f)
+ {
+ if (f == null)
+ return;
+ if (f.isDirectory())
+ {
+ File[] files = f.listFiles();
+ for (int i=0;files!=null && i<files.length; i++)
+ {
+ destroy (files[i]);
+ }
+ }
+ f.delete();
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.spi.http.server.PutServer#getPutDir()
+ */
+ public File getPutDir ()
+ {
+ return _base;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.maven.mercury.spi.http.server.PutServer#getPort()
+ */
+ public int getPort()
+ {
+ return getConnectors()[0].getLocalPort();
+ }
+
+ public static void main(String[] args)
+ throws Exception
+ {
+ SimplePutServer server = new SimplePutServer();
+ server.start();
+ server.join();
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimpleTestServer.java b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimpleTestServer.java
new file mode 100644
index 0000000..6c0091f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimpleTestServer.java
@@ -0,0 +1,112 @@
+/**
+ * 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.
+ */
+
+package org.apache.maven.mercury.spi.http.server;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStream;
+import java.net.URL;
+
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.DefaultHandler;
+import org.mortbay.jetty.handler.HandlerCollection;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.DefaultServlet;
+import org.mortbay.util.IO;
+
+public class SimpleTestServer
+ extends Server
+{
+ File base;
+ Context context;
+
+
+ public SimpleTestServer()
+ throws Exception
+ {
+ this( "/testRepo/", "/maven2/repo" );
+ }
+
+ public SimpleTestServer( String localPathFragment, String remotePathFragment )
+ throws Exception
+ {
+ super( 0 );
+
+ HandlerCollection handlers = new HandlerCollection();
+ setHandler( handlers );
+
+ context = new Context( handlers, remotePathFragment );
+ handlers.addHandler( new DefaultHandler() );
+
+ base = File.createTempFile( "simpleTestServer", "jetty" );
+ base.delete();
+ base.mkdir();
+ base.deleteOnExit();
+
+ URL list = SimpleTestServer.class.getResource( localPathFragment );
+ LineNumberReader in = new LineNumberReader( new InputStreamReader( list.openStream() ) );
+ String file = null;
+ while ( ( file = in.readLine() ) != null )
+ {
+ if ( !file.startsWith( "file" ) )
+ {
+ continue;
+ }
+ OutputStream out = new FileOutputStream( new File( base, file ) );
+ IO.copy( SimpleTestServer.class.getResource( localPathFragment + file ).openStream(), out );
+ out.close();
+ }
+ context.addServlet( DefaultServlet.class, "/" );
+ context.setResourceBase( base.getCanonicalPath() );
+ }
+
+ public int getPort()
+ {
+ return getConnectors()[0].getLocalPort();
+ }
+
+ public void destroy()
+ {
+ super.destroy();
+ destroy(base);
+ }
+
+ public void destroy (File f)
+ {
+ if (f == null)
+ return;
+ if (f.isDirectory())
+ {
+ File[] files = f.listFiles();
+ for (int i=0;files!=null && i<files.length; i++)
+ {
+ destroy (files[i]);
+ }
+ }
+ f.delete();
+ }
+
+
+ public static void main( String[] args )
+ throws Exception
+ {
+ SimpleTestServer server = new SimpleTestServer();
+ server.start();
+ server.join();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/file.gif.asc.external b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/file.gif.asc.external
new file mode 100644
index 0000000..a9ce4a9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/file.gif.asc.external
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.8 (Darwin)
+
+iEYEABECAAYFAkigvoMACgkQDttdkRQbxPLhFwCghZLUaMz+qy3cKtVZOYg5KBBY
+uCUAoIqb0ZdxJ/S43xueswROsaVFrwR5
+=KqLx
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt
new file mode 100644
index 0000000..cc68388
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt
@@ -0,0 +1,3 @@
+b:1.0
+c:1.0
+d:1.0
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt.sha1
new file mode 100644
index 0000000..dc18590
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt.sha1
@@ -0,0 +1 @@
+3bd410a48b894266feb4bc4d90a1b609093a66eb
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt.sha1
new file mode 100644
index 0000000..be0e2cd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt.sha1
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt.sha1
new file mode 100644
index 0000000..be0e2cd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt.sha1
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt.sha1
new file mode 100644
index 0000000..be0e2cd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt.sha1
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/secureServer/keystore b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/secureServer/keystore
new file mode 100644
index 0000000..b727bd0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/secureServer/keystore
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/secureServer/realm.properties b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/secureServer/realm.properties
new file mode 100644
index 0000000..c5d6358
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/secureServer/realm.properties
@@ -0,0 +1,22 @@
+#
+# This file defines users passwords and roles for a HashUserRealm
+#
+# The format is
+# <username>: <password>[,<rolename> ...]
+#
+# Passwords may be clear text, obfuscated or checksummed. The class
+# org.mortbay.util.Password should be used to generate obfuscated
+# passwords or password checksums
+#
+# If DIGEST Authentication is used, the password must be in a recoverable
+# format, either plain text or OBF:.
+#
+# if using digest authentication, do not MD5-hash the password
+jetty: jetty,user
+admin: CRYPT:ad1ks..kc.1Ug,server-administrator,content-administrator,admin
+other: OBF:1xmk1w261u9r1w1c1xmq
+plain: plain
+user: password
+
+# This entry is for digest auth. The credential is a MD5 hash of username:realmname:password
+digest: MD5:6e120743ad67abfbc385bc2bb754e297
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/README.TXT b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/README.TXT
new file mode 100644
index 0000000..7363feb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/README.TXT
@@ -0,0 +1,3 @@
+These are the test files for the batch tests
+file1 lacks an SHA1 file
+file2 has a wrong SHA1
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt
new file mode 100644
index 0000000..d600d56
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt
@@ -0,0 +1,500 @@
+0000 3333333333333333333333333333333333333333333333333333333
+0001 3333333333333333333333333333333333333333333333333333333
+0002 3333333333333333333333333333333333333333333333333333333
+0003 3333333333333333333333333333333333333333333333333333333
+0004 3333333333333333333333333333333333333333333333333333333
+0005 3333333333333333333333333333333333333333333333333333333
+0006 3333333333333333333333333333333333333333333333333333333
+0007 3333333333333333333333333333333333333333333333333333333
+0008 3333333333333333333333333333333333333333333333333333333
+0009 3333333333333333333333333333333333333333333333333333333
+0010 3333333333333333333333333333333333333333333333333333333
+0011 3333333333333333333333333333333333333333333333333333333
+0012 3333333333333333333333333333333333333333333333333333333
+0013 3333333333333333333333333333333333333333333333333333333
+0014 3333333333333333333333333333333333333333333333333333333
+0015 3333333333333333333333333333333333333333333333333333333
+0016 3333333333333333333333333333333333333333333333333333333
+0017 3333333333333333333333333333333333333333333333333333333
+0018 3333333333333333333333333333333333333333333333333333333
+0019 3333333333333333333333333333333333333333333333333333333
+0020 3333333333333333333333333333333333333333333333333333333
+0021 3333333333333333333333333333333333333333333333333333333
+0022 3333333333333333333333333333333333333333333333333333333
+0023 3333333333333333333333333333333333333333333333333333333
+0024 3333333333333333333333333333333333333333333333333333333
+0025 3333333333333333333333333333333333333333333333333333333
+0026 3333333333333333333333333333333333333333333333333333333
+0027 3333333333333333333333333333333333333333333333333333333
+0028 3333333333333333333333333333333333333333333333333333333
+0029 3333333333333333333333333333333333333333333333333333333
+0030 3333333333333333333333333333333333333333333333333333333
+0031 3333333333333333333333333333333333333333333333333333333
+0032 3333333333333333333333333333333333333333333333333333333
+0033 3333333333333333333333333333333333333333333333333333333
+0034 3333333333333333333333333333333333333333333333333333333
+0035 3333333333333333333333333333333333333333333333333333333
+0036 3333333333333333333333333333333333333333333333333333333
+0037 3333333333333333333333333333333333333333333333333333333
+0038 3333333333333333333333333333333333333333333333333333333
+0039 3333333333333333333333333333333333333333333333333333333
+0040 3333333333333333333333333333333333333333333333333333333
+0041 3333333333333333333333333333333333333333333333333333333
+0042 3333333333333333333333333333333333333333333333333333333
+0043 3333333333333333333333333333333333333333333333333333333
+0044 3333333333333333333333333333333333333333333333333333333
+0045 3333333333333333333333333333333333333333333333333333333
+0046 3333333333333333333333333333333333333333333333333333333
+0047 3333333333333333333333333333333333333333333333333333333
+0048 3333333333333333333333333333333333333333333333333333333
+0049 3333333333333333333333333333333333333333333333333333333
+0050 3333333333333333333333333333333333333333333333333333333
+0051 3333333333333333333333333333333333333333333333333333333
+0052 3333333333333333333333333333333333333333333333333333333
+0053 3333333333333333333333333333333333333333333333333333333
+0054 3333333333333333333333333333333333333333333333333333333
+0055 3333333333333333333333333333333333333333333333333333333
+0056 3333333333333333333333333333333333333333333333333333333
+0057 3333333333333333333333333333333333333333333333333333333
+0058 3333333333333333333333333333333333333333333333333333333
+0059 3333333333333333333333333333333333333333333333333333333
+0060 3333333333333333333333333333333333333333333333333333333
+0061 3333333333333333333333333333333333333333333333333333333
+0062 3333333333333333333333333333333333333333333333333333333
+0063 3333333333333333333333333333333333333333333333333333333
+0064 3333333333333333333333333333333333333333333333333333333
+0065 3333333333333333333333333333333333333333333333333333333
+0066 3333333333333333333333333333333333333333333333333333333
+0067 3333333333333333333333333333333333333333333333333333333
+0068 3333333333333333333333333333333333333333333333333333333
+0069 3333333333333333333333333333333333333333333333333333333
+0070 3333333333333333333333333333333333333333333333333333333
+0071 3333333333333333333333333333333333333333333333333333333
+0072 3333333333333333333333333333333333333333333333333333333
+0073 3333333333333333333333333333333333333333333333333333333
+0074 3333333333333333333333333333333333333333333333333333333
+0075 3333333333333333333333333333333333333333333333333333333
+0076 3333333333333333333333333333333333333333333333333333333
+0077 3333333333333333333333333333333333333333333333333333333
+0078 3333333333333333333333333333333333333333333333333333333
+0079 3333333333333333333333333333333333333333333333333333333
+0080 3333333333333333333333333333333333333333333333333333333
+0081 3333333333333333333333333333333333333333333333333333333
+0082 3333333333333333333333333333333333333333333333333333333
+0083 3333333333333333333333333333333333333333333333333333333
+0084 3333333333333333333333333333333333333333333333333333333
+0085 3333333333333333333333333333333333333333333333333333333
+0086 3333333333333333333333333333333333333333333333333333333
+0087 3333333333333333333333333333333333333333333333333333333
+0088 3333333333333333333333333333333333333333333333333333333
+0089 3333333333333333333333333333333333333333333333333333333
+0090 3333333333333333333333333333333333333333333333333333333
+0091 3333333333333333333333333333333333333333333333333333333
+0092 3333333333333333333333333333333333333333333333333333333
+0093 3333333333333333333333333333333333333333333333333333333
+0094 3333333333333333333333333333333333333333333333333333333
+0095 3333333333333333333333333333333333333333333333333333333
+0096 3333333333333333333333333333333333333333333333333333333
+0097 3333333333333333333333333333333333333333333333333333333
+0098 3333333333333333333333333333333333333333333333333333333
+0099 3333333333333333333333333333333333333333333333333333333
+0100 3333333333333333333333333333333333333333333333333333333
+0101 3333333333333333333333333333333333333333333333333333333
+0102 3333333333333333333333333333333333333333333333333333333
+0103 3333333333333333333333333333333333333333333333333333333
+0104 3333333333333333333333333333333333333333333333333333333
+0105 3333333333333333333333333333333333333333333333333333333
+0106 3333333333333333333333333333333333333333333333333333333
+0107 3333333333333333333333333333333333333333333333333333333
+0108 3333333333333333333333333333333333333333333333333333333
+0109 3333333333333333333333333333333333333333333333333333333
+0110 3333333333333333333333333333333333333333333333333333333
+0111 3333333333333333333333333333333333333333333333333333333
+0112 3333333333333333333333333333333333333333333333333333333
+0113 3333333333333333333333333333333333333333333333333333333
+0114 3333333333333333333333333333333333333333333333333333333
+0115 3333333333333333333333333333333333333333333333333333333
+0116 3333333333333333333333333333333333333333333333333333333
+0117 3333333333333333333333333333333333333333333333333333333
+0118 3333333333333333333333333333333333333333333333333333333
+0119 3333333333333333333333333333333333333333333333333333333
+0120 3333333333333333333333333333333333333333333333333333333
+0121 3333333333333333333333333333333333333333333333333333333
+0122 3333333333333333333333333333333333333333333333333333333
+0123 3333333333333333333333333333333333333333333333333333333
+0124 3333333333333333333333333333333333333333333333333333333
+0125 3333333333333333333333333333333333333333333333333333333
+0126 3333333333333333333333333333333333333333333333333333333
+0127 3333333333333333333333333333333333333333333333333333333
+0128 3333333333333333333333333333333333333333333333333333333
+0129 3333333333333333333333333333333333333333333333333333333
+0130 3333333333333333333333333333333333333333333333333333333
+0131 3333333333333333333333333333333333333333333333333333333
+0132 3333333333333333333333333333333333333333333333333333333
+0133 3333333333333333333333333333333333333333333333333333333
+0134 3333333333333333333333333333333333333333333333333333333
+0135 3333333333333333333333333333333333333333333333333333333
+0136 3333333333333333333333333333333333333333333333333333333
+0137 3333333333333333333333333333333333333333333333333333333
+0138 3333333333333333333333333333333333333333333333333333333
+0139 3333333333333333333333333333333333333333333333333333333
+0140 3333333333333333333333333333333333333333333333333333333
+0141 3333333333333333333333333333333333333333333333333333333
+0142 3333333333333333333333333333333333333333333333333333333
+0143 3333333333333333333333333333333333333333333333333333333
+0144 3333333333333333333333333333333333333333333333333333333
+0145 3333333333333333333333333333333333333333333333333333333
+0146 3333333333333333333333333333333333333333333333333333333
+0147 3333333333333333333333333333333333333333333333333333333
+0148 3333333333333333333333333333333333333333333333333333333
+0149 3333333333333333333333333333333333333333333333333333333
+0150 3333333333333333333333333333333333333333333333333333333
+0151 3333333333333333333333333333333333333333333333333333333
+0152 3333333333333333333333333333333333333333333333333333333
+0153 3333333333333333333333333333333333333333333333333333333
+0154 3333333333333333333333333333333333333333333333333333333
+0155 3333333333333333333333333333333333333333333333333333333
+0156 3333333333333333333333333333333333333333333333333333333
+0157 3333333333333333333333333333333333333333333333333333333
+0158 3333333333333333333333333333333333333333333333333333333
+0159 3333333333333333333333333333333333333333333333333333333
+0160 3333333333333333333333333333333333333333333333333333333
+0161 3333333333333333333333333333333333333333333333333333333
+0162 3333333333333333333333333333333333333333333333333333333
+0163 3333333333333333333333333333333333333333333333333333333
+0164 3333333333333333333333333333333333333333333333333333333
+0165 3333333333333333333333333333333333333333333333333333333
+0166 3333333333333333333333333333333333333333333333333333333
+0167 3333333333333333333333333333333333333333333333333333333
+0168 3333333333333333333333333333333333333333333333333333333
+0169 3333333333333333333333333333333333333333333333333333333
+0170 3333333333333333333333333333333333333333333333333333333
+0171 3333333333333333333333333333333333333333333333333333333
+0172 3333333333333333333333333333333333333333333333333333333
+0173 3333333333333333333333333333333333333333333333333333333
+0174 3333333333333333333333333333333333333333333333333333333
+0175 3333333333333333333333333333333333333333333333333333333
+0176 3333333333333333333333333333333333333333333333333333333
+0177 3333333333333333333333333333333333333333333333333333333
+0178 3333333333333333333333333333333333333333333333333333333
+0179 3333333333333333333333333333333333333333333333333333333
+0180 3333333333333333333333333333333333333333333333333333333
+0181 3333333333333333333333333333333333333333333333333333333
+0182 3333333333333333333333333333333333333333333333333333333
+0183 3333333333333333333333333333333333333333333333333333333
+0184 3333333333333333333333333333333333333333333333333333333
+0185 3333333333333333333333333333333333333333333333333333333
+0186 3333333333333333333333333333333333333333333333333333333
+0187 3333333333333333333333333333333333333333333333333333333
+0188 3333333333333333333333333333333333333333333333333333333
+0189 3333333333333333333333333333333333333333333333333333333
+0190 3333333333333333333333333333333333333333333333333333333
+0191 3333333333333333333333333333333333333333333333333333333
+0192 3333333333333333333333333333333333333333333333333333333
+0193 3333333333333333333333333333333333333333333333333333333
+0194 3333333333333333333333333333333333333333333333333333333
+0195 3333333333333333333333333333333333333333333333333333333
+0196 3333333333333333333333333333333333333333333333333333333
+0197 3333333333333333333333333333333333333333333333333333333
+0198 3333333333333333333333333333333333333333333333333333333
+0199 3333333333333333333333333333333333333333333333333333333
+0200 3333333333333333333333333333333333333333333333333333333
+0201 3333333333333333333333333333333333333333333333333333333
+0202 3333333333333333333333333333333333333333333333333333333
+0203 3333333333333333333333333333333333333333333333333333333
+0204 3333333333333333333333333333333333333333333333333333333
+0205 3333333333333333333333333333333333333333333333333333333
+0206 3333333333333333333333333333333333333333333333333333333
+0207 3333333333333333333333333333333333333333333333333333333
+0208 3333333333333333333333333333333333333333333333333333333
+0209 3333333333333333333333333333333333333333333333333333333
+0210 3333333333333333333333333333333333333333333333333333333
+0211 3333333333333333333333333333333333333333333333333333333
+0212 3333333333333333333333333333333333333333333333333333333
+0213 3333333333333333333333333333333333333333333333333333333
+0214 3333333333333333333333333333333333333333333333333333333
+0215 3333333333333333333333333333333333333333333333333333333
+0216 3333333333333333333333333333333333333333333333333333333
+0217 3333333333333333333333333333333333333333333333333333333
+0218 3333333333333333333333333333333333333333333333333333333
+0219 3333333333333333333333333333333333333333333333333333333
+0220 3333333333333333333333333333333333333333333333333333333
+0221 3333333333333333333333333333333333333333333333333333333
+0222 3333333333333333333333333333333333333333333333333333333
+0223 3333333333333333333333333333333333333333333333333333333
+0224 3333333333333333333333333333333333333333333333333333333
+0225 3333333333333333333333333333333333333333333333333333333
+0226 3333333333333333333333333333333333333333333333333333333
+0227 3333333333333333333333333333333333333333333333333333333
+0228 3333333333333333333333333333333333333333333333333333333
+0229 3333333333333333333333333333333333333333333333333333333
+0230 3333333333333333333333333333333333333333333333333333333
+0231 3333333333333333333333333333333333333333333333333333333
+0232 3333333333333333333333333333333333333333333333333333333
+0233 3333333333333333333333333333333333333333333333333333333
+0234 3333333333333333333333333333333333333333333333333333333
+0235 3333333333333333333333333333333333333333333333333333333
+0236 3333333333333333333333333333333333333333333333333333333
+0237 3333333333333333333333333333333333333333333333333333333
+0238 3333333333333333333333333333333333333333333333333333333
+0239 3333333333333333333333333333333333333333333333333333333
+0240 3333333333333333333333333333333333333333333333333333333
+0241 3333333333333333333333333333333333333333333333333333333
+0242 3333333333333333333333333333333333333333333333333333333
+0243 3333333333333333333333333333333333333333333333333333333
+0244 3333333333333333333333333333333333333333333333333333333
+0245 3333333333333333333333333333333333333333333333333333333
+0246 3333333333333333333333333333333333333333333333333333333
+0247 3333333333333333333333333333333333333333333333333333333
+0248 3333333333333333333333333333333333333333333333333333333
+0249 3333333333333333333333333333333333333333333333333333333
+0250 3333333333333333333333333333333333333333333333333333333
+0251 3333333333333333333333333333333333333333333333333333333
+0252 3333333333333333333333333333333333333333333333333333333
+0253 3333333333333333333333333333333333333333333333333333333
+0254 3333333333333333333333333333333333333333333333333333333
+0255 3333333333333333333333333333333333333333333333333333333
+0256 3333333333333333333333333333333333333333333333333333333
+0257 3333333333333333333333333333333333333333333333333333333
+0258 3333333333333333333333333333333333333333333333333333333
+0259 3333333333333333333333333333333333333333333333333333333
+0260 3333333333333333333333333333333333333333333333333333333
+0261 3333333333333333333333333333333333333333333333333333333
+0262 3333333333333333333333333333333333333333333333333333333
+0263 3333333333333333333333333333333333333333333333333333333
+0264 3333333333333333333333333333333333333333333333333333333
+0265 3333333333333333333333333333333333333333333333333333333
+0266 3333333333333333333333333333333333333333333333333333333
+0267 3333333333333333333333333333333333333333333333333333333
+0268 3333333333333333333333333333333333333333333333333333333
+0269 3333333333333333333333333333333333333333333333333333333
+0270 3333333333333333333333333333333333333333333333333333333
+0271 3333333333333333333333333333333333333333333333333333333
+0272 3333333333333333333333333333333333333333333333333333333
+0273 3333333333333333333333333333333333333333333333333333333
+0274 3333333333333333333333333333333333333333333333333333333
+0275 3333333333333333333333333333333333333333333333333333333
+0276 3333333333333333333333333333333333333333333333333333333
+0277 3333333333333333333333333333333333333333333333333333333
+0278 3333333333333333333333333333333333333333333333333333333
+0279 3333333333333333333333333333333333333333333333333333333
+0280 3333333333333333333333333333333333333333333333333333333
+0281 3333333333333333333333333333333333333333333333333333333
+0282 3333333333333333333333333333333333333333333333333333333
+0283 3333333333333333333333333333333333333333333333333333333
+0284 3333333333333333333333333333333333333333333333333333333
+0285 3333333333333333333333333333333333333333333333333333333
+0286 3333333333333333333333333333333333333333333333333333333
+0287 3333333333333333333333333333333333333333333333333333333
+0288 3333333333333333333333333333333333333333333333333333333
+0289 3333333333333333333333333333333333333333333333333333333
+0290 3333333333333333333333333333333333333333333333333333333
+0291 3333333333333333333333333333333333333333333333333333333
+0292 3333333333333333333333333333333333333333333333333333333
+0293 3333333333333333333333333333333333333333333333333333333
+0294 3333333333333333333333333333333333333333333333333333333
+0295 3333333333333333333333333333333333333333333333333333333
+0296 3333333333333333333333333333333333333333333333333333333
+0297 3333333333333333333333333333333333333333333333333333333
+0298 3333333333333333333333333333333333333333333333333333333
+0299 3333333333333333333333333333333333333333333333333333333
+0300 3333333333333333333333333333333333333333333333333333333
+0301 3333333333333333333333333333333333333333333333333333333
+0302 3333333333333333333333333333333333333333333333333333333
+0303 3333333333333333333333333333333333333333333333333333333
+0304 3333333333333333333333333333333333333333333333333333333
+0305 3333333333333333333333333333333333333333333333333333333
+0306 3333333333333333333333333333333333333333333333333333333
+0307 3333333333333333333333333333333333333333333333333333333
+0308 3333333333333333333333333333333333333333333333333333333
+0309 3333333333333333333333333333333333333333333333333333333
+0310 3333333333333333333333333333333333333333333333333333333
+0311 3333333333333333333333333333333333333333333333333333333
+0312 3333333333333333333333333333333333333333333333333333333
+0313 3333333333333333333333333333333333333333333333333333333
+0314 3333333333333333333333333333333333333333333333333333333
+0315 3333333333333333333333333333333333333333333333333333333
+0316 3333333333333333333333333333333333333333333333333333333
+0317 3333333333333333333333333333333333333333333333333333333
+0318 3333333333333333333333333333333333333333333333333333333
+0319 3333333333333333333333333333333333333333333333333333333
+0320 3333333333333333333333333333333333333333333333333333333
+0321 3333333333333333333333333333333333333333333333333333333
+0322 3333333333333333333333333333333333333333333333333333333
+0323 3333333333333333333333333333333333333333333333333333333
+0324 3333333333333333333333333333333333333333333333333333333
+0325 3333333333333333333333333333333333333333333333333333333
+0326 3333333333333333333333333333333333333333333333333333333
+0327 3333333333333333333333333333333333333333333333333333333
+0328 3333333333333333333333333333333333333333333333333333333
+0329 3333333333333333333333333333333333333333333333333333333
+0330 3333333333333333333333333333333333333333333333333333333
+0331 3333333333333333333333333333333333333333333333333333333
+0332 3333333333333333333333333333333333333333333333333333333
+0333 3333333333333333333333333333333333333333333333333333333
+0334 3333333333333333333333333333333333333333333333333333333
+0335 3333333333333333333333333333333333333333333333333333333
+0336 3333333333333333333333333333333333333333333333333333333
+0337 3333333333333333333333333333333333333333333333333333333
+0338 3333333333333333333333333333333333333333333333333333333
+0339 3333333333333333333333333333333333333333333333333333333
+0340 3333333333333333333333333333333333333333333333333333333
+0341 3333333333333333333333333333333333333333333333333333333
+0342 3333333333333333333333333333333333333333333333333333333
+0343 3333333333333333333333333333333333333333333333333333333
+0344 3333333333333333333333333333333333333333333333333333333
+0345 3333333333333333333333333333333333333333333333333333333
+0346 3333333333333333333333333333333333333333333333333333333
+0347 3333333333333333333333333333333333333333333333333333333
+0348 3333333333333333333333333333333333333333333333333333333
+0349 3333333333333333333333333333333333333333333333333333333
+0350 3333333333333333333333333333333333333333333333333333333
+0351 3333333333333333333333333333333333333333333333333333333
+0352 3333333333333333333333333333333333333333333333333333333
+0353 3333333333333333333333333333333333333333333333333333333
+0354 3333333333333333333333333333333333333333333333333333333
+0355 3333333333333333333333333333333333333333333333333333333
+0356 3333333333333333333333333333333333333333333333333333333
+0357 3333333333333333333333333333333333333333333333333333333
+0358 3333333333333333333333333333333333333333333333333333333
+0359 3333333333333333333333333333333333333333333333333333333
+0360 3333333333333333333333333333333333333333333333333333333
+0361 3333333333333333333333333333333333333333333333333333333
+0362 3333333333333333333333333333333333333333333333333333333
+0363 3333333333333333333333333333333333333333333333333333333
+0364 3333333333333333333333333333333333333333333333333333333
+0365 3333333333333333333333333333333333333333333333333333333
+0366 3333333333333333333333333333333333333333333333333333333
+0367 3333333333333333333333333333333333333333333333333333333
+0368 3333333333333333333333333333333333333333333333333333333
+0369 3333333333333333333333333333333333333333333333333333333
+0370 3333333333333333333333333333333333333333333333333333333
+0371 3333333333333333333333333333333333333333333333333333333
+0372 3333333333333333333333333333333333333333333333333333333
+0373 3333333333333333333333333333333333333333333333333333333
+0374 3333333333333333333333333333333333333333333333333333333
+0375 3333333333333333333333333333333333333333333333333333333
+0376 3333333333333333333333333333333333333333333333333333333
+0377 3333333333333333333333333333333333333333333333333333333
+0378 3333333333333333333333333333333333333333333333333333333
+0379 3333333333333333333333333333333333333333333333333333333
+0380 3333333333333333333333333333333333333333333333333333333
+0381 3333333333333333333333333333333333333333333333333333333
+0382 3333333333333333333333333333333333333333333333333333333
+0383 3333333333333333333333333333333333333333333333333333333
+0384 3333333333333333333333333333333333333333333333333333333
+0385 3333333333333333333333333333333333333333333333333333333
+0386 3333333333333333333333333333333333333333333333333333333
+0387 3333333333333333333333333333333333333333333333333333333
+0388 3333333333333333333333333333333333333333333333333333333
+0389 3333333333333333333333333333333333333333333333333333333
+0390 3333333333333333333333333333333333333333333333333333333
+0391 3333333333333333333333333333333333333333333333333333333
+0392 3333333333333333333333333333333333333333333333333333333
+0393 3333333333333333333333333333333333333333333333333333333
+0394 3333333333333333333333333333333333333333333333333333333
+0395 3333333333333333333333333333333333333333333333333333333
+0396 3333333333333333333333333333333333333333333333333333333
+0397 3333333333333333333333333333333333333333333333333333333
+0398 3333333333333333333333333333333333333333333333333333333
+0399 3333333333333333333333333333333333333333333333333333333
+0400 3333333333333333333333333333333333333333333333333333333
+0401 3333333333333333333333333333333333333333333333333333333
+0402 3333333333333333333333333333333333333333333333333333333
+0403 3333333333333333333333333333333333333333333333333333333
+0404 3333333333333333333333333333333333333333333333333333333
+0405 3333333333333333333333333333333333333333333333333333333
+0406 3333333333333333333333333333333333333333333333333333333
+0407 3333333333333333333333333333333333333333333333333333333
+0408 3333333333333333333333333333333333333333333333333333333
+0409 3333333333333333333333333333333333333333333333333333333
+0410 3333333333333333333333333333333333333333333333333333333
+0411 3333333333333333333333333333333333333333333333333333333
+0412 3333333333333333333333333333333333333333333333333333333
+0413 3333333333333333333333333333333333333333333333333333333
+0414 3333333333333333333333333333333333333333333333333333333
+0415 3333333333333333333333333333333333333333333333333333333
+0416 3333333333333333333333333333333333333333333333333333333
+0417 3333333333333333333333333333333333333333333333333333333
+0418 3333333333333333333333333333333333333333333333333333333
+0419 3333333333333333333333333333333333333333333333333333333
+0420 3333333333333333333333333333333333333333333333333333333
+0421 3333333333333333333333333333333333333333333333333333333
+0422 3333333333333333333333333333333333333333333333333333333
+0423 3333333333333333333333333333333333333333333333333333333
+0424 3333333333333333333333333333333333333333333333333333333
+0425 3333333333333333333333333333333333333333333333333333333
+0426 3333333333333333333333333333333333333333333333333333333
+0427 3333333333333333333333333333333333333333333333333333333
+0428 3333333333333333333333333333333333333333333333333333333
+0429 3333333333333333333333333333333333333333333333333333333
+0430 3333333333333333333333333333333333333333333333333333333
+0431 3333333333333333333333333333333333333333333333333333333
+0432 3333333333333333333333333333333333333333333333333333333
+0433 3333333333333333333333333333333333333333333333333333333
+0434 3333333333333333333333333333333333333333333333333333333
+0435 3333333333333333333333333333333333333333333333333333333
+0436 3333333333333333333333333333333333333333333333333333333
+0437 3333333333333333333333333333333333333333333333333333333
+0438 3333333333333333333333333333333333333333333333333333333
+0439 3333333333333333333333333333333333333333333333333333333
+0440 3333333333333333333333333333333333333333333333333333333
+0441 3333333333333333333333333333333333333333333333333333333
+0442 3333333333333333333333333333333333333333333333333333333
+0443 3333333333333333333333333333333333333333333333333333333
+0444 3333333333333333333333333333333333333333333333333333333
+0445 3333333333333333333333333333333333333333333333333333333
+0446 3333333333333333333333333333333333333333333333333333333
+0447 3333333333333333333333333333333333333333333333333333333
+0448 3333333333333333333333333333333333333333333333333333333
+0449 3333333333333333333333333333333333333333333333333333333
+0450 3333333333333333333333333333333333333333333333333333333
+0451 3333333333333333333333333333333333333333333333333333333
+0452 3333333333333333333333333333333333333333333333333333333
+0453 3333333333333333333333333333333333333333333333333333333
+0454 3333333333333333333333333333333333333333333333333333333
+0455 3333333333333333333333333333333333333333333333333333333
+0456 3333333333333333333333333333333333333333333333333333333
+0457 3333333333333333333333333333333333333333333333333333333
+0458 3333333333333333333333333333333333333333333333333333333
+0459 3333333333333333333333333333333333333333333333333333333
+0460 3333333333333333333333333333333333333333333333333333333
+0461 3333333333333333333333333333333333333333333333333333333
+0462 3333333333333333333333333333333333333333333333333333333
+0463 3333333333333333333333333333333333333333333333333333333
+0464 3333333333333333333333333333333333333333333333333333333
+0465 3333333333333333333333333333333333333333333333333333333
+0466 3333333333333333333333333333333333333333333333333333333
+0467 3333333333333333333333333333333333333333333333333333333
+0468 3333333333333333333333333333333333333333333333333333333
+0469 3333333333333333333333333333333333333333333333333333333
+0470 3333333333333333333333333333333333333333333333333333333
+0471 3333333333333333333333333333333333333333333333333333333
+0472 3333333333333333333333333333333333333333333333333333333
+0473 3333333333333333333333333333333333333333333333333333333
+0474 3333333333333333333333333333333333333333333333333333333
+0475 3333333333333333333333333333333333333333333333333333333
+0476 3333333333333333333333333333333333333333333333333333333
+0477 3333333333333333333333333333333333333333333333333333333
+0478 3333333333333333333333333333333333333333333333333333333
+0479 3333333333333333333333333333333333333333333333333333333
+0480 3333333333333333333333333333333333333333333333333333333
+0481 3333333333333333333333333333333333333333333333333333333
+0482 3333333333333333333333333333333333333333333333333333333
+0483 3333333333333333333333333333333333333333333333333333333
+0484 3333333333333333333333333333333333333333333333333333333
+0485 3333333333333333333333333333333333333333333333333333333
+0486 3333333333333333333333333333333333333333333333333333333
+0487 3333333333333333333333333333333333333333333333333333333
+0488 3333333333333333333333333333333333333333333333333333333
+0489 3333333333333333333333333333333333333333333333333333333
+0490 3333333333333333333333333333333333333333333333333333333
+0491 3333333333333333333333333333333333333333333333333333333
+0492 3333333333333333333333333333333333333333333333333333333
+0493 3333333333333333333333333333333333333333333333333333333
+0494 3333333333333333333333333333333333333333333333333333333
+0495 3333333333333333333333333333333333333333333333333333333
+0496 3333333333333333333333333333333333333333333333333333333
+0497 3333333333333333333333333333333333333333333333333333333
+0498 3333333333333333333333333333333333333333333333333333333
+0499 3333333333333333333333333333333333333333333333333333333
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt.sha1
new file mode 100644
index 0000000..c4b66d2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt.sha1
@@ -0,0 +1 @@
+60cc50d72cd761f423d7033e070e388c6589e81f
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file1.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file1.txt
new file mode 100644
index 0000000..d600d56
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file1.txt
@@ -0,0 +1,500 @@
+0000 3333333333333333333333333333333333333333333333333333333
+0001 3333333333333333333333333333333333333333333333333333333
+0002 3333333333333333333333333333333333333333333333333333333
+0003 3333333333333333333333333333333333333333333333333333333
+0004 3333333333333333333333333333333333333333333333333333333
+0005 3333333333333333333333333333333333333333333333333333333
+0006 3333333333333333333333333333333333333333333333333333333
+0007 3333333333333333333333333333333333333333333333333333333
+0008 3333333333333333333333333333333333333333333333333333333
+0009 3333333333333333333333333333333333333333333333333333333
+0010 3333333333333333333333333333333333333333333333333333333
+0011 3333333333333333333333333333333333333333333333333333333
+0012 3333333333333333333333333333333333333333333333333333333
+0013 3333333333333333333333333333333333333333333333333333333
+0014 3333333333333333333333333333333333333333333333333333333
+0015 3333333333333333333333333333333333333333333333333333333
+0016 3333333333333333333333333333333333333333333333333333333
+0017 3333333333333333333333333333333333333333333333333333333
+0018 3333333333333333333333333333333333333333333333333333333
+0019 3333333333333333333333333333333333333333333333333333333
+0020 3333333333333333333333333333333333333333333333333333333
+0021 3333333333333333333333333333333333333333333333333333333
+0022 3333333333333333333333333333333333333333333333333333333
+0023 3333333333333333333333333333333333333333333333333333333
+0024 3333333333333333333333333333333333333333333333333333333
+0025 3333333333333333333333333333333333333333333333333333333
+0026 3333333333333333333333333333333333333333333333333333333
+0027 3333333333333333333333333333333333333333333333333333333
+0028 3333333333333333333333333333333333333333333333333333333
+0029 3333333333333333333333333333333333333333333333333333333
+0030 3333333333333333333333333333333333333333333333333333333
+0031 3333333333333333333333333333333333333333333333333333333
+0032 3333333333333333333333333333333333333333333333333333333
+0033 3333333333333333333333333333333333333333333333333333333
+0034 3333333333333333333333333333333333333333333333333333333
+0035 3333333333333333333333333333333333333333333333333333333
+0036 3333333333333333333333333333333333333333333333333333333
+0037 3333333333333333333333333333333333333333333333333333333
+0038 3333333333333333333333333333333333333333333333333333333
+0039 3333333333333333333333333333333333333333333333333333333
+0040 3333333333333333333333333333333333333333333333333333333
+0041 3333333333333333333333333333333333333333333333333333333
+0042 3333333333333333333333333333333333333333333333333333333
+0043 3333333333333333333333333333333333333333333333333333333
+0044 3333333333333333333333333333333333333333333333333333333
+0045 3333333333333333333333333333333333333333333333333333333
+0046 3333333333333333333333333333333333333333333333333333333
+0047 3333333333333333333333333333333333333333333333333333333
+0048 3333333333333333333333333333333333333333333333333333333
+0049 3333333333333333333333333333333333333333333333333333333
+0050 3333333333333333333333333333333333333333333333333333333
+0051 3333333333333333333333333333333333333333333333333333333
+0052 3333333333333333333333333333333333333333333333333333333
+0053 3333333333333333333333333333333333333333333333333333333
+0054 3333333333333333333333333333333333333333333333333333333
+0055 3333333333333333333333333333333333333333333333333333333
+0056 3333333333333333333333333333333333333333333333333333333
+0057 3333333333333333333333333333333333333333333333333333333
+0058 3333333333333333333333333333333333333333333333333333333
+0059 3333333333333333333333333333333333333333333333333333333
+0060 3333333333333333333333333333333333333333333333333333333
+0061 3333333333333333333333333333333333333333333333333333333
+0062 3333333333333333333333333333333333333333333333333333333
+0063 3333333333333333333333333333333333333333333333333333333
+0064 3333333333333333333333333333333333333333333333333333333
+0065 3333333333333333333333333333333333333333333333333333333
+0066 3333333333333333333333333333333333333333333333333333333
+0067 3333333333333333333333333333333333333333333333333333333
+0068 3333333333333333333333333333333333333333333333333333333
+0069 3333333333333333333333333333333333333333333333333333333
+0070 3333333333333333333333333333333333333333333333333333333
+0071 3333333333333333333333333333333333333333333333333333333
+0072 3333333333333333333333333333333333333333333333333333333
+0073 3333333333333333333333333333333333333333333333333333333
+0074 3333333333333333333333333333333333333333333333333333333
+0075 3333333333333333333333333333333333333333333333333333333
+0076 3333333333333333333333333333333333333333333333333333333
+0077 3333333333333333333333333333333333333333333333333333333
+0078 3333333333333333333333333333333333333333333333333333333
+0079 3333333333333333333333333333333333333333333333333333333
+0080 3333333333333333333333333333333333333333333333333333333
+0081 3333333333333333333333333333333333333333333333333333333
+0082 3333333333333333333333333333333333333333333333333333333
+0083 3333333333333333333333333333333333333333333333333333333
+0084 3333333333333333333333333333333333333333333333333333333
+0085 3333333333333333333333333333333333333333333333333333333
+0086 3333333333333333333333333333333333333333333333333333333
+0087 3333333333333333333333333333333333333333333333333333333
+0088 3333333333333333333333333333333333333333333333333333333
+0089 3333333333333333333333333333333333333333333333333333333
+0090 3333333333333333333333333333333333333333333333333333333
+0091 3333333333333333333333333333333333333333333333333333333
+0092 3333333333333333333333333333333333333333333333333333333
+0093 3333333333333333333333333333333333333333333333333333333
+0094 3333333333333333333333333333333333333333333333333333333
+0095 3333333333333333333333333333333333333333333333333333333
+0096 3333333333333333333333333333333333333333333333333333333
+0097 3333333333333333333333333333333333333333333333333333333
+0098 3333333333333333333333333333333333333333333333333333333
+0099 3333333333333333333333333333333333333333333333333333333
+0100 3333333333333333333333333333333333333333333333333333333
+0101 3333333333333333333333333333333333333333333333333333333
+0102 3333333333333333333333333333333333333333333333333333333
+0103 3333333333333333333333333333333333333333333333333333333
+0104 3333333333333333333333333333333333333333333333333333333
+0105 3333333333333333333333333333333333333333333333333333333
+0106 3333333333333333333333333333333333333333333333333333333
+0107 3333333333333333333333333333333333333333333333333333333
+0108 3333333333333333333333333333333333333333333333333333333
+0109 3333333333333333333333333333333333333333333333333333333
+0110 3333333333333333333333333333333333333333333333333333333
+0111 3333333333333333333333333333333333333333333333333333333
+0112 3333333333333333333333333333333333333333333333333333333
+0113 3333333333333333333333333333333333333333333333333333333
+0114 3333333333333333333333333333333333333333333333333333333
+0115 3333333333333333333333333333333333333333333333333333333
+0116 3333333333333333333333333333333333333333333333333333333
+0117 3333333333333333333333333333333333333333333333333333333
+0118 3333333333333333333333333333333333333333333333333333333
+0119 3333333333333333333333333333333333333333333333333333333
+0120 3333333333333333333333333333333333333333333333333333333
+0121 3333333333333333333333333333333333333333333333333333333
+0122 3333333333333333333333333333333333333333333333333333333
+0123 3333333333333333333333333333333333333333333333333333333
+0124 3333333333333333333333333333333333333333333333333333333
+0125 3333333333333333333333333333333333333333333333333333333
+0126 3333333333333333333333333333333333333333333333333333333
+0127 3333333333333333333333333333333333333333333333333333333
+0128 3333333333333333333333333333333333333333333333333333333
+0129 3333333333333333333333333333333333333333333333333333333
+0130 3333333333333333333333333333333333333333333333333333333
+0131 3333333333333333333333333333333333333333333333333333333
+0132 3333333333333333333333333333333333333333333333333333333
+0133 3333333333333333333333333333333333333333333333333333333
+0134 3333333333333333333333333333333333333333333333333333333
+0135 3333333333333333333333333333333333333333333333333333333
+0136 3333333333333333333333333333333333333333333333333333333
+0137 3333333333333333333333333333333333333333333333333333333
+0138 3333333333333333333333333333333333333333333333333333333
+0139 3333333333333333333333333333333333333333333333333333333
+0140 3333333333333333333333333333333333333333333333333333333
+0141 3333333333333333333333333333333333333333333333333333333
+0142 3333333333333333333333333333333333333333333333333333333
+0143 3333333333333333333333333333333333333333333333333333333
+0144 3333333333333333333333333333333333333333333333333333333
+0145 3333333333333333333333333333333333333333333333333333333
+0146 3333333333333333333333333333333333333333333333333333333
+0147 3333333333333333333333333333333333333333333333333333333
+0148 3333333333333333333333333333333333333333333333333333333
+0149 3333333333333333333333333333333333333333333333333333333
+0150 3333333333333333333333333333333333333333333333333333333
+0151 3333333333333333333333333333333333333333333333333333333
+0152 3333333333333333333333333333333333333333333333333333333
+0153 3333333333333333333333333333333333333333333333333333333
+0154 3333333333333333333333333333333333333333333333333333333
+0155 3333333333333333333333333333333333333333333333333333333
+0156 3333333333333333333333333333333333333333333333333333333
+0157 3333333333333333333333333333333333333333333333333333333
+0158 3333333333333333333333333333333333333333333333333333333
+0159 3333333333333333333333333333333333333333333333333333333
+0160 3333333333333333333333333333333333333333333333333333333
+0161 3333333333333333333333333333333333333333333333333333333
+0162 3333333333333333333333333333333333333333333333333333333
+0163 3333333333333333333333333333333333333333333333333333333
+0164 3333333333333333333333333333333333333333333333333333333
+0165 3333333333333333333333333333333333333333333333333333333
+0166 3333333333333333333333333333333333333333333333333333333
+0167 3333333333333333333333333333333333333333333333333333333
+0168 3333333333333333333333333333333333333333333333333333333
+0169 3333333333333333333333333333333333333333333333333333333
+0170 3333333333333333333333333333333333333333333333333333333
+0171 3333333333333333333333333333333333333333333333333333333
+0172 3333333333333333333333333333333333333333333333333333333
+0173 3333333333333333333333333333333333333333333333333333333
+0174 3333333333333333333333333333333333333333333333333333333
+0175 3333333333333333333333333333333333333333333333333333333
+0176 3333333333333333333333333333333333333333333333333333333
+0177 3333333333333333333333333333333333333333333333333333333
+0178 3333333333333333333333333333333333333333333333333333333
+0179 3333333333333333333333333333333333333333333333333333333
+0180 3333333333333333333333333333333333333333333333333333333
+0181 3333333333333333333333333333333333333333333333333333333
+0182 3333333333333333333333333333333333333333333333333333333
+0183 3333333333333333333333333333333333333333333333333333333
+0184 3333333333333333333333333333333333333333333333333333333
+0185 3333333333333333333333333333333333333333333333333333333
+0186 3333333333333333333333333333333333333333333333333333333
+0187 3333333333333333333333333333333333333333333333333333333
+0188 3333333333333333333333333333333333333333333333333333333
+0189 3333333333333333333333333333333333333333333333333333333
+0190 3333333333333333333333333333333333333333333333333333333
+0191 3333333333333333333333333333333333333333333333333333333
+0192 3333333333333333333333333333333333333333333333333333333
+0193 3333333333333333333333333333333333333333333333333333333
+0194 3333333333333333333333333333333333333333333333333333333
+0195 3333333333333333333333333333333333333333333333333333333
+0196 3333333333333333333333333333333333333333333333333333333
+0197 3333333333333333333333333333333333333333333333333333333
+0198 3333333333333333333333333333333333333333333333333333333
+0199 3333333333333333333333333333333333333333333333333333333
+0200 3333333333333333333333333333333333333333333333333333333
+0201 3333333333333333333333333333333333333333333333333333333
+0202 3333333333333333333333333333333333333333333333333333333
+0203 3333333333333333333333333333333333333333333333333333333
+0204 3333333333333333333333333333333333333333333333333333333
+0205 3333333333333333333333333333333333333333333333333333333
+0206 3333333333333333333333333333333333333333333333333333333
+0207 3333333333333333333333333333333333333333333333333333333
+0208 3333333333333333333333333333333333333333333333333333333
+0209 3333333333333333333333333333333333333333333333333333333
+0210 3333333333333333333333333333333333333333333333333333333
+0211 3333333333333333333333333333333333333333333333333333333
+0212 3333333333333333333333333333333333333333333333333333333
+0213 3333333333333333333333333333333333333333333333333333333
+0214 3333333333333333333333333333333333333333333333333333333
+0215 3333333333333333333333333333333333333333333333333333333
+0216 3333333333333333333333333333333333333333333333333333333
+0217 3333333333333333333333333333333333333333333333333333333
+0218 3333333333333333333333333333333333333333333333333333333
+0219 3333333333333333333333333333333333333333333333333333333
+0220 3333333333333333333333333333333333333333333333333333333
+0221 3333333333333333333333333333333333333333333333333333333
+0222 3333333333333333333333333333333333333333333333333333333
+0223 3333333333333333333333333333333333333333333333333333333
+0224 3333333333333333333333333333333333333333333333333333333
+0225 3333333333333333333333333333333333333333333333333333333
+0226 3333333333333333333333333333333333333333333333333333333
+0227 3333333333333333333333333333333333333333333333333333333
+0228 3333333333333333333333333333333333333333333333333333333
+0229 3333333333333333333333333333333333333333333333333333333
+0230 3333333333333333333333333333333333333333333333333333333
+0231 3333333333333333333333333333333333333333333333333333333
+0232 3333333333333333333333333333333333333333333333333333333
+0233 3333333333333333333333333333333333333333333333333333333
+0234 3333333333333333333333333333333333333333333333333333333
+0235 3333333333333333333333333333333333333333333333333333333
+0236 3333333333333333333333333333333333333333333333333333333
+0237 3333333333333333333333333333333333333333333333333333333
+0238 3333333333333333333333333333333333333333333333333333333
+0239 3333333333333333333333333333333333333333333333333333333
+0240 3333333333333333333333333333333333333333333333333333333
+0241 3333333333333333333333333333333333333333333333333333333
+0242 3333333333333333333333333333333333333333333333333333333
+0243 3333333333333333333333333333333333333333333333333333333
+0244 3333333333333333333333333333333333333333333333333333333
+0245 3333333333333333333333333333333333333333333333333333333
+0246 3333333333333333333333333333333333333333333333333333333
+0247 3333333333333333333333333333333333333333333333333333333
+0248 3333333333333333333333333333333333333333333333333333333
+0249 3333333333333333333333333333333333333333333333333333333
+0250 3333333333333333333333333333333333333333333333333333333
+0251 3333333333333333333333333333333333333333333333333333333
+0252 3333333333333333333333333333333333333333333333333333333
+0253 3333333333333333333333333333333333333333333333333333333
+0254 3333333333333333333333333333333333333333333333333333333
+0255 3333333333333333333333333333333333333333333333333333333
+0256 3333333333333333333333333333333333333333333333333333333
+0257 3333333333333333333333333333333333333333333333333333333
+0258 3333333333333333333333333333333333333333333333333333333
+0259 3333333333333333333333333333333333333333333333333333333
+0260 3333333333333333333333333333333333333333333333333333333
+0261 3333333333333333333333333333333333333333333333333333333
+0262 3333333333333333333333333333333333333333333333333333333
+0263 3333333333333333333333333333333333333333333333333333333
+0264 3333333333333333333333333333333333333333333333333333333
+0265 3333333333333333333333333333333333333333333333333333333
+0266 3333333333333333333333333333333333333333333333333333333
+0267 3333333333333333333333333333333333333333333333333333333
+0268 3333333333333333333333333333333333333333333333333333333
+0269 3333333333333333333333333333333333333333333333333333333
+0270 3333333333333333333333333333333333333333333333333333333
+0271 3333333333333333333333333333333333333333333333333333333
+0272 3333333333333333333333333333333333333333333333333333333
+0273 3333333333333333333333333333333333333333333333333333333
+0274 3333333333333333333333333333333333333333333333333333333
+0275 3333333333333333333333333333333333333333333333333333333
+0276 3333333333333333333333333333333333333333333333333333333
+0277 3333333333333333333333333333333333333333333333333333333
+0278 3333333333333333333333333333333333333333333333333333333
+0279 3333333333333333333333333333333333333333333333333333333
+0280 3333333333333333333333333333333333333333333333333333333
+0281 3333333333333333333333333333333333333333333333333333333
+0282 3333333333333333333333333333333333333333333333333333333
+0283 3333333333333333333333333333333333333333333333333333333
+0284 3333333333333333333333333333333333333333333333333333333
+0285 3333333333333333333333333333333333333333333333333333333
+0286 3333333333333333333333333333333333333333333333333333333
+0287 3333333333333333333333333333333333333333333333333333333
+0288 3333333333333333333333333333333333333333333333333333333
+0289 3333333333333333333333333333333333333333333333333333333
+0290 3333333333333333333333333333333333333333333333333333333
+0291 3333333333333333333333333333333333333333333333333333333
+0292 3333333333333333333333333333333333333333333333333333333
+0293 3333333333333333333333333333333333333333333333333333333
+0294 3333333333333333333333333333333333333333333333333333333
+0295 3333333333333333333333333333333333333333333333333333333
+0296 3333333333333333333333333333333333333333333333333333333
+0297 3333333333333333333333333333333333333333333333333333333
+0298 3333333333333333333333333333333333333333333333333333333
+0299 3333333333333333333333333333333333333333333333333333333
+0300 3333333333333333333333333333333333333333333333333333333
+0301 3333333333333333333333333333333333333333333333333333333
+0302 3333333333333333333333333333333333333333333333333333333
+0303 3333333333333333333333333333333333333333333333333333333
+0304 3333333333333333333333333333333333333333333333333333333
+0305 3333333333333333333333333333333333333333333333333333333
+0306 3333333333333333333333333333333333333333333333333333333
+0307 3333333333333333333333333333333333333333333333333333333
+0308 3333333333333333333333333333333333333333333333333333333
+0309 3333333333333333333333333333333333333333333333333333333
+0310 3333333333333333333333333333333333333333333333333333333
+0311 3333333333333333333333333333333333333333333333333333333
+0312 3333333333333333333333333333333333333333333333333333333
+0313 3333333333333333333333333333333333333333333333333333333
+0314 3333333333333333333333333333333333333333333333333333333
+0315 3333333333333333333333333333333333333333333333333333333
+0316 3333333333333333333333333333333333333333333333333333333
+0317 3333333333333333333333333333333333333333333333333333333
+0318 3333333333333333333333333333333333333333333333333333333
+0319 3333333333333333333333333333333333333333333333333333333
+0320 3333333333333333333333333333333333333333333333333333333
+0321 3333333333333333333333333333333333333333333333333333333
+0322 3333333333333333333333333333333333333333333333333333333
+0323 3333333333333333333333333333333333333333333333333333333
+0324 3333333333333333333333333333333333333333333333333333333
+0325 3333333333333333333333333333333333333333333333333333333
+0326 3333333333333333333333333333333333333333333333333333333
+0327 3333333333333333333333333333333333333333333333333333333
+0328 3333333333333333333333333333333333333333333333333333333
+0329 3333333333333333333333333333333333333333333333333333333
+0330 3333333333333333333333333333333333333333333333333333333
+0331 3333333333333333333333333333333333333333333333333333333
+0332 3333333333333333333333333333333333333333333333333333333
+0333 3333333333333333333333333333333333333333333333333333333
+0334 3333333333333333333333333333333333333333333333333333333
+0335 3333333333333333333333333333333333333333333333333333333
+0336 3333333333333333333333333333333333333333333333333333333
+0337 3333333333333333333333333333333333333333333333333333333
+0338 3333333333333333333333333333333333333333333333333333333
+0339 3333333333333333333333333333333333333333333333333333333
+0340 3333333333333333333333333333333333333333333333333333333
+0341 3333333333333333333333333333333333333333333333333333333
+0342 3333333333333333333333333333333333333333333333333333333
+0343 3333333333333333333333333333333333333333333333333333333
+0344 3333333333333333333333333333333333333333333333333333333
+0345 3333333333333333333333333333333333333333333333333333333
+0346 3333333333333333333333333333333333333333333333333333333
+0347 3333333333333333333333333333333333333333333333333333333
+0348 3333333333333333333333333333333333333333333333333333333
+0349 3333333333333333333333333333333333333333333333333333333
+0350 3333333333333333333333333333333333333333333333333333333
+0351 3333333333333333333333333333333333333333333333333333333
+0352 3333333333333333333333333333333333333333333333333333333
+0353 3333333333333333333333333333333333333333333333333333333
+0354 3333333333333333333333333333333333333333333333333333333
+0355 3333333333333333333333333333333333333333333333333333333
+0356 3333333333333333333333333333333333333333333333333333333
+0357 3333333333333333333333333333333333333333333333333333333
+0358 3333333333333333333333333333333333333333333333333333333
+0359 3333333333333333333333333333333333333333333333333333333
+0360 3333333333333333333333333333333333333333333333333333333
+0361 3333333333333333333333333333333333333333333333333333333
+0362 3333333333333333333333333333333333333333333333333333333
+0363 3333333333333333333333333333333333333333333333333333333
+0364 3333333333333333333333333333333333333333333333333333333
+0365 3333333333333333333333333333333333333333333333333333333
+0366 3333333333333333333333333333333333333333333333333333333
+0367 3333333333333333333333333333333333333333333333333333333
+0368 3333333333333333333333333333333333333333333333333333333
+0369 3333333333333333333333333333333333333333333333333333333
+0370 3333333333333333333333333333333333333333333333333333333
+0371 3333333333333333333333333333333333333333333333333333333
+0372 3333333333333333333333333333333333333333333333333333333
+0373 3333333333333333333333333333333333333333333333333333333
+0374 3333333333333333333333333333333333333333333333333333333
+0375 3333333333333333333333333333333333333333333333333333333
+0376 3333333333333333333333333333333333333333333333333333333
+0377 3333333333333333333333333333333333333333333333333333333
+0378 3333333333333333333333333333333333333333333333333333333
+0379 3333333333333333333333333333333333333333333333333333333
+0380 3333333333333333333333333333333333333333333333333333333
+0381 3333333333333333333333333333333333333333333333333333333
+0382 3333333333333333333333333333333333333333333333333333333
+0383 3333333333333333333333333333333333333333333333333333333
+0384 3333333333333333333333333333333333333333333333333333333
+0385 3333333333333333333333333333333333333333333333333333333
+0386 3333333333333333333333333333333333333333333333333333333
+0387 3333333333333333333333333333333333333333333333333333333
+0388 3333333333333333333333333333333333333333333333333333333
+0389 3333333333333333333333333333333333333333333333333333333
+0390 3333333333333333333333333333333333333333333333333333333
+0391 3333333333333333333333333333333333333333333333333333333
+0392 3333333333333333333333333333333333333333333333333333333
+0393 3333333333333333333333333333333333333333333333333333333
+0394 3333333333333333333333333333333333333333333333333333333
+0395 3333333333333333333333333333333333333333333333333333333
+0396 3333333333333333333333333333333333333333333333333333333
+0397 3333333333333333333333333333333333333333333333333333333
+0398 3333333333333333333333333333333333333333333333333333333
+0399 3333333333333333333333333333333333333333333333333333333
+0400 3333333333333333333333333333333333333333333333333333333
+0401 3333333333333333333333333333333333333333333333333333333
+0402 3333333333333333333333333333333333333333333333333333333
+0403 3333333333333333333333333333333333333333333333333333333
+0404 3333333333333333333333333333333333333333333333333333333
+0405 3333333333333333333333333333333333333333333333333333333
+0406 3333333333333333333333333333333333333333333333333333333
+0407 3333333333333333333333333333333333333333333333333333333
+0408 3333333333333333333333333333333333333333333333333333333
+0409 3333333333333333333333333333333333333333333333333333333
+0410 3333333333333333333333333333333333333333333333333333333
+0411 3333333333333333333333333333333333333333333333333333333
+0412 3333333333333333333333333333333333333333333333333333333
+0413 3333333333333333333333333333333333333333333333333333333
+0414 3333333333333333333333333333333333333333333333333333333
+0415 3333333333333333333333333333333333333333333333333333333
+0416 3333333333333333333333333333333333333333333333333333333
+0417 3333333333333333333333333333333333333333333333333333333
+0418 3333333333333333333333333333333333333333333333333333333
+0419 3333333333333333333333333333333333333333333333333333333
+0420 3333333333333333333333333333333333333333333333333333333
+0421 3333333333333333333333333333333333333333333333333333333
+0422 3333333333333333333333333333333333333333333333333333333
+0423 3333333333333333333333333333333333333333333333333333333
+0424 3333333333333333333333333333333333333333333333333333333
+0425 3333333333333333333333333333333333333333333333333333333
+0426 3333333333333333333333333333333333333333333333333333333
+0427 3333333333333333333333333333333333333333333333333333333
+0428 3333333333333333333333333333333333333333333333333333333
+0429 3333333333333333333333333333333333333333333333333333333
+0430 3333333333333333333333333333333333333333333333333333333
+0431 3333333333333333333333333333333333333333333333333333333
+0432 3333333333333333333333333333333333333333333333333333333
+0433 3333333333333333333333333333333333333333333333333333333
+0434 3333333333333333333333333333333333333333333333333333333
+0435 3333333333333333333333333333333333333333333333333333333
+0436 3333333333333333333333333333333333333333333333333333333
+0437 3333333333333333333333333333333333333333333333333333333
+0438 3333333333333333333333333333333333333333333333333333333
+0439 3333333333333333333333333333333333333333333333333333333
+0440 3333333333333333333333333333333333333333333333333333333
+0441 3333333333333333333333333333333333333333333333333333333
+0442 3333333333333333333333333333333333333333333333333333333
+0443 3333333333333333333333333333333333333333333333333333333
+0444 3333333333333333333333333333333333333333333333333333333
+0445 3333333333333333333333333333333333333333333333333333333
+0446 3333333333333333333333333333333333333333333333333333333
+0447 3333333333333333333333333333333333333333333333333333333
+0448 3333333333333333333333333333333333333333333333333333333
+0449 3333333333333333333333333333333333333333333333333333333
+0450 3333333333333333333333333333333333333333333333333333333
+0451 3333333333333333333333333333333333333333333333333333333
+0452 3333333333333333333333333333333333333333333333333333333
+0453 3333333333333333333333333333333333333333333333333333333
+0454 3333333333333333333333333333333333333333333333333333333
+0455 3333333333333333333333333333333333333333333333333333333
+0456 3333333333333333333333333333333333333333333333333333333
+0457 3333333333333333333333333333333333333333333333333333333
+0458 3333333333333333333333333333333333333333333333333333333
+0459 3333333333333333333333333333333333333333333333333333333
+0460 3333333333333333333333333333333333333333333333333333333
+0461 3333333333333333333333333333333333333333333333333333333
+0462 3333333333333333333333333333333333333333333333333333333
+0463 3333333333333333333333333333333333333333333333333333333
+0464 3333333333333333333333333333333333333333333333333333333
+0465 3333333333333333333333333333333333333333333333333333333
+0466 3333333333333333333333333333333333333333333333333333333
+0467 3333333333333333333333333333333333333333333333333333333
+0468 3333333333333333333333333333333333333333333333333333333
+0469 3333333333333333333333333333333333333333333333333333333
+0470 3333333333333333333333333333333333333333333333333333333
+0471 3333333333333333333333333333333333333333333333333333333
+0472 3333333333333333333333333333333333333333333333333333333
+0473 3333333333333333333333333333333333333333333333333333333
+0474 3333333333333333333333333333333333333333333333333333333
+0475 3333333333333333333333333333333333333333333333333333333
+0476 3333333333333333333333333333333333333333333333333333333
+0477 3333333333333333333333333333333333333333333333333333333
+0478 3333333333333333333333333333333333333333333333333333333
+0479 3333333333333333333333333333333333333333333333333333333
+0480 3333333333333333333333333333333333333333333333333333333
+0481 3333333333333333333333333333333333333333333333333333333
+0482 3333333333333333333333333333333333333333333333333333333
+0483 3333333333333333333333333333333333333333333333333333333
+0484 3333333333333333333333333333333333333333333333333333333
+0485 3333333333333333333333333333333333333333333333333333333
+0486 3333333333333333333333333333333333333333333333333333333
+0487 3333333333333333333333333333333333333333333333333333333
+0488 3333333333333333333333333333333333333333333333333333333
+0489 3333333333333333333333333333333333333333333333333333333
+0490 3333333333333333333333333333333333333333333333333333333
+0491 3333333333333333333333333333333333333333333333333333333
+0492 3333333333333333333333333333333333333333333333333333333
+0493 3333333333333333333333333333333333333333333333333333333
+0494 3333333333333333333333333333333333333333333333333333333
+0495 3333333333333333333333333333333333333333333333333333333
+0496 3333333333333333333333333333333333333333333333333333333
+0497 3333333333333333333333333333333333333333333333333333333
+0498 3333333333333333333333333333333333333333333333333333333
+0499 3333333333333333333333333333333333333333333333333333333
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt
new file mode 100644
index 0000000..d600d56
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt
@@ -0,0 +1,500 @@
+0000 3333333333333333333333333333333333333333333333333333333
+0001 3333333333333333333333333333333333333333333333333333333
+0002 3333333333333333333333333333333333333333333333333333333
+0003 3333333333333333333333333333333333333333333333333333333
+0004 3333333333333333333333333333333333333333333333333333333
+0005 3333333333333333333333333333333333333333333333333333333
+0006 3333333333333333333333333333333333333333333333333333333
+0007 3333333333333333333333333333333333333333333333333333333
+0008 3333333333333333333333333333333333333333333333333333333
+0009 3333333333333333333333333333333333333333333333333333333
+0010 3333333333333333333333333333333333333333333333333333333
+0011 3333333333333333333333333333333333333333333333333333333
+0012 3333333333333333333333333333333333333333333333333333333
+0013 3333333333333333333333333333333333333333333333333333333
+0014 3333333333333333333333333333333333333333333333333333333
+0015 3333333333333333333333333333333333333333333333333333333
+0016 3333333333333333333333333333333333333333333333333333333
+0017 3333333333333333333333333333333333333333333333333333333
+0018 3333333333333333333333333333333333333333333333333333333
+0019 3333333333333333333333333333333333333333333333333333333
+0020 3333333333333333333333333333333333333333333333333333333
+0021 3333333333333333333333333333333333333333333333333333333
+0022 3333333333333333333333333333333333333333333333333333333
+0023 3333333333333333333333333333333333333333333333333333333
+0024 3333333333333333333333333333333333333333333333333333333
+0025 3333333333333333333333333333333333333333333333333333333
+0026 3333333333333333333333333333333333333333333333333333333
+0027 3333333333333333333333333333333333333333333333333333333
+0028 3333333333333333333333333333333333333333333333333333333
+0029 3333333333333333333333333333333333333333333333333333333
+0030 3333333333333333333333333333333333333333333333333333333
+0031 3333333333333333333333333333333333333333333333333333333
+0032 3333333333333333333333333333333333333333333333333333333
+0033 3333333333333333333333333333333333333333333333333333333
+0034 3333333333333333333333333333333333333333333333333333333
+0035 3333333333333333333333333333333333333333333333333333333
+0036 3333333333333333333333333333333333333333333333333333333
+0037 3333333333333333333333333333333333333333333333333333333
+0038 3333333333333333333333333333333333333333333333333333333
+0039 3333333333333333333333333333333333333333333333333333333
+0040 3333333333333333333333333333333333333333333333333333333
+0041 3333333333333333333333333333333333333333333333333333333
+0042 3333333333333333333333333333333333333333333333333333333
+0043 3333333333333333333333333333333333333333333333333333333
+0044 3333333333333333333333333333333333333333333333333333333
+0045 3333333333333333333333333333333333333333333333333333333
+0046 3333333333333333333333333333333333333333333333333333333
+0047 3333333333333333333333333333333333333333333333333333333
+0048 3333333333333333333333333333333333333333333333333333333
+0049 3333333333333333333333333333333333333333333333333333333
+0050 3333333333333333333333333333333333333333333333333333333
+0051 3333333333333333333333333333333333333333333333333333333
+0052 3333333333333333333333333333333333333333333333333333333
+0053 3333333333333333333333333333333333333333333333333333333
+0054 3333333333333333333333333333333333333333333333333333333
+0055 3333333333333333333333333333333333333333333333333333333
+0056 3333333333333333333333333333333333333333333333333333333
+0057 3333333333333333333333333333333333333333333333333333333
+0058 3333333333333333333333333333333333333333333333333333333
+0059 3333333333333333333333333333333333333333333333333333333
+0060 3333333333333333333333333333333333333333333333333333333
+0061 3333333333333333333333333333333333333333333333333333333
+0062 3333333333333333333333333333333333333333333333333333333
+0063 3333333333333333333333333333333333333333333333333333333
+0064 3333333333333333333333333333333333333333333333333333333
+0065 3333333333333333333333333333333333333333333333333333333
+0066 3333333333333333333333333333333333333333333333333333333
+0067 3333333333333333333333333333333333333333333333333333333
+0068 3333333333333333333333333333333333333333333333333333333
+0069 3333333333333333333333333333333333333333333333333333333
+0070 3333333333333333333333333333333333333333333333333333333
+0071 3333333333333333333333333333333333333333333333333333333
+0072 3333333333333333333333333333333333333333333333333333333
+0073 3333333333333333333333333333333333333333333333333333333
+0074 3333333333333333333333333333333333333333333333333333333
+0075 3333333333333333333333333333333333333333333333333333333
+0076 3333333333333333333333333333333333333333333333333333333
+0077 3333333333333333333333333333333333333333333333333333333
+0078 3333333333333333333333333333333333333333333333333333333
+0079 3333333333333333333333333333333333333333333333333333333
+0080 3333333333333333333333333333333333333333333333333333333
+0081 3333333333333333333333333333333333333333333333333333333
+0082 3333333333333333333333333333333333333333333333333333333
+0083 3333333333333333333333333333333333333333333333333333333
+0084 3333333333333333333333333333333333333333333333333333333
+0085 3333333333333333333333333333333333333333333333333333333
+0086 3333333333333333333333333333333333333333333333333333333
+0087 3333333333333333333333333333333333333333333333333333333
+0088 3333333333333333333333333333333333333333333333333333333
+0089 3333333333333333333333333333333333333333333333333333333
+0090 3333333333333333333333333333333333333333333333333333333
+0091 3333333333333333333333333333333333333333333333333333333
+0092 3333333333333333333333333333333333333333333333333333333
+0093 3333333333333333333333333333333333333333333333333333333
+0094 3333333333333333333333333333333333333333333333333333333
+0095 3333333333333333333333333333333333333333333333333333333
+0096 3333333333333333333333333333333333333333333333333333333
+0097 3333333333333333333333333333333333333333333333333333333
+0098 3333333333333333333333333333333333333333333333333333333
+0099 3333333333333333333333333333333333333333333333333333333
+0100 3333333333333333333333333333333333333333333333333333333
+0101 3333333333333333333333333333333333333333333333333333333
+0102 3333333333333333333333333333333333333333333333333333333
+0103 3333333333333333333333333333333333333333333333333333333
+0104 3333333333333333333333333333333333333333333333333333333
+0105 3333333333333333333333333333333333333333333333333333333
+0106 3333333333333333333333333333333333333333333333333333333
+0107 3333333333333333333333333333333333333333333333333333333
+0108 3333333333333333333333333333333333333333333333333333333
+0109 3333333333333333333333333333333333333333333333333333333
+0110 3333333333333333333333333333333333333333333333333333333
+0111 3333333333333333333333333333333333333333333333333333333
+0112 3333333333333333333333333333333333333333333333333333333
+0113 3333333333333333333333333333333333333333333333333333333
+0114 3333333333333333333333333333333333333333333333333333333
+0115 3333333333333333333333333333333333333333333333333333333
+0116 3333333333333333333333333333333333333333333333333333333
+0117 3333333333333333333333333333333333333333333333333333333
+0118 3333333333333333333333333333333333333333333333333333333
+0119 3333333333333333333333333333333333333333333333333333333
+0120 3333333333333333333333333333333333333333333333333333333
+0121 3333333333333333333333333333333333333333333333333333333
+0122 3333333333333333333333333333333333333333333333333333333
+0123 3333333333333333333333333333333333333333333333333333333
+0124 3333333333333333333333333333333333333333333333333333333
+0125 3333333333333333333333333333333333333333333333333333333
+0126 3333333333333333333333333333333333333333333333333333333
+0127 3333333333333333333333333333333333333333333333333333333
+0128 3333333333333333333333333333333333333333333333333333333
+0129 3333333333333333333333333333333333333333333333333333333
+0130 3333333333333333333333333333333333333333333333333333333
+0131 3333333333333333333333333333333333333333333333333333333
+0132 3333333333333333333333333333333333333333333333333333333
+0133 3333333333333333333333333333333333333333333333333333333
+0134 3333333333333333333333333333333333333333333333333333333
+0135 3333333333333333333333333333333333333333333333333333333
+0136 3333333333333333333333333333333333333333333333333333333
+0137 3333333333333333333333333333333333333333333333333333333
+0138 3333333333333333333333333333333333333333333333333333333
+0139 3333333333333333333333333333333333333333333333333333333
+0140 3333333333333333333333333333333333333333333333333333333
+0141 3333333333333333333333333333333333333333333333333333333
+0142 3333333333333333333333333333333333333333333333333333333
+0143 3333333333333333333333333333333333333333333333333333333
+0144 3333333333333333333333333333333333333333333333333333333
+0145 3333333333333333333333333333333333333333333333333333333
+0146 3333333333333333333333333333333333333333333333333333333
+0147 3333333333333333333333333333333333333333333333333333333
+0148 3333333333333333333333333333333333333333333333333333333
+0149 3333333333333333333333333333333333333333333333333333333
+0150 3333333333333333333333333333333333333333333333333333333
+0151 3333333333333333333333333333333333333333333333333333333
+0152 3333333333333333333333333333333333333333333333333333333
+0153 3333333333333333333333333333333333333333333333333333333
+0154 3333333333333333333333333333333333333333333333333333333
+0155 3333333333333333333333333333333333333333333333333333333
+0156 3333333333333333333333333333333333333333333333333333333
+0157 3333333333333333333333333333333333333333333333333333333
+0158 3333333333333333333333333333333333333333333333333333333
+0159 3333333333333333333333333333333333333333333333333333333
+0160 3333333333333333333333333333333333333333333333333333333
+0161 3333333333333333333333333333333333333333333333333333333
+0162 3333333333333333333333333333333333333333333333333333333
+0163 3333333333333333333333333333333333333333333333333333333
+0164 3333333333333333333333333333333333333333333333333333333
+0165 3333333333333333333333333333333333333333333333333333333
+0166 3333333333333333333333333333333333333333333333333333333
+0167 3333333333333333333333333333333333333333333333333333333
+0168 3333333333333333333333333333333333333333333333333333333
+0169 3333333333333333333333333333333333333333333333333333333
+0170 3333333333333333333333333333333333333333333333333333333
+0171 3333333333333333333333333333333333333333333333333333333
+0172 3333333333333333333333333333333333333333333333333333333
+0173 3333333333333333333333333333333333333333333333333333333
+0174 3333333333333333333333333333333333333333333333333333333
+0175 3333333333333333333333333333333333333333333333333333333
+0176 3333333333333333333333333333333333333333333333333333333
+0177 3333333333333333333333333333333333333333333333333333333
+0178 3333333333333333333333333333333333333333333333333333333
+0179 3333333333333333333333333333333333333333333333333333333
+0180 3333333333333333333333333333333333333333333333333333333
+0181 3333333333333333333333333333333333333333333333333333333
+0182 3333333333333333333333333333333333333333333333333333333
+0183 3333333333333333333333333333333333333333333333333333333
+0184 3333333333333333333333333333333333333333333333333333333
+0185 3333333333333333333333333333333333333333333333333333333
+0186 3333333333333333333333333333333333333333333333333333333
+0187 3333333333333333333333333333333333333333333333333333333
+0188 3333333333333333333333333333333333333333333333333333333
+0189 3333333333333333333333333333333333333333333333333333333
+0190 3333333333333333333333333333333333333333333333333333333
+0191 3333333333333333333333333333333333333333333333333333333
+0192 3333333333333333333333333333333333333333333333333333333
+0193 3333333333333333333333333333333333333333333333333333333
+0194 3333333333333333333333333333333333333333333333333333333
+0195 3333333333333333333333333333333333333333333333333333333
+0196 3333333333333333333333333333333333333333333333333333333
+0197 3333333333333333333333333333333333333333333333333333333
+0198 3333333333333333333333333333333333333333333333333333333
+0199 3333333333333333333333333333333333333333333333333333333
+0200 3333333333333333333333333333333333333333333333333333333
+0201 3333333333333333333333333333333333333333333333333333333
+0202 3333333333333333333333333333333333333333333333333333333
+0203 3333333333333333333333333333333333333333333333333333333
+0204 3333333333333333333333333333333333333333333333333333333
+0205 3333333333333333333333333333333333333333333333333333333
+0206 3333333333333333333333333333333333333333333333333333333
+0207 3333333333333333333333333333333333333333333333333333333
+0208 3333333333333333333333333333333333333333333333333333333
+0209 3333333333333333333333333333333333333333333333333333333
+0210 3333333333333333333333333333333333333333333333333333333
+0211 3333333333333333333333333333333333333333333333333333333
+0212 3333333333333333333333333333333333333333333333333333333
+0213 3333333333333333333333333333333333333333333333333333333
+0214 3333333333333333333333333333333333333333333333333333333
+0215 3333333333333333333333333333333333333333333333333333333
+0216 3333333333333333333333333333333333333333333333333333333
+0217 3333333333333333333333333333333333333333333333333333333
+0218 3333333333333333333333333333333333333333333333333333333
+0219 3333333333333333333333333333333333333333333333333333333
+0220 3333333333333333333333333333333333333333333333333333333
+0221 3333333333333333333333333333333333333333333333333333333
+0222 3333333333333333333333333333333333333333333333333333333
+0223 3333333333333333333333333333333333333333333333333333333
+0224 3333333333333333333333333333333333333333333333333333333
+0225 3333333333333333333333333333333333333333333333333333333
+0226 3333333333333333333333333333333333333333333333333333333
+0227 3333333333333333333333333333333333333333333333333333333
+0228 3333333333333333333333333333333333333333333333333333333
+0229 3333333333333333333333333333333333333333333333333333333
+0230 3333333333333333333333333333333333333333333333333333333
+0231 3333333333333333333333333333333333333333333333333333333
+0232 3333333333333333333333333333333333333333333333333333333
+0233 3333333333333333333333333333333333333333333333333333333
+0234 3333333333333333333333333333333333333333333333333333333
+0235 3333333333333333333333333333333333333333333333333333333
+0236 3333333333333333333333333333333333333333333333333333333
+0237 3333333333333333333333333333333333333333333333333333333
+0238 3333333333333333333333333333333333333333333333333333333
+0239 3333333333333333333333333333333333333333333333333333333
+0240 3333333333333333333333333333333333333333333333333333333
+0241 3333333333333333333333333333333333333333333333333333333
+0242 3333333333333333333333333333333333333333333333333333333
+0243 3333333333333333333333333333333333333333333333333333333
+0244 3333333333333333333333333333333333333333333333333333333
+0245 3333333333333333333333333333333333333333333333333333333
+0246 3333333333333333333333333333333333333333333333333333333
+0247 3333333333333333333333333333333333333333333333333333333
+0248 3333333333333333333333333333333333333333333333333333333
+0249 3333333333333333333333333333333333333333333333333333333
+0250 3333333333333333333333333333333333333333333333333333333
+0251 3333333333333333333333333333333333333333333333333333333
+0252 3333333333333333333333333333333333333333333333333333333
+0253 3333333333333333333333333333333333333333333333333333333
+0254 3333333333333333333333333333333333333333333333333333333
+0255 3333333333333333333333333333333333333333333333333333333
+0256 3333333333333333333333333333333333333333333333333333333
+0257 3333333333333333333333333333333333333333333333333333333
+0258 3333333333333333333333333333333333333333333333333333333
+0259 3333333333333333333333333333333333333333333333333333333
+0260 3333333333333333333333333333333333333333333333333333333
+0261 3333333333333333333333333333333333333333333333333333333
+0262 3333333333333333333333333333333333333333333333333333333
+0263 3333333333333333333333333333333333333333333333333333333
+0264 3333333333333333333333333333333333333333333333333333333
+0265 3333333333333333333333333333333333333333333333333333333
+0266 3333333333333333333333333333333333333333333333333333333
+0267 3333333333333333333333333333333333333333333333333333333
+0268 3333333333333333333333333333333333333333333333333333333
+0269 3333333333333333333333333333333333333333333333333333333
+0270 3333333333333333333333333333333333333333333333333333333
+0271 3333333333333333333333333333333333333333333333333333333
+0272 3333333333333333333333333333333333333333333333333333333
+0273 3333333333333333333333333333333333333333333333333333333
+0274 3333333333333333333333333333333333333333333333333333333
+0275 3333333333333333333333333333333333333333333333333333333
+0276 3333333333333333333333333333333333333333333333333333333
+0277 3333333333333333333333333333333333333333333333333333333
+0278 3333333333333333333333333333333333333333333333333333333
+0279 3333333333333333333333333333333333333333333333333333333
+0280 3333333333333333333333333333333333333333333333333333333
+0281 3333333333333333333333333333333333333333333333333333333
+0282 3333333333333333333333333333333333333333333333333333333
+0283 3333333333333333333333333333333333333333333333333333333
+0284 3333333333333333333333333333333333333333333333333333333
+0285 3333333333333333333333333333333333333333333333333333333
+0286 3333333333333333333333333333333333333333333333333333333
+0287 3333333333333333333333333333333333333333333333333333333
+0288 3333333333333333333333333333333333333333333333333333333
+0289 3333333333333333333333333333333333333333333333333333333
+0290 3333333333333333333333333333333333333333333333333333333
+0291 3333333333333333333333333333333333333333333333333333333
+0292 3333333333333333333333333333333333333333333333333333333
+0293 3333333333333333333333333333333333333333333333333333333
+0294 3333333333333333333333333333333333333333333333333333333
+0295 3333333333333333333333333333333333333333333333333333333
+0296 3333333333333333333333333333333333333333333333333333333
+0297 3333333333333333333333333333333333333333333333333333333
+0298 3333333333333333333333333333333333333333333333333333333
+0299 3333333333333333333333333333333333333333333333333333333
+0300 3333333333333333333333333333333333333333333333333333333
+0301 3333333333333333333333333333333333333333333333333333333
+0302 3333333333333333333333333333333333333333333333333333333
+0303 3333333333333333333333333333333333333333333333333333333
+0304 3333333333333333333333333333333333333333333333333333333
+0305 3333333333333333333333333333333333333333333333333333333
+0306 3333333333333333333333333333333333333333333333333333333
+0307 3333333333333333333333333333333333333333333333333333333
+0308 3333333333333333333333333333333333333333333333333333333
+0309 3333333333333333333333333333333333333333333333333333333
+0310 3333333333333333333333333333333333333333333333333333333
+0311 3333333333333333333333333333333333333333333333333333333
+0312 3333333333333333333333333333333333333333333333333333333
+0313 3333333333333333333333333333333333333333333333333333333
+0314 3333333333333333333333333333333333333333333333333333333
+0315 3333333333333333333333333333333333333333333333333333333
+0316 3333333333333333333333333333333333333333333333333333333
+0317 3333333333333333333333333333333333333333333333333333333
+0318 3333333333333333333333333333333333333333333333333333333
+0319 3333333333333333333333333333333333333333333333333333333
+0320 3333333333333333333333333333333333333333333333333333333
+0321 3333333333333333333333333333333333333333333333333333333
+0322 3333333333333333333333333333333333333333333333333333333
+0323 3333333333333333333333333333333333333333333333333333333
+0324 3333333333333333333333333333333333333333333333333333333
+0325 3333333333333333333333333333333333333333333333333333333
+0326 3333333333333333333333333333333333333333333333333333333
+0327 3333333333333333333333333333333333333333333333333333333
+0328 3333333333333333333333333333333333333333333333333333333
+0329 3333333333333333333333333333333333333333333333333333333
+0330 3333333333333333333333333333333333333333333333333333333
+0331 3333333333333333333333333333333333333333333333333333333
+0332 3333333333333333333333333333333333333333333333333333333
+0333 3333333333333333333333333333333333333333333333333333333
+0334 3333333333333333333333333333333333333333333333333333333
+0335 3333333333333333333333333333333333333333333333333333333
+0336 3333333333333333333333333333333333333333333333333333333
+0337 3333333333333333333333333333333333333333333333333333333
+0338 3333333333333333333333333333333333333333333333333333333
+0339 3333333333333333333333333333333333333333333333333333333
+0340 3333333333333333333333333333333333333333333333333333333
+0341 3333333333333333333333333333333333333333333333333333333
+0342 3333333333333333333333333333333333333333333333333333333
+0343 3333333333333333333333333333333333333333333333333333333
+0344 3333333333333333333333333333333333333333333333333333333
+0345 3333333333333333333333333333333333333333333333333333333
+0346 3333333333333333333333333333333333333333333333333333333
+0347 3333333333333333333333333333333333333333333333333333333
+0348 3333333333333333333333333333333333333333333333333333333
+0349 3333333333333333333333333333333333333333333333333333333
+0350 3333333333333333333333333333333333333333333333333333333
+0351 3333333333333333333333333333333333333333333333333333333
+0352 3333333333333333333333333333333333333333333333333333333
+0353 3333333333333333333333333333333333333333333333333333333
+0354 3333333333333333333333333333333333333333333333333333333
+0355 3333333333333333333333333333333333333333333333333333333
+0356 3333333333333333333333333333333333333333333333333333333
+0357 3333333333333333333333333333333333333333333333333333333
+0358 3333333333333333333333333333333333333333333333333333333
+0359 3333333333333333333333333333333333333333333333333333333
+0360 3333333333333333333333333333333333333333333333333333333
+0361 3333333333333333333333333333333333333333333333333333333
+0362 3333333333333333333333333333333333333333333333333333333
+0363 3333333333333333333333333333333333333333333333333333333
+0364 3333333333333333333333333333333333333333333333333333333
+0365 3333333333333333333333333333333333333333333333333333333
+0366 3333333333333333333333333333333333333333333333333333333
+0367 3333333333333333333333333333333333333333333333333333333
+0368 3333333333333333333333333333333333333333333333333333333
+0369 3333333333333333333333333333333333333333333333333333333
+0370 3333333333333333333333333333333333333333333333333333333
+0371 3333333333333333333333333333333333333333333333333333333
+0372 3333333333333333333333333333333333333333333333333333333
+0373 3333333333333333333333333333333333333333333333333333333
+0374 3333333333333333333333333333333333333333333333333333333
+0375 3333333333333333333333333333333333333333333333333333333
+0376 3333333333333333333333333333333333333333333333333333333
+0377 3333333333333333333333333333333333333333333333333333333
+0378 3333333333333333333333333333333333333333333333333333333
+0379 3333333333333333333333333333333333333333333333333333333
+0380 3333333333333333333333333333333333333333333333333333333
+0381 3333333333333333333333333333333333333333333333333333333
+0382 3333333333333333333333333333333333333333333333333333333
+0383 3333333333333333333333333333333333333333333333333333333
+0384 3333333333333333333333333333333333333333333333333333333
+0385 3333333333333333333333333333333333333333333333333333333
+0386 3333333333333333333333333333333333333333333333333333333
+0387 3333333333333333333333333333333333333333333333333333333
+0388 3333333333333333333333333333333333333333333333333333333
+0389 3333333333333333333333333333333333333333333333333333333
+0390 3333333333333333333333333333333333333333333333333333333
+0391 3333333333333333333333333333333333333333333333333333333
+0392 3333333333333333333333333333333333333333333333333333333
+0393 3333333333333333333333333333333333333333333333333333333
+0394 3333333333333333333333333333333333333333333333333333333
+0395 3333333333333333333333333333333333333333333333333333333
+0396 3333333333333333333333333333333333333333333333333333333
+0397 3333333333333333333333333333333333333333333333333333333
+0398 3333333333333333333333333333333333333333333333333333333
+0399 3333333333333333333333333333333333333333333333333333333
+0400 3333333333333333333333333333333333333333333333333333333
+0401 3333333333333333333333333333333333333333333333333333333
+0402 3333333333333333333333333333333333333333333333333333333
+0403 3333333333333333333333333333333333333333333333333333333
+0404 3333333333333333333333333333333333333333333333333333333
+0405 3333333333333333333333333333333333333333333333333333333
+0406 3333333333333333333333333333333333333333333333333333333
+0407 3333333333333333333333333333333333333333333333333333333
+0408 3333333333333333333333333333333333333333333333333333333
+0409 3333333333333333333333333333333333333333333333333333333
+0410 3333333333333333333333333333333333333333333333333333333
+0411 3333333333333333333333333333333333333333333333333333333
+0412 3333333333333333333333333333333333333333333333333333333
+0413 3333333333333333333333333333333333333333333333333333333
+0414 3333333333333333333333333333333333333333333333333333333
+0415 3333333333333333333333333333333333333333333333333333333
+0416 3333333333333333333333333333333333333333333333333333333
+0417 3333333333333333333333333333333333333333333333333333333
+0418 3333333333333333333333333333333333333333333333333333333
+0419 3333333333333333333333333333333333333333333333333333333
+0420 3333333333333333333333333333333333333333333333333333333
+0421 3333333333333333333333333333333333333333333333333333333
+0422 3333333333333333333333333333333333333333333333333333333
+0423 3333333333333333333333333333333333333333333333333333333
+0424 3333333333333333333333333333333333333333333333333333333
+0425 3333333333333333333333333333333333333333333333333333333
+0426 3333333333333333333333333333333333333333333333333333333
+0427 3333333333333333333333333333333333333333333333333333333
+0428 3333333333333333333333333333333333333333333333333333333
+0429 3333333333333333333333333333333333333333333333333333333
+0430 3333333333333333333333333333333333333333333333333333333
+0431 3333333333333333333333333333333333333333333333333333333
+0432 3333333333333333333333333333333333333333333333333333333
+0433 3333333333333333333333333333333333333333333333333333333
+0434 3333333333333333333333333333333333333333333333333333333
+0435 3333333333333333333333333333333333333333333333333333333
+0436 3333333333333333333333333333333333333333333333333333333
+0437 3333333333333333333333333333333333333333333333333333333
+0438 3333333333333333333333333333333333333333333333333333333
+0439 3333333333333333333333333333333333333333333333333333333
+0440 3333333333333333333333333333333333333333333333333333333
+0441 3333333333333333333333333333333333333333333333333333333
+0442 3333333333333333333333333333333333333333333333333333333
+0443 3333333333333333333333333333333333333333333333333333333
+0444 3333333333333333333333333333333333333333333333333333333
+0445 3333333333333333333333333333333333333333333333333333333
+0446 3333333333333333333333333333333333333333333333333333333
+0447 3333333333333333333333333333333333333333333333333333333
+0448 3333333333333333333333333333333333333333333333333333333
+0449 3333333333333333333333333333333333333333333333333333333
+0450 3333333333333333333333333333333333333333333333333333333
+0451 3333333333333333333333333333333333333333333333333333333
+0452 3333333333333333333333333333333333333333333333333333333
+0453 3333333333333333333333333333333333333333333333333333333
+0454 3333333333333333333333333333333333333333333333333333333
+0455 3333333333333333333333333333333333333333333333333333333
+0456 3333333333333333333333333333333333333333333333333333333
+0457 3333333333333333333333333333333333333333333333333333333
+0458 3333333333333333333333333333333333333333333333333333333
+0459 3333333333333333333333333333333333333333333333333333333
+0460 3333333333333333333333333333333333333333333333333333333
+0461 3333333333333333333333333333333333333333333333333333333
+0462 3333333333333333333333333333333333333333333333333333333
+0463 3333333333333333333333333333333333333333333333333333333
+0464 3333333333333333333333333333333333333333333333333333333
+0465 3333333333333333333333333333333333333333333333333333333
+0466 3333333333333333333333333333333333333333333333333333333
+0467 3333333333333333333333333333333333333333333333333333333
+0468 3333333333333333333333333333333333333333333333333333333
+0469 3333333333333333333333333333333333333333333333333333333
+0470 3333333333333333333333333333333333333333333333333333333
+0471 3333333333333333333333333333333333333333333333333333333
+0472 3333333333333333333333333333333333333333333333333333333
+0473 3333333333333333333333333333333333333333333333333333333
+0474 3333333333333333333333333333333333333333333333333333333
+0475 3333333333333333333333333333333333333333333333333333333
+0476 3333333333333333333333333333333333333333333333333333333
+0477 3333333333333333333333333333333333333333333333333333333
+0478 3333333333333333333333333333333333333333333333333333333
+0479 3333333333333333333333333333333333333333333333333333333
+0480 3333333333333333333333333333333333333333333333333333333
+0481 3333333333333333333333333333333333333333333333333333333
+0482 3333333333333333333333333333333333333333333333333333333
+0483 3333333333333333333333333333333333333333333333333333333
+0484 3333333333333333333333333333333333333333333333333333333
+0485 3333333333333333333333333333333333333333333333333333333
+0486 3333333333333333333333333333333333333333333333333333333
+0487 3333333333333333333333333333333333333333333333333333333
+0488 3333333333333333333333333333333333333333333333333333333
+0489 3333333333333333333333333333333333333333333333333333333
+0490 3333333333333333333333333333333333333333333333333333333
+0491 3333333333333333333333333333333333333333333333333333333
+0492 3333333333333333333333333333333333333333333333333333333
+0493 3333333333333333333333333333333333333333333333333333333
+0494 3333333333333333333333333333333333333333333333333333333
+0495 3333333333333333333333333333333333333333333333333333333
+0496 3333333333333333333333333333333333333333333333333333333
+0497 3333333333333333333333333333333333333333333333333333333
+0498 3333333333333333333333333333333333333333333333333333333
+0499 3333333333333333333333333333333333333333333333333333333
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt.sha1
new file mode 100644
index 0000000..9dc9419
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt.sha1
@@ -0,0 +1 @@
+60cd50d72cd761f423d7032e070e388c6589e81f
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar
new file mode 100644
index 0000000..1544a9f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar.sha1
new file mode 100644
index 0000000..ae174e0
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar.sha1
@@ -0,0 +1 @@
+2deaaaa8d21638230a63e5bdac2099f063194366
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so
new file mode 100644
index 0000000..d554aba
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so.sha1
new file mode 100644
index 0000000..d948bcd
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so.sha1
@@ -0,0 +1 @@
+11d32d2a43c4170b499bc2ee1697a55143fca030
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg
new file mode 100644
index 0000000..b949919
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg.sha1 b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg.sha1
new file mode 100644
index 0000000..14757cc
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg.sha1
@@ -0,0 +1 @@
+5437ce30f743f8bd99e89ab50ab976549d702d2c
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file6.gif b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file6.gif
new file mode 100644
index 0000000..94f1892
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file6.gif
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file6.gif.asc b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file6.gif.asc
new file mode 100644
index 0000000..429fef1
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file6.gif.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkiguzcACgkQDttdkRQbxPI9tQCfTDlQcKNkF4U0m+2L0ZaZT8nA
+/E4Anjn8kCp39KK1b9O/2LxhzAPKuuzw
+=PeVJ
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/pom.xml b/mercury-1.0.0-alpha-2/mercury-transport/pom.xml
new file mode 100644
index 0000000..fb4a37e
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/pom.xml
@@ -0,0 +1,28 @@
+<?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>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-transport</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury Transport</name>
+
+ <modules>
+ <module>mercury-transport-api</module>
+ <module>mercury-transport-http</module>
+ <module>mercury-transport-file</module>
+ </modules>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-transport/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-transport/src/site/site.xml
new file mode 100644
index 0000000..58a5b5a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-transport/src/site/site.xml
@@ -0,0 +1,34 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="modules"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-util/pom.xml b/mercury-1.0.0-alpha-2/mercury-util/pom.xml
new file mode 100644
index 0000000..692bb54
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/pom.xml
@@ -0,0 +1,90 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+ <artifactId>mercury-util</artifactId>
+ <name>Mercury Shared Utilities</name>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>lib/</classpathPrefix>
+ <mainClass>org.apache.maven.mercury.util.FileUtil</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <finalName>${project.artifactId}-all</finalName>
+ <keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
+ <createDependencyReducedPom>true</createDependencyReducedPom>
+ <artifactSet>
+ <excludes>
+ <exclude>org.codehaus.plexus:plexus-component-api</exclude>
+ <exclude>org.bouncycastle:bcprov-jdk15</exclude>
+ <exclude>org.bouncycastle:bcpg-jdk15</exclude>
+ <exclude>bouncycastle:bcprov-jdk15</exclude>
+ <exclude>bouncycastle:bcpg-jdk15</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <excludes>
+ <exclude>/META-INF/BCKEY.DSA</exclude>
+ <exclude>/META-INF/BCKEY.SF</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileLockBundle.java b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileLockBundle.java
new file mode 100644
index 0000000..c39e744
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileLockBundle.java
@@ -0,0 +1,84 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+import java.io.IOException;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class FileLockBundle
+{
+ String dir;
+ FileChannel channel;
+ FileLock lock;
+
+ boolean fileLock = false;
+
+ /**
+ * @param dir
+ * @param channel
+ * @param lock
+ */
+ public FileLockBundle(
+ String dir,
+ FileChannel channel,
+ FileLock lock
+ )
+ {
+ this.dir = dir;
+ this.channel = channel;
+ this.lock = lock;
+ }
+
+ /**
+ * @param dir
+ * @param channel
+ * @param lock
+ */
+ public FileLockBundle( String dir )
+ {
+ this.dir = dir;
+ this.fileLock = true;
+ }
+
+ public void release()
+ {
+ if( lock == null )
+ {
+ if( fileLock )
+ FileUtil.unlockDir( dir );
+
+ return;
+ }
+
+ try
+ {
+ lock.release();
+ channel.close();
+ }
+ catch( IOException any ){}
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java
new file mode 100644
index 0000000..1bcc085
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java
@@ -0,0 +1,955 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.RandomAccessFile;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.OverlappingFileLockException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.OptionBuilder;
+import org.apache.commons.cli.OptionGroup;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifier;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * File related utilities: copy, write, sign, verify, etc.
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class FileUtil
+{
+ public static final String SEP = "/";
+ public static final char SEP_CHAR = SEP.charAt( 0 );
+
+ public static final String DASH = "-";
+ public static final char DASH_CHAR = DASH.charAt( 0 );
+
+ public static final String LOCK_FILE = ".lock";
+ public static final String DEFAULT_CHARSET = "utf-8";
+
+ public static final int K = 1024;
+ public static final int DEFAULT_BUFFER_SIZE = 10 * K;
+ //---------------------------------------------------------------------------------------------------------------
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( FileUtil.class );
+ private static final Language _lang = new DefaultLanguage( FileUtil.class );
+
+ private static final OverlappingFileLockException FILE_LOCKED = new OverlappingFileLockException();
+ //---------------------------------------------------------------------------------------------------------------
+ public static void delete( File f )
+ {
+ if( ! f.exists() )
+ return;
+
+ if( f.isDirectory() )
+ {
+ File [] kids = f.listFiles();
+ for( File kid : kids )
+ delete( kid );
+ }
+
+ f.delete();
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void copy( File fromFile, File toFile, boolean clean )
+ throws IOException
+ {
+ if( toFile.exists() && clean )
+ delete( toFile );
+
+ if( fromFile.isFile() )
+ {
+ copyFile( fromFile, toFile );
+ return;
+ }
+
+ File [] kids = fromFile.listFiles();
+ if( kids != null )
+ {
+ for( File kid : kids )
+ {
+ if( kid.isDirectory() )
+ {
+ File newDir = new File( toFile, kid.getName() );
+ newDir.mkdirs();
+
+ copy( kid, newDir, false );
+ }
+ else
+ copyFile( kid, toFile );
+ }
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private static void copyFile( File f, File toFile )
+ throws IOException
+ {
+ File fOut = null;
+ if( toFile.isDirectory() )
+ fOut = new File(toFile, f.getName() );
+ else
+ fOut = toFile;
+ FileInputStream fis = new FileInputStream(f);
+ writeRawData( fOut, fis );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * Read the content of a file and converts it with UTF-8 encoding to a String.
+ */
+ public static String readRawDataAsString( File file )
+ throws IOException
+ {
+ return new String( readRawData( file ), DEFAULT_CHARSET );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static byte[] readRawData( File file )
+ throws IOException
+ {
+ if( ! file.exists() )
+ return null;
+
+ FileInputStream fis = null;
+
+ try
+ {
+ fis = new FileInputStream( file );
+ int len = (int)file.length();
+ if( len == 0 )
+ {
+ _log.info( _lang.getMessage( "reading.empty.file", file.getAbsolutePath() ) );
+ return null;
+ }
+
+ byte [] pom = new byte [ len ];
+ while( fis.available() < 1 )
+ try { Thread.sleep( 8L ); } catch( InterruptedException e ){}
+
+ fis.read( pom, 0, len );
+
+ return pom;
+ }
+ catch( IOException e )
+ {
+ throw e;
+ }
+ finally
+ {
+ if( fis != null ) try { fis.close(); } catch( Exception any ) {}
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static byte[] readRawData( File file, Collection<StreamVerifierFactory> vFacs )
+ throws IOException, FileUtilException, StreamVerifierException
+ {
+ if( file == null || ! file.exists() )
+ return null;
+
+ boolean verify = vFacs != null && vFacs.size() > 0;
+
+ String fileName = file.getAbsolutePath();
+
+ HashSet<StreamVerifier> vs = new HashSet<StreamVerifier>( verify ? vFacs.size() : 1 );
+
+ for( StreamVerifierFactory svf : vFacs )
+ {
+ StreamVerifier sv = svf.newInstance();
+ String ext = sv.getAttributes().getExtension();
+ String sigFileName = fileName + ( ext.startsWith( "." ) ? "" : "." ) + ext;
+ File sigFile = new File( sigFileName );
+ if( sigFile.exists() )
+ {
+ try
+ {
+ sv.initSignature( FileUtil.readRawDataAsString( sigFile ) );
+ }
+ catch( IOException e )
+ {
+ throw new FileUtilException( _lang.getMessage( "cannot.read.signature.file", sigFileName, e.getMessage() ) );
+ }
+ vs.add( sv );
+ }
+ else if( ! sv.getAttributes().isLenient() )
+ {
+ throw new FileUtilException( _lang.getMessage( "no.signature.file", ext, sigFileName ) );
+ }
+ // otherwise ignore absence of signature file, if verifier is lenient
+ }
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+ FileInputStream fin = null;
+ try
+ {
+ fin = new FileInputStream( file );
+ byte [] buf = new byte[ DEFAULT_BUFFER_SIZE ];
+ int n = -1;
+ while( (n = fin.read( buf )) != -1 )
+ {
+ if( verify )
+ {
+ for( StreamVerifier sv : vs )
+ try
+ {
+ sv.bytesReady( buf, 0, n );
+ }
+ catch( StreamObserverException e )
+ {
+ if( ! sv.getAttributes().isLenient() )
+ throw new FileUtilException(e);
+ }
+ }
+
+ baos.write( buf, 0, n );
+ }
+
+ if( verify )
+ {
+ for( StreamVerifier sv : vs )
+ {
+ if( sv.verifySignature() )
+ {
+ if( sv.getAttributes().isSufficient() )
+ break;
+ }
+ else
+ {
+ if( !sv.getAttributes().isLenient() )
+ throw new StreamVerifierException( _lang.getMessage( "signature.failed", sv.getAttributes().getExtension(), fileName ) );
+ }
+ }
+ }
+
+ return baos.toByteArray();
+ }
+ catch( IOException e )
+ {
+ throw new FileUtilException( e );
+ }
+ finally
+ {
+ if( fin != null ) try { fin.close(); } catch( Exception any ) {}
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static byte[] readRawData( InputStream in )
+ throws IOException
+ {
+ byte [] bytes = new byte [ DEFAULT_BUFFER_SIZE ];
+ int n = -1;
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+ while( ( n = in.read( bytes ) ) != -1 )
+ baos.write( bytes, 0, n );
+
+ return baos.toByteArray();
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * Write UTF-8 representation of a String to a File.
+ */
+ public static void writeRawData( File file, String sBytes )
+ throws IOException
+ {
+ writeRawData( file, sBytes.getBytes( DEFAULT_CHARSET ) );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void writeRawData( File f, InputStream in )
+ throws IOException
+ {
+ OutputStream out = new FileOutputStream( f );
+
+ byte [] buf = new byte[ DEFAULT_BUFFER_SIZE ];
+ int n;
+
+ while( (n = in.read( buf ) ) > 0 )
+ out.write( buf, 0, n );
+
+ in.close();
+ out.flush();
+ out.close();
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void writeRawData( File file, byte [] bytes )
+ throws IOException
+ {
+ if( file.exists() )
+ file.delete();
+
+ File parentDir = file.getParentFile();
+
+ if( !parentDir.exists() )
+ parentDir.mkdirs();
+
+ FileOutputStream fos = null;
+
+ try
+ {
+ fos = new FileOutputStream( file );
+ fos.write( bytes );
+ fos.flush();
+ }
+ catch( IOException e )
+ {
+ throw e;
+ }
+ finally
+ {
+ if( fos != null ) try { fos.close(); } catch( Exception any ) {}
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void writeAndSign( String fName, byte [] bytes, Set<StreamVerifierFactory> vFacs )
+ throws IOException, StreamObserverException
+ {
+ ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
+ writeAndSign( fName, bais, vFacs );
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void writeAndSign( String fName, InputStream in, Set<StreamVerifierFactory> vFacs )
+ throws IOException, StreamObserverException
+ {
+ byte [] buf = new byte[ DEFAULT_BUFFER_SIZE ];
+ int n = -1;
+ HashSet<StreamVerifier> vSet = new HashSet<StreamVerifier>( vFacs.size() );
+
+ for( StreamVerifierFactory vf : vFacs )
+ vSet.add( vf.newInstance() );
+
+ FileOutputStream fout = null;
+
+ try
+ {
+ File f = new File( fName );
+
+ f.getParentFile().mkdirs();
+
+ fout = new FileOutputStream( f );
+
+ while( ( n = in.read( buf ) ) != -1 )
+ {
+ for( StreamVerifier sv : vSet )
+ sv.bytesReady( buf, 0, n );
+
+ fout.write( buf, 0, n );
+ }
+
+ fout.flush();
+ fout.close();
+ fout = null;
+
+ for( StreamVerifier sv : vSet )
+ {
+ String sig = sv.getSignature();
+ FileUtil.writeRawData( new File( fName + sv.getAttributes().getExtension() ), sig );
+ }
+
+ }
+ finally
+ {
+ if( fout != null ) try { fout.close(); } catch( Exception any ) {}
+ }
+
+ }
+
+ public List<String> dirToList( File dir, boolean includeDirs, boolean includeFiles )
+ {
+ if( ! dir.exists() )
+ return null;
+
+ File [] files = dir.listFiles();
+
+ List<String> res = new ArrayList<String>( files.length );
+
+ for( File f : files )
+ if( f.isDirectory() )
+ {
+ if( includeDirs )
+ res.add( f.getName() );
+ }
+ else
+ if( includeFiles )
+ res.add( f.getName() );
+
+ return res;
+ }
+
+ /**
+ *
+ * @param f
+ * @param vFacs
+ * @param recurse
+ * @param force
+ * @throws IOException
+ * @throws StreamObserverException
+ */
+ public static void sign( File f, Set<StreamVerifierFactory> vFacs, boolean recurse, boolean force )
+ throws IOException, StreamObserverException
+ {
+ if( vFacs == null || vFacs.size() < 1 )
+ return;
+
+ if( f.isDirectory() )
+ {
+ if( ! recurse )
+ return;
+
+ File [] kids = f.listFiles();
+ for( File kid : kids )
+ sign( kid, vFacs, recurse, force );
+ return;
+ }
+
+ String fName = f.getAbsolutePath();
+
+ HashSet<StreamVerifier> vs = new HashSet<StreamVerifier>( vFacs.size() );
+ for( StreamVerifierFactory vf : vFacs )
+ {
+ StreamVerifier sv = vf.newInstance();
+ String ext = sv.getAttributes().getExtension();
+
+ // don't sign signature files
+ if( fName.endsWith( ext ) )
+ return;
+
+ File sf = new File( fName + ext );
+ if( sf.exists() )
+ {
+ if( force )
+ sf.delete();
+ else
+ continue;
+ }
+ vs.add( sv );
+ }
+
+ byte [] buf = new byte[ DEFAULT_BUFFER_SIZE ];
+ FileInputStream fis = null;
+ try
+ {
+ fis = new FileInputStream( f );
+ int n = -1;
+
+ while( ( n = fis.read( buf ) ) != -1 )
+ {
+ for( StreamVerifier sv : vs )
+ {
+ sv.bytesReady( buf, 0, n );
+ }
+ }
+
+ for( StreamVerifier sv : vs )
+ {
+ String sig = sv.getSignature();
+ String ext = sv.getAttributes().getExtension();
+ File sf = new File( fName + ext );
+ writeRawData( sf, sig );
+ }
+ }
+ finally
+ {
+ if( fis != null ) try { fis.close(); } catch( Exception any ) {}
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void verify( File f, Set<StreamVerifierFactory> vFacs, boolean recurse, boolean force )
+ throws IOException, StreamObserverException
+ {
+ if( vFacs == null || vFacs.size() < 1 )
+ return;
+
+ if( f.isDirectory() )
+ {
+ if( !recurse )
+ return;
+
+ File [] kids = f.listFiles();
+ for( File kid : kids )
+ verify( kid, vFacs, recurse, force );
+ return;
+ }
+
+ String fName = f.getAbsolutePath();
+ HashSet<StreamVerifier> vs = new HashSet<StreamVerifier>( vFacs.size() );
+ for( StreamVerifierFactory vf : vFacs )
+ {
+ StreamVerifier sv = vf.newInstance();
+ String ext = sv.getAttributes().getExtension();
+
+ // don't verify signature files
+ if( fName.endsWith( ext ) )
+ return;
+
+ File sf = new File( fName + ext );
+ if( !sf.exists() )
+ {
+ if( force )
+ throw new StreamVerifierException( _lang.getMessage( "no.mandatory.signature", f.getAbsolutePath(), sf.getAbsolutePath() ) );
+ else
+ continue;
+ }
+ else
+ {
+ String sig = readRawDataAsString( sf );
+ sv.initSignature( sig );
+ }
+ vs.add( sv );
+ }
+
+ byte [] buf = new byte[ DEFAULT_BUFFER_SIZE ];
+ FileInputStream fis = null;
+ try
+ {
+ fis = new FileInputStream( f );
+ int n = -1;
+
+ while( ( n=fis.read( buf ) ) != -1 )
+ {
+ for( StreamVerifier sv : vs )
+ {
+ sv.bytesReady( buf, 0, n );
+ }
+ }
+
+ List<String> fl = null;
+ char comma = ' ';
+
+ for( StreamVerifier sv : vs )
+ {
+ if( sv.verifySignature() )
+ continue;
+
+ if( fl == null )
+ fl = new ArrayList<String>( 4 );
+
+ fl.add( sv.getAttributes().getExtension().replace( '.', comma ) );
+ comma = ',';
+ }
+
+ if( fl != null )
+ {
+ throw new StreamVerifierException( _lang.getMessage( "file.failed.verification", f.getAbsolutePath(), fl.toString() ) );
+ }
+ }
+ finally
+ {
+ if( fis != null ) try { fis.close(); } catch( Exception any ) {}
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ @SuppressWarnings("static-access")
+ public static void main( String[] args )
+ throws IOException, StreamObserverException
+ {
+ Option sign = new Option( "sign", _lang.getMessage( "option.sign" ) );
+ Option verify = new Option( "verify", _lang.getMessage( "option.verify" ) );
+ OptionGroup cmd = new OptionGroup();
+ cmd.addOption( sign );
+ cmd.addOption( verify );
+
+ Option recurce = new Option( "r", _lang.getMessage( "option.r" ) );
+ Option force = new Option( "force", _lang.getMessage( "option.force" ) );
+
+ OptionGroup sig = new OptionGroup();
+ Option sha1 = new Option( "sha1", _lang.getMessage( "option.sha1" ) );
+ Option pgp = new Option( "pgp", _lang.getMessage( "option.pgp" ) );
+ sig.addOption( sha1 );
+ sig.addOption( pgp );
+
+ Option keyring = OptionBuilder.withArgName( "file" )
+ .hasArg()
+ .withType( java.io.File.class )
+ .withDescription( _lang.getMessage( "option.keyring" ) )
+ .create( "keyring" )
+ ;
+ Option keyid = OptionBuilder.withArgName( "hexstring" )
+ .hasArg()
+ .withDescription( _lang.getMessage( "option.keyid" ) )
+ .create( "keyid" )
+ ;
+ Option keypass = OptionBuilder.withArgName( "string" )
+ .hasArg()
+ .withDescription( _lang.getMessage( "option.keypass" ) )
+ .create( "keypass" )
+ ;
+
+ Options options = new Options();
+ options.addOptionGroup( cmd );
+ options.addOptionGroup( sig );
+
+ options.addOption( recurce );
+ options.addOption( force );
+
+ options.addOption( keyring );
+ options.addOption( keyid );
+ options.addOption( keypass );
+
+ CommandLine commandLine = null;
+ CommandLineParser parser = new GnuParser();
+
+ if( args == null || args.length < 2 )
+ {
+ HelpFormatter formatter = new HelpFormatter();
+ formatter.printHelp( "mercury-util", options );
+ return;
+ }
+
+ try
+ {
+ commandLine = parser.parse( options, args );
+ }
+ catch( ParseException e )
+ {
+ System.err.println( "Command line parsing eror: " + e.getMessage() );
+ return;
+ }
+
+ Set<StreamVerifierFactory> vFacs = new HashSet<StreamVerifierFactory>( 4 );
+
+ if( commandLine.hasOption( "pgp" ) )
+ {
+ if( commandLine.hasOption( "sign" ) && commandLine.hasOption( "keyring" ) && commandLine.hasOption( "keyid" ) )
+ {
+ BufferedReader r = new BufferedReader( new InputStreamReader( System.in ) );
+ String pass = commandLine.hasOption( "keypass" ) ? commandLine.getOptionValue( "keypass" ) : r.readLine();
+
+ vFacs.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , new FileInputStream( commandLine.getOptionValue( "keyring" ) )
+ , commandLine.getOptionValue( "keyid" )
+ , pass
+ )
+ );
+ }
+ else if( commandLine.hasOption( "verify" ) && commandLine.hasOption( "keyring" ) )
+ {
+
+ vFacs.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , new FileInputStream( commandLine.getOptionValue( "keyring" ) )
+ )
+ );
+ }
+ else
+ {
+ System.err.println( _lang.getMessage( "bad.pgp.args" ) );
+ return;
+ }
+ }
+
+ if( commandLine.hasOption("sha1") )
+ {
+ vFacs.add( new SHA1VerifierFactory( true,false ) );
+ }
+
+ try
+ {
+ signAll( commandLine.getArgList(), vFacs, commandLine.hasOption( "r" ), commandLine.hasOption( "force" ), commandLine.hasOption( "sign" ) );
+ }
+ catch( Exception e )
+ {
+ System.err.println( "Bummer: " + e.getMessage() );
+ return;
+ }
+ System.out.println( "Done" );
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ private static void signAll( List<String> fileNames, Set<StreamVerifierFactory> vFacs, boolean recurse, boolean force, boolean sign )
+ throws IOException, StreamObserverException
+ {
+ if( vFacs == null || vFacs.size() < 1 )
+ {
+ System.err.println( "no.verifiers" );
+ return;
+ }
+
+ File f = null;
+
+ for( String fName : fileNames )
+ {
+ f = new File( fName );
+ if( ! f.exists() )
+ {
+ System.out.println( _lang.getMessage( "file.not.exists", fName ) );
+ continue;
+ }
+ if( f.isDirectory() && ! recurse )
+ {
+ System.out.println( _lang.getMessage( "file.is.directory", fName ) );
+ continue;
+ }
+ if( sign )
+ sign( f, vFacs, recurse, force );
+ else
+ verify( f, vFacs, recurse, force );
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * try to acquire lock on specified directory for <code>millis<code> milliseconds
+ *
+ * @param dir directory to lock
+ * @param millis how long to wait for the lock before surrendering
+ * @param sleepFor how long to sleep between attempts
+ *
+ * @return obtained FileLock or null
+ * @throws IOException if there were problems obtaining the lock
+ */
+ public static FileLockBundle lockDir( String dir, long millis, long sleepFor )
+ throws IOException
+ {
+
+ File df = new File( dir );
+
+ boolean exists = df.exists();
+
+ for( int i=0; i<10 && !exists; i++ )
+ {
+ try{ Thread.sleep( 1l ); } catch( InterruptedException e ){}
+ df.mkdirs();
+ exists = df.exists();
+ _log.info( _lang.getMessage( "had.to.create.directory", dir, exists + "" ) );
+ }
+
+ if( !exists )
+ throw new IOException( _lang.getMessage( "cannot.create.directory", dir ) );
+
+ if( !df.isDirectory() )
+ throw new IOException( _lang.getMessage( "file.is.not.directory", dir, df.exists() + "", df.isDirectory() + "", df.isFile() + "" ) );
+
+ File lockFile = new File( dir,LOCK_FILE );
+
+ long start = System.currentTimeMillis();
+
+ for( long now = start; ( now - start ) < millis; now = System.currentTimeMillis() )
+ try
+ {
+ synchronized( FileUtil.class )
+ {
+ if( !lockFile.exists() )
+ {
+ writeRawData( lockFile, "lock" );
+ lockFile.deleteOnExit();
+ return new FileLockBundle( dir );
+ }
+ }
+ Thread.sleep( sleepFor );
+
+ }
+ catch( InterruptedException ie )
+ {
+ }
+
+ // too long a wait
+ return null;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ /**
+ * try to acquire lock on specified directory for <code>millis<code> milliseconds
+ *
+ * @param dir directory to lock
+ * @param millis how long to wait for the lock before surrendering
+ * @param sleepFor how long to sleep between attempts
+ *
+ * @return obtained FileLock or null
+ * @throws IOException if there were problems obtaining the lock
+ */
+ public static FileLockBundle lockDirNio( String dir, long millis, long sleepFor )
+ throws IOException
+ {
+ File df = new File( dir );
+
+ boolean exists = df.exists();
+
+ for( int i = 0; i < 10 && !exists; i++ )
+ {
+ try{ Thread.sleep( 1l ); } catch( InterruptedException e ){}
+ df.mkdirs();
+ exists = df.exists();
+ _log.info( _lang.getMessage( "had.to.create.directory", dir, exists + "" ) );
+ }
+
+ if( !exists )
+ throw new IOException( _lang.getMessage( "cannot.create.directory", dir ) );
+
+ if( !df.isDirectory() )
+ throw new IOException( _lang.getMessage( "file.is.not.directory", dir, df.exists() + "", df.isDirectory() + "", df.isFile() + "" ) );
+
+ File lockFile = new File( dir,LOCK_FILE );
+ if( !lockFile.exists() )
+ writeRawData( lockFile, "lock" );
+ lockFile.deleteOnExit();
+
+ FileChannel ch = new RandomAccessFile( lockFile, "rw" ).getChannel();
+ FileLock lock = null;
+
+ long start = System.currentTimeMillis();
+
+ for(;;)
+ try
+ {
+ lock = ch.tryLock( 0L, 4L, false );
+
+ if( lock == null )
+ throw FILE_LOCKED;
+
+ return new FileLockBundle( dir, ch, lock );
+ }
+ catch( OverlappingFileLockException oe )
+ {
+ try { Thread.sleep( sleepFor ); } catch( InterruptedException e ){}
+ if( System.currentTimeMillis() - start > millis )
+ return null;
+ }
+
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static synchronized void unlockDir( String dir )
+ {
+ try
+ {
+ File df = new File( dir );
+ if( !df.isDirectory() )
+ throw new IOException( _lang.getMessage( "file.is.not.directory", dir ) );
+
+ File lock = new File( dir,LOCK_FILE );
+ if( lock.exists() )
+ lock.delete();
+ }
+ catch( IOException e )
+ {
+ _log.error( e.getMessage() );
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static final Set<StreamVerifierFactory> vSet( StreamVerifierFactory... facs )
+ {
+ if( facs == null || facs.length < 1 )
+ return null;
+
+ HashSet<StreamVerifierFactory> res = new HashSet<StreamVerifierFactory>( facs.length );
+ for( StreamVerifierFactory f : facs )
+ {
+ res.add( f );
+ }
+
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static final Set<StreamObserverFactory> oSet( StreamObserverFactory... facs )
+ {
+ if( facs == null || facs.length < 1 )
+ return null;
+
+ HashSet<StreamObserverFactory> res = new HashSet<StreamObserverFactory>( facs.length );
+ for( StreamObserverFactory f : facs )
+ {
+ res.add( f );
+ }
+
+ return res;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static void renameFile( File dir, String from, String to )
+ {
+ if( dir == null )
+ return;
+
+ File [] files = dir.listFiles();
+
+ if( files == null || files.length < 1 )
+ return;
+
+ for( File f : files )
+ {
+ if( f.isDirectory() )
+ renameFile( f, from, to );
+ else if( from.equals( f.getName() ) )
+ {
+ f.renameTo( new File( f.getParent(), to ) );
+ }
+ }
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ public static int depth( File file )
+ {
+ if( file == null || !file.exists() )
+ throw new IllegalArgumentException( _lang.getMessage( "file.not.exists.error", file == null ? "null" : file.getAbsolutePath() ) );
+
+ if( file.isFile() )
+ return 0;
+
+ File [] files = file.listFiles();
+
+ int max = 0;
+
+ for( File f : files )
+ {
+ if( f.isDirectory() )
+ {
+ int res = depth( f );
+ if( res > max )
+ max = res;
+ }
+ }
+
+ return max + 1;
+ }
+ //---------------------------------------------------------------------------------------------------------------
+ //---------------------------------------------------------------------------------------------------------------
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtilException.java b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtilException.java
new file mode 100644
index 0000000..5449c9c
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtilException.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class FileUtilException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public FileUtilException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public FileUtilException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public FileUtilException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public FileUtilException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/Messages.properties b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/Messages.properties
new file mode 100644
index 0000000..9fd8403
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/Messages.properties
@@ -0,0 +1,42 @@
+#
+# 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.
+#
+signature.failed=Signature "{0}": verification failed for file {1}
+no.signature.file=Verifier for {0} is mandatory, but file {1} does not exist
+cannot.read.signature.file=Cannot read signature file {0}, error: {1}
+option.sha1=produce SHA1 signatures
+option.sign=create signatures for specified algorithms. Use -force to overwrite existing ones
+option.verify=verify signatures for specified algorithms. Use -force to fail on non-existing signatures
+option.pgp=produce PGP signatures, requires -keyring and -keyid options
+option.keyring=full path of the secret keyring file
+option.keyid=id of the key in the secret keyring file to be used in the signature
+option.keypass=key password
+option.r=recursevly sign all unsigned files
+option.force=overwrite existing signatures
+bad.pgp.args=pgp option requires both -keyring and -keyid to be specified
+no.verifiers=No signature generators requested - exiting
+file.not.exists=File "{0}" does not exist. Skipping ..
+file.is.directory=File "{0}" is a folder and no recursive option is specified. Skipping ..
+no.mandatory.signature=Mandatory signature {1} does not exist for file {0}
+file.failed.verification=File {0} failed following verifications: {1}
+cannot.create.directory=Cannot create directory {0}
+file.is.not.directory=Specified file {0} is not a directory: exists={1}, isDir={2}, isFile={3}
+reading.empty.file=File to read {0} has zero length
+had.to.create.directory=Directory {0} did not exist. Created: {1}
+null.file=Null supplied instead on File instance
+file.not.exists.error=File {0} does not exist.
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java
new file mode 100644
index 0000000..eea76aa
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java
@@ -0,0 +1,104 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+import java.text.ParseException;
+import java.util.Date;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class TimeUtil
+{
+ public static final java.util.TimeZone TS_TZ = java.util.TimeZone.getTimeZone( "UTC" );
+ public static final java.text.DateFormat TS_FORMAT = new java.text.SimpleDateFormat( "yyyyMMddHHmmss" );
+
+ static
+ {
+ TS_FORMAT.setTimeZone( TS_TZ );
+ }
+
+ /**
+ *
+ * @return current UTC timestamp by yyyyMMddHHmmss mask
+ */
+ public static String getUTCTimestamp( )
+ {
+ return getUTCTimestamp( new Date() );
+ }
+
+ /**
+ *
+ * @return current UTC timestamp by yyyyMMddHHmmss mask as a long int
+ */
+ public static long getUTCTimestampAsLong( )
+ {
+ return Long.parseLong( getUTCTimestamp( new Date() ) );
+ }
+
+ /**
+ *
+ * @return current UTC timestamp by yyyyMMddHHmmss mask as a long int
+ */
+ public static long getUTCTimestampAsMillis( )
+ {
+ return Long.parseLong( getUTCTimestamp( new Date() ) );
+ }
+ /**
+ *
+ * @param date
+ * @return current date converted to UTC timestamp by yyyyMMddHHmmss mask
+ */
+ public static String getUTCTimestamp( Date date )
+ {
+ return TS_FORMAT.format( date );
+ }
+
+ /**
+ * convert timestamp to millis
+ *
+ * @param ts timestamp to convert. Presumed to be a long of form yyyyMMddHHmmss
+ * @return millis, corresponding to the supplied TS
+ * @throws ParseException is long does not follow the format
+ */
+ public static long toMillis( long ts )
+ throws ParseException
+ {
+ return toMillis( ""+ts );
+ }
+
+ /**
+ * convert timestamp to millis
+ *
+ * @param ts timestamp to convert. Presumed to be a string of form yyyyMMddHHmmss
+ * @return millis, corresponding to the supplied TS
+ * @throws ParseException is long does not follow the format
+ */
+ public static long toMillis( String ts )
+ throws ParseException
+ {
+ Date dts =TS_FORMAT.parse( ts );
+
+ return dts.getTime();
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java
new file mode 100644
index 0000000..76a990b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java
@@ -0,0 +1,57 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+import java.util.Collection;
+
+/**
+ * general utility helpers
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class Util
+{
+ @SuppressWarnings("unchecked")
+ public static final boolean isEmpty( Collection o )
+ {
+ return o == null || o.isEmpty();
+ }
+
+ public static final boolean isEmpty( String o )
+ {
+ return o == null || o.length() < 1;
+ }
+
+ public static final boolean isEmpty( Object [] o )
+ {
+ return o == null || o.length < 1;
+ }
+
+ public static final boolean isEmpty( Object o )
+ {
+ return o == null;
+ }
+
+ public static final String nvlS( String s, String dflt )
+ {
+ return isEmpty(s) ? dflt : s;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-util/src/site/site.xml
new file mode 100644
index 0000000..53ab999
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/site/site.xml
@@ -0,0 +1,32 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/java/org/apache/maven/mercury/util/FileUtilTest.java b/mercury-1.0.0-alpha-2/mercury-util/src/test/java/org/apache/maven/mercury/util/FileUtilTest.java
new file mode 100644
index 0000000..e6b776b
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/java/org/apache/maven/mercury/util/FileUtilTest.java
@@ -0,0 +1,420 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class FileUtilTest
+ extends TestCase
+{
+ public static final String SYSTEM_PARAMETER_SKIP_NIO_TESTS = "maven.mercury.tests.skip.nio";
+ boolean skipNioTests = Boolean.parseBoolean( System.getProperty( SYSTEM_PARAMETER_SKIP_NIO_TESTS, "true" ) );
+
+ private static final String publicKeyFile = "/pgp/pubring.gpg";
+ private static final String secretKeyFile = "/pgp/secring.gpg";
+ private static final String keyId = "0EDB5D91141BC4F2";
+ private static final String secretKeyPass = "testKey82";
+
+ private File testDir;
+ private File a;
+ private File b;
+ private File bAsc;
+ private File badAsc;
+
+ HashSet<StreamVerifierFactory> vFacs;
+ //----------------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ testDir = new File("./target/test-classes");
+ a = new File( testDir, "a.jar" );
+ b = new File( testDir, "b.jar" );
+ bAsc = new File( testDir, "b.jar.asc" );
+ badAsc = new File( testDir, "bad.asc" );
+
+ FileUtil.copy( a, b, true );
+
+ vFacs = new HashSet<StreamVerifierFactory>(2);
+
+ tearDown();
+ }
+ //----------------------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ bAsc.delete();
+ }
+ //----------------------------------------------------------------------------------------
+ private void setPgp( boolean generator )
+ throws StreamVerifierException
+ {
+ if( generator )
+ vFacs.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( secretKeyFile )
+ , keyId
+ , secretKeyPass
+ )
+ );
+ else
+ vFacs.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+
+ }
+ //----------------------------------------------------------------------------------------
+ private void setSha1( boolean generator )
+ {
+ vFacs.add( new SHA1VerifierFactory(false,false) );
+ }
+ //----------------------------------------------------------------------------------------
+ public void testVerifyGood()
+ throws IOException, StreamObserverException
+ {
+ setPgp( false );
+ FileUtil.verify( a, vFacs, false, true );
+ }
+ //----------------------------------------------------------------------------------------
+ public void testVerifyBad()
+ throws IOException, StreamObserverException
+ {
+ setPgp( false );
+ FileUtil.copy( badAsc, bAsc, true );
+
+ try
+ {
+ FileUtil.verify( b, vFacs, false, false );
+ }
+ catch( StreamObserverException e )
+ {
+ System.out.println( "Caught expected exception: "+e.getMessage() );
+ return;
+ }
+ fail( "Expected exception never thrown:"+StreamObserverException.class.getName() );
+ }
+ //----------------------------------------------------------------------------------------
+ public void testVerifyNoSigNoForce()
+ throws IOException, StreamObserverException
+ {
+ setPgp( false );
+ FileUtil.verify( b, vFacs, false, false );
+ }
+ //----------------------------------------------------------------------------------------
+ public void testVerifyNoSigForce()
+ throws IOException, StreamVerifierException
+ {
+ setPgp( false );
+
+ try
+ {
+ FileUtil.verify( b, vFacs, false, true );
+ }
+ catch( StreamObserverException e )
+ {
+ System.out.println( "Caught expected exception: "+e.getMessage() );
+ return;
+ }
+ fail( "Expected exception never thrown:"+StreamObserverException.class.getName() );
+ }
+ //----------------------------------------------------------------------------------------
+ public void testSign()
+ throws IOException, StreamObserverException
+ {
+ setPgp( true );
+ FileUtil.sign( b, vFacs, false, true );
+
+ vFacs.clear();
+ setPgp( false );
+ FileUtil.verify( b, vFacs, false, true );
+ }
+
+ //----------------------------------------------------------------------------------------
+ private static void say( String msg )
+ {
+ System.out.println(msg);
+ System.out.flush();
+ }
+ //----------------------------------------------------------------------------------------
+ public void testLock()
+ throws Exception
+ {
+ Ok th1ok = new Ok();
+ Ok th2ok = new Ok();
+
+ class TestThread1
+ extends Thread
+ {
+ FileLockBundle lock;
+ String dir;
+ Ok ok;
+
+ public TestThread1( String dir, Ok ok )
+ {
+ this.dir = dir;
+ this.ok = ok;
+ }
+ @Override
+ public void run()
+ {
+ try
+ {
+ lock = FileUtil.lockDir( dir, 10L, 10L );
+ assertNotNull( lock );
+ say("Thread1: lock "+dir+" obtained");
+
+ try { sleep( 2000L ); } catch( InterruptedException e ) {}
+ say("Thread1: slept for 2s");
+
+ lock.release();
+ say("Thread1: lock "+dir+" released");
+
+ ok.ok();
+ }
+ catch( Exception e )
+ {
+ fail( e.getMessage() );
+ }
+ }
+
+ }
+
+ class TestThread2
+ extends Thread
+ {
+ FileLockBundle lock;
+ String dir;
+ Ok ok;
+
+ public TestThread2( String dir, Ok ok )
+ {
+ this.dir = dir;
+ this.ok = ok;
+ }
+ @Override
+ public void run()
+ {
+ try
+ {
+ sleep(10l);
+ lock = FileUtil.lockDir( dir, 10L, 10L );
+ assertNull( lock );
+ say("Thread2: resource "+dir+" locked");
+
+ lock = FileUtil.lockDir( dir, 5000L, 100L );
+ assertNotNull( lock );
+
+ lock.release();
+ say("Thread2: lock "+dir+" released");
+
+ ok.ok();
+ }
+ catch( Exception e )
+ {
+ fail( e.getMessage() );
+ }
+ }
+
+ }
+
+ File dir = File.createTempFile( "test-", "-dir" );
+ String dirName = dir.getAbsolutePath();
+ dir.delete();
+ dir = new File( dirName );
+ dir.mkdir();
+ dir.deleteOnExit();
+
+ TestThread1 th1 = new TestThread1( dirName, th1ok );
+ TestThread2 th2 = new TestThread2( dirName, th2ok );
+
+ th1.start();
+ th2.start();
+
+ for(;;)
+ if( th1.isAlive() || th2.isAlive() )
+ Thread.sleep( 1000L );
+ else
+ break;
+
+
+ assertTrue( th1ok.isOk() );
+
+ assertTrue( th2ok.isOk() );
+
+ say("Multi-threaded test finished successfully");
+ }
+ //----------------------------------------------------------------------------------------
+ // TODO: 2008-10-06 Oleg: enable if switching to NIO locking between processes
+ public void notestLockNio()
+ throws Exception
+ {
+ Ok th1ok = new Ok();
+ Ok th2ok = new Ok();
+
+ class TestThread1
+ extends Thread
+ {
+ FileLockBundle lock;
+ String dir;
+ Ok ok;
+
+ public TestThread1( String dir, Ok ok )
+ {
+ this.dir = dir;
+ this.ok = ok;
+ }
+ @Override
+ public void run()
+ {
+ try
+ {
+ lock = FileUtil.lockDirNio( dir, 10L, 10L );
+ say("NioThread1: got lock "+lock+" on "+dir+" obtained");
+
+ assertNotNull( lock );
+ say("NioThread1: lock "+dir+" obtained");
+
+ try { sleep( 2000L ); } catch( InterruptedException e ) {}
+ say("NioThread1: slept for 2s");
+
+ lock.release();
+ say("NioThread1: lock "+dir+" released");
+
+ ok.ok();
+ }
+ catch( Exception e )
+ {
+ fail( e.getMessage() );
+ }
+ }
+
+ }
+
+ class TestThread2
+ extends Thread
+ {
+ FileLockBundle lock;
+ String dir;
+ Ok ok;
+
+ public TestThread2( String dir, Ok ok )
+ {
+ this.dir = dir;
+ this.ok = ok;
+ }
+ @Override
+ public void run()
+ {
+ try
+ {
+ sleep(10l);
+ lock = FileUtil.lockDirNio( dir, 10L, 10L );
+ say("NioThread2: got lock "+lock+" on "+dir+" obtained");
+
+ assertNull( lock );
+
+ System.out.println("NioThread2: resource "+dir+" busy");
+ System.out.flush();
+
+ lock = FileUtil.lockDirNio( dir, 5000L, 100L );
+ assertNotNull( lock );
+
+ say("NioThread2: lock "+dir+" obtained");
+
+ lock.release();
+ say("NioThread2: lock "+dir+" released");
+
+ ok.ok();
+ }
+ catch( Exception e )
+ {
+ fail( e.getMessage() );
+ }
+ }
+
+ }
+
+ File dir = File.createTempFile( "test-", "-dir" );
+ String dirName = dir.getAbsolutePath();
+ dir.delete();
+ dir = new File( dirName );
+ dir.mkdir();
+ dir.deleteOnExit();
+
+ TestThread1 th1 = new TestThread1( dirName, th1ok );
+ TestThread2 th2 = new TestThread2( dirName, th2ok );
+
+ th1.start();
+ th2.start();
+
+ for(;;)
+ if( th1.isAlive() || th2.isAlive() )
+ Thread.sleep( 1000L );
+ else
+ break;
+
+if(skipNioTests)
+ return;
+
+ assertTrue( th1ok.isOk() );
+
+ assertTrue( th2ok.isOk() );
+
+ say("Multi-threaded NIO test finished successfully");
+ }
+}
+
+
+class Ok
+{
+ boolean ok = false;
+
+ public void ok()
+ {
+ ok = true;
+ }
+
+ public boolean isOk()
+ {
+ return ok;
+ }
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/java/org/apache/maven/mercury/util/NioTest.java b/mercury-1.0.0-alpha-2/mercury-util/src/test/java/org/apache/maven/mercury/util/NioTest.java
new file mode 100644
index 0000000..50a226f
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/java/org/apache/maven/mercury/util/NioTest.java
@@ -0,0 +1,87 @@
+/**
+ * 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.
+ */
+package org.apache.maven.mercury.util;
+
+import java.io.File;
+import java.io.RandomAccessFile;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.OverlappingFileLockException;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class NioTest
+ extends TestCase
+{
+
+ public void testNio()
+ {
+ boolean ok = false;
+
+ try
+ {
+ File file = File.createTempFile( "test-nio-", "-file" );
+
+ String fn = file.getAbsolutePath();
+
+ File f1 = new File( fn );
+ FileChannel c1 = new RandomAccessFile( f1, "rw").getChannel();
+
+ FileLock l1 = c1.lock();
+ assertNotNull( "cannot obtain even the first lock", l1 );
+
+ File f2 = new File( fn );
+ FileChannel c2 = new RandomAccessFile( f2, "rw").getChannel();
+ FileLock l2 = null;
+ try
+ {
+ l2 = c2.tryLock();
+
+ if( l2 == null )
+ throw new OverlappingFileLockException();
+
+ l2.release();
+ }
+ catch (OverlappingFileLockException e)
+ {
+ ok = true;
+ }
+
+ l1.release();
+ c1.close();
+
+ file.delete();
+
+if(false)
+ assertTrue( "java.nio does not work !!", ok );
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar
new file mode 100644
index 0000000..7f22694
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar.asc b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar.asc
new file mode 100644
index 0000000..800d065
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPJuQgCfbLCJldGo59ggjxNyIbRbIqcs
+OrwAnih+uOC4Elw5UJ2Wekdjl37jJbak
+=i1JE
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar.sha1 b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar.sha1
new file mode 100644
index 0000000..9206b49
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/a.jar.sha1
@@ -0,0 +1 @@
+e1003a0a66dae77515259c5e591ea1cfd73c2859
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/bad.asc b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/bad.asc
new file mode 100644
index 0000000..c2e0eb4
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/bad.asc
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAkivNOcACgkQDttdkRQbxPI6twCeI7VvcHQG6U3WZzIISSvB5sAY
+kcgAn2jHpt7cn7mYtjdjzusCCoz4N4rP
+=kmbj
+-----END PGP SIGNATURE-----
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-util/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/pom.xml b/mercury-1.0.0-alpha-2/mercury-wagon/pom.xml
new file mode 100644
index 0000000..b059b00
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/pom.xml
@@ -0,0 +1,123 @@
+<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.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <version>1.0.0-alpha-2</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>mercury-wagon</artifactId>
+ <name>Mercury Wagon provider</name>
+
+ <properties>
+ <mercury.version>${project.version}</mercury.version>
+
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+ </properties>
+
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <build>
+
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/*.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
+ </testResource>
+
+ </testResources>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ <executions>
+
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <!-- had to remove all tests till finding appropriate DAV server: http://jira.codehaus.org/browse/MERCURY-25 -->
+ <skip>true</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</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>
+
+ </dependencies>
+</project>
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java
new file mode 100644
index 0000000..2c60c10
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java
@@ -0,0 +1,538 @@
+/**
+ * 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.
+ */
+package org.apache.maven.wagon.mercury;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierException;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.spi.http.client.HttpClientException;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployRequest;
+import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer;
+import org.apache.maven.mercury.spi.http.client.deploy.DeployResponse;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.client.retrieve.RetrievalResponse;
+import org.apache.maven.mercury.transport.api.Binding;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.wagon.AbstractWagon;
+import org.apache.maven.wagon.ConnectionException;
+import org.apache.maven.wagon.ResourceDoesNotExistException;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.authentication.AuthenticationException;
+import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.events.TransferEvent;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.resource.Resource;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * plexus.component
+ * role-hint="http"
+ * instantiation-strategy="per-lookup"
+ * description="Mercury based wagon implementation"
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryWagon
+extends AbstractWagon
+implements Wagon
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( MercuryWagon.class );
+ private static final Language _lang = new DefaultLanguage( MercuryWagon.class );
+
+ public static final String SYSTEM_PARAMETER_DEBUG_TRANSFER = "maven.mercury.wagon.debug.transfer";
+ private boolean debugTransfer = Boolean.parseBoolean( System.getProperty( SYSTEM_PARAMETER_DEBUG_TRANSFER, "false" ) );
+
+ public static final String SYSTEM_PARAMETER_PGP_CONGIG = "maven.mercury.wagon.pgp.config";
+ private String pgpConfig = System.getProperty( SYSTEM_PARAMETER_PGP_CONGIG, null );
+
+ // TODO: Oleg, 2008-09-26: move to mercury-transport-api
+ public static final String [][] protocolConversions = new String [][]
+ {
+ {"http:", "http:"}
+ , {"https:", "https:"}
+ , {"dav:", "http:"}
+ , {"davs:", "https:"}
+ , {"dav:http:", "http:"}
+ , {"dav:https:", "https:"}
+ , {"mttp:", "http:"}
+ , {"mttps:", "https:"}
+ };
+
+ private Server server;
+ private DefaultRetriever retriever;
+ private DefaultDeployer deployer;
+
+ private List<TransferEvent> events = new ArrayList<TransferEvent>(8);
+ private String userAgent;
+
+ /**
+ *
+ */
+ public MercuryWagon()
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "MercuryWagon instantiated" );
+ }
+
+ public MercuryWagon( Server server )
+ throws IllegalArgumentException
+ {
+ init( server );
+ }
+
+ private void init( Server server )
+ throws IllegalArgumentException
+ {
+ if( server == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.read.server" ) );
+
+ if( server.getURL() == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.read.server.url", server.getId() ) );
+
+ this.server = server;
+
+ Set<StreamVerifierFactory>[] pgpFac = null;
+
+ try
+ {
+ pgpFac = readPgpConfig();
+ this.server.setReaderStreamVerifierFactories( pgpFac[0] );
+ this.server.setWriterStreamVerifierFactories( pgpFac[1] );
+ }
+ catch( Exception ex )
+ {
+ throw new IllegalArgumentException(ex);
+ }
+
+ Set<StreamObserverFactory> rf = server.getReaderStreamObserverFactories();
+ if( rf == null )
+ {
+ rf = new HashSet<StreamObserverFactory>(1);
+ this.server.setReaderStreamObserverFactories( rf );
+ }
+ rf.add( new StupidWagonObserverFactory( this ) );
+
+ HashSet<Server> servers = new HashSet<Server>(1);
+ servers.add( this.server );
+
+ Set<StreamObserverFactory> wf = this.server.getWriterStreamObserverFactories();
+ if( wf == null )
+ {
+ wf = new HashSet<StreamObserverFactory>(1);
+ this.server.setReaderStreamObserverFactories( wf );
+ }
+ wf.add( new StupidWagonObserverFactory( this ) );
+
+ try
+ {
+ retriever = new DefaultRetriever();
+ }
+ catch( HttpClientException e )
+ {
+ throw new IllegalArgumentException(e);
+ }
+ retriever.setServers( servers );
+
+ try
+ {
+ deployer = new DefaultDeployer();
+ }
+ catch( HttpClientException e )
+ {
+ throw new IllegalArgumentException(e);
+ }
+ deployer.setServers( servers );
+ }
+
+ public void get( String resourceName, File destination )
+ throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug("MercuryWagon getting "+resourceName+" into "+destination);
+
+ Binding binding = null;
+
+ try
+ {
+ binding = new Binding( new URL(server.getURL().toString()+'/'+resourceName), destination );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new TransferFailedException( e.getMessage() );
+ }
+
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ request.addBinding( binding );
+
+ Resource resource = new Resource( resourceName );
+
+ fireGetInitiated( resource, destination );
+
+ resource.setLastModified( 0l );
+
+ server.setUserAgent( userAgent );
+
+ fireGetStarted( resource, destination );
+
+ pushEvent( new TransferEvent(this, resource, TransferEvent.TRANSFER_PROGRESS, TransferEvent.REQUEST_GET) );
+
+ long start = System.currentTimeMillis();
+
+ RetrievalResponse response = retriever.retrieve( request );
+
+ fireGetCompleted( resource, destination );
+
+ if( response.hasExceptions() )
+ {
+ _log.error( response.getExceptions().toString() );
+ throw new ResourceDoesNotExistException( response.getExceptions().toString() );
+ }
+
+ if( _log.isDebugEnabled() )
+ _log.debug("MercuryWagon got ["+resourceName+" ==> "+destination + "], time " + (System.currentTimeMillis()-start) + " millis");
+
+ }
+
+ public boolean getIfNewer( String resourceName, File destination, long timestamp )
+ throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
+ {
+ get( resourceName, destination );
+ return true;
+ }
+
+ public void put( File source, String destination )
+ throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "put request for: "+source+" => "+destination );
+
+ Resource resource = new Resource( destination );
+
+ firePutInitiated( resource, source );
+
+ resource.setContentLength( source.length() );
+
+ resource.setLastModified( source.lastModified() );
+
+ Binding binding = null;
+ try
+ {
+ binding = new Binding( new URL( this.server.getURL().toString()+'/'+destination), source );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new TransferFailedException( e.getMessage() );
+ }
+
+ HashSet<Binding> bindings = new HashSet<Binding>(1);
+ bindings.add( binding );
+
+ DefaultDeployRequest request = new DefaultDeployRequest();
+ request.setBindings( bindings );
+
+ firePutStarted( resource, source );
+
+ server.setUserAgent( userAgent );
+
+ pushEvent( new TransferEvent(this, resource, TransferEvent.TRANSFER_PROGRESS, TransferEvent.REQUEST_PUT) );
+
+ long start = System.currentTimeMillis();
+
+ DeployResponse response = deployer.deploy( request );
+
+ firePutCompleted( resource, source );
+
+ if( response.hasExceptions() )
+ {
+ throw new TransferFailedException( response.getExceptions().toString() );
+ }
+
+ if( _log.isDebugEnabled() )
+ _log.debug("MercuryWagon put ["+source+" ==> "+destination + "], time " + (System.currentTimeMillis()-start) + " millis");
+ }
+
+ protected void closeConnection()
+ throws ConnectionException
+ {
+ }
+
+ @Override
+ public void openConnection()
+ throws ConnectionException, AuthenticationException
+ {
+ openConnectionInternal();
+ }
+
+ private final String convertProtocol( String pin )
+ throws ConnectionException
+ {
+ for( String [] pc : protocolConversions )
+ {
+ if( pc[0].equals( pin ) )
+ return pc[1];
+ }
+
+ throw new ConnectionException("bad protocol: "+pin);
+ }
+
+ @Override
+ protected void openConnectionInternal()
+ throws ConnectionException, AuthenticationException
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "opening connection to repository "+repository );
+
+ try
+ {
+ String repUrl = repository.getUrl();
+ int index = repUrl.indexOf( '/' );
+ String protocol = convertProtocol( repUrl.substring( 0, index ) );
+
+ String theRest = repUrl.substring( index );
+ if( theRest.endsWith( "/" ) )
+ theRest = theRest.substring( 0, theRest.length()-1 );
+
+ String url = protocol + theRest;
+
+ if(_log.isDebugEnabled())
+ _log.debug( "converted url "+repository.getUrl()+" ==> "+url );
+
+ Server server = new Server( repository.getId(), new URL( url ) );
+
+ if( authenticationInfo != null && authenticationInfo.getUserName() != null )
+ {
+ Credentials user = new Credentials( authenticationInfo.getUserName(), authenticationInfo.getPassword() );
+
+ server.setServerCredentials( user );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "user ceredentials: "+user.getUser()+"/..." );
+ }
+
+
+ ProxyInfo pi = getProxyInfo("http", getRepository().getHost());
+
+ String httpProxyType = ProxyInfo.PROXY_HTTP.toLowerCase();
+
+ if( pi != null && pi.getHost() != null )
+ {
+ String proxyType = pi.getType().toLowerCase();
+
+ if( !httpProxyType.equals( proxyType ) )
+ {
+ throw new ConnectionException( "Mercury wagon does not support "+proxyType+" proxies at this point. Only "+httpProxyType+" proxy is supported" );
+ }
+
+ server.setProxy( new URL("http://"+pi.getHost()+":" + (pi.getPort()>0 ? pi.getPort() : 80) ) );
+
+ if( pi.getUserName() != null )
+ {
+ Credentials proxyUser = new Credentials( pi.getUserName(), pi.getPassword() );
+
+ server.setProxyCredentials( proxyUser );
+
+ if(_log.isDebugEnabled())
+ _log.debug( "proxy credentials set to : " + proxyUser.getUser()+"/..." );
+ }
+ }
+
+ if(_log.isDebugEnabled())
+ _log.debug( "proxy url set to : " + server.getProxy() );
+
+ init( server );
+
+ if( debugTransfer )
+ transferEventSupport.addTransferListener( new TransferEventDebugger() );
+ }
+// catch( MalformedURLException e )
+// {
+// throw new ConnectionException( e.getMessage() );
+// }
+ catch( Throwable e )
+ {
+ e.printStackTrace();
+ _log.error( e.getMessage() );
+ throw new ConnectionException( e.getMessage() );
+ }
+ }
+
+ void bytesReady( TransferEvent transferEvent, byte [] buf, int len )
+ {
+ fireTransferProgress( transferEvent, buf, len );
+ }
+
+ /**
+ * @return
+ */
+ public final TransferEvent popEvent()
+ {
+ if( events.isEmpty() )
+ return null;
+
+ TransferEvent event = events.get( 0 );
+ events.remove( 0 );
+
+ return event;
+ }
+
+ public final void pushEvent( final TransferEvent event)
+ {
+ events.add( 0, event );
+ }
+
+ private final Set<StreamVerifierFactory>[] readPgpConfig()
+ throws FileNotFoundException, IOException, StreamVerifierException
+ {
+ Set<StreamVerifierFactory> [] res = new Set [] { null, null };
+
+ if( pgpConfig == null )
+ return res;
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "PGP signature configuration will be read from "+pgpConfig );
+
+ Properties pgpProps = new Properties();
+ pgpProps.load( new FileInputStream(pgpConfig) );
+
+ String readerKeyring = pgpProps.getProperty( "reader.keyring" );
+
+ if( readerKeyring != null )
+ {
+ StreamVerifierAttributes readerAttr = new StreamVerifierAttributes(
+ PgpStreamVerifierFactory.DEFAULT_EXTENSION
+ , Boolean.parseBoolean( pgpProps.getProperty( "reader.lenient", "true" ) )
+ , false
+ );
+
+ StreamVerifierFactory rf = new PgpStreamVerifierFactory( readerAttr, new FileInputStream(readerKeyring) );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "public key file: "+new File(readerKeyring).getAbsolutePath() );
+
+ Set<StreamVerifierFactory> rs = new HashSet<StreamVerifierFactory>(1);
+ rs.add( rf );
+ res[0] = rs;
+ }
+
+ String writerKeyring = pgpProps.getProperty( "writer.keyring" );
+ String writerKeyId = pgpProps.getProperty( "writer.key.id" );
+ String writerKeyringPass = pgpProps.getProperty( "writer.key.pass" );
+
+ if( writerKeyring != null && writerKeyId != null && writerKeyringPass != null )
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "secret key file: "+new File(writerKeyring).getAbsolutePath() );
+
+ StreamVerifierAttributes writerAttr = new StreamVerifierAttributes(
+ PgpStreamVerifierFactory.DEFAULT_EXTENSION
+ , Boolean.parseBoolean( pgpProps.getProperty( "writer.lenient", "true" ) )
+ , false
+ );
+
+ StreamVerifierFactory wf = new PgpStreamVerifierFactory( writerAttr, new FileInputStream(writerKeyring)
+ , writerKeyId, writerKeyringPass );
+
+ Set<StreamVerifierFactory> ws = new HashSet<StreamVerifierFactory>(1);
+ ws.add( wf );
+ res[1] = ws;
+ }
+
+ return res;
+ }
+
+ public void setHttpHeaders( Properties httpHeaders )
+ {
+ this.userAgent = httpHeaders.getProperty( "User-Agent", null );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "userAgent set to : "+this.userAgent );
+
+ }
+
+ @Override
+ public boolean resourceExists( String resourceName )
+ throws TransferFailedException, AuthorizationException
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "check if resourceExists: "+resourceName+" on server "+(server == null ? "null" : server.getURL() ) );
+
+ File temp;
+ try
+ {
+ temp = File.createTempFile( "mercury-", ".temp" );
+ }
+ catch( IOException e )
+ {
+ throw new TransferFailedException( e.getMessage() );
+ }
+ temp.delete();
+
+ Binding binding = null;
+
+ try
+ {
+ binding = new Binding( new URL(server.getURL().toString()+'/'+resourceName), temp );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new TransferFailedException( e.getMessage() );
+ }
+
+ DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+ request.addBinding( binding );
+
+ server.setUserAgent( userAgent );
+
+ RetrievalResponse response = retriever.retrieve( request );
+
+ temp.delete();
+
+ if( response.hasExceptions() )
+ {
+ _log.error( response.getExceptions().toString() );
+ return false;
+ }
+ return true;
+ }
+
+
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/StupidWagonObserverAdapter.java b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/StupidWagonObserverAdapter.java
new file mode 100644
index 0000000..598ad29
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/StupidWagonObserverAdapter.java
@@ -0,0 +1,92 @@
+/**
+ * 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.
+ */
+package org.apache.maven.wagon.mercury;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.wagon.events.TransferEvent;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class StupidWagonObserverAdapter
+implements StreamObserver
+{
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( StupidWagonObserverAdapter.class );
+
+ byte [] buf = new byte[2048];
+
+ MercuryWagon wagon;
+ TransferEvent event;
+
+ long length = -1L;
+ String lastModified;
+
+ public StupidWagonObserverAdapter( MercuryWagon wagon, TransferEvent event )
+ {
+ this.wagon = wagon;
+ this.event = event;
+ if( _log.isDebugEnabled() )
+ _log.debug( "|=========-> adapter for "+event.getResource().getName()+" is created" );
+ }
+
+ public void byteReady( int b )
+ throws StreamObserverException
+ {
+ bytesReady( new byte [] { (byte)b }, 0, 1 );
+ }
+
+ public void bytesReady( byte[] b, int off, int len )
+ throws StreamObserverException
+ {
+ if( len > buf.length )
+ buf = new byte[len];
+
+ System.arraycopy( b, off, buf, 0, len );
+ wagon.bytesReady( event, buf, len );
+ }
+
+ public long getLength()
+ {
+ return length;
+ }
+
+ public void setLength( long length )
+ {
+ this.length = length;
+_log.info( "|=-> length is "+length );
+ }
+
+ public void setLastModified(String time)
+ {
+ lastModified = time;
+ }
+
+ public String getLastModified()
+ {
+ return lastModified;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/StupidWagonObserverFactory.java b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/StupidWagonObserverFactory.java
new file mode 100644
index 0000000..4b28f05
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/StupidWagonObserverFactory.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.maven.wagon.mercury;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class StupidWagonObserverFactory
+implements StreamObserverFactory
+{
+ private MercuryWagon wagon;
+
+ public StupidWagonObserverFactory( MercuryWagon wagon )
+ {
+ this.wagon = wagon;
+ }
+
+ public StreamObserver newInstance()
+ throws StreamObserverException
+ {
+ return new StupidWagonObserverAdapter( wagon, wagon.popEvent() );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/TransferEventDebugger.java b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/TransferEventDebugger.java
new file mode 100644
index 0000000..5418760
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/java/org/apache/maven/wagon/mercury/TransferEventDebugger.java
@@ -0,0 +1,76 @@
+/**
+ * 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.
+ */
+package org.apache.maven.wagon.mercury;
+
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.wagon.events.TransferEvent;
+import org.apache.maven.wagon.events.TransferListener;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class TransferEventDebugger
+implements TransferListener
+{
+ public static final String SYSTEM_PARAMETER_DEBUG_TRANSFER_BYTES = "maven.mercury.wagon.debug.transfer.bytes";
+ private boolean debugTransferBytes = Boolean.parseBoolean( System.getProperty( SYSTEM_PARAMETER_DEBUG_TRANSFER_BYTES, "false" ) );
+
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( TransferEventDebugger.class );
+
+ public void debug( String message )
+ {
+ }
+
+ public void transferCompleted(
+ TransferEvent transferEvent )
+ {
+ _log.info("|=============> completed: "+transferEvent.getResource().getName() );
+ }
+
+ public void transferError( TransferEvent transferEvent )
+ {
+ _log.info("|=============> error: "+transferEvent.getResource().getName() );
+ }
+
+ public void transferInitiated( TransferEvent transferEvent )
+ {
+ _log.info("|=============> initialized: "+transferEvent.getResource().getName() );
+ }
+
+ public void transferProgress(
+ TransferEvent transferEvent,
+ byte[] buffer,
+ int length )
+ {
+ if( debugTransferBytes )
+ _log.info("|=============> ready "+length+" bytes : "+transferEvent.getResource().getName() );
+ }
+
+ public void transferStarted(
+ TransferEvent transferEvent )
+ {
+ _log.info("|=============> started: "+transferEvent.getResource().getName() );
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/main/resources/META-INF/plexus/components.xml b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000..aeef3e2
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/resources/META-INF/plexus/components.xml
@@ -0,0 +1,73 @@
+<!--
+ ~ 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.
+ -->
+
+<component-set>
+ <components>
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>http</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>https</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>dav</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>davs</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+<!--
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>dav:http</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>dav:https</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+-->
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>mttp</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ <component>
+ <role>org.apache.maven.wagon.Wagon</role>
+ <role-hint>mttps</role-hint>
+ <implementation>org.apache.maven.wagon.mercury.MercuryWagon</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ </components>
+</component-set>
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/main/resources/org/apache/maven/wagon/mercury/Messages.properties b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/resources/org/apache/maven/wagon/mercury/Messages.properties
new file mode 100644
index 0000000..1cc4a5a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/main/resources/org/apache/maven/wagon/mercury/Messages.properties
@@ -0,0 +1,4 @@
+null.read.server=read server cannot be null
+null.read.server.url=read server {0} : URL cannot be null
+null.write.server=write server cannot be null
+null.write.server.url=write server {0} : URL cannot be null
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/site/site.xml b/mercury-1.0.0-alpha-2/mercury-wagon/src/site/site.xml
new file mode 100644
index 0000000..173f6e5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/site/site.xml
@@ -0,0 +1,34 @@
+<?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>
+
+ <body>
+
+ <menu ref="parent"/>
+
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/test/java/org/apache/maven/wagon/mercury/MercuryWagonTest.java b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/java/org/apache/maven/wagon/mercury/MercuryWagonTest.java
new file mode 100644
index 0000000..f2a61cb
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/java/org/apache/maven/wagon/mercury/MercuryWagonTest.java
@@ -0,0 +1,154 @@
+/**
+ * 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.
+ */
+package org.apache.maven.wagon.mercury;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.HashSet;
+
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.WagonTestCase;
+import org.codehaus.plexus.PlexusContainer;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MercuryWagonTest
+extends WagonTestCase
+{
+
+ PlexusContainer plexus;
+
+ String nexusReleasesTestDir = "./target/nexus-webapp-1.0.0/runtime/work/storage/releases";
+ String nexusReleasesTestUrl = "http://127.0.0.1:8091/nexus/content/repositories/releases";
+
+ String nexusSnapshotsTestDir = "./target/nexus-webapp-1.0.0/runtime/work/storage/snapshots";
+ String nexusSnapshotsTestUrl = "http://127.0.0.1:8091/nexus/content/repositories/snapshots";
+
+ String nexusTestUser = "admin";
+ String nexusTestPass = "admin123";
+
+ protected static final String keyId = "0EDB5D91141BC4F2";
+
+ protected static final String secretKeyFile = "/pgp/secring.gpg";
+ protected static final String publicKeyFile = "/pgp/pubring.gpg";
+ protected static final String secretKeyPass = "testKey82";
+
+ PgpStreamVerifierFactory pgpF;
+ SHA1VerifierFactory sha1F;
+ HashSet<StreamVerifierFactory> vFacPgp;
+ HashSet<StreamVerifierFactory> vFacSha1;
+
+ Server server;
+
+ HashSet<StreamVerifierFactory> readFactories;
+ HashSet<StreamVerifierFactory> writeFactories;
+
+ private File targetDirectory;
+
+ MercuryWagon wagon;
+
+ //------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ Credentials user = new Credentials( nexusTestUser, nexusTestPass );
+
+ server = new Server( "mercuryWagonTestRead", new URL(nexusReleasesTestUrl), false, false, user );
+
+ // verifiers
+ readFactories = new HashSet<StreamVerifierFactory>();
+ readFactories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, false )
+ , getClass().getResourceAsStream( publicKeyFile )
+ )
+ );
+ readFactories.add( new SHA1VerifierFactory(false,false) );
+ server.setWriterStreamVerifierFactories(readFactories);
+
+ // verifiers
+ writeFactories = new HashSet<StreamVerifierFactory>();
+ writeFactories.add(
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, false )
+ , getClass().getResourceAsStream( secretKeyFile )
+ , keyId
+ , secretKeyPass
+ )
+ );
+ writeFactories.add( new SHA1VerifierFactory(false,false) );
+ server.setWriterStreamVerifierFactories(writeFactories);
+
+ targetDirectory = new File(nexusReleasesTestDir);
+ FileUtil.delete( new File( targetDirectory, "org" ) );
+
+ wagon = new MercuryWagon( server );
+
+ super.setUp();
+
+ plexus = getContainer();
+
+ assertNotNull( plexus );
+
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+
+ @Override
+ protected Wagon getWagon()
+ throws Exception
+ {
+ return wagon;
+ }
+
+
+
+ @Override
+ protected String getProtocol()
+ {
+ return "http";
+ }
+
+ @Override
+ protected String getTestRepositoryUrl()
+ throws IOException
+ {
+ return nexusReleasesTestUrl;
+ }
+
+}
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/META-INF/plexus/components.xml b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000..099ecc5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/META-INF/plexus/components.xml
@@ -0,0 +1,41 @@
+<component-set>
+ <components>
+ <component>
+ <role>org.sonatype.appbooter.ForkedAppBooter</role>
+ <role-hint>NexusForkedAppBooter</role-hint>
+ <implementation>org.sonatype.appbooter.DefaultForkedAppBooter</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <description></description>
+ <isolated-realm>false</isolated-realm>
+ <configuration>
+ <disable-blocking>true</disable-blocking>
+ <debug>false</debug>
+ <java-cmd>java</java-cmd>
+ <debug-port>5005</debug-port>
+ <debug-suspend>true</debug-suspend>
+ <debug-java-cmd>java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=@DEBUG_SUSPEND@,address=@DEBUG_PORT@ -Djava.compiler=NONE</debug-java-cmd>
+ <launcher-class>org.sonatype.appbooter.PlexusContainerHost</launcher-class>
+ <configuration>${nexus-plexus-config-file}</configuration>
+ <basedir>${nexus-abs-basedir}</basedir>
+ <temp-dir>${project.build.directory}/appbooter.tmp/</temp-dir>
+ <control-port>${nexus-control-port}</control-port>
+ <platform-file>${nexus-abs-basedir}/lib/plexus-platform-jsw-*.jar</platform-file>
+ <class-path-elements elements="java.lang.String">
+ <class-path-element>${nexus-abs-basedir}/runtime/apps/nexus/conf</class-path-element>
+ <class-path-element>${nexus-abs-basedir}/runtime/apps/nexus/lib/*.jar</class-path-element>
+ </class-path-elements>
+ <sleep-after-start>6000</sleep-after-start>
+ <systemProperties>
+ <plexus.application-port>${nexus-application-port}</plexus.application-port>
+ <plexus.application-host>${jetty-application-host}</plexus.application-host>
+ <plexus.runtime>${nexus-abs-basedir}/runtime</plexus.runtime>
+ <plexus.apps>${nexus-abs-basedir}/runtime/apps</plexus.apps>
+ <plexus.nexus-work>${nexus-abs-basedir}/runtime/work</plexus.nexus-work>
+ <plexus.webapp>${nexus-abs-basedir}/runtime/apps/nexus/webapp</plexus.webapp>
+ <plexus.webapp-context-path>/nexus</plexus.webapp-context-path>
+ </systemProperties>
+ </configuration>
+ </component>
+
+ </components>
+</component-set>
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/pgp/pubring.gpg b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/pgp/pubring.gpg
new file mode 100644
index 0000000..afd842a
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/pgp/pubring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/pgp/secring.gpg b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/pgp/secring.gpg
new file mode 100644
index 0000000..15f56d6
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/pgp/secring.gpg
Binary files differ
diff --git a/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/test.properties b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/test.properties
new file mode 100644
index 0000000..ee32f64
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/mercury-wagon/src/test/resources/test.properties
@@ -0,0 +1,12 @@
+nexus.base.url=${nexus-base-url}
+nexus.control.port=${nexus-control-port}
+nexus.bundle.dir=${bundle-expanded-dir}
+nexus.base.dir=${project.build.directory}/bundle/nexus-webapp-${project.version}
+nexus.work.dir=${project.build.directory}/bundle/nexus-webapp-${project.version}/runtime/work/nexus
+nexus.log.dir=${project.build.directory}/logs
+
+proxy.repo.base.dir=${project.build.directory}/test-classes/${proxy-repo-target-dir-name}/
+proxy.repo.base.url=${proxy-repo-base-url}
+proxy.repo.control.port=${proxy-repo-control-port}
+
+maven.local.repo=${project.build.directory}/maven_repo
\ No newline at end of file
diff --git a/mercury-1.0.0-alpha-2/pom.xml b/mercury-1.0.0-alpha-2/pom.xml
new file mode 100644
index 0000000..5161100
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/pom.xml
@@ -0,0 +1,614 @@
+<?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">
+
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>9</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury</artifactId>
+ <packaging>pom</packaging>
+ <name>Mercury</name>
+ <version>1.0.0-alpha-2</version>
+ <description>Maven Mercury is a replacement for the Maven Artifact subsystem, and a complete replacement for the HTTP/HTTPS/DAV/DAVS portions of the existing transport.</description>
+
+ <developers>
+ <developer>
+ <name>Jan Bartel</name>
+ </developer>
+ <developer>
+ <name>Jesse McConnell</name>
+ </developer>
+ <developer>
+ <name>Oleg Gusakov</name>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ </developer>
+ <developer>
+ <name>Greg Wilkins</name>
+ </developer>
+ </developers>
+
+ <modules>
+ <module>mercury-artifact</module>
+ <module>mercury-md</module>
+ <module>mercury-repo</module>
+ <module>mercury-transport</module>
+ <module>mercury-external</module>
+ <module>mercury-crypto</module>
+ <module>mercury-util</module>
+ <module>mercury-event</module>
+ <module>mercury-logging</module>
+ <module>mercury-plexus</module>
+ <module>mercury-wagon</module>
+ </modules>
+
+ <properties>
+
+ <plexus.appbooter.version>1.4</plexus.appbooter.version>
+ <plexus.container.version>1.0-beta-3.0.1</plexus.container.version>
+ <plexus.component.annotations.version>1.0-beta-3.0.1</plexus.component.annotations.version>
+ <classworlds.version>1.3</classworlds.version>
+ <plexus.utils.version>1.5.5</plexus.utils.version>
+ <plexus.lang.version>1.1</plexus.lang.version>
+ <plexus.component.metadata.version>1.0-beta-3.0.1</plexus.component.metadata.version>
+
+ <commons.digester.version>1.8</commons.digester.version>
+ <commons.cli.version>1.1</commons.cli.version>
+
+ <jetty.version>6.1.12</jetty.version>
+ <junit.version>3.8.1</junit.version>
+ <bouncy.castle.version>140</bouncy.castle.version>
+ <sat4j.version>2.0.4</sat4j.version>
+
+ <!-- mercury-wagon -->
+ <wagon.provider.api.version>1.0-beta-4</wagon.provider.api.version>
+
+ <distMgmtReleasesId>apache.releases</distMgmtReleasesId>
+ <distMgmtReleasesName>Apache Releases</distMgmtReleasesName>
+ <distMgmtReleasesUrl>scp://people.apache.org/www/people.apache.org/repo/m2-release-repository</distMgmtReleasesUrl>
+
+ <distMgmtSnapshotsId>apache.snapshots</distMgmtSnapshotsId>
+ <distMgmtSnapshotsName>Apache Snapshots</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</distMgmtSnapshotsUrl>
+
+
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <version>${commons.digester.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>${commons.cli.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcprov-jdk15</artifactId>
+ <version>${bouncy.castle.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcpg-jdk15</artifactId>
+ <version>${bouncy.castle.version}</version>
+ </dependency>
+
+ <!-- SAT solver used to calculate viable ranges when dependencies are expressed pseudo boolean form -->
+ <dependency>
+ <groupId>org.sat4j</groupId>
+ <artifactId>org.sat4j.core</artifactId>
+ <version>${sat4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sat4j</groupId>
+ <artifactId>org.sat4j.pb</artifactId>
+ <version>${sat4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.sonatype.appbooter</groupId>
+ <artifactId>plexus-forked-app-booter</artifactId>
+ <version>${plexus.appbooter.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>servlet-api-2.5</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-servlet-tester</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>${plexus.container.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>${plexus.component.annotations.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>${plexus.utils.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <version>${plexus.lang.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexus.component.metadata.version}</version>
+ </dependency>
+
+ <!-- Mercury deps -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-event</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-logging</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-crypto-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <classifier>tests</classifier>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-cache-fs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <classifier>tests</classifier>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-plexus</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- Maven dependencies -->
+
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>${wagon.provider.api.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>${wagon.provider.api.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ </dependencyManagement>
+
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-lang</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+
+ </dependencies>
+
+
+
+ <build>
+ <defaultGoal>install</defaultGoal>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**/Messages.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>false</filtering>
+ </testResource>
+ </testResources>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexus.component.metadata.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-4</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <id>enforce</id>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <exclude>*:plexus-component-api</exclude>
+ </excludes>
+ <message> plexus-component-api conflicts with newer plexus-container-default. You probably added a dependency
+ that is plexus component made
+ with older plexus container. </message>
+ </bannedDependencies>
+ <!-- <requirePluginVersions>
+ <banSnapshots>false</banSnapshots>
+ </requirePluginVersions>-->
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+ <profiles>
+ <profile>
+ <id>mercury.install.all</id>
+ <activation>
+ <property>
+ <name>mercury.install.all</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.5.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </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>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <aggregate>true</aggregate>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.5</version>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://commons.apache.org/dbcp/apidocs/</link>
+ <link>http://commons.apache.org/fileupload/apidocs/</link>
+ <link>http://commons.apache.org/httpclient/apidocs/</link>
+ <link>http://commons.apache.org/logging/apidocs/</link>
+ <link>http://commons.apache.org/pool/apidocs/</link>
+ <link>http://junit.sourceforge.net/javadoc/</link>
+ <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
+ </links>
+ <aggregate>true</aggregate>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ </profile>
+ </profiles>
+
+ <distributionManagement>
+ <repository>
+ <id>${distMgmtReleasesId}</id>
+ <name>${distMgmtReleasesName}</name>
+ <url>${distMgmtReleasesUrl}</url>
+ </repository>
+ <snapshotRepository>
+ <id>${distMgmtSnapshotsId}</id>
+ <name>${distMgmtSnapshotsName}</name>
+ <url>${distMgmtSnapshotsUrl}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <url>http://maven.apache.org/mercury/</url>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MERCURY</url>
+ </issueManagement>
+
+ <ciManagement>
+ <system>hudson</system>
+ <url>http://grid.sonatype.org/ci/view/Mercury/job/mercury</url>
+ </ciManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/mercury-1.0.0-alpha-2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/mercury-1.0.0-alpha-2</developerConnection>
+ <url>http://svn.apache.org/viewvc/maven/pom/tags/mercury-1.0.0-alpha-2</url>
+ </scm>
+
+</project>
diff --git a/mercury-1.0.0-alpha-2/src/licenses/apache.txt b/mercury-1.0.0-alpha-2/src/licenses/apache.txt
new file mode 100644
index 0000000..03cebb9
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/src/licenses/apache.txt
@@ -0,0 +1,17 @@
+ 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.
+
diff --git a/mercury-1.0.0-alpha-2/src/site/site.xml b/mercury-1.0.0-alpha-2/src/site/site.xml
new file mode 100644
index 0000000..a5716e5
--- /dev/null
+++ b/mercury-1.0.0-alpha-2/src/site/site.xml
@@ -0,0 +1,54 @@
+<?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>
+ <bannerLeft>
+ <name>Mercury</name>
+ <src>http://maven.apache.org/images/apache-maven-project-2.png</src>
+ <href>http://maven.apache.org/mercury/</href>
+ </bannerLeft>
+
+ <body>
+ <breadcrumbs>
+ <item name="Apache" href="http://www.apache.org/" />
+ <item name="Maven" href="http://maven.apache.org/" />
+ <item name="Mercury" href="http://maven.apache.org/mercury/" />
+ </breadcrumbs>
+
+ <links>
+ <item name="Apache" href="http://www.apache.org/"/>
+ <item name="Maven 1.x" href="http://maven.apache.org/maven-1.x"/>
+ <item name="Maven 2.x" href="http://maven.apache.org/"/>
+ <item name="SCM" href="http://maven.apache.org/scm"/>
+ <item name="Wagon" href="http://maven.apache.org/wagon"/>
+ <item name="JXR" href="http://maven.apache.org/jxr"/>
+ <item name="Doxia" href="http://maven.apache.org/doxia"/>
+ </links>
+
+ <menu name="Documentation">
+ <item name="Wiki" href="http://docs.codehaus.org/display/MAVEN/Mercury" />
+ </menu>
+
+ <menu ref="modules"/>
+
+ </body>
+
+</project>