summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Erdfelt <joakime@apache.org>2007-06-14 15:25:42 +0000
committerJoakim Erdfelt <joakime@apache.org>2007-06-14 15:25:42 +0000
commit926610fc5362f0725abdb01bf96b88bfb222430f (patch)
tree18a4721708f86486bd49e60e3b539f89ab83f240
parent5d0863128890af3d4df037df68dd5507909cc127 (diff)
downloadarchiva-926610fc5362f0725abdb01bf96b88bfb222430f.tar.gz
archiva-926610fc5362f0725abdb01bf96b88bfb222430f.zip
[MRM-410] Dependency Tree is not shown in artifact details screen.
Adding support libs. git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@547277 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ProjectModelToDatabaseConsumer.java7
-rw-r--r--archiva-base/archiva-dependency-graph/pom.xml105
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/DependencyGraphFactory.java200
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraph.java228
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphBuilder.java51
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphEdge.java188
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphKeys.java79
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphNode.java191
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphUtils.java289
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyResolutionEvent.java57
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphListener.java16
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphPhaseEvent.java79
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTask.java44
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTaskException.java42
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/PotentialCyclicEdgeProducer.java31
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeCyclicPredicate.java55
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeDisabledPredicate.java48
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExactScopePredicate.java71
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExcludedPredicate.java54
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeFromPredicate.java62
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeScopeClosure.java49
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeToPredicate.java55
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeWithinScopePredicate.java54
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeFromParentPredicate.java46
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeInEdgePredicate.java54
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodePredicate.java59
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/OrphanedNodePredicate.java56
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/ToArtifactReferenceTransformer.java43
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/UnresolvedGraphNodePredicate.java53
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/AbstractReduceEdgeVisitor.java43
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementApplier.java218
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStack.java152
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesTask.java34
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesVisitor.java70
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesTask.java52
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesVisitor.java86
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/GraphCopier.java81
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateDependencyManagementTask.java53
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateGraphMasterTask.java92
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesTask.java35
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesVisitor.java42
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeTask.java50
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeVisitor.java51
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesTask.java53
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesVisitor.java161
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsTask.java98
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsVisitor.java303
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ResolveGraphTask.java114
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesTask.java35
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesVisitor.java82
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/BaseVisitor.java73
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphVisitor.java76
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalker.java89
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkBreadthFirstSearch.java157
-rw-r--r--archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkDepthFirstSearch.java145
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java392
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java175
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java51
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java77
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonMemoryRepository.java3469
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappDependencyGraphTest.java200
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappMemoryRepository.java3469
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsDependencyGraphTest.java86
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsMemoryRepository.java3469
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreDependencyGraphTest.java98
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreMemoryRepository.java4142
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionDependencyGraphTest.java74
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionMemoryRepository.java77
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/GraphvizDotTool.java346
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/Keys.java47
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginDependencyGraphTest.java139
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginMemoryRepository.java1040
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepository.java35
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepositoryDependencyGraphBuilder.java96
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleDependencyGraphTest.java71
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleMemoryRepository.java48
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerDependencyGraphTest.java104
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerMemoryRepository.java772
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/functors/ToKeyTransformer.java67
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStackTest.java227
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalkerTest.java231
-rw-r--r--archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/WalkCollector.java98
-rw-r--r--archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/DependencyScope.java57
-rw-r--r--archiva-base/archiva-model/src/main/mdo/archiva-base.xml122
-rw-r--r--archiva-base/archiva-model/src/test/java/org/apache/maven/archiva/model/DependencyScopeTest.java73
-rw-r--r--archiva-base/archiva-repository-layer/pom.xml5
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelMerge.java61
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/dependencies/ProjectModelBasedGraphBuilder.java116
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilter.java91
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/ProjectModelExpressionFilter.java22
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java15
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolutionListener.java78
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolverStack.java244
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java2
-rw-r--r--archiva-base/pom.xml1
-rw-r--r--tools/maven-archivadev-plugin/pom.xml96
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/CreateArchivaDependencyResolutionTestCaseMojo.java133
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/ArtifactComparator.java63
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/DependencyNodeToArtifactTransformer.java44
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/MatchingDependencyPredicate.java66
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/AbstractCreator.java349
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyGraphTestCreator.java366
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java83
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java439
-rw-r--r--tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java50
-rw-r--r--tools/pom.xml37
106 files changed, 26434 insertions, 90 deletions
diff --git a/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ProjectModelToDatabaseConsumer.java b/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ProjectModelToDatabaseConsumer.java
index 688e52add..f3d43ca38 100644
--- a/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ProjectModelToDatabaseConsumer.java
+++ b/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ProjectModelToDatabaseConsumer.java
@@ -300,18 +300,19 @@ public class ProjectModelToDatabaseConsumer
{
synchronized ( effectiveModelFilter )
{
- effectiveModelFilter.clearResolvers();
+ effectiveModelFilter.getProjectModelResolverStack().clearResolvers();
// Add the database resolver first!
- effectiveModelFilter.addProjectModelResolver( databaseResolver );
+ effectiveModelFilter.getProjectModelResolverStack().addProjectModelResolver( databaseResolver );
List ret = this.resolverFactory.getAllResolvers();
Iterator it = ret.iterator();
while ( it.hasNext() )
{
ProjectModelResolver resolver = (ProjectModelResolver) it.next();
+ // TODO: Use listener to perform database saving of found models, instead of wrapped resolver.
ProjectModelResolver wrapped = new WrappedDatabaseProjectModelResolver( dao, resolver );
- effectiveModelFilter.addProjectModelResolver( wrapped );
+ effectiveModelFilter.getProjectModelResolverStack().addProjectModelResolver( wrapped );
}
}
}
diff --git a/archiva-base/archiva-dependency-graph/pom.xml b/archiva-base/archiva-dependency-graph/pom.xml
new file mode 100644
index 000000000..7ade00459
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/pom.xml
@@ -0,0 +1,105 @@
+<?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>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-base</artifactId>
+ <version>1.0-alpha-2-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>archiva-dependency-graph</artifactId>
+ <name>Archiva Base :: Dependency Graph</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-configuration</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-xml-tools</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-expression-evaluator</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-ehcache</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>xmlunit</groupId>
+ <artifactId>xmlunit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.registry</groupId>
+ <artifactId>plexus-registry-commons</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>descriptor</id>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/DependencyGraphFactory.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/DependencyGraphFactory.java
new file mode 100644
index 000000000..0c8bcfa23
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/DependencyGraphFactory.java
@@ -0,0 +1,200 @@
+package org.apache.maven.archiva.dependency;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.archiva.dependency.graph.GraphListener;
+import org.apache.maven.archiva.dependency.graph.GraphPhaseEvent;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.GraphTaskException;
+import org.apache.maven.archiva.dependency.graph.PotentialCyclicEdgeProducer;
+import org.apache.maven.archiva.dependency.graph.tasks.FlagCyclicEdgesTask;
+import org.apache.maven.archiva.dependency.graph.tasks.FlagExcludedEdgesTask;
+import org.apache.maven.archiva.dependency.graph.tasks.PopulateGraphMasterTask;
+import org.apache.maven.archiva.dependency.graph.tasks.ReduceEnabledEdgesTask;
+import org.apache.maven.archiva.dependency.graph.tasks.ReduceScopeTask;
+import org.apache.maven.archiva.dependency.graph.tasks.ReduceTransitiveEdgesTask;
+import org.apache.maven.archiva.dependency.graph.tasks.RefineConflictsTask;
+import org.apache.maven.archiva.dependency.graph.tasks.UpdateScopesTask;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * DependencyGraphFactory
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.dependency.DependencyGraphFactory"
+ */
+public class DependencyGraphFactory
+{
+ private GraphTask taskFlagCyclicEdges;
+
+ private PopulateGraphMasterTask taskPopulateGraph;
+
+ private ReduceScopeTask taskReduceScope;
+
+ private List listeners;
+
+ private DependencyGraphBuilder graphBuilder;
+
+ private List tasks;
+
+ public DependencyGraphFactory()
+ {
+ listeners = new ArrayList();
+
+ taskFlagCyclicEdges = new FlagCyclicEdgesTask();
+ taskPopulateGraph = new PopulateGraphMasterTask();
+ taskReduceScope = new ReduceScopeTask( DependencyScope.TEST );
+
+ tasks = new ArrayList();
+
+ /* Take the basic graph, and expand the nodes fully, including depman.
+ */
+ tasks.add( taskPopulateGraph );
+
+ /* Identify, flag, and disable excluded edges.
+ */
+ tasks.add( new FlagExcludedEdgesTask() );
+
+ /* Reduce the edges of the graph to only those that are enabled.
+ */
+ tasks.add( new ReduceEnabledEdgesTask() );
+
+ /* Identify dependencies that conflict, resolve to single node.
+ *
+ * This will ...
+ * 1) filter the distant conflicts away for the nearer ones.
+ * 2) same distance nodes will pick 'newest' version.
+ *
+ * This can cause a collapsing of node versions.
+ */
+ tasks.add( new RefineConflictsTask() );
+
+ /* Reduce the scope of the graph to those visible by the 'test' scope.
+ */
+ tasks.add( taskReduceScope );
+
+ /* Reduce the edges of the graph. Use the transitive reduction algorithm
+ * to remove redundant edges.
+ */
+ tasks.add( new ReduceTransitiveEdgesTask() );
+
+ /* Update the scopes of the edges to conform to the parent setting.
+ */
+ tasks.add( new UpdateScopesTask() );
+ }
+
+ public void addGraphListener( GraphListener listener )
+ {
+ this.listeners.add( listener );
+ }
+
+ /**
+ * Get the Graph for a specific Versioned Project Reference.
+ *
+ * @param versionedProjectReference
+ * @return
+ */
+ public DependencyGraph getGraph( VersionedReference versionedProjectReference )
+ throws GraphTaskException
+ {
+ DependencyGraph graph = graphBuilder.createGraph( versionedProjectReference );
+
+ triggerGraphPhase( GraphPhaseEvent.GRAPH_NEW, null, graph );
+
+ Iterator it = this.tasks.iterator();
+ while ( it.hasNext() )
+ {
+ GraphTask task = (GraphTask) it.next();
+ try
+ {
+ triggerGraphPhase( GraphPhaseEvent.GRAPH_TASK_PRE, task, graph );
+ task.executeTask( graph );
+ if ( task instanceof PotentialCyclicEdgeProducer )
+ {
+ taskFlagCyclicEdges.executeTask( graph );
+ }
+ triggerGraphPhase( GraphPhaseEvent.GRAPH_TASK_POST, task, graph );
+ }
+ catch ( GraphTaskException e )
+ {
+ triggerGraphError( e, graph );
+ throw e;
+ }
+ catch ( Exception e )
+ {
+ GraphTaskException gte = new GraphTaskException( e.getMessage(), e );
+ triggerGraphError( gte, graph );
+ throw gte;
+ }
+ }
+
+ triggerGraphPhase( GraphPhaseEvent.GRAPH_DONE, null, graph );
+
+ return graph;
+ }
+
+ public void removeGraphListener( GraphListener listener )
+ {
+ this.listeners.remove( listener );
+ }
+
+ public void setDesiredScope( String scope )
+ {
+ taskReduceScope.setScope( scope );
+ }
+
+ public void setGraphBuilder( DependencyGraphBuilder graphBuilder )
+ {
+ this.graphBuilder = graphBuilder;
+ taskPopulateGraph.setBuilder( graphBuilder );
+ }
+
+ private void triggerGraphError( GraphTaskException e, DependencyGraph graph )
+ {
+ Iterator it = listeners.iterator();
+ while ( it.hasNext() )
+ {
+ GraphListener listener = (GraphListener) it.next();
+ listener.graphError( e, graph );
+ }
+ }
+
+ private void triggerGraphPhase( int type, GraphTask task, DependencyGraph graph )
+ {
+ GraphPhaseEvent evt = new GraphPhaseEvent( type, task, graph );
+
+ Iterator it = listeners.iterator();
+ while ( it.hasNext() )
+ {
+ GraphListener listener = (GraphListener) it.next();
+ listener.graphPhaseEvent( evt );
+ }
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraph.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraph.java
new file mode 100644
index 000000000..b0a86a2b1
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraph.java
@@ -0,0 +1,228 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.map.ListOrderedMap;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeFromPredicate;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeToPredicate;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * DependencyGraph
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraph
+{
+ public static final int DISABLED_CYCLIC = 0;
+
+ public static final int DISABLED_EXCLUDED = 1;
+
+ public static final int DISABLED_OPTIONAL = 2;
+
+ public static final int DISABLED_NEARER_DEP = 3;
+
+ public static final int DISABLED_NEARER_EDGE = 4;
+
+ private DependencyGraphNode rootNode;
+
+ private Set edges = new HashSet();
+
+ private ListOrderedMap nodes = new ListOrderedMap();
+
+ public DependencyGraph( String groupId, String artifactId, String version )
+ {
+ ArtifactReference rootRef = new ArtifactReference();
+ rootRef.setGroupId( groupId );
+ rootRef.setArtifactId( artifactId );
+ rootRef.setVersion( version );
+ rootRef.setClassifier( "" );
+ rootRef.setType( "pom" );
+
+ this.rootNode = new DependencyGraphNode( rootRef );
+ }
+
+ public DependencyGraph( DependencyGraphNode root )
+ {
+ this.rootNode = root;
+ }
+
+ public Collection getEdges()
+ {
+ return edges;
+ }
+
+ public Collection getNodes()
+ {
+ return nodes.values();
+ }
+
+ public DependencyGraphNode getRootNode()
+ {
+ return rootNode;
+ }
+
+ public void setRootNode( DependencyGraphNode rootNode )
+ {
+ this.rootNode = rootNode;
+ }
+
+ /**
+ * Add the edge to the {@link DependencyGraph}.
+ *
+ * @param edge the edge to add.
+ */
+ public void addEdge( final DependencyGraphEdge edge )
+ {
+ if ( edge.getNodeFrom() == null )
+ {
+ throw new IllegalArgumentException( "edge.nodeFrom cannot be null." );
+ }
+
+ if ( edge.getNodeTo() == null )
+ {
+ throw new IllegalArgumentException( "edge.nodeTo cannot be null." );
+ }
+
+ this.edges.add( edge );
+ }
+
+ public DependencyGraphNode addNode( DependencyGraphNode node )
+ {
+ if ( node == null )
+ {
+ throw new IllegalArgumentException( "Unable to add a null node." );
+ }
+
+ if ( node.getArtifact() == null )
+ {
+ throw new IllegalArgumentException( "Unable to add a node with a null artifact reference." );
+ }
+
+ int prevNodeIdx = this.nodes.indexOf( node );
+
+ // Found it in the node tree?
+ if ( prevNodeIdx >= 0 )
+ {
+ // Merge new node into existing node.
+ DependencyGraphNode previousNode = (DependencyGraphNode) this.nodes.get( prevNodeIdx );
+
+ if ( CollectionUtils.isNotEmpty( node.getExcludes() ) )
+ {
+ previousNode.getExcludes().addAll( node.getExcludes() );
+ }
+
+ if ( CollectionUtils.isNotEmpty( node.getDependencyManagement() ) )
+ {
+ previousNode.getDependencyManagement().addAll( node.getDependencyManagement() );
+ }
+
+ if ( node.isFromParent() )
+ {
+ previousNode.setFromParent( true );
+ }
+
+ // Return newly merged node (from existing node)
+ return previousNode;
+ }
+
+ // This is a new node, didn't exist before, just save it.
+ this.nodes.put( node.getArtifact(), node );
+
+ return node;
+ }
+
+ public boolean hasNode( DependencyGraphNode node )
+ {
+ return this.nodes.containsKey( node.getArtifact() );
+ }
+
+ public boolean hasEdge( DependencyGraphEdge edge )
+ {
+ return this.edges.contains( edge );
+ }
+
+ /**
+ * Get the list of edges from the provided node.
+ *
+ * @param node the node to use as the 'from' side of an edge.
+ * @return the edges from the provided node.
+ */
+ public List getEdgesFrom( DependencyGraphNode node )
+ {
+ List ret = new ArrayList();
+ CollectionUtils.select( this.edges, new EdgeFromPredicate( node.getArtifact() ), ret );
+ return ret;
+ }
+
+ /**
+ * Get the list of edges to the provided node.
+ *
+ * @param node the node to use as the 'to' side of an edge.
+ * @return the edges to the provided node.
+ */
+ public List getEdgesTo( DependencyGraphNode node )
+ {
+ List ret = new ArrayList();
+ CollectionUtils.select( this.edges, new EdgeToPredicate( node.getArtifact() ), ret );
+ return ret;
+ }
+
+ /**
+ * Get the node for the specified artifact reference.
+ *
+ * @param ref the artifact reference to use to find the node.
+ * @return the node that was found. (null if not found)
+ */
+ public DependencyGraphNode getNode( ArtifactReference ref )
+ {
+ return (DependencyGraphNode) this.nodes.get( ref );
+ }
+
+ public void removeEdge( DependencyGraphEdge edge )
+ {
+ this.edges.remove( edge );
+ }
+
+ public void removeNode( DependencyGraphNode node )
+ {
+ List edges = getEdgesFrom( node );
+ if ( !edges.isEmpty() )
+ {
+ System.out.println( "Removing node left <" + edges + "> hanging <from> edges." );
+ }
+
+ edges = getEdgesTo( node );
+ if ( !edges.isEmpty() )
+ {
+ System.out.println( "Removing node left <" + edges + "> hanging <to> edges." );
+ }
+
+ this.nodes.remove( node.getArtifact() );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphBuilder.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphBuilder.java
new file mode 100644
index 000000000..8a17a044e
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphBuilder.java
@@ -0,0 +1,51 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * DependencyGraphBuilder
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface DependencyGraphBuilder
+{
+ /**
+ * Given a node and a versioned project rexpandeference, resolve the details of the node, creating
+ * any dependencies and edges as needed.
+ *
+ * @param graph the graph to add nodes and edges to.
+ * @param node the node where the resolution should occur.
+ * @param versionedProjectReference the versioned project reference for the node
+ * that needs to be resolved.
+ */
+ public void resolveNode( DependencyGraph graph, DependencyGraphNode node,
+ VersionedReference versionedProjectReference );
+
+ /**
+ * Create a new graph, with the root of the graph for the node specified.
+ *
+ * @param versionedProjectReference the root node for the graph.
+ * @return the new DependencyGraph, complete with root node and direct dependencies.
+ */
+ public DependencyGraph createGraph( VersionedReference versionedProjectReference );
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphEdge.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphEdge.java
new file mode 100644
index 000000000..8774dbefc
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphEdge.java
@@ -0,0 +1,188 @@
+package org.apache.maven.archiva.dependency.graph;
+
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.DependencyScope;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * DependencyGraphEdge
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraphEdge
+{
+ private ArtifactReference nodeFrom;
+
+ private ArtifactReference nodeTo;
+
+ private String scope;
+
+ private boolean disabled = false;
+
+ private int disabledType;
+
+ private String disabledReason;
+
+ public DependencyGraphEdge( ArtifactReference fromNode, ArtifactReference toNode )
+ {
+ super();
+ this.nodeFrom = fromNode;
+ this.nodeTo = toNode;
+ this.scope = DependencyScope.COMPILE;
+ }
+
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ {
+ return true;
+ }
+ if ( obj == null )
+ {
+ return false;
+ }
+ if ( getClass() != obj.getClass() )
+ {
+ return false;
+ }
+ final DependencyGraphEdge other = (DependencyGraphEdge) obj;
+ if ( nodeFrom == null )
+ {
+ if ( other.nodeFrom != null )
+ {
+ return false;
+ }
+ }
+ else if ( !nodeFrom.equals( other.nodeFrom ) )
+ {
+ return false;
+ }
+ if ( nodeTo == null )
+ {
+ if ( other.nodeTo != null )
+ {
+ return false;
+ }
+ }
+ else if ( !nodeTo.equals( other.nodeTo ) )
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public String getDisabledReason()
+ {
+ return disabledReason;
+ }
+
+ public int getDisabledType()
+ {
+ return disabledType;
+ }
+
+ public ArtifactReference getNodeFrom()
+ {
+ return nodeFrom;
+ }
+
+ public ArtifactReference getNodeTo()
+ {
+ return nodeTo;
+ }
+
+ public String getScope()
+ {
+ return scope;
+ }
+
+ public int hashCode()
+ {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ( ( nodeFrom == null ) ? 0 : nodeFrom.hashCode() );
+ result = PRIME * result + ( ( nodeTo == null ) ? 0 : nodeTo.hashCode() );
+ return result;
+ }
+
+ public boolean isDisabled()
+ {
+ return disabled;
+ }
+
+ public void setDisabled( boolean disabled )
+ {
+ this.disabled = disabled;
+ if( this.disabled == false )
+ {
+ this.disabledReason = null;
+ this.disabledType = -1;
+ }
+ }
+
+ public void setDisabledReason( String disabledReason )
+ {
+ this.disabledReason = disabledReason;
+ }
+
+ public void setDisabledType( int disabledType )
+ {
+ this.disabledType = disabledType;
+ }
+
+ public void setNodeFrom( ArtifactReference ref )
+ {
+ this.nodeFrom = ref;
+ }
+
+ public void setNodeFrom( DependencyGraphNode node )
+ {
+ this.nodeFrom = node.getArtifact();
+ }
+
+ public void setNodeTo( ArtifactReference ref )
+ {
+ this.nodeTo = ref;
+ }
+
+ public void setNodeTo( DependencyGraphNode node )
+ {
+ this.nodeTo = node.getArtifact();
+ }
+
+ public void setScope( String scope )
+ {
+ this.scope = scope;
+ }
+
+ public String toString()
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "GraphEdge[" );
+ sb.append( "from=" ).append( DependencyGraphKeys.toKey( nodeFrom ) );
+ sb.append( ",to=" ).append( DependencyGraphKeys.toKey( nodeTo ) );
+ sb.append( "]" );
+
+ return sb.toString();
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphKeys.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphKeys.java
new file mode 100644
index 000000000..813af39cc
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphKeys.java
@@ -0,0 +1,79 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.Exclusion;
+
+/**
+ * Key generation for the various objects used within the DependencyGraph.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraphKeys
+{
+ public static String toManagementKey( DependencyGraphNode node )
+ {
+ return toManagementKey( node.getArtifact() );
+ }
+
+ public static String toManagementKey( ArtifactReference ref )
+ {
+ StringBuffer key = new StringBuffer();
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() );
+ return key.toString();
+ }
+
+ public static String toManagementKey( Dependency ref )
+ {
+ StringBuffer key = new StringBuffer();
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() );
+ return key.toString();
+ }
+
+ public static String toManagementKey( Exclusion ref )
+ {
+ StringBuffer key = new StringBuffer();
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() );
+ return key.toString();
+ }
+
+ public static String toKey( DependencyGraphNode node )
+ {
+ return toKey( node.getArtifact() );
+ }
+
+ public static String toKey( ArtifactReference ref )
+ {
+ StringBuffer key = new StringBuffer();
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() ).append( ":" );
+ key.append( ref.getVersion() ).append( ":" );
+ key.append( StringUtils.defaultString( ref.getClassifier() ) ).append( ":" );
+ key.append( ref.getType() );
+ return key.toString();
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphNode.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphNode.java
new file mode 100644
index 000000000..90a44b124
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphNode.java
@@ -0,0 +1,191 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.Exclusion;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * DependencyGraphNode
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraphNode
+{
+ /**
+ * The artifact reference for this node.
+ */
+ private ArtifactReference artifact;
+
+ /**
+ * The project level dependency management section for this artifact.
+ */
+ private List dependencyManagement = new ArrayList();
+
+ /**
+ * The list of excluded groupId:artifactId for this node's sub-nodes.
+ */
+ private Set excludes = new HashSet();
+
+ /**
+ * Flag indicating that this node has been resolved from disk.
+ * Initially this is set to false, when the node is added due to a dependency entry in the
+ * project's pom.
+ * When the resolver comes through and reads the model for this node, it sets this to true.
+ */
+ private boolean resolved = false;
+
+ /**
+ * Flag indicating that this dependency exists because of a parent dependency.
+ * TODO: move this to DependencyGraphEdge (where it really belongs)
+ */
+ private boolean fromParent = false;
+
+ /**
+ * Booleaning indicating that this node is in conflict with another node in the graph.
+ * If this is true, that means this node is flagged for removal.
+ */
+ private boolean conflicted = false;
+
+ public DependencyGraphNode( ArtifactReference artifact )
+ {
+ super();
+ this.artifact = artifact;
+ }
+
+ public void addExclude( Exclusion exclusion )
+ {
+ this.excludes.add( DependencyGraphKeys.toManagementKey( exclusion ) );
+ }
+
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ {
+ return true;
+ }
+ if ( obj == null )
+ {
+ return false;
+ }
+ if ( getClass() != obj.getClass() )
+ {
+ return false;
+ }
+ final DependencyGraphNode other = (DependencyGraphNode) obj;
+ if ( artifact == null )
+ {
+ if ( other.artifact != null )
+ {
+ return false;
+ }
+ }
+ else if ( !artifact.equals( other.artifact ) )
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public ArtifactReference getArtifact()
+ {
+ return artifact;
+ }
+
+ public List getDependencyManagement()
+ {
+ return dependencyManagement;
+ }
+
+ public Set getExcludes()
+ {
+ return excludes;
+ }
+
+ public int hashCode()
+ {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ( ( artifact == null ) ? 0 : artifact.hashCode() );
+ return result;
+ }
+
+ public boolean isConflicted()
+ {
+ return conflicted;
+ }
+
+ public boolean isResolved()
+ {
+ return resolved;
+ }
+
+ public void addDependencyManagement( Dependency dep )
+ {
+ this.dependencyManagement.add( dep );
+ }
+
+ public void setArtifact( ArtifactReference artifact )
+ {
+ this.artifact = artifact;
+ }
+
+ public void setConflicted( boolean conflicted )
+ {
+ this.conflicted = conflicted;
+ }
+
+ public void setDependencyManagement( List dependencyManagement )
+ {
+ this.dependencyManagement = dependencyManagement;
+ }
+
+ public void setExcludes( Set excludes )
+ {
+ this.excludes = excludes;
+ }
+
+ public void setResolved( boolean resolved )
+ {
+ this.resolved = resolved;
+ }
+
+ public String toString()
+ {
+ return DependencyGraphKeys.toKey( artifact );
+ }
+
+ public boolean isFromParent()
+ {
+ return fromParent;
+ }
+
+ public void setFromParent( boolean fromParent )
+ {
+ this.fromParent = fromParent;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphUtils.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphUtils.java
new file mode 100644
index 000000000..64da0edac
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyGraphUtils.java
@@ -0,0 +1,289 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.AndPredicate;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.functors.NodePredicate;
+import org.apache.maven.archiva.dependency.graph.functors.OrphanedNodePredicate;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.Exclusion;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Utilities for manipulating the DependencyGraph.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraphUtils
+{
+ /**
+ * Standard way to add a model to the graph.
+ *
+ * NOTE: Used by archiva-repository-layer runtime and archiva-dependency-graph tests.
+ *
+ * @param model the model to add
+ * @param graph the graph to add it to
+ * @param fromNode the node to add it from.
+ */
+ public static void addNodeFromModel( ArchivaProjectModel model, DependencyGraph graph, DependencyGraphNode fromNode )
+ {
+ if ( model == null )
+ {
+ throw new IllegalStateException( "Unable to add null model for "
+ + DependencyGraphKeys.toKey( fromNode.getArtifact() ) );
+ }
+
+ if ( model.getRelocation() != null )
+ {
+ // We need to CHANGE this node.
+ ArtifactReference refTO = new ArtifactReference();
+
+ refTO.setGroupId( fromNode.getArtifact().getGroupId() );
+ refTO.setArtifactId( fromNode.getArtifact().getArtifactId() );
+ refTO.setVersion( fromNode.getArtifact().getVersion() );
+ refTO.setClassifier( fromNode.getArtifact().getClassifier() );
+ refTO.setType( fromNode.getArtifact().getType() );
+
+ VersionedReference relocation = model.getRelocation();
+
+ if ( StringUtils.isNotBlank( relocation.getGroupId() ) )
+ {
+ refTO.setGroupId( relocation.getGroupId() );
+ }
+
+ if ( StringUtils.isNotBlank( relocation.getArtifactId() ) )
+ {
+ refTO.setArtifactId( relocation.getArtifactId() );
+ }
+
+ if ( StringUtils.isNotBlank( relocation.getVersion() ) )
+ {
+ refTO.setVersion( relocation.getVersion() );
+ }
+
+ DependencyGraphNode nodeTO = new DependencyGraphNode( refTO );
+
+ graph.addNode( nodeTO );
+ collapseNodes( graph, fromNode, nodeTO );
+ return;
+ }
+
+ boolean isRootNode = graph.getRootNode().equals( fromNode );
+
+ Iterator it;
+
+ if ( CollectionUtils.isNotEmpty( model.getDependencyManagement() ) )
+ {
+ it = model.getDependencyManagement().iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dependency = (Dependency) it.next();
+ fromNode.addDependencyManagement( dependency );
+ }
+ }
+
+ if ( CollectionUtils.isNotEmpty( model.getDependencies() ) )
+ {
+ it = model.getDependencies().iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dependency = (Dependency) it.next();
+
+ String scope = dependency.getScope();
+
+ // Test scopes *NOT* from root node can be skipped.
+ if ( DependencyScope.TEST.equals( scope ) && !isRootNode )
+ {
+ // skip add of test scope
+ continue;
+ }
+
+ ArtifactReference artifactRef = new ArtifactReference();
+ artifactRef.setGroupId( dependency.getGroupId() );
+ artifactRef.setArtifactId( dependency.getArtifactId() );
+ artifactRef.setVersion( dependency.getVersion() );
+ artifactRef.setClassifier( dependency.getClassifier() );
+ artifactRef.setType( dependency.getType() );
+
+ DependencyGraphNode toNode = new DependencyGraphNode( artifactRef );
+
+ if ( CollectionUtils.isNotEmpty( dependency.getExclusions() ) )
+ {
+ Iterator itexclusion = dependency.getExclusions().iterator();
+ while ( itexclusion.hasNext() )
+ {
+ Exclusion exclusion = (Exclusion) itexclusion.next();
+ toNode.addExclude( exclusion );
+ }
+ }
+
+ if ( dependency.isFromParent() )
+ {
+ toNode.setFromParent( true );
+ }
+
+ // Add node (to)
+ graph.addNode( toNode );
+
+ DependencyGraphEdge edge = new DependencyGraphEdge( fromNode.getArtifact(), toNode.getArtifact() );
+ edge.setScope( StringUtils.defaultIfEmpty( dependency.getScope(), DependencyScope.COMPILE ) );
+
+ if ( dependency.isOptional() )
+ {
+ edge.setDisabled( true );
+ edge.setDisabledType( DependencyGraph.DISABLED_OPTIONAL );
+ edge.setDisabledReason( "Optional Dependency" );
+ }
+
+ graph.addEdge( edge );
+ }
+ }
+
+ fromNode.setResolved( true );
+ graph.addNode( fromNode );
+ }
+
+ /**
+ * Clean out any nodes that may have become orphaned in the graph.
+ *
+ * @param graph the graph to check.
+ */
+ public static void cleanupOrphanedNodes( DependencyGraph graph )
+ {
+ boolean done = false;
+
+ Predicate orphanedNodePredicate = new OrphanedNodePredicate( graph );
+ Predicate notRootNode = NotPredicate.getInstance( new NodePredicate( graph.getRootNode().getArtifact() ) );
+ Predicate orphanedChildNodePredicate = AndPredicate.getInstance( notRootNode, orphanedNodePredicate );
+
+ while ( !done )
+ {
+ // Find orphaned node.
+ DependencyGraphNode orphanedNode = (DependencyGraphNode) CollectionUtils.find( graph.getNodes(),
+ orphanedChildNodePredicate );
+
+ if ( orphanedNode == null )
+ {
+ done = true;
+ break;
+ }
+
+ // Remove edges FROM orphaned node.
+ List edgesFrom = graph.getEdgesFrom( orphanedNode );
+
+ Iterator it = edgesFrom.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ graph.removeEdge( edge );
+ }
+
+ // Remove orphaned node.
+ graph.removeNode( orphanedNode );
+ }
+ }
+
+ /**
+ * Functionaly similar to {@link #collapseVersions(DependencyGraph, ArtifactReference, String, String)}, but
+ * in a new, easier to use, format.
+ *
+ * 1) Removes the FROM edges connected to the FROM node
+ * 2) Moves the TO edges connected to the FROM node to the TO node.
+ * 3) Removes the FROM node (which is now orphaned)
+ *
+ * @param graph the graph to perform operation on
+ * @param nodeFrom the node to collapse from
+ * @param nodeTo the node to collapse to
+ */
+ public static void collapseNodes( DependencyGraph graph, DependencyGraphNode nodeFROM, DependencyGraphNode nodeTO )
+ {
+ Iterator it;
+
+ Set edgesToRemove = new HashSet();
+
+ // 1) Remove all of the edge.from references from nodeFROM
+ List fromEdges = graph.getEdgesFrom( nodeFROM );
+ if ( CollectionUtils.isNotEmpty( fromEdges ) )
+ {
+ edgesToRemove.addAll( fromEdges );
+ }
+
+ // 2) Swing all of the edge.to references from nodeFROM to nodeTO.
+ // System.out.println( "Swinging incoming edges from " + nodeFROM );
+ // System.out.println( " to " + nodeTO );
+ List toEdges = graph.getEdgesTo( nodeFROM );
+ it = toEdges.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+
+ // Identify old edge to remove.
+ edgesToRemove.add( edge );
+
+ // Clone edge, set edge.to and add to graph.
+ DependencyGraphEdge newedge = clone( edge );
+ newedge.setNodeTo( nodeTO );
+ // System.out.println( " edge from: " + edge );
+ // System.out.println( " to: " + newedge );
+ graph.addEdge( newedge );
+ }
+
+ // Actually remove the old edges.
+ it = edgesToRemove.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ graph.removeEdge( edge );
+ }
+
+ // 3) Remove the nodeFROM
+ graph.removeNode( nodeFROM );
+ }
+
+ /**
+ * Create a clone of an edge.
+ *
+ * @param edge the edge to clone.
+ * @return the cloned edge.
+ */
+ public static DependencyGraphEdge clone( DependencyGraphEdge edge )
+ {
+ DependencyGraphEdge cloned = new DependencyGraphEdge( edge.getNodeFrom(), edge.getNodeTo() );
+ cloned.setDisabled( edge.isDisabled() );
+ cloned.setDisabledReason( edge.getDisabledReason() );
+ cloned.setDisabledType( edge.getDisabledType() );
+ cloned.setScope( edge.getScope() );
+
+ return cloned;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyResolutionEvent.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyResolutionEvent.java
new file mode 100644
index 000000000..65b925508
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/DependencyResolutionEvent.java
@@ -0,0 +1,57 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * DependencyResolutionEvent
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyResolutionEvent
+{
+ public static final int ADDING_MODEL = 1;
+
+ public static final int DEP_CONFLICT_OMIT_FOR_NEARER = 2;
+
+ public static final int CYCLE_BROKEN = 3;
+
+ public static final int APPLYING_DEPENDENCY_MANAGEMENT = 4;
+
+ private int type;
+
+ private DependencyGraph graph;
+
+ public DependencyResolutionEvent( int type, DependencyGraph graph )
+ {
+ this.type = type;
+ this.graph = graph;
+ }
+
+ public DependencyGraph getGraph()
+ {
+ return graph;
+ }
+
+ public int getType()
+ {
+ return type;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphListener.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphListener.java
new file mode 100644
index 000000000..90a995cf6
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphListener.java
@@ -0,0 +1,16 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/**
+ * GraphListener
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface GraphListener
+{
+ public void graphError( GraphTaskException e, DependencyGraph currentGraph );
+
+ public void graphPhaseEvent( GraphPhaseEvent event );
+
+ public void dependencyResolutionEvent( DependencyResolutionEvent event );
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphPhaseEvent.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphPhaseEvent.java
new file mode 100644
index 000000000..ad235951c
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphPhaseEvent.java
@@ -0,0 +1,79 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * GraphPhaseEvent
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class GraphPhaseEvent
+{
+ /**
+ * Graph Phase Event Type - New Graph has been created. No tasks have been run yet.
+ * NOTE: {{@link #getTask()} will be null for this type.
+ */
+ public static final int GRAPH_NEW = 0;
+
+ /**
+ * Graph Phase Event Type - Graph Task is about to run.
+ */
+ public static final int GRAPH_TASK_PRE = 1;
+
+ /**
+ * Graph Phase Event Type - Graph Task has finished.
+ */
+ public static final int GRAPH_TASK_POST = 2;
+
+ /**
+ * Graph Phase Event Type - All Graph Tasks are done.
+ * NOTE: {{@link #getTask()} will be null for this type.
+ */
+ public static final int GRAPH_DONE = 10;
+
+ private int type;
+
+ private GraphTask task;
+
+ private DependencyGraph graph;
+
+ public GraphPhaseEvent( int type, GraphTask task, DependencyGraph graph )
+ {
+ this.type = type;
+ this.task = task;
+ this.graph = graph;
+ }
+
+ public DependencyGraph getGraph()
+ {
+ return graph;
+ }
+
+ public GraphTask getTask()
+ {
+ return task;
+ }
+
+ public int getType()
+ {
+ return type;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTask.java
new file mode 100644
index 000000000..00aeeab82
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTask.java
@@ -0,0 +1,44 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * A Graph Task.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface GraphTask
+{
+ /**
+ * Get the id for this task.
+ *
+ * @return the id for this task. (used in Exception messages and {@link GraphPhaseEvent})
+ */
+ public String getTaskId();
+
+ /**
+ * Execute the Graph Task.
+ *
+ * @param graph the graph to execute the task on.
+ */
+ public void executeTask( DependencyGraph graph )
+ throws GraphTaskException;
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTaskException.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTaskException.java
new file mode 100644
index 000000000..21925f0fd
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/GraphTaskException.java
@@ -0,0 +1,42 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.common.ArchivaException;
+
+/**
+ * GraphTaskException
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class GraphTaskException
+ extends ArchivaException
+{
+ public GraphTaskException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+ public GraphTaskException( String message )
+ {
+ super( message );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/PotentialCyclicEdgeProducer.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/PotentialCyclicEdgeProducer.java
new file mode 100644
index 000000000..b5210ea26
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/PotentialCyclicEdgeProducer.java
@@ -0,0 +1,31 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * A tag for a {@link GraphTask} that has the potential to produce a cyclic edge.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface PotentialCyclicEdgeProducer
+{
+ /* no interface, just a tag */
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeCyclicPredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeCyclicPredicate.java
new file mode 100644
index 000000000..28923b935
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeCyclicPredicate.java
@@ -0,0 +1,55 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+
+/**
+ * EdgeCyclicPredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeCyclicPredicate
+ implements Predicate
+{
+ private static Predicate INSTANCE = new EdgeCyclicPredicate();
+
+ public static Predicate getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = ( edge.isDisabled() && ( edge.getDisabledType() == DependencyGraph.DISABLED_CYCLIC ) );
+ }
+
+ return satisfies;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeDisabledPredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeDisabledPredicate.java
new file mode 100644
index 000000000..93aed532d
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeDisabledPredicate.java
@@ -0,0 +1,48 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+
+/**
+ * EdgeDisabledPredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeDisabledPredicate
+ implements Predicate
+{
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = edge.isDisabled();
+ }
+
+ return satisfies;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExactScopePredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExactScopePredicate.java
new file mode 100644
index 000000000..69d02e44e
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExactScopePredicate.java
@@ -0,0 +1,71 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.model.DependencyScope;
+
+/**
+ * EdgeExactScopePredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeExactScopePredicate
+ implements Predicate
+{
+ private String scope;
+
+ public EdgeExactScopePredicate( String scope )
+ {
+ this.scope = scope;
+ }
+
+ public EdgeExactScopePredicate()
+ {
+ // The universal default for scope.
+ this.scope = DependencyScope.COMPILE;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = StringUtils.equals( edge.getScope(), scope );
+ }
+
+ return satisfies;
+ }
+
+ public String getScope()
+ {
+ return scope;
+ }
+
+ public void setScope( String scope )
+ {
+ this.scope = scope;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExcludedPredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExcludedPredicate.java
new file mode 100644
index 000000000..ec24bc0f7
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeExcludedPredicate.java
@@ -0,0 +1,54 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+
+/**
+ * EdgeExcludedPredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeExcludedPredicate
+ implements Predicate
+{
+ private static Predicate INSTANCE = new EdgeExcludedPredicate();
+
+ public static Predicate getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = ( edge.isDisabled() && ( edge.getDisabledType() == DependencyGraph.DISABLED_EXCLUDED ) );
+ }
+
+ return satisfies;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeFromPredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeFromPredicate.java
new file mode 100644
index 000000000..42512dca0
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeFromPredicate.java
@@ -0,0 +1,62 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+/**
+ * Predicate returns true on any DependencyGraphEdge which has a
+ * specific FROM node.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeFromPredicate
+ implements Predicate
+{
+ private ArtifactReference nodeRef;
+
+ public EdgeFromPredicate( ArtifactReference ref )
+ {
+ this.nodeRef = ref;
+ }
+
+ public EdgeFromPredicate( DependencyGraphNode node )
+ {
+ this( node.getArtifact() );
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = edge.getNodeFrom().equals( nodeRef );
+ }
+
+ return satisfies;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeScopeClosure.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeScopeClosure.java
new file mode 100644
index 000000000..b4bdeb02f
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeScopeClosure.java
@@ -0,0 +1,49 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Closure;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+
+/**
+ * Closure to set the edge scope.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeScopeClosure
+ implements Closure
+{
+ private String scope;
+
+ public EdgeScopeClosure( String scope )
+ {
+ this.scope = scope;
+ }
+
+ public void execute( Object input )
+ {
+ if ( input instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) input;
+ edge.setScope( scope );
+ }
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeToPredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeToPredicate.java
new file mode 100644
index 000000000..6fb221954
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeToPredicate.java
@@ -0,0 +1,55 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+/**
+ * EdgeToPredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeToPredicate
+ implements Predicate
+{
+ private ArtifactReference nodeRef;
+
+ public EdgeToPredicate( ArtifactReference ref )
+ {
+ this.nodeRef = ref;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = edge.getNodeTo().equals( nodeRef );
+ }
+
+ return satisfies;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeWithinScopePredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeWithinScopePredicate.java
new file mode 100644
index 000000000..8330bb552
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/EdgeWithinScopePredicate.java
@@ -0,0 +1,54 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.model.DependencyScope;
+
+/**
+ * EdgeWithinScopePredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class EdgeWithinScopePredicate
+ implements Predicate
+{
+ private String scope;
+
+ public EdgeWithinScopePredicate( String scope )
+ {
+ this.scope = scope;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = DependencyScope.isWithinScope( edge.getScope(), scope );
+ }
+
+ return satisfies;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeFromParentPredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeFromParentPredicate.java
new file mode 100644
index 000000000..b57497834
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeFromParentPredicate.java
@@ -0,0 +1,46 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+
+/**
+ * Predicate for nodes that are flagged as from parent pom reference.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class NodeFromParentPredicate
+ implements Predicate
+{
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+ if ( object instanceof DependencyGraphNode )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) object;
+ satisfies = node.isFromParent();
+ }
+ return satisfies;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeInEdgePredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeInEdgePredicate.java
new file mode 100644
index 000000000..846e487df
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodeInEdgePredicate.java
@@ -0,0 +1,54 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+/**
+ * NodeInEdgePredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class NodeInEdgePredicate
+ implements Predicate
+{
+ private ArtifactReference nodeRef;
+
+ public NodeInEdgePredicate( ArtifactReference ref )
+ {
+ this.nodeRef = ref;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ satisfies = ( edge.getNodeFrom().equals( nodeRef ) || edge.getNodeTo().equals( nodeRef ) );
+ }
+
+ return satisfies;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodePredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodePredicate.java
new file mode 100644
index 000000000..e1cc22bf3
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/NodePredicate.java
@@ -0,0 +1,59 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+/**
+ * NodePredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class NodePredicate
+ implements Predicate
+{
+ private ArtifactReference ref;
+
+ public NodePredicate( ArtifactReference ref )
+ {
+ this.ref = ref;
+ }
+
+ public NodePredicate( DependencyGraphNode node )
+ {
+ this( node.getArtifact() );
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphNode )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) object;
+ satisfies = ref.equals( node.getArtifact() );
+ }
+
+ return satisfies;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/OrphanedNodePredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/OrphanedNodePredicate.java
new file mode 100644
index 000000000..54f0ca40f
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/OrphanedNodePredicate.java
@@ -0,0 +1,56 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+
+/**
+ * OrphanedNodePredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class OrphanedNodePredicate
+ implements Predicate
+{
+ private DependencyGraph graph;
+
+ public OrphanedNodePredicate( DependencyGraph graph )
+ {
+ this.graph = graph;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphNode )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) object;
+ satisfies = CollectionUtils.isEmpty( graph.getEdgesTo( node ) );
+ }
+
+ return satisfies;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/ToArtifactReferenceTransformer.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/ToArtifactReferenceTransformer.java
new file mode 100644
index 000000000..bde317c52
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/ToArtifactReferenceTransformer.java
@@ -0,0 +1,43 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Transformer;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+
+/**
+ * Transform some common dependency graph objects into their
+ * ArtifactReference form.
+ */
+public class ToArtifactReferenceTransformer
+ implements Transformer
+{
+ public Object transform( Object input )
+ {
+ if ( input instanceof DependencyGraphNode )
+ {
+ return ( (DependencyGraphNode) input ).getArtifact();
+ }
+
+ // TODO: Add more objects to transform here.
+
+ return input;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/UnresolvedGraphNodePredicate.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/UnresolvedGraphNodePredicate.java
new file mode 100644
index 000000000..b3325728f
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/functors/UnresolvedGraphNodePredicate.java
@@ -0,0 +1,53 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+
+/**
+ * Predicate for unresolved {@link DependencyGraphNode} objects.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class UnresolvedGraphNodePredicate
+ implements Predicate
+{
+ private static UnresolvedGraphNodePredicate INSTANCE = new UnresolvedGraphNodePredicate();
+
+ public static Predicate getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphNode )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) object;
+ satisfies = !( node.isResolved() );
+ }
+
+ return satisfies;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/AbstractReduceEdgeVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/AbstractReduceEdgeVisitor.java
new file mode 100644
index 000000000..ec20b5120
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/AbstractReduceEdgeVisitor.java
@@ -0,0 +1,43 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphUtils;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+
+/**
+ * AbstractReduceEdgeVisitor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractReduceEdgeVisitor
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ public void finishGraph( DependencyGraph graph )
+ {
+ super.finishGraph( graph );
+
+ DependencyGraphUtils.cleanupOrphanedNodes( graph );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementApplier.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementApplier.java
new file mode 100644
index 000000000..6e7e9806f
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementApplier.java
@@ -0,0 +1,218 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphUtils;
+import org.apache.maven.archiva.dependency.graph.tasks.DependencyManagementStack.Rules;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Takes a stack of DependencyManagement objects and applies them to the node in question.
+ * This merely sets the version / scope / and exclusions on the nodes, as defined by DependencyManagement.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyManagementApplier
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ private DependencyManagementStack depStack = new DependencyManagementStack();
+
+ private DependencyGraphBuilder builder;
+
+ /**
+ * Map of changes to node versions (that will likely cause a reorganization of
+ * the graph), this is tracked until the walk is complete, at which point the
+ * changes are applied to the graph.
+ *
+ * Performing graph changes of this scope during a walk of graph is hazardous,
+ * as you will be moving nodes around, mergeing nodes, dropping edges, etc.
+ */
+ private Map nodeVersionChanges = new HashMap();
+
+ private int nodesAdded = 0;
+
+ public void discoverGraph( DependencyGraph graph )
+ {
+ super.discoverGraph( graph );
+ nodeVersionChanges.clear();
+ depStack.reset();
+ nodesAdded = 0;
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ super.discoverNode( node );
+
+ depStack.push( node );
+
+ List edgesFrom = graph.getEdgesFrom( node );
+ Iterator it = edgesFrom.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ Rules rules = depStack.getRules( edge );
+
+ if ( rules == null )
+ {
+ // No rules for edge, skip it.
+ continue;
+ }
+
+ DependencyGraphNode subnode = graph.getNode( edge.getNodeTo() );
+
+ /* There are 3 steps to processing the DependencyManagement. */
+
+ /* 1) Add exclusions to node ________________________________________________ */
+ node.getExcludes().addAll( rules.exclusions );
+
+ /* 2) Track version changes to node _________________________________________ */
+
+ // This is the version as specified by the rules.
+ String specifiedVersion = rules.artifact.getVersion();
+
+ // This is the version as being tracked by the nodeVersionChanges map.
+ String trackedVersion = (String) nodeVersionChanges.get( edge.getNodeTo() );
+
+ // This is the version of the subnode.
+ String nodeVersion = subnode.getArtifact().getVersion();
+
+ // This is the actual version as determined by tracked and subnode
+ String actualVersion = StringUtils.defaultString( trackedVersion, nodeVersion );
+
+ // If the specified version changes the actual version ...
+ if ( !StringUtils.equals( specifiedVersion, actualVersion ) )
+ {
+ // ... save this new value to be track ( for processing in #finishedGraph )
+ nodeVersionChanges.put( edge.getNodeTo(), specifiedVersion );
+ }
+
+ /* 3) Update scope to edge __________________________________________________ */
+
+ if ( StringUtils.isNotBlank( rules.scope ) )
+ {
+ edge.setScope( rules.scope );
+ }
+ }
+ }
+
+ public void finishNode( DependencyGraphNode node )
+ {
+ super.finishNode( node );
+
+ depStack.pop();
+ }
+
+ public void finishGraph( DependencyGraph graph )
+ {
+ super.finishGraph( graph );
+
+ Iterator it = this.nodeVersionChanges.keySet().iterator();
+ while ( it.hasNext() )
+ {
+ ArtifactReference ref = (ArtifactReference) it.next();
+ String toVersion = (String) this.nodeVersionChanges.get( ref );
+
+ collapseVersions( graph, ref, ref.getVersion(), toVersion );
+ }
+ }
+
+ /**
+ * Collapses Versions of nodes.
+ *
+ * Takes two nodes, with differing versions.
+ *
+ * 1) Removes the FROM edges connected to the FROM node
+ * 2) Moves the TO edges connected to the FROM node to the TO node.
+ * 3) Removes the FROM node (which is now orphaned)
+ *
+ * @param graph the graph to perform operation on
+ * @param fromRef the artifact reference of the FROM node.
+ * @param fromVersion the version of the FROM node
+ * @param toVersion the version of the TO node
+ */
+ private void collapseVersions( DependencyGraph graph, ArtifactReference fromRef, String fromVersion,
+ String toVersion )
+ {
+ if ( StringUtils.equals( fromVersion, toVersion ) )
+ {
+ // No point in doing anything. nothing has changed.
+ return;
+ }
+
+ ArtifactReference toRef = new ArtifactReference();
+ toRef.setGroupId( fromRef.getGroupId() );
+ toRef.setArtifactId( fromRef.getArtifactId() );
+ toRef.setVersion( toVersion );
+ toRef.setClassifier( fromRef.getClassifier() );
+ toRef.setType( fromRef.getType() );
+
+ DependencyGraphNode nodeFROM = graph.getNode( fromRef );
+ DependencyGraphNode nodeTO = graph.getNode( toRef );
+
+ if ( nodeTO == null )
+ {
+ // new node doesn't exist in graph (yet)
+ nodeTO = new DependencyGraphNode( toRef );
+ nodeTO.setResolved( false );
+
+ graph.addNode( nodeTO );
+
+ VersionedReference projectRef = new VersionedReference();
+ projectRef.setGroupId( toRef.getGroupId() );
+ projectRef.setArtifactId( toRef.getArtifactId() );
+ projectRef.setVersion( toRef.getVersion() );
+
+ builder.resolveNode( graph, nodeTO, projectRef );
+ nodesAdded++;
+ }
+
+ DependencyGraphUtils.collapseNodes( graph, nodeFROM, nodeTO );
+ }
+
+ public DependencyGraphBuilder getBuilder()
+ {
+ return builder;
+ }
+
+ public void setBuilder( DependencyGraphBuilder builder )
+ {
+ this.builder = builder;
+ }
+
+ public boolean hasCreatedNodes()
+ {
+ return ( nodesAdded > 0 );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStack.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStack.java
new file mode 100644
index 000000000..c9563044b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStack.java
@@ -0,0 +1,152 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.iterators.ReverseListIterator;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.Exclusion;
+
+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.Stack;
+
+/**
+ * DependencyManagementStack
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyManagementStack
+{
+ public class Rules
+ {
+ public ArtifactReference artifact;
+
+ public String scope;
+
+ public Set exclusions = new HashSet();
+
+ public void addAllExclusions( List depExclusions )
+ {
+ Iterator it = depExclusions.iterator();
+ while ( it.hasNext() )
+ {
+ Exclusion ref = (Exclusion) it.next();
+ String key = DependencyGraphKeys.toManagementKey( ref );
+ exclusions.add( key );
+ }
+ }
+ }
+
+ private Stack depmanStack = new Stack();
+
+ private Map depMap = new HashMap();
+
+ private void generateDepMap()
+ {
+ depMap.clear();
+
+ // Using a reverse iterator to ensure that we read the
+ // stack from last in to first in
+ ReverseListIterator it = new ReverseListIterator( depmanStack );
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+
+ addDependencies( node.getDependencyManagement() );
+ }
+ }
+
+ private void addDependencies( List dependencies )
+ {
+ Iterator it = dependencies.iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+ String key = DependencyGraphKeys.toManagementKey( dep );
+
+ Rules merged = (Rules) depMap.get( key );
+ if ( merged == null )
+ {
+ // New map entry.
+ merged = new Rules();
+ merged.artifact = new ArtifactReference();
+ merged.artifact.setGroupId( dep.getGroupId() );
+ merged.artifact.setArtifactId( dep.getArtifactId() );
+ merged.artifact.setClassifier( dep.getClassifier() );
+ merged.artifact.setType( dep.getType() );
+ }
+
+ merged.artifact.setVersion( dep.getVersion() );
+ if ( StringUtils.isNotBlank( dep.getScope() ) )
+ {
+ merged.scope = dep.getScope();
+ }
+
+ merged.addAllExclusions( dep.getExclusions() );
+
+ depMap.put( key, merged );
+ }
+ }
+
+ public Rules getRules( DependencyGraphEdge edge )
+ {
+ return getRules( edge.getNodeTo() );
+ }
+
+ public Rules getRules( DependencyGraphNode node )
+ {
+ return getRules( node.getArtifact() );
+ }
+
+ public Rules getRules( ArtifactReference ref )
+ {
+ String key = DependencyGraphKeys.toManagementKey( ref );
+ return (Rules) depMap.get( key );
+ }
+
+ public void push( DependencyGraphNode node )
+ {
+ depmanStack.push( node );
+ generateDepMap();
+ }
+
+ public DependencyGraphNode pop()
+ {
+ DependencyGraphNode node = (DependencyGraphNode) depmanStack.pop();
+ generateDepMap();
+ return node;
+ }
+
+ public void reset()
+ {
+ depmanStack.clear();
+ depMap.clear();
+ }
+} \ No newline at end of file
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesTask.java
new file mode 100644
index 000000000..9206b7035
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesTask.java
@@ -0,0 +1,34 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * FlagCyclicEdgesTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="flag-cyclic-edges"
+ * instantiation-strategy="per-lookup"
+ */
+public class FlagCyclicEdgesTask
+ implements GraphTask
+{
+
+ public void executeTask( DependencyGraph graph )
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ FlagExcludedEdgesVisitor excludedEdgeResolver = new FlagExcludedEdgesVisitor();
+ walker.visit( graph, excludedEdgeResolver );
+ }
+
+ public String getTaskId()
+ {
+ return "flag-cyclic-edges";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesVisitor.java
new file mode 100644
index 000000000..27d719a15
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagCyclicEdgesVisitor.java
@@ -0,0 +1,70 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * FlagCyclicEdgesVisitor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class FlagCyclicEdgesVisitor
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ private DependencyGraphWalker walker;
+
+ private Set cyclicEdges = new HashSet();
+
+ public FlagCyclicEdgesVisitor( DependencyGraphWalker walker )
+ {
+ this.walker = walker;
+ }
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ ArtifactReference artifact = edge.getNodeTo();
+
+ // Process for cyclic edges.
+ if ( walker.getNodeVisitState( artifact ) == DependencyGraphWalker.PROCESSING )
+ {
+ edge.setDisabled( true );
+ edge.setDisabledType( DependencyGraph.DISABLED_CYCLIC );
+ edge.setDisabledReason( "Cycle detected" );
+ // TODO: insert into reason the path for the cycle that was detected.
+ cyclicEdges.add( edge );
+ }
+ }
+
+ public Set getCyclicEdges()
+ {
+ return cyclicEdges;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesTask.java
new file mode 100644
index 000000000..6b3476bef
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesTask.java
@@ -0,0 +1,52 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * FlagExcludedEdgesTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="flag-excluded-edges"
+ * instantiation-strategy="per-lookup"
+ */
+public class FlagExcludedEdgesTask
+ implements GraphTask
+{
+ public void executeTask( DependencyGraph graph )
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ FlagExcludedEdgesVisitor excludedEdgeResolver = new FlagExcludedEdgesVisitor();
+ walker.visit( graph, excludedEdgeResolver );
+ }
+
+ public String getTaskId()
+ {
+ return "flag-excluded-edges";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesVisitor.java
new file mode 100644
index 000000000..6681aed0b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/FlagExcludedEdgesVisitor.java
@@ -0,0 +1,86 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.Iterator;
+import java.util.Stack;
+
+/**
+ * FlagExcludedEdgesVisitor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class FlagExcludedEdgesVisitor
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ private Stack nodePath = new Stack();
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ ArtifactReference artifact = edge.getNodeTo();
+
+ // Process for excluded edges.
+ String toKey = DependencyGraphKeys.toManagementKey( artifact );
+ Iterator it = this.nodePath.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode pathNode = (DependencyGraphNode) it.next();
+
+ // Process dependency declared exclusions.
+ if ( pathNode.getExcludes().contains( toKey ) )
+ {
+ edge.setDisabled( true );
+ edge.setDisabledType( DependencyGraph.DISABLED_EXCLUDED );
+ String whoExcluded = DependencyGraphKeys.toKey( pathNode );
+ edge.setDisabledReason( "Specifically Excluded by " + whoExcluded );
+ break;
+ }
+ }
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ super.discoverNode( node );
+ nodePath.push( node );
+ }
+
+ public void finishNode( DependencyGraphNode node )
+ {
+ super.finishNode( node );
+ DependencyGraphNode pathNode = (DependencyGraphNode) nodePath.pop();
+ if ( !node.equals( pathNode ) )
+ {
+ String pathNodeKey = ArtifactReference.toKey( pathNode.getArtifact() );
+ String finishNodeKey = ArtifactReference.toKey( node.getArtifact() );
+ throw new IllegalStateException( "Encountered bad visitor state. Expected finish on node " + pathNodeKey
+ + ", but instead got notified of node " + finishNodeKey );
+ }
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/GraphCopier.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/GraphCopier.java
new file mode 100644
index 000000000..6682e052b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/GraphCopier.java
@@ -0,0 +1,81 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+
+/**
+ * GraphCopier
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class GraphCopier
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ protected DependencyGraph copiedGraph;
+
+ public DependencyGraph getGraph()
+ {
+ return copiedGraph;
+ }
+
+ public void setGraph( DependencyGraph graph )
+ {
+ this.copiedGraph = graph;
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ if ( copiedGraph == null )
+ {
+ copiedGraph = new DependencyGraph( node );
+ }
+ }
+
+ /**
+ * Be sure to override and NOT call this method in your sub class,
+ * if you want to copy edges based on some kind of criteria.
+ */
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ copyEdge( edge );
+ }
+
+ public void copyEdge( DependencyGraphEdge edge )
+ {
+ DependencyGraphNode nodeFrom = graph.getNode( edge.getNodeFrom() );
+ DependencyGraphNode nodeTo = graph.getNode( edge.getNodeTo() );
+
+ this.copiedGraph.addNode( nodeFrom );
+ this.copiedGraph.addNode( nodeTo );
+ this.copiedGraph.addEdge( edge );
+ }
+
+ public void reset()
+ {
+ this.copiedGraph = null;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateDependencyManagementTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateDependencyManagementTask.java
new file mode 100644
index 000000000..baa000923
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateDependencyManagementTask.java
@@ -0,0 +1,53 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.PotentialCyclicEdgeProducer;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * PopulateDependencyManagementTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="populate-dependency-management"
+ * instantiation-strategy="per-lookup"
+ */
+public class PopulateDependencyManagementTask
+ implements GraphTask, PotentialCyclicEdgeProducer
+{
+ public void executeTask( DependencyGraph graph )
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ DependencyManagementApplier depManApplier = new DependencyManagementApplier();
+ walker.visit( graph, depManApplier );
+ }
+
+ public String getTaskId()
+ {
+ return "populate-dependency-management";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateGraphMasterTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateGraphMasterTask.java
new file mode 100644
index 000000000..11498c86b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/PopulateGraphMasterTask.java
@@ -0,0 +1,92 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphUtils;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.GraphTaskException;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * PopulateGraphMasterTask - will perform a resolve / depman apply loop until the graph is fully populated.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="populate-graph"
+ * instantiation-strategy="per-lookup"
+ */
+public class PopulateGraphMasterTask
+ implements GraphTask
+{
+ private DependencyGraphBuilder builder;
+
+ private ResolveGraphTask resolveGraphTask = new ResolveGraphTask();
+
+ private DependencyManagementApplier depManApplier = new DependencyManagementApplier();
+
+ public void executeTask( DependencyGraph graph )
+ throws GraphTaskException
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+
+ boolean done = false;
+ int maxiters = 5;
+
+ while ( !done )
+ {
+ resolveGraphTask.executeTask( graph );
+ walker.visit( graph, depManApplier );
+
+ if ( !depManApplier.hasCreatedNodes() || ( maxiters < 0 ) )
+ {
+ done = true;
+ break;
+ }
+
+ maxiters--;
+ }
+
+ DependencyGraphUtils.cleanupOrphanedNodes( graph );
+ }
+
+ public String getTaskId()
+ {
+ return "populate-graph";
+ }
+
+ public DependencyGraphBuilder getBuilder()
+ {
+ return builder;
+ }
+
+ public void setBuilder( DependencyGraphBuilder builder )
+ {
+ this.builder = builder;
+ this.resolveGraphTask.setBuilder( builder );
+ this.depManApplier.setBuilder( builder );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesTask.java
new file mode 100644
index 000000000..dbb928277
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesTask.java
@@ -0,0 +1,35 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+import org.apache.commons.collections.functors.TruePredicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * ReduceEnabledEdgesTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="reduce-enabled-edges"
+ * instantiation-strategy="per-lookup"
+ */
+public class ReduceEnabledEdgesTask
+ implements GraphTask
+{
+ public void executeTask( DependencyGraph graph )
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ walker.setEdgePredicate( TruePredicate.getInstance() );
+ ReduceEnabledEdgesVisitor reduceEnabledEdgesResolver = new ReduceEnabledEdgesVisitor();
+ walker.visit( graph, reduceEnabledEdgesResolver );
+ }
+
+ public String getTaskId()
+ {
+ return "reduce-enabled-edges";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesVisitor.java
new file mode 100644
index 000000000..16ab9bfd4
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceEnabledEdgesVisitor.java
@@ -0,0 +1,42 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+
+/**
+ * Removes all disabled edges from the graph.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ReduceEnabledEdgesVisitor
+ extends AbstractReduceEdgeVisitor
+ implements DependencyGraphVisitor
+{
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ if ( edge.isDisabled() )
+ {
+ super.graph.removeEdge( edge );
+ }
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeTask.java
new file mode 100644
index 000000000..63b2a3f13
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeTask.java
@@ -0,0 +1,50 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * ReduceScopeTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="reduce-scope"
+ * instantiation-strategy="per-lookup"
+ */
+public class ReduceScopeTask
+ implements GraphTask
+{
+ private String scope;
+
+ public ReduceScopeTask( String scope )
+ {
+ this.scope = scope;
+ }
+
+ public void executeTask( DependencyGraph graph )
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ ReduceScopeVisitor reduceScopeResolver = new ReduceScopeVisitor( this.scope );
+ walker.visit( graph, reduceScopeResolver );
+ }
+
+ public String getScope()
+ {
+ return scope;
+ }
+
+ public void setScope( String scope )
+ {
+ this.scope = scope;
+ }
+
+ public String getTaskId()
+ {
+ return "reduce-scope";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeVisitor.java
new file mode 100644
index 000000000..783678798
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceScopeVisitor.java
@@ -0,0 +1,51 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeWithinScopePredicate;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+
+/**
+ * ReduceScopeVisitor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ReduceScopeVisitor
+ extends AbstractReduceEdgeVisitor
+ implements DependencyGraphVisitor
+{
+ private Predicate scopedPredicate;
+
+ public ReduceScopeVisitor( String scope )
+ {
+ scopedPredicate = new EdgeWithinScopePredicate( scope );
+ }
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ if ( !scopedPredicate.evaluate( edge ) )
+ {
+ super.graph.removeEdge( edge );
+ }
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesTask.java
new file mode 100644
index 000000000..0addf9a5b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesTask.java
@@ -0,0 +1,53 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkBreadthFirstSearch;
+
+/**
+ * ReduceTransitiveEdgesTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="reduce-transitive-edges"
+ * instantiation-strategy="per-lookup"
+ */
+public class ReduceTransitiveEdgesTask
+ implements GraphTask
+{
+
+ public void executeTask( DependencyGraph graph )
+ {
+ DependencyGraphWalker walker = new WalkBreadthFirstSearch();
+ ReduceTransitiveEdgesVisitor reduceTransitiveEdgesResolver = new ReduceTransitiveEdgesVisitor();
+ walker.visit( graph, reduceTransitiveEdgesResolver );
+ }
+
+ public String getTaskId()
+ {
+ return "reduce-transitive-edges";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesVisitor.java
new file mode 100644
index 000000000..37c397aa9
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ReduceTransitiveEdgesVisitor.java
@@ -0,0 +1,161 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Perform a transitive reduction of the graph.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ReduceTransitiveEdgesVisitor
+ extends AbstractReduceEdgeVisitor
+ implements DependencyGraphVisitor
+{
+ class EdgeInfo
+ {
+ public DependencyGraphEdge edge;
+
+ public int depth = Integer.MAX_VALUE;
+ }
+
+ class EdgeInfoDepthComparator
+ implements Comparator
+ {
+ public int compare( Object obj0, Object obj1 )
+ {
+ EdgeInfo edgeInfo0 = (EdgeInfo) obj0;
+ EdgeInfo edgeInfo1 = (EdgeInfo) obj1;
+
+ return edgeInfo0.depth - edgeInfo1.depth;
+ }
+ }
+
+ /**
+ * A Map of &lt;(Node To) ArtifactReference, Map of &lt;(Node From) ArtifactReference, EdgeInfo&gt;&gt;
+ */
+ private Map /*<ArtifactReference,<ArtifactReference,EdgeInfo>>*/nodeDistanceMap = new HashMap();
+
+ private int currentDepth;
+
+ public void discoverGraph( DependencyGraph graph )
+ {
+ super.discoverGraph( graph );
+ nodeDistanceMap.clear();
+ currentDepth = 0;
+ }
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ /* WARNING: it is unwise to remove the edge at this point.
+ * as modifying the graph as it's being walked is dangerous.
+ *
+ * Just record the edge's current depth.
+ */
+
+ String nodeTo = DependencyGraphKeys.toKey( edge.getNodeTo() );
+ String nodeFrom = DependencyGraphKeys.toKey( edge.getNodeFrom() );
+
+ // Get sub-map
+ Map edgeInfoMap = (Map) nodeDistanceMap.get( nodeTo );
+
+ // Create sub-map if not present (yet)
+ if ( edgeInfoMap == null )
+ {
+ edgeInfoMap = new HashMap();
+ nodeDistanceMap.put( nodeTo, edgeInfoMap );
+ }
+
+ // Get sub-map-value.
+ EdgeInfo edgeInfo = (EdgeInfo) edgeInfoMap.get( nodeFrom );
+
+ if ( edgeInfo == null )
+ {
+ // Create a new edgeinfo.
+ edgeInfo = new EdgeInfo();
+ edgeInfo.edge = edge;
+ edgeInfo.depth = currentDepth;
+ edgeInfoMap.put( nodeFrom, edgeInfo );
+ }
+ // test the current depth, if it is less than previous depth, save it
+ else if ( currentDepth < edgeInfo.depth )
+ {
+ edgeInfo.depth = currentDepth;
+ edgeInfoMap.put( nodeFrom, edgeInfo );
+ }
+
+ nodeDistanceMap.put( nodeTo, edgeInfoMap );
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ super.discoverNode( node );
+ currentDepth++;
+
+ }
+
+ public void finishNode( DependencyGraphNode node )
+ {
+ super.finishNode( node );
+ currentDepth--;
+ }
+
+ public void finishGraph( DependencyGraph graph )
+ {
+ super.finishGraph( graph );
+
+ // Now we prune/remove the edges that are transitive in nature.
+
+ Comparator edgeInfoDepthComparator = new EdgeInfoDepthComparator();
+
+ Iterator it = nodeDistanceMap.values().iterator();
+ while ( it.hasNext() )
+ {
+ Map edgeInfoMap = (Map) it.next();
+
+ if ( edgeInfoMap.size() > 1 )
+ {
+ List edgeInfos = new ArrayList();
+ edgeInfos.addAll( edgeInfoMap.values() );
+ Collections.sort( edgeInfos, edgeInfoDepthComparator );
+
+ for ( int i = 1; i < edgeInfos.size(); i++ )
+ {
+ EdgeInfo edgeInfo = (EdgeInfo) edgeInfos.get( i );
+ graph.removeEdge( edgeInfo.edge );
+ }
+ }
+ }
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsTask.java
new file mode 100644
index 000000000..d8b524e80
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsTask.java
@@ -0,0 +1,98 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.PotentialCyclicEdgeProducer;
+import org.apache.maven.archiva.dependency.graph.functors.ToArtifactReferenceTransformer;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+/**
+ * RefineConflictsTask
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="refine-conflicts"
+ * instantiation-strategy="per-lookup"
+ */
+public class RefineConflictsTask
+ implements GraphTask, PotentialCyclicEdgeProducer
+{
+
+ public void executeTask( DependencyGraph graph )
+ {
+ Iterator it;
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ RefineConflictsVisitor refineConflictsVisitor = new RefineConflictsVisitor();
+
+ MultiValueMap depMap = new MultiValueMap();
+
+ // Identify deps that need to be resolved.
+ it = graph.getNodes().iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+ String key = DependencyGraphKeys.toManagementKey( node.getArtifact() );
+ // This will add this node to the specified key, not replace a previous one.
+ depMap.put( key, node );
+ }
+
+ // Process those depMap entries with more than 1 value.
+ ToArtifactReferenceTransformer nodeToArtifact = new ToArtifactReferenceTransformer();
+
+ it = depMap.entrySet().iterator();
+ while ( it.hasNext() )
+ {
+ Map.Entry entry = (Entry) it.next();
+ Collection nodes = (Collection) entry.getValue();
+ if ( nodes.size() > 1 )
+ {
+ List conflictingArtifacts = new ArrayList();
+ conflictingArtifacts.addAll( nodes );
+ CollectionUtils.transform( conflictingArtifacts, nodeToArtifact );
+
+ refineConflictsVisitor.resetConflictingArtifacts();
+ refineConflictsVisitor.addAllConflictingArtifacts( conflictingArtifacts );
+ walker.visit( graph, refineConflictsVisitor );
+ }
+ }
+ }
+
+ public String getTaskId()
+ {
+ return "refine-conflicts";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsVisitor.java
new file mode 100644
index 000000000..1982ad0ac
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/RefineConflictsVisitor.java
@@ -0,0 +1,303 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.comparators.ReverseComparator;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.commons.collections.list.TypedList;
+import org.apache.maven.archiva.common.utils.VersionComparator;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphUtils;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * RefineConflictsVisitor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RefineConflictsVisitor
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ class DepthComparator
+ implements Comparator
+ {
+ public int compare( Object obj0, Object obj1 )
+ {
+ NodeLocation nodeLoc0 = (NodeLocation) obj0;
+ NodeLocation nodeLoc1 = (NodeLocation) obj1;
+
+ return nodeLoc0.depth - nodeLoc1.depth;
+ }
+ }
+
+ class NodeLocation
+ {
+ public ArtifactReference artifact;
+
+ public DependencyGraphEdge edge;
+
+ public int depth;
+
+ public NodeLocation( ArtifactReference artifact, DependencyGraphEdge edge, int depth )
+ {
+ this.artifact = artifact;
+ this.edge = edge;
+ this.depth = depth;
+ }
+ }
+
+ class NodeLocationPredicate
+ implements Predicate
+ {
+ private ArtifactReference artifact;
+
+ public NodeLocationPredicate( ArtifactReference artifact )
+ {
+ this.artifact = artifact;
+ }
+
+ public NodeLocationPredicate( DependencyGraphNode node )
+ {
+ this( node.getArtifact() );
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof NodeLocation )
+ {
+ NodeLocation nodeloc = (NodeLocation) object;
+ satisfies = nodeloc.artifact.equals( artifact );
+ }
+
+ return satisfies;
+ }
+
+ }
+
+ class NodeLocationVersionComparator
+ implements Comparator
+ {
+ public int compare( Object o1, Object o2 )
+ {
+ if ( o1 == null && o2 == null )
+ {
+ return 0;
+ }
+
+ if ( o1 == null && o2 != null )
+ {
+ return 1;
+ }
+
+ if ( o1 != null && o2 == null )
+ {
+ return -1;
+ }
+
+ if ( ( o1 instanceof NodeLocation ) && ( o2 instanceof NodeLocation ) )
+ {
+ String version1 = ( (NodeLocation) o1 ).artifact.getVersion();
+ String version2 = ( (NodeLocation) o2 ).artifact.getVersion();
+
+ VersionComparator.getInstance().compare( version1, version2 );
+ }
+
+ return 0;
+ }
+ }
+
+ class DistantNodeLocationPredicate
+ implements Predicate
+ {
+ private int cutoff;
+
+ public DistantNodeLocationPredicate( int distantCutoff )
+ {
+ this.cutoff = distantCutoff;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof NodeLocation )
+ {
+ NodeLocation nodeloc = (NodeLocation) object;
+ satisfies = ( nodeloc.depth >= this.cutoff );
+ }
+
+ return satisfies;
+ }
+ }
+
+ private List conflictingArtifacts;
+
+ private Map foundNodesMap = new HashMap();
+
+ private int currentDepth = 0;
+
+ private DependencyGraph currentGraph;
+
+ public RefineConflictsVisitor()
+ {
+ conflictingArtifacts = TypedList.decorate( new ArrayList(), ArtifactReference.class );
+ }
+
+ public void discoverGraph( DependencyGraph graph )
+ {
+ super.discoverGraph( graph );
+ this.currentGraph = graph;
+ this.foundNodesMap.clear();
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ super.discoverNode( node );
+
+ currentDepth++;
+
+ List edgesFrom = currentGraph.getEdgesFrom( node );
+ Iterator it = edgesFrom.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ if ( this.conflictingArtifacts.contains( edge.getNodeTo() ) )
+ {
+ String nodeKey = DependencyGraphKeys.toKey( edge.getNodeTo() );
+ // Check for existing NodeLocation with same key
+ NodeLocation nodeloc = (NodeLocation) this.foundNodesMap.get( nodeKey );
+
+ if ( ( nodeloc == null ) || ( currentDepth < nodeloc.depth ) )
+ {
+ nodeloc = new NodeLocation( edge.getNodeTo(), edge, currentDepth );
+ this.foundNodesMap.put( nodeKey, nodeloc );
+ }
+ }
+ }
+ }
+
+ public void finishGraph( DependencyGraph graph )
+ {
+ super.finishGraph( graph );
+
+ if ( MapUtils.isEmpty( this.foundNodesMap ) )
+ {
+ return;
+ }
+
+ // Find winning node.
+ ArtifactReference winningArtifact = findWinningArtifact( this.foundNodesMap.values() );
+ DependencyGraphNode winningNode = graph.getNode( winningArtifact );
+
+ // Gather up Losing Nodes.
+ Set losingNodes = new HashSet();
+ Predicate losersPredicate = NotPredicate.getInstance( new NodeLocationPredicate( winningArtifact ) );
+ CollectionUtils.select( this.foundNodesMap.values(), losersPredicate, losingNodes );
+
+ // Swing losing nodes to winning node.
+ Iterator it = losingNodes.iterator();
+ while ( it.hasNext() )
+ {
+ NodeLocation losingNodeLoc = (NodeLocation) it.next();
+ DependencyGraphNode losingNode = graph.getNode( losingNodeLoc.artifact );
+ DependencyGraphUtils.collapseNodes( graph, losingNode, winningNode );
+ }
+ }
+
+ private ArtifactReference findWinningArtifact( Collection nodes )
+ {
+ List remainingNodes = new ArrayList();
+ remainingNodes.addAll( nodes );
+
+ /* .\ Filter by Depth \.____________________________________________________ */
+
+ // Sort by depth.
+ Collections.sort( remainingNodes, new DepthComparator() );
+
+ // Determine 'closest' node depth.
+ NodeLocation nearestNode = (NodeLocation) remainingNodes.get( 0 );
+ int nearest = nearestNode.depth;
+
+ // Filter out distant nodes.
+ Predicate distantLocations = new DistantNodeLocationPredicate( nearest );
+ CollectionUtils.filter( remainingNodes, distantLocations );
+
+ // Do we have 1 node left?
+ if ( remainingNodes.size() == 1 )
+ {
+ // A winner!
+ NodeLocation nodeloc = (NodeLocation) remainingNodes.get( 0 );
+ return nodeloc.artifact;
+ }
+
+ /* .\ Filter by Newest Version \.___________________________________________ */
+
+ // We have 2 or more nodes that are equal distance from the root.
+ // Determine which one is 'newest' based on version id.
+ Collections.sort( remainingNodes, new ReverseComparator( new NodeLocationVersionComparator() ) );
+
+ NodeLocation nodeloc = (NodeLocation) remainingNodes.get( 0 );
+ return nodeloc.artifact;
+ }
+
+ public void finishNode( DependencyGraphNode node )
+ {
+ super.finishNode( node );
+ currentDepth--;
+ }
+
+ public List getConflictingArtifacts()
+ {
+ return conflictingArtifacts;
+ }
+
+ public void addAllConflictingArtifacts( Collection nodes )
+ {
+ this.conflictingArtifacts.addAll( nodes );
+ }
+
+ public void resetConflictingArtifacts()
+ {
+ this.conflictingArtifacts.clear();
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ResolveGraphTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ResolveGraphTask.java
new file mode 100644
index 000000000..b5731386d
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/ResolveGraphTask.java
@@ -0,0 +1,114 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.PotentialCyclicEdgeProducer;
+import org.apache.maven.archiva.dependency.graph.functors.UnresolvedGraphNodePredicate;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * Loop through the unresolved nodes and resolve them, until there
+ * are no more unresolved nodes.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="resolve-graph"
+ * instantiation-strategy="per-lookup"
+ */
+public class ResolveGraphTask
+ implements GraphTask, PotentialCyclicEdgeProducer
+{
+ private DependencyGraphBuilder builder;
+
+ private int resolvedCount = 0;
+
+ private VersionedReference toVersionedReference( DependencyGraphNode node )
+ {
+ VersionedReference ref = new VersionedReference();
+ ref.setGroupId( node.getArtifact().getGroupId() );
+ ref.setArtifactId( node.getArtifact().getArtifactId() );
+ ref.setVersion( node.getArtifact().getVersion() );
+
+ return ref;
+ }
+
+ public void executeTask( DependencyGraph graph )
+ {
+ resolvedCount = 0;
+ VersionedReference rootRef = toVersionedReference( graph.getRootNode() );
+
+ if ( !graph.getRootNode().isResolved() )
+ {
+ builder.resolveNode( graph, graph.getRootNode(), rootRef );
+ resolvedCount++;
+ }
+
+ boolean done = false;
+
+ while ( !done )
+ {
+ DependencyGraphNode node = findUnresolvedNode( graph );
+ if ( node == null )
+ {
+ done = true;
+ break;
+ }
+
+ VersionedReference otherRef = toVersionedReference( node );
+
+ builder.resolveNode( graph, node, otherRef );
+ resolvedCount++;
+ }
+ }
+
+ private DependencyGraphNode findUnresolvedNode( DependencyGraph graph )
+ {
+ return (DependencyGraphNode) CollectionUtils
+ .find( graph.getNodes(), UnresolvedGraphNodePredicate.getInstance() );
+ }
+
+ public DependencyGraphBuilder getBuilder()
+ {
+ return builder;
+ }
+
+ public void setBuilder( DependencyGraphBuilder graphBuilder )
+ {
+ this.builder = graphBuilder;
+ }
+
+ public String getTaskId()
+ {
+ return "resolve-graph";
+ }
+
+ public int getResolvedCount()
+ {
+ return resolvedCount;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesTask.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesTask.java
new file mode 100644
index 000000000..8b585de21
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesTask.java
@@ -0,0 +1,35 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.GraphTask;
+import org.apache.maven.archiva.dependency.graph.GraphTaskException;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+
+/**
+ * Update the scopes of the edges to what their parent node says.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.dependency.graph.GraphTask"
+ * role-hint="update-scopes"
+ * instantiation-strategy="per-lookup"
+ */
+public class UpdateScopesTask
+ implements GraphTask
+{
+ public void executeTask( DependencyGraph graph )
+ throws GraphTaskException
+ {
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ UpdateScopesVisitor updateScopes = new UpdateScopesVisitor();
+ walker.visit( graph, updateScopes );
+ }
+
+ public String getTaskId()
+ {
+ return "update-scopes";
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesVisitor.java
new file mode 100644
index 000000000..691701d96
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/tasks/UpdateScopesVisitor.java
@@ -0,0 +1,82 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeFromPredicate;
+import org.apache.maven.archiva.dependency.graph.walk.BaseVisitor;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+import org.apache.maven.archiva.model.DependencyScope;
+
+import java.util.Stack;
+
+/**
+ * UpdateScopesVisitor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class UpdateScopesVisitor
+ extends BaseVisitor
+ implements DependencyGraphVisitor
+{
+ private Stack scopeStack;
+
+ private Predicate rootEdgePredicate;
+
+ public UpdateScopesVisitor()
+ {
+ scopeStack = new Stack();
+ // Default setting.
+ scopeStack.add( DependencyScope.COMPILE );
+ }
+
+ public void discoverGraph( DependencyGraph graph )
+ {
+ super.discoverGraph( graph );
+ rootEdgePredicate = new EdgeFromPredicate( graph.getRootNode() );
+ }
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ super.discoverEdge( edge );
+
+ String scope = edge.getScope();
+
+ if ( !rootEdgePredicate.evaluate( edge ) )
+ {
+ // Not a root edge. Set the scope.
+ scope = (String) scopeStack.peek();
+ edge.setScope( scope );
+ }
+
+ // Push the scope used onto the stack.
+ scopeStack.push( scope );
+ }
+
+ public void finishEdge( DependencyGraphEdge edge )
+ {
+ super.finishEdge( edge );
+
+ scopeStack.pop();
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/BaseVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/BaseVisitor.java
new file mode 100644
index 000000000..c19597fe3
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/BaseVisitor.java
@@ -0,0 +1,73 @@
+package org.apache.maven.archiva.dependency.graph.walk;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+
+/**
+ * The Baseline Visitor.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class BaseVisitor
+ implements DependencyGraphVisitor
+{
+ private static DependencyGraphVisitor INSTANCE = new BaseVisitor();
+
+ protected DependencyGraph graph;
+
+ public static DependencyGraphVisitor getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ /* do nothing */
+ }
+
+ public void discoverGraph( DependencyGraph graph )
+ {
+ this.graph = graph;
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ /* do nothing */
+ }
+
+ public void finishEdge( DependencyGraphEdge edge )
+ {
+ /* do nothing */
+ }
+
+ public void finishGraph( DependencyGraph graph )
+ {
+ /* do nothing */
+ }
+
+ public void finishNode( DependencyGraphNode node )
+ {
+ /* do nothing */
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphVisitor.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphVisitor.java
new file mode 100644
index 000000000..1f3305a48
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphVisitor.java
@@ -0,0 +1,76 @@
+package org.apache.maven.archiva.dependency.graph.walk;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+
+/**
+ * Interface for progress during search.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface DependencyGraphVisitor
+{
+ /**
+ * Called once, for when the graph itself is discovered.
+ *
+ * @param graph the graph that was discovered.
+ */
+ public void discoverGraph( DependencyGraph graph );
+
+ /**
+ * Called for each node, when that node is visited.
+ *
+ * @param node the node that is being visited.
+ */
+ public void discoverNode( DependencyGraphNode node );
+
+ /**
+ * Called for each edge, when that edge is visited.
+ *
+ * @param edge the edge that is being visited.
+ */
+ public void discoverEdge( DependencyGraphEdge edge );
+
+ /**
+ * Called for each edge, when that edge has been fully visited.
+ *
+ * @param edge the edge that was finished being visited.
+ */
+ public void finishEdge( DependencyGraphEdge edge );
+
+ /**
+ * Called for each node, when the node has been fully visited.
+ *
+ * @param node the node that was finished being visited.
+ */
+ public void finishNode( DependencyGraphNode node );
+
+ /**
+ * Called once, for when the graph is finished being visited.
+ *
+ * @param graph the graph that finished being visited.
+ */
+ public void finishGraph( DependencyGraph graph );
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalker.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalker.java
new file mode 100644
index 000000000..ae7447f6c
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalker.java
@@ -0,0 +1,89 @@
+package org.apache.maven.archiva.dependency.graph.walk;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+/**
+ * Walk nodes of the {@link DependencyGraph}.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface DependencyGraphWalker
+{
+ /**
+ * A {@link #getNodeVisitState(ArtifactReference)} for a node not yet seen in the walker.
+ */
+ public static final Integer UNSEEN = new Integer( 0 );
+
+ /**
+ * A {@link #getNodeVisitState(ArtifactReference)} for a node that is actively being processed,
+ * but not yet finished processing.
+ */
+ public static final Integer PROCESSING = new Integer( 1 );
+
+ /**
+ * A {@link #getNodeVisitState(ArtifactReference)} for a node that has been seen, and fully processed.
+ */
+ public static final Integer SEEN = new Integer( 2 );
+
+ /**
+ * For a provided node, get the current node visit state.
+ *
+ * @param node the node that you are interested in.
+ * @return the state of that node. (Can be {@link #UNSEEN}, {@link #PROCESSING}, or {@link #SEEN} )
+ */
+ public Integer getNodeVisitState( ArtifactReference artifact );
+
+ /**
+ * Get the predicate used to determine if the walker should traverse an edge (or not).
+ *
+ * @return the Predicate that returns true for edges that should be traversed.
+ */
+ public Predicate getEdgePredicate();
+
+ /**
+ * Set the predicate used for edge traversal
+ *
+ * @param edgePredicate the Predicate that returns true for edges that should be traversed.
+ */
+ public void setEdgePredicate( Predicate edgePredicate );
+
+ /**
+ * Visit every node and edge in the graph from the startNode.
+ *
+ * @param graph the graph to visit.
+ * @param startNode the node to start the visit on.
+ * @param visitor the visitor object to use during this visit.
+ */
+ public void visit( DependencyGraph graph, DependencyGraphNode startNode, DependencyGraphVisitor visitor );
+
+ /**
+ * Visit every node and edge in the entire graph.
+ *
+ * @param graph the graph to visit.
+ * @param visitor the visitor object to use during this visit.
+ */
+ public void visit( DependencyGraph graph, DependencyGraphVisitor visitor );
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkBreadthFirstSearch.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkBreadthFirstSearch.java
new file mode 100644
index 000000000..a9b0903e4
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkBreadthFirstSearch.java
@@ -0,0 +1,157 @@
+package org.apache.maven.archiva.dependency.graph.walk;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeDisabledPredicate;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * WalkBreadthFirstSearch
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class WalkBreadthFirstSearch
+ implements DependencyGraphWalker
+{
+ private Map nodeVisitStates = new HashMap();
+
+ private Predicate edgePredicate;
+
+ public WalkBreadthFirstSearch()
+ {
+ this.edgePredicate = NotPredicate.getInstance( new EdgeDisabledPredicate() );
+ }
+
+ public Predicate getEdgePredicate()
+ {
+ return this.edgePredicate;
+ }
+
+ public void setEdgePredicate( Predicate edgePredicate )
+ {
+ this.edgePredicate = edgePredicate;
+ }
+
+ public Integer getNodeVisitState( DependencyGraphNode node )
+ {
+ return (Integer) nodeVisitStates.get( node.getArtifact() );
+ }
+
+ public Integer getNodeVisitState( ArtifactReference artifact )
+ {
+ return (Integer) nodeVisitStates.get( artifact );
+ }
+
+ public void setNodeVisitState( DependencyGraphNode node, Integer state )
+ {
+ this.nodeVisitStates.put( node.getArtifact(), state );
+ }
+
+ public void setNodeVisitState( ArtifactReference artifact, Integer state )
+ {
+ this.nodeVisitStates.put( artifact, state );
+ }
+
+ private void visitEdge( DependencyGraph graph, DependencyGraphEdge e, DependencyGraphVisitor visitor )
+ {
+ visitor.discoverEdge( e );
+
+ DependencyGraphNode node = graph.getNode( e.getNodeTo() );
+
+ if ( getNodeVisitState( node ) == UNSEEN )
+ {
+ setNodeVisitState( node, PROCESSING );
+ }
+
+ visitor.finishEdge( e );
+ }
+
+ private void visitNode( DependencyGraph graph, DependencyGraphNode node, DependencyGraphVisitor visitor )
+ {
+ setNodeVisitState( node, PROCESSING );
+
+ visitor.discoverNode( node );
+
+ Iterator edges;
+ // First dive down edges.
+ edges = graph.getEdgesFrom( node ).iterator();
+ while ( edges.hasNext() )
+ {
+ DependencyGraphEdge e = (DependencyGraphEdge) edges.next();
+ if ( this.edgePredicate.evaluate( e ) )
+ {
+ visitEdge( graph, e, visitor );
+ }
+ }
+
+ // Next move down edges.
+ edges = graph.getEdgesFrom( node ).iterator();
+ while ( edges.hasNext() )
+ {
+ DependencyGraphEdge e = (DependencyGraphEdge) edges.next();
+
+ if ( this.edgePredicate.evaluate( e ) )
+ {
+ DependencyGraphNode nodeTo = graph.getNode( e.getNodeTo() );
+ Integer state = getNodeVisitState( nodeTo );
+ if ( ( state == UNSEEN ) || ( state == PROCESSING ) )
+ {
+ visitNode( graph, nodeTo, visitor );
+ }
+ }
+ }
+
+ visitor.finishNode( node );
+
+ setNodeVisitState( node, SEEN );
+ }
+
+ public void visit( DependencyGraph graph, DependencyGraphVisitor visitor )
+ {
+ visit( graph, graph.getRootNode(), visitor );
+ }
+
+ public void visit( DependencyGraph graph, DependencyGraphNode startNode, DependencyGraphVisitor visitor )
+ {
+ nodeVisitStates.clear();
+
+ Iterator nodes = graph.getNodes().iterator();
+ while ( nodes.hasNext() )
+ {
+ setNodeVisitState( (DependencyGraphNode) nodes.next(), UNSEEN );
+ }
+
+ visitor.discoverGraph( graph );
+
+ visitNode( graph, startNode, visitor );
+
+ visitor.finishGraph( graph );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkDepthFirstSearch.java b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkDepthFirstSearch.java
new file mode 100644
index 000000000..0387b57e6
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/main/java/org/apache/maven/archiva/dependency/graph/walk/WalkDepthFirstSearch.java
@@ -0,0 +1,145 @@
+package org.apache.maven.archiva.dependency.graph.walk;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeDisabledPredicate;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * Perform a walk of the graph using the DepthFirstSearch algorithm.
+ *
+ * NOTE: Default edgePredicate is to NOT traverse disabled edges.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class WalkDepthFirstSearch
+ implements DependencyGraphWalker
+{
+ private Map nodeVisitStates = new HashMap();
+
+ private Predicate edgePredicate;
+
+ public WalkDepthFirstSearch()
+ {
+ this.edgePredicate = NotPredicate.getInstance( new EdgeDisabledPredicate() );
+ }
+
+ public Predicate getEdgePredicate()
+ {
+ return this.edgePredicate;
+ }
+
+ public void setEdgePredicate( Predicate edgePredicate )
+ {
+ this.edgePredicate = edgePredicate;
+ }
+
+ public Integer getNodeVisitState( DependencyGraphNode node )
+ {
+ if ( node == null )
+ {
+ return SEEN;
+ }
+
+ return (Integer) nodeVisitStates.get( node.getArtifact() );
+ }
+
+ public Integer getNodeVisitState( ArtifactReference artifact )
+ {
+ return (Integer) nodeVisitStates.get( artifact );
+ }
+
+ public void setNodeVisitState( DependencyGraphNode node, Integer state )
+ {
+ this.nodeVisitStates.put( node.getArtifact(), state );
+ }
+
+ public void setNodeVisitState( ArtifactReference artifact, Integer state )
+ {
+ this.nodeVisitStates.put( artifact, state );
+ }
+
+ private void visitEdge( DependencyGraph graph, DependencyGraphEdge e, DependencyGraphVisitor visitor )
+ {
+ visitor.discoverEdge( e );
+
+ DependencyGraphNode node = graph.getNode( e.getNodeTo() );
+
+ if ( getNodeVisitState( node ) == UNSEEN )
+ {
+ visitNode( graph, node, visitor );
+ }
+
+ visitor.finishEdge( e );
+ }
+
+ private void visitNode( DependencyGraph graph, DependencyGraphNode node, DependencyGraphVisitor visitor )
+ {
+ setNodeVisitState( node, PROCESSING );
+
+ visitor.discoverNode( node );
+
+ Iterator edges = graph.getEdgesFrom( node ).iterator();
+ while ( edges.hasNext() )
+ {
+ DependencyGraphEdge e = (DependencyGraphEdge) edges.next();
+ if ( this.edgePredicate.evaluate( e ) )
+ {
+ visitEdge( graph, e, visitor );
+ }
+ }
+
+ visitor.finishNode( node );
+
+ setNodeVisitState( node, SEEN );
+ }
+
+ public void visit( DependencyGraph graph, DependencyGraphVisitor visitor )
+ {
+ visit( graph, graph.getRootNode(), visitor );
+ }
+
+ public void visit( DependencyGraph graph, DependencyGraphNode startNode, DependencyGraphVisitor visitor )
+ {
+ nodeVisitStates.clear();
+
+ Iterator nodes = graph.getNodes().iterator();
+ while ( nodes.hasNext() )
+ {
+ setNodeVisitState( (DependencyGraphNode) nodes.next(), UNSEEN );
+ }
+
+ visitor.discoverGraph( graph );
+
+ visitNode( graph, startNode, visitor );
+
+ visitor.finishGraph( graph );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java
new file mode 100644
index 000000000..c2d75d083
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java
@@ -0,0 +1,392 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.AndPredicate;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeExactScopePredicate;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeFromPredicate;
+import org.apache.maven.archiva.dependency.graph.functors.NodeFromParentPredicate;
+import org.apache.maven.archiva.dependency.graph.functors.NodePredicate;
+import org.apache.maven.archiva.dependency.graph.functors.ToKeyTransformer;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * AbstractDependencyGraphFactoryTestCase
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractDependencyGraphFactoryTestCase
+ extends PlexusTestCase
+{
+ public class ExpectedEdge
+ {
+ public String from;
+
+ public String to;
+
+ public ExpectedEdge( String from, String to )
+ {
+ this.from = from;
+ this.to = to;
+ }
+ }
+
+ public class GraphEdgePredicate
+ implements Predicate
+ {
+ private String edgeFrom;
+
+ private String edgeTo;
+
+ public GraphEdgePredicate( String edgeFrom, String edgeTo )
+ {
+ this.edgeFrom = edgeFrom;
+ this.edgeTo = edgeTo;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ String actualFrom = ArtifactReference.toKey( edge.getNodeFrom() );
+ String actualTo = ArtifactReference.toKey( edge.getNodeTo() );
+
+ satisfies = ( StringUtils.equals( edgeFrom, actualFrom ) && StringUtils.equals( edgeTo, actualTo ) );
+ }
+
+ return satisfies;
+ }
+ }
+
+ protected void assertDirectNodes( DependencyGraph graph, List expectedNodes, String scope )
+ {
+ Iterator it;
+ DependencyGraphNode rootNode = graph.getRootNode();
+ List rootEdges = graph.getEdgesFrom( rootNode );
+ List actualEdges = new ArrayList();
+
+ Predicate directDep = NotPredicate.getInstance( new NodeFromParentPredicate() );
+ Predicate scopedDirectDeps = AndPredicate.getInstance( new EdgeExactScopePredicate( scope ), directDep );
+ CollectionUtils.select( rootEdges, scopedDirectDeps, actualEdges );
+ // CollectionUtils.select( rootEdges, new EdgeExactScopePredicate( scope ), actualEdges );
+
+ if ( expectedNodes.size() != actualEdges.size() )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "Direct node.count with <" ).append( scope ).append( "> edges from [" );
+ sb.append( DependencyGraphKeys.toKey( rootNode.getArtifact() ) ).append( "]" ).append( " expected:<" );
+ sb.append( expectedNodes.size() ).append( "> but was:<" );
+ sb.append( actualEdges.size() ).append( ">" );
+
+ CollectionUtils.transform( actualEdges, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualEdges, expectedNodes );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodes, actualEdges );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ }
+
+ fail( sb.toString() );
+ }
+
+ it = actualEdges.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ String actualKey = DependencyGraphKeys.toKey( edge.getNodeTo() );
+ assertTrue( "Direct <" + scope + "> node To [" + actualKey + "] exists in expectedNodes.", expectedNodes
+ .contains( actualKey ) );
+ }
+ }
+
+ protected void assertEdges( DependencyGraph graph, List expectedEdges )
+ {
+ assertNotNull( "Graph.edges should never be null.", graph.getEdges() );
+ assertEquals( "Graph.edges.size()", expectedEdges.size(), graph.getEdges().size() );
+
+ Iterator it = expectedEdges.iterator();
+ while ( it.hasNext() )
+ {
+ ExpectedEdge expectedEdge = (ExpectedEdge) it.next();
+ Predicate edgePredicate = new GraphEdgePredicate( expectedEdge.from, expectedEdge.to );
+
+ DependencyGraphEdge edge = (DependencyGraphEdge) CollectionUtils.find( graph.getEdges(), edgePredicate );
+ if ( edge == null )
+ {
+ fail( "Unable to find expected edge from:<" + expectedEdge.from + "> to:<" + expectedEdge.to + ">" );
+ }
+ }
+ }
+
+ protected void assertGraph( DependencyGraph graph, String rootRefKey, List expectedNodeKeys )
+ {
+ assertNotNull( "Graph.nodes should never be null.", graph.getNodes() );
+ assertTrue( "Graph.nodes.size() should always be 1 or better.", graph.getNodes().size() >= 1 );
+
+ ArtifactReference rootRef = graph.getRootNode().getArtifact();
+ StringBuffer actualRootRef = new StringBuffer();
+ actualRootRef.append( rootRef.getGroupId() ).append( ":" );
+ actualRootRef.append( rootRef.getArtifactId() ).append( ":" );
+ actualRootRef.append( rootRef.getVersion() );
+
+ assertEquals( "Graph.root", rootRefKey, actualRootRef.toString() );
+
+ Iterator it;
+ List actualNodes = new ArrayList();
+
+ Predicate notRootNode = NotPredicate.getInstance( new NodePredicate( graph.getRootNode() ) );
+ CollectionUtils.select( graph.getNodes(), notRootNode, actualNodes );
+
+ boolean fail = false;
+ StringBuffer sb = new StringBuffer();
+
+ if ( expectedNodeKeys.size() != actualNodes.size() )
+ {
+ sb.append( "node.count expected:<" );
+ sb.append( expectedNodeKeys.size() ).append( "> but was:<" );
+ sb.append( actualNodes.size() ).append( ">" );
+ fail = true;
+ }
+
+ CollectionUtils.transform( actualNodes, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualNodes, expectedNodeKeys );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ fail = true;
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodeKeys, actualNodes );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ fail = true;
+ }
+
+ if( fail )
+ {
+ fail( sb.toString() );
+ }
+
+ /*
+ it = actualNodes.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+ assertNotNull( "Artifact reference in node should not be null.", node.getArtifact() );
+ String key = ArtifactReference.toKey( node.getArtifact() );
+ assertTrue( "Artifact reference [" + key + "] should be in expectedNodeKeys.", expectedNodeKeys
+ .contains( key ) );
+ }
+ */
+ }
+
+ protected void assertNodes( DependencyGraph graph, List expectedNodeKeys )
+ {
+ assertNotNull( "Graph.nodes should never be null.", graph.getNodes() );
+ assertTrue( "Graph.nodes.size() should always be 1 or better.", graph.getNodes().size() >= 1 );
+ // assertEquals( "Graph.nodes.size()", expectedNodeKeys.size(), graph.getNodes().size() );
+
+ Iterator it;
+ List actualNodes = new ArrayList();
+ actualNodes.addAll( graph.getNodes() );
+
+ if ( expectedNodeKeys.size() != actualNodes.size() )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "node.count expected:<" );
+ sb.append( expectedNodeKeys.size() ).append( "> but was:<" );
+ sb.append( actualNodes.size() ).append( ">" );
+
+ CollectionUtils.transform( actualNodes, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualNodes, expectedNodeKeys );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodeKeys, actualNodes );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ }
+
+ fail( sb.toString() );
+ }
+
+ it = graph.getNodes().iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+ assertNotNull( "Artifact reference in node should not be null.", node.getArtifact() );
+ String key = ArtifactReference.toKey( node.getArtifact() );
+ assertTrue( "Artifact reference [" + key + "] should be in expectedNodeKeys.", expectedNodeKeys
+ .contains( key ) );
+ }
+ }
+
+ protected void assertRootNode( DependencyGraph graph, String expectedKey )
+ {
+ DependencyGraphNode node = graph.getRootNode();
+
+ String actualKey = DependencyGraphKeys.toKey( node.getArtifact() );
+ assertEquals( "Root Node", expectedKey, actualKey );
+ }
+
+ protected void assertTransientNodes( DependencyGraph graph, List expectedNodes, String scope )
+ {
+ Iterator it;
+
+ // Gather up the transient nodes from the DependencyGraph.
+ List actualEdges = new ArrayList();
+
+ DependencyGraphNode rootNode = graph.getRootNode();
+
+ Predicate transientDep = NotPredicate.getInstance( new EdgeFromPredicate( rootNode.getArtifact() ) );
+ Predicate edgeByExactScope = new EdgeExactScopePredicate( scope );
+ Predicate transitiveEdgesByScopePredicate = AndPredicate.getInstance( transientDep, edgeByExactScope );
+
+ CollectionUtils.select( graph.getEdges(), transitiveEdgesByScopePredicate, actualEdges );
+
+ if ( expectedNodes.size() != actualEdges.size() )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "Transient node.count with <" ).append( scope ).append( "> edges from [" );
+ sb.append( DependencyGraphKeys.toKey( rootNode.getArtifact() ) ).append( "]" ).append( " expected:<" );
+ sb.append( expectedNodes.size() ).append( "> but was:<" );
+ sb.append( actualEdges.size() ).append( ">" );
+
+ CollectionUtils.transform( actualEdges, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualEdges, expectedNodes );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodes, actualEdges );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ }
+
+ fail( sb.toString() );
+ }
+
+ it = actualEdges.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ String actualKey = DependencyGraphKeys.toKey( edge.getNodeTo() );
+ assertTrue( "Transient Node To [" + actualKey + "] exists in expectedNodes.", expectedNodes
+ .contains( actualKey ) );
+ }
+ }
+
+ protected Dependency toDependency( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ assertEquals( "Dependency key [" + key + "] should be 5 parts.", 5, parts.length );
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( parts[0] );
+ dep.setArtifactId( parts[1] );
+ dep.setVersion( parts[2] );
+ dep.setClassifier( parts[3] );
+ dep.setType( parts[4] );
+
+ return dep;
+ }
+
+ protected ArchivaProjectModel toModel( String key, Dependency deps[] )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ assertEquals( "Dependency key [" + key + "] should be 3 parts.", 3, parts.length );
+
+ ArchivaProjectModel model = new ArchivaProjectModel();
+ model.setGroupId( parts[0] );
+ model.setArtifactId( parts[1] );
+ model.setVersion( parts[2] );
+ model.setOrigin( "testcase" );
+ model.setPackaging( "jar" );
+
+ if ( deps != null )
+ {
+ for ( int i = 0; i < deps.length; i++ )
+ {
+ Dependency dep = deps[i];
+ model.addDependency( dep );
+ }
+ }
+
+ return model;
+ }
+
+ protected VersionedReference toVersionedReference( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+ assertEquals( "Versioned Reference [" + key + "] part count.", 3, parts.length );
+
+ VersionedReference ref = new VersionedReference();
+ ref.setGroupId( parts[0] );
+ ref.setArtifactId( parts[1] );
+ ref.setVersion( parts[2] );
+ return ref;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java
new file mode 100644
index 000000000..e117da528
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java
@@ -0,0 +1,175 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.Exclusion;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AbstractMemoryRepository
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractMemoryRepository
+ implements MemoryRepository
+{
+ private Map modelMap = new HashMap();
+
+ public AbstractMemoryRepository()
+ {
+ initialize();
+ }
+
+ public void addModel( ArchivaProjectModel model )
+ {
+ String key = Keys.toKey( model );
+ modelMap.put( key, model );
+ }
+
+ public ArchivaProjectModel getProjectModel( String groupId, String artifactId, String version )
+ {
+ String key = Keys.toKey( groupId, artifactId, version );
+
+ return (ArchivaProjectModel) modelMap.get( key );
+ }
+
+ public abstract void initialize();
+
+ protected void addExclusion( Dependency dependency, String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 2 )
+ {
+ throw new IllegalArgumentException( "Exclusion key [" + key + "] should be 2 parts. (detected "
+ + parts.length + " instead)" );
+ }
+
+ Exclusion exclusion = new Exclusion();
+ exclusion.setGroupId( parts[0] );
+ exclusion.setArtifactId( parts[1] );
+
+ dependency.addExclusion( exclusion );
+ }
+
+ protected Dependency toDependency( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 5 )
+ {
+ throw new IllegalArgumentException( "Dependency key [" + key + "] should be 5 parts. (detected "
+ + parts.length + " instead)" );
+ }
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( parts[0] );
+ dep.setArtifactId( parts[1] );
+ dep.setVersion( parts[2] );
+ dep.setClassifier( parts[3] );
+ dep.setType( parts[4] );
+
+ return dep;
+ }
+
+ protected Dependency toDependency( String key, String scope )
+ {
+ Dependency dependency = toDependency( key );
+ dependency.setScope( scope );
+
+ return dependency;
+ }
+
+ protected ArchivaProjectModel toModel( String key )
+ {
+ return toModel( key, Collections.EMPTY_LIST );
+ }
+
+ protected ArchivaProjectModel toModel( String key, Dependency deps[] )
+ {
+ List depList = new ArrayList();
+
+ if ( deps != null )
+ {
+ depList.addAll( Arrays.asList( deps ) );
+ }
+
+ return toModel( key, depList );
+ }
+
+ protected ArchivaProjectModel toModel( String key, List deps )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 3 )
+ {
+ throw new IllegalArgumentException( "Project/Model key [" + key + "] should be 3 parts. (detected "
+ + parts.length + " instead)" );
+ }
+
+ ArchivaProjectModel model = new ArchivaProjectModel();
+ model.setGroupId( parts[0] );
+ model.setArtifactId( parts[1] );
+ model.setVersion( parts[2] );
+ model.setOrigin( "testcase" );
+ model.setPackaging( "jar" );
+
+ Iterator it = deps.iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+ model.addDependency( dep );
+ }
+
+ return model;
+ }
+
+ protected VersionedReference toParent( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 3 )
+ {
+ throw new IllegalArgumentException( "Parent key [" + key + "] should be 3 parts. (detected " + parts.length
+ + " instead)" );
+ }
+
+ VersionedReference ref = new VersionedReference();
+ ref.setGroupId( parts[0] );
+ ref.setArtifactId( parts[1] );
+ ref.setVersion( parts[2] );
+
+ return ref;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java
new file mode 100644
index 000000000..ba8eba0e0
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java
@@ -0,0 +1,51 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Utility class to aide IDE developers.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project.dependencies" );
+ //$JUnit-BEGIN$
+ suite.addTestSuite( ArchivaWebappDependencyGraphTest.class );
+ suite.addTestSuite( GraphvizDotTool.class );
+ suite.addTestSuite( DepManDeepVersionDependencyGraphTest.class );
+ suite.addTestSuite( SimpleDependencyGraphTest.class );
+ suite.addTestSuite( MavenProjectInfoReportsPluginDependencyGraphTest.class );
+ suite.addTestSuite( ArchivaCommonDependencyGraphTest.class );
+ suite.addTestSuite( WagonManagerDependencyGraphTest.class );
+ suite.addTestSuite( ContinuumStoreDependencyGraphTest.class );
+ suite.addTestSuite( ArchivaXmlToolsDependencyGraphTest.class );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java
new file mode 100644
index 000000000..26a598127
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java
@@ -0,0 +1,77 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ArchivaCommonDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaCommonDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new ArchivaCommonMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "commons-lang:commons-lang:2.2::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.4::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonMemoryRepository.java
new file mode 100644
index 000000000..c41474dfe
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonMemoryRepository.java
@@ -0,0 +1,3469 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * ArchivaCommonMemoryRepository
+ *
+ * MemoryRepository for testing <code>org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaCommonMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+ Dependency dep;
+
+ model = toModel( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT::plexus-application" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.7::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxen:jaxen:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8::plexus-service" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-cli:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "xmlunit:xmlunit:1.0::jar" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ model.addProperty( "maven.version", "2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT::plexus-application" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.7::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxen:jaxen:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8::plexus-service" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-cli:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "xmlunit:xmlunit:1.0::jar" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "maven.version", "2.0.5" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:5" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:3" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.3" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:4" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7" );
+ model.setParentProject( toParent( "plexus:plexus-containers:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-containers:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-utils:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.27::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.27" );
+ dep = toDependency( "com.jcraft:jzlib:1.0.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jzlib:1.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ addModel( model );
+
+ model = toModel( "jtidy:jtidy:4aug2000r7-dev" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.0.b2" );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-jetty-httpd:1.0-beta-1" );
+ model.setParentProject( toParent( "plexus:plexus-components:1.0" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-components:1.0" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-container-default:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "jetty:jetty:4.2.10" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.3" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.3" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.12" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.10" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.9" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jmock:jmock:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.11" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-model-converter:2.1" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model-v3:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "dom4j:dom4j:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:7" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model-v3:2.0" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-alpha-6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.24::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.24" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.4" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "jaxen:jaxen:1.0-FCS::jar" ) );
+ model.addDependency( toDependency( "saxpath:saxpath:1.0-FCS::jar" ) );
+ model.addDependency( toDependency( "msv:msv:20020414::jar" ) );
+ model.addDependency( toDependency( "relaxngDatatype:relaxngDatatype:20020414::jar" ) );
+ model.addDependency( toDependency( "isorelax:isorelax:20020414::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.3.1::jar", "test" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar", "test" ) );
+ model.addDependency( toDependency( "pull-parser:pull-parser:2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "saxpath:saxpath:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "msv:msv:20020414" );
+ addModel( model );
+
+ model = toModel( "relaxngDatatype:relaxngDatatype:20020414" );
+ addModel( model );
+
+ model = toModel( "isorelax:isorelax:20020414" );
+ addModel( model );
+
+ model = toModel( "junitperf:junitperf:1.8" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.0.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.3.1" );
+ addModel( model );
+
+ model = toModel( "pull-parser:pull-parser:2" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ dep = toDependency( "commons-logging:commons-logging:1.0.4::jar" );
+ addExclusion( dep, "logkit:logkit" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo2-api:2.0" );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar" ) );
+ dep = toDependency( "xerces:xerces:2.4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.4.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.4.0" );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-io:commons-io:1.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ dep = toDependency( "dom4j:dom4j:1.6.1::jar" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1::jar" );
+ addExclusion( dep, "jdom:jdom" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.6.1" );
+ dep = toDependency( "jaxme:jaxme-api:0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1-beta-6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:xsdlib:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:relaxngDatatype:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "pull-parser:pull-parser:2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "stax:stax-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "stax:stax-ri:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.5.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxme:jaxme-api:0.3" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1-beta-6" );
+ addModel( model );
+
+ model = toModel( "msv:xsdlib:20030807" );
+ addModel( model );
+
+ model = toModel( "msv:relaxngDatatype:20030807" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.3" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-ri:1.0" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.1" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1" );
+ model.addDependency( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.3.02::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xom:xom:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:1.0" );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "saxpath:saxpath:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xalan:xalan:2.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.0" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.0" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.02" );
+ addModel( model );
+
+ model = toModel( "xom:xom:1.0" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.6.0::jar" ) );
+ model.addDependency( toDependency( "com.ibm.icu:icu4j:2.6.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.6.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xml-apis" );
+ model.getRelocation().setArtifactId( "xml-apis" );
+ model.getRelocation().setVersion( "1.0.b2" );
+ addModel( model );
+
+ model = toModel( "com.ibm.icu:icu4j:2.6.1" );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-log4j12:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-api:1.2::jar" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.13::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-parent:1.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-api:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.13" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-providers-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-providers-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "net.sf.ehcache:ehcache:1.2.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "compile" ) );
+ dep = toDependency( "org.hibernate:hibernate:3.2.0.cr3::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "com.cenqua.clover:clover:1.3.13::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle-optional:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addProperty( "licenseFile", "${basedir}/tools/clover.license" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.4" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ dep = toDependency( "avalon-framework:avalon-framework:4.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.6" );
+ addModel( model );
+
+ model = toModel( "logkit:logkit:1.0.1" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.7" );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.1.3" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.2.0.cr3" );
+ addModel( model );
+
+ model = toModel( "net.sf.hibernate:hibernate:2.1.8" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.4" );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "nekohtml:nekohtml:0.9.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "rhino:js:1.5R4.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.2.1" );
+ addModel( model );
+
+ model = toModel( "nekohtml:nekohtml:0.9.1" );
+ model.addDependency( toDependency( "xerces:xerces:2.4.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "rhino:js:1.5R4.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.0.2" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.1" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.3" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.2" );
+ addModel( model );
+
+ model = toModel( "com.cenqua.clover:clover:1.3.13" );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle:4.1" );
+ model.addDependency( toDependency( "antlr:antlr:2.7.2::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "antlr:antlr:2.7.2" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-core:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle-optional:4.1" );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6.1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.4" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-simple:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-simple:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-api:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar", "test" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ addModel( model );
+
+ model = toModel( "commons-configuration:commons-configuration:1.3" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.3::jar" ) );
+ model.addDependency( toDependency( "commons-jxpath:commons-jxpath:1.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "servletapi:servletapi:2.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "spice:spice-jndikit:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.2.2::jar", "test" ) );
+ model.addDependency( toDependency( "dbunit:dbunit:2.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit-addons:junit-addons:1.4::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging-api:1.0.4" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.6" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-jxpath:commons-jxpath:1.2" );
+ model.addDependency( toDependency( "xerces:xerces:1.2.3::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8::jar" ) );
+ model.addDependency( toDependency( "ant:ant-optional:1.5.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:b9::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:1.2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.2" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8" );
+ addModel( model );
+
+ model = toModel( "ant:ant-optional:1.5.1" );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:b9" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.2.1" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.7.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4" );
+ addModel( model );
+
+ model = toModel( "spice:spice-jndikit:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.2.2" );
+ addModel( model );
+
+ model = toModel( "dbunit:dbunit:2.1" );
+ addModel( model );
+
+ model = toModel( "junit-addons:junit-addons:1.4" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-core:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ dep = toDependency( "jpox:jpox:1.1.1::jar", "test" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.3.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.1" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.1" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ dep = toDependency( "javax.security:jaas:1.0.01::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.sql:jdbc-stdext:2.0::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jpox:jpox-dbcp:1.1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.1" );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.8" );
+ addModel( model );
+
+ model = toModel( "javax.resource:connector:1.0" );
+ addModel( model );
+
+ model = toModel( "javax.security:jaas:1.0.01" );
+ addModel( model );
+
+ model = toModel( "javax.sql:jdbc-stdext:2.0" );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-dbcp:1.1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.2" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.3.0" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.7" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.7" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependency( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.7" );
+ addModel( model );
+
+ model = toModel( "javax.transaction:jta:1.0.1B" );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derby:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "xmlunit:xmlunit:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlunit:xmlunit:1.0" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derbytools:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-i18n:1.0-beta-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.lucene:lucene-core:2.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web-standalone:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addProperty( "archivaVersion", "1.0-alpha-2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-web-standalone:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "runtime" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:3.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "quartz:quartz:1.4.5::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.4.5" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.2" );
+ dep = toDependency( "log4j:log4j:1.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.1.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.woodstox:wstx-asl:3.2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.3.03::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addProperty( "security.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.5" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.5" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "net.java.dev.stax-utils:stax-utils:20060502" );
+ model.addDependency( toDependency( "com.bea.xml:jsr173-ri:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.bea.xml:jsr173-ri:1.0" );
+ model.addDependency( toDependency( "javax.xml:jsr173:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.xml:jsr173:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0.1" );
+ addModel( model );
+
+ model = toModel( "woodstox:wstx-asl:3.2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "org.codehaus.woodstox" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.0" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.0" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "stax:stax:1.1.1-dev" );
+ model.addDependency( toDependency( "xmlbeans:xmlbeans-jsr173-api:2.0-dev::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlbeans:xmlbeans-jsr173-api:2.0-dev" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.extremecomponents:extremecomponents:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-bean-collections:1.7.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "commons-logging:commons-logging-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.1.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.1.2" );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jsp-api:2.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.easymock:easymock:2.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.easymock:easymock:2.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork:1.2.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.rifers:rife-continuations:0.0.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:oscore:2.2.4::jar" ) );
+ model.addDependency( toDependency( "ognl:ognl:2.6.7::jar" ) );
+ dep = toDependency( "org.springframework:spring-core:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-aop:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.springframework:spring-mock:1.2.6::jar", "test" ) );
+ dep = toDependency( "cglib:cglib:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.rifers:rife-continuations:0.0.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:oscore:2.2.4" );
+ addModel( model );
+
+ model = toModel( "ognl:ognl:2.6.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-parent:1.2.6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate:3.0.5::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate-annotations:3.0beta2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ addExclusion( dep, "servletapi:servletapi" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "xdoclet:xjavadoc:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.3.2::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "jotm:jotm:2.0.10::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "c3p0:c3p0:0.9.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.experlog:xapool:1.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ dep = toDependency( "com.oracle.toplink:toplink:10.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "ojb:db-ojb:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jdo:jdo:2.0-20050809.1515::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis-sqlmap:1.3.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis2-sqlmap:2.1.5.582::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jms:jms:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.ejb:ejb:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.xml:jaxrpc-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-httpclient:commons-httpclient:3.0-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:burlap:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:hessian:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "ehcache:ehcache:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "quartz:quartz:1.5.1::jar" ) );
+ model.addDependencyManagement( toDependency( "com.servlets:cos:05Nov2002::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_RC2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-generic:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-view:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "poi:poi:2.5.1-final-20040804::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "itext:itext:1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sourceforge.jexcelapi:jxl:2.5.7::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.9" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1_3" );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-compiler:2.1" );
+ model.addDependency( toDependency( "commons-attributes:commons-attributes-api:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-api:2.1" );
+ model.addDependency( toDependency( "ant:ant:1.5::jar" ) );
+ model.addDependency( toDependency( "qdox:qdox:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.5" );
+ addModel( model );
+
+ model = toModel( "qdox:qdox:1.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.0.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate-annotations:3.0beta2" );
+ addModel( model );
+
+ model = toModel( "struts:struts:1.2.7" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.0.3" );
+ addModel( model );
+
+ model = toModel( "freemarker:freemarker:2.3.4" );
+ addModel( model );
+
+ model = toModel( "aopalliance:aopalliance:1.0" );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.8" );
+ addModel( model );
+
+ model = toModel( "com.jamonapi:jamon:1.0" );
+ addModel( model );
+
+ model = toModel( "xdoclet:xjavadoc:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.2" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity:1.4" );
+ model.addDependency( toDependency( "velocity:velocity-dep:1.4::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity-dep:1.4" );
+ addModel( model );
+
+ model = toModel( "jotm:jotm:2.0.10" );
+ addModel( model );
+
+ model = toModel( "c3p0:c3p0:0.9.0.2" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ dep = toDependency( "javax.sql:jdbc-stdext:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.experlog:xapool:1.5.0" );
+ addModel( model );
+
+ model = toModel( "com.oracle.toplink:toplink:10.1.3" );
+ addModel( model );
+
+ model = toModel( "ojb:db-ojb:1.0.3" );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo:2.0-20050809.1515" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis-sqlmap:1.3.1" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis2-sqlmap:2.1.5.582" );
+ addModel( model );
+
+ model = toModel( "javax.jms:jms:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.ejb:ejb:2.0" );
+ addModel( model );
+
+ model = toModel( "javax.xml:jaxrpc-api:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0-rc4" );
+ addModel( model );
+
+ model = toModel( "com.caucho:burlap:2.1.12" );
+ addModel( model );
+
+ model = toModel( "com.caucho:hessian:2.1.12" );
+ addModel( model );
+
+ model = toModel( "ehcache:ehcache:1.1" );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.5.1" );
+ addModel( model );
+
+ model = toModel( "com.servlets:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_RC2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.6" );
+ addModel( model );
+
+ model = toModel( "javax.faces:jsf-api:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-generic:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-view:1.1" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "itext:itext:1.3" );
+ addModel( model );
+
+ model = toModel( "net.sourceforge.jexcelapi:jxl:2.5.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-aop:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-beans:1.2.6::jar" ) );
+ model.addDependency( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xdoclet:xjavadoc:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-core:1.2.6::jar" ) );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.hibernate:hibernate:3.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-aop:1.2.6::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependency( toDependency( "org.springframework:spring-context:1.2.6::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.servlets:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ dep = toDependency( "org.springframework:spring-jdbc:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-jdbc:1.2.6" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1" );
+ model.addDependency( toDependency( "asm:asm:1.5.3::jar" ) );
+ model.addDependency( toDependency( "asm:asm-util:1.3.4::jar" ) );
+ model.addDependency( toDependency( "aspectwerkz:aspectwerkz-core:0.8.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "asm:asm:1.5.3" );
+ addModel( model );
+
+ model = toModel( "asm:asm-util:1.3.4" );
+ addModel( model );
+
+ model = toModel( "aspectwerkz:aspectwerkz-core:0.8.1" );
+ addModel( model );
+
+ model = toModel( "easymock:easymockclassextension:1.1" );
+ addModel( model );
+
+ model = toModel( "opensymphony:webwork:2.2.4" );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ dep = toDependency( "opensymphony:xwork-tiger:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "freemarker:freemarker:2.3.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "commons-lang:commons-lang:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "dwr:dwr:1.1-beta-3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity-tools:velocity-tools:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-fileupload:commons-fileupload:1.1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "servlets.com:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:pell-multipart:2.1.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:sitemesh:2.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jetty:org.mortbay.jetty:5.1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "eclipse:jdtcore:3.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jfree:jfreechart:1.0.0::jar" );
+ addExclusion( dep, "gnujaxp:gnujaxp" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-digester:commons-digester:1.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "portlet-api:portlet-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.pluto:pluto:1.0.1-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer-gems:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer-nanowar:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-core:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-mock:1.2::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.4-RC8::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "junit:junit:3.8.1::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock-cglib:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork-tiger:1.2.1" );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "dwr:dwr:1.1-beta-3" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-fileupload:commons-fileupload:1.1.1" );
+ addModel( model );
+
+ model = toModel( "servlets.com:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "opensymphony:pell-multipart:2.1.5" );
+ addModel( model );
+
+ model = toModel( "opensymphony:sitemesh:2.2.1" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.4" );
+ addModel( model );
+
+ model = toModel( "eclipse:jdtcore:3.1.0" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.1.0" );
+ addModel( model );
+
+ model = toModel( "jfree:jfreechart:1.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.7" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "portlet-api:portlet-api:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.pluto:pluto:1.0.1-rc4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer:1.2" );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer-gems:1.2" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer:1.0" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer-nanowar:1.0" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.4-RC8" );
+ addModel( model );
+
+ model = toModel( "jmock:jmock-cglib:1.0.1" );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar" ) );
+ model.addDependency( toDependency( "cglib:cglib-full:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "cglib:cglib-full:2.0" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar", "test" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-1::jar", "test" );
+ addExclusion( dep, "geronimo-spec:geronimo-spec-javamail" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.4" );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "dumbster:dumbster:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "dumbster:dumbster:1.5" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-core:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-java:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-factory:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1::jar" ) );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.1" );
+ addModel( model );
+
+ model = toModel( "org.extremecomponents:extremecomponents:1.0.1" );
+ dep = toDependency( "avalon-framework:avalon-framework:4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "batik:batik:1.5-fop-0.20-5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "fop:fop:0.20.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ dep = toDependency( "poi:poi:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.0.2::jar" ) );
+ dep = toDependency( "xalan:xalan:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xerces:xercesImpl:2.6.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.0" );
+ addModel( model );
+
+ model = toModel( "batik:batik:1.5-fop-0.20-5" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "fop:fop:0.20.5" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "poi" );
+ model.getRelocation().setArtifactId( "poi" );
+ model.getRelocation().setVersion( "2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.2" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.1" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-bean-collections:1.7.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.2" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.03" );
+ model.setParentProject( toParent( "org.apache:apache:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.1" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-model:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-web:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "it.could:webdav:0.4" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "mx4j:mx4j:3.0.1::jar" ) );
+ model.addDependency( toDependency( "mx4j:mx4j-remote:3.0.1::jar" ) );
+ model.addDependency( toDependency( "org.livetribe:livetribe-slp:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j:3.0.1" );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j-remote:3.0.1" );
+ addModel( model );
+
+ model = toModel( "org.livetribe:livetribe-slp:1.0.2" );
+ model.setParentProject( toParent( "org.livetribe:livetribe:1.0" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.livetribe:livetribe:1.0" );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:2.2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver-services:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "ant:ant:1.6.2::jar" ) );
+ model.addDependency( toDependency( "jetty:org.mortbay.jetty:5.1.10::jar" ) );
+ model.addDependency( toDependency( "tomcat:jasper-compiler:5.5.15::jar" ) );
+ model.addDependency( toDependency( "tomcat:jasper-runtime:5.5.15::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ dep = toDependency( "commons-el:commons-el:1.0::jar", "runtime" );
+ addExclusion( dep, "log4j:log4j" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ addExclusion( dep, "logkit:logkit" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jetty:org.mortbay.jetty.plus:5.1.10::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-services:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.2" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xerces-impl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.6.2" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.10" );
+ addModel( model );
+
+ model = toModel( "tomcat:jasper-compiler:5.5.15" );
+ model.setParentProject( toParent( "tomcat:tomcat-parent:5.5.15" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependency( toDependency( "ant:ant:1.6.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "tomcat:tomcat-parent:5.5.15" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.5" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "tomcat:jasper-runtime:5.5.15" );
+ model.setParentProject( toParent( "tomcat:tomcat-parent:5.5.15" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependency( toDependency( "commons-el:commons-el:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-el:commons-el:1.0" );
+ model.addDependency( toDependency( "servletapi:servletapi:2.4-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "jspapi:jsp-api:2.0-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4-20040521" );
+ addModel( model );
+
+ model = toModel( "jspapi:jsp-api:2.0-20040521" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty.plus:5.1.10" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-cli:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-tools:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ dep = toDependency( "commons-cli:commons-cli:1.0::jar" );
+ addExclusion( dep, "commons-lang:commons-lang" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-tools:1.0.8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-14" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-14" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.7-alpha-3" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.7-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-cli:commons-cli:1.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-config:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-config:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.4.1::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6.1::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.0.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.4.1" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.0" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0-b1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.0::jar" ) );
+ model.addDependency( toDependency( "jdbc:jdbc:2.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0-b1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.0" );
+ addModel( model );
+
+ model = toModel( "jdbc:jdbc:2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.sql" );
+ model.getRelocation().setArtifactId( "jdbc-stdext" );
+ model.getRelocation().setVersion( "2.0" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.0.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappDependencyGraphTest.java
new file mode 100644
index 000000000..b3bb2a1fa
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappDependencyGraphTest.java
@@ -0,0 +1,200 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ArchivaWebappDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaWebappDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new ArchivaWebappMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "ant:ant-optional:1.5.1::jar" );
+ expectedNodes.add( "backport-util-concurrent:backport-util-concurrent:3.0::jar" );
+ expectedNodes.add( "classworlds:classworlds:1.1::jar" );
+ expectedNodes.add( "commons-beanutils:commons-beanutils:1.7.0::jar" );
+ expectedNodes.add( "commons-beanutils:commons-beanutils-bean-collections:1.7.0::jar" );
+ expectedNodes.add( "commons-codec:commons-codec:1.3::jar" );
+ expectedNodes.add( "commons-collections:commons-collections:3.2::jar" );
+ expectedNodes.add( "commons-configuration:commons-configuration:1.3::jar" );
+ expectedNodes.add( "commons-digester:commons-digester:1.6::jar" );
+ expectedNodes.add( "commons-io:commons-io:1.2::jar" );
+ expectedNodes.add( "commons-jxpath:commons-jxpath:1.2::jar" );
+ expectedNodes.add( "commons-lang:commons-lang:2.2::jar" );
+ expectedNodes.add( "commons-logging:commons-logging:1.0.4::jar" );
+ expectedNodes.add( "commons-logging:commons-logging-api:1.0.4::jar" );
+ expectedNodes.add( "dom4j:dom4j:1.6.1::jar" );
+ expectedNodes.add( "freemarker:freemarker:2.3.4::jar" );
+ expectedNodes.add( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar" );
+ expectedNodes.add( "it.could:webdav:0.4::jar" );
+ expectedNodes.add( "javax.activation:activation:1.1::jar" );
+ expectedNodes.add( "javax.jdo:jdo2-api:2.0::jar" );
+ expectedNodes.add( "javax.mail:mail:1.4::jar" );
+ expectedNodes.add( "javax.resource:connector:1.0::jar" );
+ expectedNodes.add( "javax.servlet:jsp-api:2.0::jar" );
+ expectedNodes.add( "javax.servlet:jstl:1.1.2::jar" );
+ expectedNodes.add( "javax.servlet:servlet-api:2.4::jar" );
+ expectedNodes.add( "javax.transaction:jta:1.0.1B::jar" );
+ expectedNodes.add( "jaxen:jaxen:1.1::jar" );
+ expectedNodes.add( "jdom:jdom:1.0::jar" );
+ expectedNodes.add( "jpox:jpox:1.1.7::jar" );
+ expectedNodes.add( "jtidy:jtidy:4aug2000r7-dev::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "log4j:log4j:1.2.8::jar" );
+ expectedNodes.add( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ expectedNodes.add( "net.sf.ehcache:ehcache:1.2.4::jar" );
+ expectedNodes.add( "ognl:ognl:2.6.7::jar" );
+ expectedNodes.add( "opensymphony:oscore:2.2.4::jar" );
+ expectedNodes.add( "opensymphony:sitemesh:2.2.1::jar" );
+ expectedNodes.add( "opensymphony:webwork:2.2.4::jar" );
+ expectedNodes.add( "opensymphony:xwork:1.2.1::jar" );
+ expectedNodes.add( "org.apache.derby:derby:10.1.3.1::jar" );
+ expectedNodes.add( "org.apache.lucene:lucene-core:2.0.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-artifact:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven:maven-artifact-manager:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven:maven-model:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven:maven-profile:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven:maven-project:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven:maven-repository-metadata:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven:maven-settings:2.0.5::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" );
+ expectedNodes.add( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-digest:1.1::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.4::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" );
+ expectedNodes.add( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.codehaus.woodstox:wstx-asl:3.2.1::jar" );
+ expectedNodes.add( "org.extremecomponents:extremecomponents:1.0.1::jar" );
+ expectedNodes.add( "org.rifers:rife-continuations:0.0.2::jar" );
+ expectedNodes.add( "org.slf4j:slf4j-api:1.2::jar" );
+ expectedNodes.add( "org.slf4j:slf4j-log4j12:1.2::jar" );
+ expectedNodes.add( "org.slf4j:slf4j-simple:1.2::jar" );
+ expectedNodes.add( "quartz:quartz:1.4.5::jar" );
+ expectedNodes.add( "stax:stax-api:1.0.1::jar" );
+ expectedNodes.add( "taglibs:standard:1.1.2::jar" );
+ expectedNodes.add( "velocity:velocity:1.4::jar" );
+ expectedNodes.add( "velocity:velocity-dep:1.4::jar" );
+ expectedNodes.add( "xerces:xercesImpl:2.6.2::jar" );
+ expectedNodes.add( "xml-apis:xml-apis:1.3.03::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappMemoryRepository.java
new file mode 100644
index 000000000..ab19663bb
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaWebappMemoryRepository.java
@@ -0,0 +1,3469 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * ArchivaWebappMemoryRepository
+ *
+ * MemoryRepository for testing <code>org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaWebappMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+ Dependency dep;
+
+ model = toModel( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "runtime" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT::plexus-application" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.7::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxen:jaxen:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8::plexus-service" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-cli:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "xmlunit:xmlunit:1.0::jar" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ model.addProperty( "maven.version", "2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT::plexus-application" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.7::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxen:jaxen:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8::plexus-service" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-cli:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "xmlunit:xmlunit:1.0::jar" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "maven.version", "2.0.5" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:5" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:3" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.3" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:4" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7" );
+ model.setParentProject( toParent( "plexus:plexus-containers:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-containers:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-utils:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.27::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.27" );
+ dep = toDependency( "com.jcraft:jzlib:1.0.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jzlib:1.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ addModel( model );
+
+ model = toModel( "jtidy:jtidy:4aug2000r7-dev" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.0.b2" );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-jetty-httpd:1.0-beta-1" );
+ model.setParentProject( toParent( "plexus:plexus-components:1.0" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-components:1.0" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-container-default:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "jetty:jetty:4.2.10" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.3" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.3" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.12" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.10" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.9" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jmock:jmock:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.11" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-model-converter:2.1" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model-v3:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "dom4j:dom4j:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:7" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model-v3:2.0" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-alpha-6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.24::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.24" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.4" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "jaxen:jaxen:1.0-FCS::jar" ) );
+ model.addDependency( toDependency( "saxpath:saxpath:1.0-FCS::jar" ) );
+ model.addDependency( toDependency( "msv:msv:20020414::jar" ) );
+ model.addDependency( toDependency( "relaxngDatatype:relaxngDatatype:20020414::jar" ) );
+ model.addDependency( toDependency( "isorelax:isorelax:20020414::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.3.1::jar", "test" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar", "test" ) );
+ model.addDependency( toDependency( "pull-parser:pull-parser:2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "saxpath:saxpath:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "msv:msv:20020414" );
+ addModel( model );
+
+ model = toModel( "relaxngDatatype:relaxngDatatype:20020414" );
+ addModel( model );
+
+ model = toModel( "isorelax:isorelax:20020414" );
+ addModel( model );
+
+ model = toModel( "junitperf:junitperf:1.8" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.0.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.3.1" );
+ addModel( model );
+
+ model = toModel( "pull-parser:pull-parser:2" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ dep = toDependency( "commons-logging:commons-logging:1.0.4::jar" );
+ addExclusion( dep, "logkit:logkit" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo2-api:2.0" );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar" ) );
+ dep = toDependency( "xerces:xerces:2.4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.4.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.4.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-io:commons-io:1.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ dep = toDependency( "dom4j:dom4j:1.6.1::jar" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1::jar" );
+ addExclusion( dep, "jdom:jdom" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.6.1" );
+ dep = toDependency( "jaxme:jaxme-api:0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1-beta-6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:xsdlib:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:relaxngDatatype:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "pull-parser:pull-parser:2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "stax:stax-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "stax:stax-ri:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.5.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxme:jaxme-api:0.3" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1-beta-6" );
+ addModel( model );
+
+ model = toModel( "msv:xsdlib:20030807" );
+ addModel( model );
+
+ model = toModel( "msv:relaxngDatatype:20030807" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.3" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-ri:1.0" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.1" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1" );
+ model.addDependency( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.3.02::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xom:xom:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:1.0" );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "saxpath:saxpath:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xalan:xalan:2.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.0" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.0" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.02" );
+ addModel( model );
+
+ model = toModel( "xom:xom:1.0" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.6.0::jar" ) );
+ model.addDependency( toDependency( "com.ibm.icu:icu4j:2.6.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.6.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xml-apis" );
+ model.getRelocation().setArtifactId( "xml-apis" );
+ model.getRelocation().setVersion( "1.0.b2" );
+ addModel( model );
+
+ model = toModel( "com.ibm.icu:icu4j:2.6.1" );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-log4j12:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-api:1.2::jar" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.13::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-parent:1.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-api:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.13" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-providers-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-providers-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "net.sf.ehcache:ehcache:1.2.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "compile" ) );
+ dep = toDependency( "org.hibernate:hibernate:3.2.0.cr3::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "com.cenqua.clover:clover:1.3.13::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle-optional:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addProperty( "licenseFile", "${basedir}/tools/clover.license" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.4" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ dep = toDependency( "avalon-framework:avalon-framework:4.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.6" );
+ addModel( model );
+
+ model = toModel( "logkit:logkit:1.0.1" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.7" );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.1.3" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.2.0.cr3" );
+ addModel( model );
+
+ model = toModel( "net.sf.hibernate:hibernate:2.1.8" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.4" );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "nekohtml:nekohtml:0.9.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "rhino:js:1.5R4.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.2.1" );
+ addModel( model );
+
+ model = toModel( "nekohtml:nekohtml:0.9.1" );
+ model.addDependency( toDependency( "xerces:xerces:2.4.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "rhino:js:1.5R4.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.0.2" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.1" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.3" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.2" );
+ addModel( model );
+
+ model = toModel( "com.cenqua.clover:clover:1.3.13" );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle:4.1" );
+ model.addDependency( toDependency( "antlr:antlr:2.7.2::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "antlr:antlr:2.7.2" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-core:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle-optional:4.1" );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6.1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.4" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-simple:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4" );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-simple:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-api:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar", "test" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ addModel( model );
+
+ model = toModel( "commons-configuration:commons-configuration:1.3" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.3::jar" ) );
+ model.addDependency( toDependency( "commons-jxpath:commons-jxpath:1.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "servletapi:servletapi:2.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "spice:spice-jndikit:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.2.2::jar", "test" ) );
+ model.addDependency( toDependency( "dbunit:dbunit:2.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit-addons:junit-addons:1.4::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging-api:1.0.4" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.6" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-jxpath:commons-jxpath:1.2" );
+ model.addDependency( toDependency( "xerces:xerces:1.2.3::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8::jar" ) );
+ model.addDependency( toDependency( "ant:ant-optional:1.5.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:b9::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:1.2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.2" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8" );
+ addModel( model );
+
+ model = toModel( "ant:ant-optional:1.5.1" );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:b9" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.2.1" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.7.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4" );
+ addModel( model );
+
+ model = toModel( "spice:spice-jndikit:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.2.2" );
+ addModel( model );
+
+ model = toModel( "dbunit:dbunit:2.1" );
+ addModel( model );
+
+ model = toModel( "junit-addons:junit-addons:1.4" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-core:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ dep = toDependency( "jpox:jpox:1.1.1::jar", "test" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.3.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.1" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.1" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ dep = toDependency( "javax.security:jaas:1.0.01::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.sql:jdbc-stdext:2.0::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jpox:jpox-dbcp:1.1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.1" );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.8" );
+ addModel( model );
+
+ model = toModel( "javax.resource:connector:1.0" );
+ addModel( model );
+
+ model = toModel( "javax.security:jaas:1.0.01" );
+ addModel( model );
+
+ model = toModel( "javax.sql:jdbc-stdext:2.0" );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-dbcp:1.1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.2" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.3.0" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.7" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.7" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependency( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.7" );
+ addModel( model );
+
+ model = toModel( "javax.transaction:jta:1.0.1B" );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derby:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "xmlunit:xmlunit:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlunit:xmlunit:1.0" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derbytools:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-i18n:1.0-beta-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.lucene:lucene-core:2.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web-standalone:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addProperty( "archivaVersion", "1.0-alpha-2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-web-standalone:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:3.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "quartz:quartz:1.4.5::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.4.5" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.2" );
+ dep = toDependency( "log4j:log4j:1.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.1.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.woodstox:wstx-asl:3.2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.3.03::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addProperty( "security.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.5" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.5" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "net.java.dev.stax-utils:stax-utils:20060502" );
+ model.addDependency( toDependency( "com.bea.xml:jsr173-ri:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.bea.xml:jsr173-ri:1.0" );
+ model.addDependency( toDependency( "javax.xml:jsr173:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.xml:jsr173:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0.1" );
+ addModel( model );
+
+ model = toModel( "woodstox:wstx-asl:3.2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "org.codehaus.woodstox" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.0" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.0" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "stax:stax:1.1.1-dev" );
+ model.addDependency( toDependency( "xmlbeans:xmlbeans-jsr173-api:2.0-dev::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlbeans:xmlbeans-jsr173-api:2.0-dev" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.extremecomponents:extremecomponents:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-bean-collections:1.7.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "commons-logging:commons-logging-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.1.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.1.2" );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jsp-api:2.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.easymock:easymock:2.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.easymock:easymock:2.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork:1.2.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.rifers:rife-continuations:0.0.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:oscore:2.2.4::jar" ) );
+ model.addDependency( toDependency( "ognl:ognl:2.6.7::jar" ) );
+ dep = toDependency( "org.springframework:spring-core:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-aop:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.springframework:spring-mock:1.2.6::jar", "test" ) );
+ dep = toDependency( "cglib:cglib:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.rifers:rife-continuations:0.0.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:oscore:2.2.4" );
+ addModel( model );
+
+ model = toModel( "ognl:ognl:2.6.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-parent:1.2.6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate:3.0.5::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate-annotations:3.0beta2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ addExclusion( dep, "servletapi:servletapi" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "xdoclet:xjavadoc:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.3.2::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "jotm:jotm:2.0.10::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "c3p0:c3p0:0.9.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.experlog:xapool:1.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ dep = toDependency( "com.oracle.toplink:toplink:10.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "ojb:db-ojb:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jdo:jdo:2.0-20050809.1515::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis-sqlmap:1.3.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis2-sqlmap:2.1.5.582::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jms:jms:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.ejb:ejb:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.xml:jaxrpc-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-httpclient:commons-httpclient:3.0-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:burlap:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:hessian:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "ehcache:ehcache:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "quartz:quartz:1.5.1::jar" ) );
+ model.addDependencyManagement( toDependency( "com.servlets:cos:05Nov2002::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_RC2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-generic:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-view:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "poi:poi:2.5.1-final-20040804::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "itext:itext:1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sourceforge.jexcelapi:jxl:2.5.7::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.9" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1_3" );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-compiler:2.1" );
+ model.addDependency( toDependency( "commons-attributes:commons-attributes-api:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-api:2.1" );
+ model.addDependency( toDependency( "ant:ant:1.5::jar" ) );
+ model.addDependency( toDependency( "qdox:qdox:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.5" );
+ addModel( model );
+
+ model = toModel( "qdox:qdox:1.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.0.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate-annotations:3.0beta2" );
+ addModel( model );
+
+ model = toModel( "struts:struts:1.2.7" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.0.3" );
+ addModel( model );
+
+ model = toModel( "freemarker:freemarker:2.3.4" );
+ addModel( model );
+
+ model = toModel( "aopalliance:aopalliance:1.0" );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.8" );
+ addModel( model );
+
+ model = toModel( "com.jamonapi:jamon:1.0" );
+ addModel( model );
+
+ model = toModel( "xdoclet:xjavadoc:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.2" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity:1.4" );
+ model.addDependency( toDependency( "velocity:velocity-dep:1.4::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity-dep:1.4" );
+ addModel( model );
+
+ model = toModel( "jotm:jotm:2.0.10" );
+ addModel( model );
+
+ model = toModel( "c3p0:c3p0:0.9.0.2" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ dep = toDependency( "javax.sql:jdbc-stdext:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.experlog:xapool:1.5.0" );
+ addModel( model );
+
+ model = toModel( "com.oracle.toplink:toplink:10.1.3" );
+ addModel( model );
+
+ model = toModel( "ojb:db-ojb:1.0.3" );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo:2.0-20050809.1515" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis-sqlmap:1.3.1" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis2-sqlmap:2.1.5.582" );
+ addModel( model );
+
+ model = toModel( "javax.jms:jms:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.ejb:ejb:2.0" );
+ addModel( model );
+
+ model = toModel( "javax.xml:jaxrpc-api:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0-rc4" );
+ addModel( model );
+
+ model = toModel( "com.caucho:burlap:2.1.12" );
+ addModel( model );
+
+ model = toModel( "com.caucho:hessian:2.1.12" );
+ addModel( model );
+
+ model = toModel( "ehcache:ehcache:1.1" );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.5.1" );
+ addModel( model );
+
+ model = toModel( "com.servlets:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_RC2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.6" );
+ addModel( model );
+
+ model = toModel( "javax.faces:jsf-api:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-generic:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-view:1.1" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "itext:itext:1.3" );
+ addModel( model );
+
+ model = toModel( "net.sourceforge.jexcelapi:jxl:2.5.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-aop:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-beans:1.2.6::jar" ) );
+ model.addDependency( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xdoclet:xjavadoc:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-core:1.2.6::jar" ) );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.hibernate:hibernate:3.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-aop:1.2.6::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependency( toDependency( "org.springframework:spring-context:1.2.6::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.servlets:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ dep = toDependency( "org.springframework:spring-jdbc:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-jdbc:1.2.6" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1" );
+ model.addDependency( toDependency( "asm:asm:1.5.3::jar" ) );
+ model.addDependency( toDependency( "asm:asm-util:1.3.4::jar" ) );
+ model.addDependency( toDependency( "aspectwerkz:aspectwerkz-core:0.8.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "asm:asm:1.5.3" );
+ addModel( model );
+
+ model = toModel( "asm:asm-util:1.3.4" );
+ addModel( model );
+
+ model = toModel( "aspectwerkz:aspectwerkz-core:0.8.1" );
+ addModel( model );
+
+ model = toModel( "easymock:easymockclassextension:1.1" );
+ addModel( model );
+
+ model = toModel( "opensymphony:webwork:2.2.4" );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ dep = toDependency( "opensymphony:xwork-tiger:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "freemarker:freemarker:2.3.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "commons-lang:commons-lang:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "dwr:dwr:1.1-beta-3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity-tools:velocity-tools:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-fileupload:commons-fileupload:1.1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "servlets.com:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:pell-multipart:2.1.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:sitemesh:2.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jetty:org.mortbay.jetty:5.1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "eclipse:jdtcore:3.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jfree:jfreechart:1.0.0::jar" );
+ addExclusion( dep, "gnujaxp:gnujaxp" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-digester:commons-digester:1.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "portlet-api:portlet-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.pluto:pluto:1.0.1-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer-gems:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer-nanowar:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-core:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-mock:1.2::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.4-RC8::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "junit:junit:3.8.1::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock-cglib:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork-tiger:1.2.1" );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "dwr:dwr:1.1-beta-3" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-fileupload:commons-fileupload:1.1.1" );
+ addModel( model );
+
+ model = toModel( "servlets.com:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "opensymphony:pell-multipart:2.1.5" );
+ addModel( model );
+
+ model = toModel( "opensymphony:sitemesh:2.2.1" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.4" );
+ addModel( model );
+
+ model = toModel( "eclipse:jdtcore:3.1.0" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.1.0" );
+ addModel( model );
+
+ model = toModel( "jfree:jfreechart:1.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.7" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "portlet-api:portlet-api:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.pluto:pluto:1.0.1-rc4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer:1.2" );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer-gems:1.2" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer:1.0" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer-nanowar:1.0" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.4-RC8" );
+ addModel( model );
+
+ model = toModel( "jmock:jmock-cglib:1.0.1" );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar" ) );
+ model.addDependency( toDependency( "cglib:cglib-full:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "cglib:cglib-full:2.0" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar", "test" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-1::jar", "test" );
+ addExclusion( dep, "geronimo-spec:geronimo-spec-javamail" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.4" );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "dumbster:dumbster:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "dumbster:dumbster:1.5" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-core:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-java:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-factory:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1::jar" ) );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.1" );
+ addModel( model );
+
+ model = toModel( "org.extremecomponents:extremecomponents:1.0.1" );
+ dep = toDependency( "avalon-framework:avalon-framework:4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "batik:batik:1.5-fop-0.20-5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "fop:fop:0.20.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ dep = toDependency( "poi:poi:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.0.2::jar" ) );
+ dep = toDependency( "xalan:xalan:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xerces:xercesImpl:2.6.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.0" );
+ addModel( model );
+
+ model = toModel( "batik:batik:1.5-fop-0.20-5" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "fop:fop:0.20.5" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "poi" );
+ model.getRelocation().setArtifactId( "poi" );
+ model.getRelocation().setVersion( "2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.2" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.1" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-bean-collections:1.7.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.2" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.03" );
+ model.setParentProject( toParent( "org.apache:apache:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.1" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-model:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-web:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "mx4j:mx4j:3.0.1::jar" ) );
+ model.addDependency( toDependency( "mx4j:mx4j-remote:3.0.1::jar" ) );
+ model.addDependency( toDependency( "org.livetribe:livetribe-slp:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j:3.0.1" );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j-remote:3.0.1" );
+ addModel( model );
+
+ model = toModel( "org.livetribe:livetribe-slp:1.0.2" );
+ model.setParentProject( toParent( "org.livetribe:livetribe:1.0" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.livetribe:livetribe:1.0" );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:2.2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver-services:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "ant:ant:1.6.2::jar" ) );
+ model.addDependency( toDependency( "jetty:org.mortbay.jetty:5.1.10::jar" ) );
+ model.addDependency( toDependency( "tomcat:jasper-compiler:5.5.15::jar" ) );
+ model.addDependency( toDependency( "tomcat:jasper-runtime:5.5.15::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ dep = toDependency( "commons-el:commons-el:1.0::jar", "runtime" );
+ addExclusion( dep, "log4j:log4j" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ addExclusion( dep, "logkit:logkit" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jetty:org.mortbay.jetty.plus:5.1.10::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-services:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.2" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xerces-impl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.6.2" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.10" );
+ addModel( model );
+
+ model = toModel( "tomcat:jasper-compiler:5.5.15" );
+ model.setParentProject( toParent( "tomcat:tomcat-parent:5.5.15" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependency( toDependency( "ant:ant:1.6.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "tomcat:tomcat-parent:5.5.15" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.5" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "tomcat:jasper-runtime:5.5.15" );
+ model.setParentProject( toParent( "tomcat:tomcat-parent:5.5.15" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependency( toDependency( "commons-el:commons-el:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-el:commons-el:1.0" );
+ model.addDependency( toDependency( "servletapi:servletapi:2.4-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "jspapi:jsp-api:2.0-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4-20040521" );
+ addModel( model );
+
+ model = toModel( "jspapi:jsp-api:2.0-20040521" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty.plus:5.1.10" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-cli:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-tools:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ dep = toDependency( "commons-cli:commons-cli:1.0::jar" );
+ addExclusion( dep, "commons-lang:commons-lang" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-tools:1.0.8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-14" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-14" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.7-alpha-3" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.7-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-cli:commons-cli:1.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-config:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-config:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.4.1::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6.1::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.0.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.4.1" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.0" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0-b1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.0::jar" ) );
+ model.addDependency( toDependency( "jdbc:jdbc:2.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0-b1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.0" );
+ addModel( model );
+
+ model = toModel( "jdbc:jdbc:2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.sql" );
+ model.getRelocation().setArtifactId( "jdbc-stdext" );
+ model.getRelocation().setVersion( "2.0" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.0.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "it.could:webdav:0.4" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsDependencyGraphTest.java
new file mode 100644
index 000000000..6733b8900
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsDependencyGraphTest.java
@@ -0,0 +1,86 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ArchivaXmlToolsDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaXmlToolsDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new ArchivaXmlToolsMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "commons-collections:commons-collections:3.2::jar" );
+ expectedNodes.add( "commons-lang:commons-lang:2.2::jar" );
+ expectedNodes.add( "dom4j:dom4j:1.6.1::jar" );
+ expectedNodes.add( "jaxen:jaxen:1.1::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "log4j:log4j:1.2.8::jar" );
+ expectedNodes.add( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.4::jar" );
+ expectedNodes.add( "org.slf4j:slf4j-api:1.2::jar" );
+ expectedNodes.add( "org.slf4j:slf4j-log4j12:1.2::jar" );
+ expectedNodes.add( "xerces:xercesImpl:2.6.2::jar" );
+ expectedNodes.add( "xml-apis:xml-apis:1.0.b2::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsMemoryRepository.java
new file mode 100644
index 000000000..3fd53ce76
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaXmlToolsMemoryRepository.java
@@ -0,0 +1,3469 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * ArchivaXmlToolsMemoryRepository
+ *
+ * MemoryRepository for testing <code>org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaXmlToolsMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+ Dependency dep;
+
+ model = toModel( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ dep = toDependency( "dom4j:dom4j:1.6.1::jar" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1::jar" );
+ addExclusion( dep, "jdom:jdom" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT::plexus-application" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.7::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxen:jaxen:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8::plexus-service" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-cli:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "xmlunit:xmlunit:1.0::jar" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ model.addProperty( "maven.version", "2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT::plexus-application" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.7::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxen:jaxen:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8::plexus-service" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-cli:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependencyManagement( toDependency( "xmlunit:xmlunit:1.0::jar" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "maven.version", "2.0.5" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:5" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:3" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.3" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:4" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7" );
+ model.setParentProject( toParent( "plexus:plexus-containers:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-containers:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-utils:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.27::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.27" );
+ dep = toDependency( "com.jcraft:jzlib:1.0.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jzlib:1.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ addModel( model );
+
+ model = toModel( "jtidy:jtidy:4aug2000r7-dev" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.0.b2" );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-jetty-httpd:1.0-beta-1" );
+ model.setParentProject( toParent( "plexus:plexus-components:1.0" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-components:1.0" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-container-default:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "jetty:jetty:4.2.10" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.3" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.3" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-transaction:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.12" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.10" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.9" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jmock:jmock:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.11" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-model-converter:2.1" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model-v3:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "dom4j:dom4j:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:7" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model-v3:2.0" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-alpha-6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.24::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.24" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.4" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "jaxen:jaxen:1.0-FCS::jar" ) );
+ model.addDependency( toDependency( "saxpath:saxpath:1.0-FCS::jar" ) );
+ model.addDependency( toDependency( "msv:msv:20020414::jar" ) );
+ model.addDependency( toDependency( "relaxngDatatype:relaxngDatatype:20020414::jar" ) );
+ model.addDependency( toDependency( "isorelax:isorelax:20020414::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.3.1::jar", "test" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar", "test" ) );
+ model.addDependency( toDependency( "pull-parser:pull-parser:2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "saxpath:saxpath:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "msv:msv:20020414" );
+ addModel( model );
+
+ model = toModel( "relaxngDatatype:relaxngDatatype:20020414" );
+ addModel( model );
+
+ model = toModel( "isorelax:isorelax:20020414" );
+ addModel( model );
+
+ model = toModel( "junitperf:junitperf:1.8" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.0.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.3.1" );
+ addModel( model );
+
+ model = toModel( "pull-parser:pull-parser:2" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-reporting:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ dep = toDependency( "commons-logging:commons-logging:1.0.4::jar" );
+ addExclusion( dep, "logkit:logkit" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derbytools:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-22" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo2-api:2.0" );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar" ) );
+ dep = toDependency( "xerces:xerces:2.4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.4.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.4.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-io:commons-io:1.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-policies:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-providers-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-providers-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.cache:plexus-cache-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.cache:plexus-cache-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "net.sf.ehcache:ehcache:1.2.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "compile" ) );
+ dep = toDependency( "org.hibernate:hibernate:3.2.0.cr3::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "com.cenqua.clover:clover:1.3.13::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle-optional:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addProperty( "licenseFile", "${basedir}/tools/clover.license" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.4" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ dep = toDependency( "avalon-framework:avalon-framework:4.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.6" );
+ addModel( model );
+
+ model = toModel( "logkit:logkit:1.0.1" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.7" );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.1.3" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.2.0.cr3" );
+ addModel( model );
+
+ model = toModel( "net.sf.hibernate:hibernate:2.1.8" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.4" );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "nekohtml:nekohtml:0.9.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "rhino:js:1.5R4.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.2.1" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "nekohtml:nekohtml:0.9.1" );
+ model.addDependency( toDependency( "xerces:xerces:2.4.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "rhino:js:1.5R4.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.0.2" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.1" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.3" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.2" );
+ addModel( model );
+
+ model = toModel( "com.cenqua.clover:clover:1.3.13" );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle:4.1" );
+ model.addDependency( toDependency( "antlr:antlr:2.7.2::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "antlr:antlr:2.7.2" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-core:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle-optional:4.1" );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6.1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.4" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-simple:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0.4" );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-simple:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-api:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-parent:1.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-api:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-log4j12:1.2" );
+ model.setParentProject( toParent( "org.slf4j:slf4j-parent:1.2" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-api:1.2::jar" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.13::jar" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.13" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar", "test" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ addModel( model );
+
+ model = toModel( "commons-configuration:commons-configuration:1.3" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.3::jar" ) );
+ model.addDependency( toDependency( "commons-jxpath:commons-jxpath:1.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "servletapi:servletapi:2.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "spice:spice-jndikit:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.2.2::jar", "test" ) );
+ model.addDependency( toDependency( "dbunit:dbunit:2.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit-addons:junit-addons:1.4::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging-api:1.0.4" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.6" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-jxpath:commons-jxpath:1.2" );
+ model.addDependency( toDependency( "xerces:xerces:1.2.3::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8::jar" ) );
+ model.addDependency( toDependency( "ant:ant-optional:1.5.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:b9::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:1.2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.2" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8" );
+ addModel( model );
+
+ model = toModel( "ant:ant-optional:1.5.1" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xml-apis" );
+ model.getRelocation().setArtifactId( "xml-apis" );
+ model.getRelocation().setVersion( "1.0.b2" );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:b9" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.2.1" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.7.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.0" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4" );
+ addModel( model );
+
+ model = toModel( "spice:spice-jndikit:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.2.2" );
+ addModel( model );
+
+ model = toModel( "dbunit:dbunit:2.1" );
+ addModel( model );
+
+ model = toModel( "junit-addons:junit-addons:1.4" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-core:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ dep = toDependency( "jpox:jpox:1.1.1::jar", "test" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.3.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.1" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.1" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ dep = toDependency( "javax.security:jaas:1.0.01::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.sql:jdbc-stdext:2.0::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jpox:jpox-dbcp:1.1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.1" );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.8" );
+ addModel( model );
+
+ model = toModel( "javax.resource:connector:1.0" );
+ addModel( model );
+
+ model = toModel( "javax.security:jaas:1.0.01" );
+ addModel( model );
+
+ model = toModel( "javax.sql:jdbc-stdext:2.0" );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-dbcp:1.1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.2" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.3.0" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.7" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.7" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependency( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.7" );
+ addModel( model );
+
+ model = toModel( "javax.transaction:jta:1.0.1B" );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derby:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "xmlunit:xmlunit:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlunit:xmlunit:1.0" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derbytools:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-converter:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-artifact-converter:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-model-converter:2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-i18n:1.0-beta-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-core:1.0-alpha-2-SNAPSHOT-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-artifact-reports:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-model:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.lucene:lucene-core:2.0.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.lucene:lucene-core:2.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-consumer-api:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-plexus-application:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web-standalone:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT::war" ) );
+ model.addProperty( "archivaVersion", "1.0-alpha-2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-web-standalone:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-report-manager:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-indexer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-core-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-lucene-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-applet:1.0-alpha-2-SNAPSHOT::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "runtime" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-api:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.cache:plexus-cache-ehcache:1.0-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-scheduled:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-parent:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-database-consumers:1.0-alpha-2-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:3.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "quartz:quartz:1.4.5::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.4.5" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.2" );
+ dep = toDependency( "log4j:log4j:1.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.1.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-proxy:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-base:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-configuration:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.archiva:archiva-repository-layer:1.0-alpha-2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-io:commons-io:1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-digest:1.1::jar" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-slf4j-logging:1.1-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.slf4j:slf4j-log4j12:1.2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-security:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-web:1.0-alpha-2-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.woodstox:wstx-asl:3.2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.3.03::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addProperty( "security.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.5" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.5" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "net.java.dev.stax-utils:stax-utils:20060502" );
+ model.addDependency( toDependency( "com.bea.xml:jsr173-ri:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.bea.xml:jsr173-ri:1.0" );
+ model.addDependency( toDependency( "javax.xml:jsr173:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.xml:jsr173:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0.1" );
+ addModel( model );
+
+ model = toModel( "woodstox:wstx-asl:3.2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "org.codehaus.woodstox" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.0" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.0" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "stax:stax:1.1.1-dev" );
+ model.addDependency( toDependency( "xmlbeans:xmlbeans-jsr173-api:2.0-dev::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlbeans:xmlbeans-jsr173-api:2.0-dev" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.extremecomponents:extremecomponents:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-bean-collections:1.7.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "commons-logging:commons-logging-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.1.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.1.2" );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jsp-api:2.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.easymock:easymock:2.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.easymock:easymock:2.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork:1.2.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.rifers:rife-continuations:0.0.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:oscore:2.2.4::jar" ) );
+ model.addDependency( toDependency( "ognl:ognl:2.6.7::jar" ) );
+ dep = toDependency( "org.springframework:spring-core:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-aop:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.springframework:spring-mock:1.2.6::jar", "test" ) );
+ dep = toDependency( "cglib:cglib:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.rifers:rife-continuations:0.0.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:oscore:2.2.4" );
+ addModel( model );
+
+ model = toModel( "ognl:ognl:2.6.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-parent:1.2.6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate:3.0.5::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate-annotations:3.0beta2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ addExclusion( dep, "servletapi:servletapi" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "xdoclet:xjavadoc:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.3.2::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "jotm:jotm:2.0.10::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "c3p0:c3p0:0.9.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.experlog:xapool:1.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ dep = toDependency( "com.oracle.toplink:toplink:10.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "ojb:db-ojb:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jdo:jdo:2.0-20050809.1515::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis-sqlmap:1.3.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis2-sqlmap:2.1.5.582::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jms:jms:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.ejb:ejb:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.xml:jaxrpc-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-httpclient:commons-httpclient:3.0-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:burlap:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:hessian:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "ehcache:ehcache:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "quartz:quartz:1.5.1::jar" ) );
+ model.addDependencyManagement( toDependency( "com.servlets:cos:05Nov2002::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_RC2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-generic:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-view:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "poi:poi:2.5.1-final-20040804::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "itext:itext:1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sourceforge.jexcelapi:jxl:2.5.7::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.9" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1_3" );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-compiler:2.1" );
+ model.addDependency( toDependency( "commons-attributes:commons-attributes-api:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-api:2.1" );
+ model.addDependency( toDependency( "ant:ant:1.5::jar" ) );
+ model.addDependency( toDependency( "qdox:qdox:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.5" );
+ addModel( model );
+
+ model = toModel( "qdox:qdox:1.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.0.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate-annotations:3.0beta2" );
+ addModel( model );
+
+ model = toModel( "struts:struts:1.2.7" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.0.3" );
+ addModel( model );
+
+ model = toModel( "freemarker:freemarker:2.3.4" );
+ addModel( model );
+
+ model = toModel( "aopalliance:aopalliance:1.0" );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.8" );
+ addModel( model );
+
+ model = toModel( "com.jamonapi:jamon:1.0" );
+ addModel( model );
+
+ model = toModel( "xdoclet:xjavadoc:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.2" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity:1.4" );
+ model.addDependency( toDependency( "velocity:velocity-dep:1.4::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity-dep:1.4" );
+ addModel( model );
+
+ model = toModel( "jotm:jotm:2.0.10" );
+ addModel( model );
+
+ model = toModel( "c3p0:c3p0:0.9.0.2" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ dep = toDependency( "javax.sql:jdbc-stdext:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.experlog:xapool:1.5.0" );
+ addModel( model );
+
+ model = toModel( "com.oracle.toplink:toplink:10.1.3" );
+ addModel( model );
+
+ model = toModel( "ojb:db-ojb:1.0.3" );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo:2.0-20050809.1515" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis-sqlmap:1.3.1" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis2-sqlmap:2.1.5.582" );
+ addModel( model );
+
+ model = toModel( "javax.jms:jms:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.ejb:ejb:2.0" );
+ addModel( model );
+
+ model = toModel( "javax.xml:jaxrpc-api:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0-rc4" );
+ addModel( model );
+
+ model = toModel( "com.caucho:burlap:2.1.12" );
+ addModel( model );
+
+ model = toModel( "com.caucho:hessian:2.1.12" );
+ addModel( model );
+
+ model = toModel( "ehcache:ehcache:1.1" );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.5.1" );
+ addModel( model );
+
+ model = toModel( "com.servlets:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_RC2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.6" );
+ addModel( model );
+
+ model = toModel( "javax.faces:jsf-api:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-generic:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-view:1.1" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "itext:itext:1.3" );
+ addModel( model );
+
+ model = toModel( "net.sourceforge.jexcelapi:jxl:2.5.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-aop:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-beans:1.2.6::jar" ) );
+ model.addDependency( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xdoclet:xjavadoc:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-core:1.2.6::jar" ) );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.hibernate:hibernate:3.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-aop:1.2.6::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependency( toDependency( "org.springframework:spring-context:1.2.6::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.servlets:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ dep = toDependency( "org.springframework:spring-jdbc:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-jdbc:1.2.6" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1" );
+ model.addDependency( toDependency( "asm:asm:1.5.3::jar" ) );
+ model.addDependency( toDependency( "asm:asm-util:1.3.4::jar" ) );
+ model.addDependency( toDependency( "aspectwerkz:aspectwerkz-core:0.8.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "asm:asm:1.5.3" );
+ addModel( model );
+
+ model = toModel( "asm:asm-util:1.3.4" );
+ addModel( model );
+
+ model = toModel( "aspectwerkz:aspectwerkz-core:0.8.1" );
+ addModel( model );
+
+ model = toModel( "easymock:easymockclassextension:1.1" );
+ addModel( model );
+
+ model = toModel( "opensymphony:webwork:2.2.4" );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ dep = toDependency( "opensymphony:xwork-tiger:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "freemarker:freemarker:2.3.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "commons-lang:commons-lang:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "dwr:dwr:1.1-beta-3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity-tools:velocity-tools:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-fileupload:commons-fileupload:1.1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "servlets.com:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:pell-multipart:2.1.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:sitemesh:2.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jetty:org.mortbay.jetty:5.1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "eclipse:jdtcore:3.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jfree:jfreechart:1.0.0::jar" );
+ addExclusion( dep, "gnujaxp:gnujaxp" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-digester:commons-digester:1.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "portlet-api:portlet-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.pluto:pluto:1.0.1-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer-gems:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer-nanowar:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-core:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-mock:1.2::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.4-RC8::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "junit:junit:3.8.1::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock-cglib:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork-tiger:1.2.1" );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "dwr:dwr:1.1-beta-3" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-fileupload:commons-fileupload:1.1.1" );
+ addModel( model );
+
+ model = toModel( "servlets.com:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "opensymphony:pell-multipart:2.1.5" );
+ addModel( model );
+
+ model = toModel( "opensymphony:sitemesh:2.2.1" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.4" );
+ addModel( model );
+
+ model = toModel( "eclipse:jdtcore:3.1.0" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.1.0" );
+ addModel( model );
+
+ model = toModel( "jfree:jfreechart:1.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.7" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "portlet-api:portlet-api:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.pluto:pluto:1.0.1-rc4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer:1.2" );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer-gems:1.2" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer:1.0" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer-nanowar:1.0" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.4-RC8" );
+ addModel( model );
+
+ model = toModel( "jmock:jmock-cglib:1.0.1" );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar" ) );
+ model.addDependency( toDependency( "cglib:cglib-full:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "cglib:cglib-full:2.0" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar", "test" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-1::jar", "test" );
+ addExclusion( dep, "geronimo-spec:geronimo-spec-javamail" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.4" );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "dumbster:dumbster:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "dumbster:dumbster:1.5" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-core:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-java:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-factory:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1::jar" ) );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.1" );
+ addModel( model );
+
+ model = toModel( "org.extremecomponents:extremecomponents:1.0.1" );
+ dep = toDependency( "avalon-framework:avalon-framework:4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "batik:batik:1.5-fop-0.20-5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "fop:fop:0.20.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ dep = toDependency( "poi:poi:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.0.2::jar" ) );
+ dep = toDependency( "xalan:xalan:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xerces:xercesImpl:2.6.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.0" );
+ addModel( model );
+
+ model = toModel( "batik:batik:1.5-fop-0.20-5" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "fop:fop:0.20.5" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "poi" );
+ model.getRelocation().setArtifactId( "poi" );
+ model.getRelocation().setVersion( "2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.1" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.1" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-bean-collections:1.7.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.2" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.03" );
+ model.setParentProject( toParent( "org.apache:apache:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.1" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-signature-consumers:1.0-alpha-2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.archiva:archiva-consumers:1.0-alpha-2-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-model:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-web:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "it.could:webdav:0.4" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.6.1" );
+ dep = toDependency( "jaxme:jaxme-api:0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1-beta-6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:xsdlib:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:relaxngDatatype:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "pull-parser:pull-parser:2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "stax:stax-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "stax:stax-ri:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.5.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxme:jaxme-api:0.3" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1-beta-6" );
+ addModel( model );
+
+ model = toModel( "msv:xsdlib:20030807" );
+ addModel( model );
+
+ model = toModel( "msv:relaxngDatatype:20030807" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.3" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-ri:1.0" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1" );
+ model.addDependency( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.3.02::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xom:xom:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:1.0" );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "saxpath:saxpath:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xalan:xalan:2.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.0" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.02" );
+ addModel( model );
+
+ model = toModel( "xom:xom:1.0" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.6.0::jar" ) );
+ model.addDependency( toDependency( "com.ibm.icu:icu4j:2.6.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.6.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.ibm.icu:icu4j:2.6.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "mx4j:mx4j:3.0.1::jar" ) );
+ model.addDependency( toDependency( "mx4j:mx4j-remote:3.0.1::jar" ) );
+ model.addDependency( toDependency( "org.livetribe:livetribe-slp:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j:3.0.1" );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j-remote:3.0.1" );
+ addModel( model );
+
+ model = toModel( "org.livetribe:livetribe-slp:1.0.2" );
+ model.setParentProject( toParent( "org.livetribe:livetribe:1.0" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.livetribe:livetribe:1.0" );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:2.2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-service-jetty:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver-services:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "ant:ant:1.6.2::jar" ) );
+ model.addDependency( toDependency( "jetty:org.mortbay.jetty:5.1.10::jar" ) );
+ model.addDependency( toDependency( "tomcat:jasper-compiler:5.5.15::jar" ) );
+ model.addDependency( toDependency( "tomcat:jasper-runtime:5.5.15::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ dep = toDependency( "commons-el:commons-el:1.0::jar", "runtime" );
+ addExclusion( dep, "log4j:log4j" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ addExclusion( dep, "logkit:logkit" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jetty:org.mortbay.jetty.plus:5.1.10::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-appserver-services:2.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-appserver:2.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-appserver-host:2.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.2" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xerces-impl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.6.2" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.10" );
+ addModel( model );
+
+ model = toModel( "tomcat:jasper-compiler:5.5.15" );
+ model.setParentProject( toParent( "tomcat:tomcat-parent:5.5.15" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar" ) );
+ model.addDependency( toDependency( "ant:ant:1.6.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "tomcat:tomcat-parent:5.5.15" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.5" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "tomcat:jasper-runtime:5.5.15" );
+ model.setParentProject( toParent( "tomcat:tomcat-parent:5.5.15" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar" ) );
+ model.addDependency( toDependency( "commons-el:commons-el:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-el:commons-el:1.0" );
+ model.addDependency( toDependency( "servletapi:servletapi:2.4-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "jspapi:jsp-api:2.0-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4-20040521" );
+ addModel( model );
+
+ model = toModel( "jspapi:jsp-api:2.0-20040521" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty.plus:5.1.10" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-cli:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-tools:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ dep = toDependency( "commons-cli:commons-cli:1.0::jar" );
+ addExclusion( dep, "commons-lang:commons-lang" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-tools:1.0.8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-14" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-14" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-14" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.7-alpha-3" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.7-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-cli:commons-cli:1.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-config:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-config:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.4.1::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6.1::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.0.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.4.1" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.0" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0-b1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.0::jar" ) );
+ model.addDependency( toDependency( "jdbc:jdbc:2.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0-b1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.0" );
+ addModel( model );
+
+ model = toModel( "jdbc:jdbc:2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.sql" );
+ model.getRelocation().setArtifactId( "jdbc-stdext" );
+ model.getRelocation().setVersion( "2.0" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.0.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreDependencyGraphTest.java
new file mode 100644
index 000000000..e55bf17d1
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreDependencyGraphTest.java
@@ -0,0 +1,98 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ContinuumStoreDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ContinuumStoreDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new ContinuumStoreMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "ant:ant:1.6::jar" );
+ expectedNodes.add( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar" );
+ expectedNodes.add( "hsqldb:hsqldb:1.7.3.3::jar" );
+ expectedNodes.add( "jakarta-regexp:jakarta-regexp:1.4::jar" );
+ expectedNodes.add( "javax.jdo:jdo2-api:2.0::jar" );
+ expectedNodes.add( "javax.resource:connector:1.0::jar" );
+ expectedNodes.add( "javax.transaction:jta:1.0.1B::jar" );
+ expectedNodes.add( "jmock:jmock:1.0.1::jar" );
+ expectedNodes.add( "jpox:jpox:1.1.7::jar" );
+ expectedNodes.add( "jpox:jpox-enhancer:1.1.7::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "log4j:log4j:1.2.8::jar" );
+ expectedNodes.add( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ expectedNodes.add( "ognl:ognl:2.6.7::jar" );
+ expectedNodes.add( "org.apache.bcel:bcel:5.2::jar" );
+ expectedNodes.add( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.continuum:continuum-model:1.1-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.continuum:continuum-test:1.1-SNAPSHOT::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-formica:1.0-beta-13::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.4::jar" );
+ expectedNodes.add( "oro:oro:2.0.6::jar" );
+ expectedNodes.add( "stax:stax-api:1.0.1::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreMemoryRepository.java
new file mode 100644
index 000000000..0ca081578
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ContinuumStoreMemoryRepository.java
@@ -0,0 +1,4142 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * ContinuumStoreMemoryRepository
+ *
+ * MemoryRepository for testing <code>org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ContinuumStoreMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+ Dependency dep;
+
+ model = toModel( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-test:1.1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-model:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.3.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ dep = toDependency( "org.apache.maven:maven-core:2.0.5::jar" );
+ addExclusion( dep, "classworlds:classworlds" );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-api:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-hg:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-local:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-perforce:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-starteam:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-synergy:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-vss:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-webdav:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-model:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-configuration:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT:tests:jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-core:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-test:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-web:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-client:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-server:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-plexus-application:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-irc:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-jabber:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-msn:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-wagon:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-release:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-webapp:1.1-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ dep = toDependency( "jpox:jpox:1.1.7::jar" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "jpox:jpox-enhancer:1.1.7::jar" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "jpox:jpox-dbcp:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-formica:1.0-beta-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-velocity:1.1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-simple:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-notification:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.7.3.3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addProperty( "continuumWebappVersion", "1.1-SNAPSHOT" );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "maven.version", "2.0.5" );
+ model.addProperty( "maven-scm.version", "1.0" );
+ model.addProperty( "redback.version", "1.0-alpha-1" );
+ model.addProperty( "mail-sender.version", "1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ dep = toDependency( "org.apache.maven:maven-core:2.0.5::jar" );
+ addExclusion( dep, "classworlds:classworlds" );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-hg:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-local:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-synergy:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.scm:maven-scm-provider-vss:1.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-webdav:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-model:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-configuration:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT:tests:jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-core:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-test:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-web:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-client:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-server:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-plexus-application:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-irc:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-jabber:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-msn:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-notifier-wagon:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-release:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.continuum:continuum-webapp:1.1-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ dep = toDependency( "jpox:jpox:1.1.7::jar" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "jpox:jpox-enhancer:1.1.7::jar" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "jpox:jpox-dbcp:1.1.7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-formica:1.0-beta-13::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-velocity:1.1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-simple:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-notification:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.7.3.3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addProperty( "continuumWebappVersion", "1.1-SNAPSHOT" );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "maven.version", "2.0.5" );
+ model.addProperty( "maven-scm.version", "1.0-SNAPSHOT" );
+ model.addProperty( "redback.version", "1.0-alpha-1-SNAPSHOT" );
+ model.addProperty( "mail-sender.version", "1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:5" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:3" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "jmock:jmock:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.10" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.9" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-19" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-20" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-19::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-core:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-parameter-documenter:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.reporting:maven-reporting-api:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-error-diagnostics:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-registry:2.0.5::jar" ) );
+ dep = toDependency( "commons-cli:commons-cli:1.0::jar" );
+ addExclusion( dep, "commons-lang:commons-lang" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-descriptor:2.0.5::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-monitor:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.3" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:4" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7" );
+ model.setParentProject( toParent( "plexus:plexus-containers:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-containers:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-utils:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.27::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.27" );
+ dep = toDependency( "com.jcraft:jzlib:1.0.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jzlib:1.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ addModel( model );
+
+ model = toModel( "jtidy:jtidy:4aug2000r7-dev" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.0.b2" );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-jetty-httpd:1.0-beta-1" );
+ model.setParentProject( toParent( "plexus:plexus-components:1.0" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-components:1.0" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-container-default:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "jetty:jetty:4.2.10" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.3" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.3" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-parameter-documenter:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting-api:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven.reporting:maven-reporting:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-7" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia:1.0-alpha-7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-error-diagnostics:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-registry:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-cli:commons-cli:1.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0" );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-api:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-descriptor:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-monitor:2.0.5" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-managers:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-managers:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-test:1.0-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-test:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "regexp:regexp:1.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.netbeans.lib:cvsclient:20060125::jar" ) );
+ model.addDependency( toDependency( "ch.ethz.ganymed:ganymed-ssh2:build210::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.netbeans.lib:cvsclient:20060125" );
+ addModel( model );
+
+ model = toModel( "ch.ethz.ganymed:ganymed-ssh2:build210" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-hg:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-local:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-svn:1.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svntest:1.0-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers-svn:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-svn:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svntest:1.0-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-synergy:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-vss:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-webdav:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "slide:slide-webdavlib:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "runtime" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.mortbay.jetty:jetty:4.2.12::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "slide:slide-webdavlib:2.1" );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:2.0.2::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependency( toDependency( "de.zeigermann.xml:xml-im-exporter:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:2.0.2" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.3" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.6" );
+ addModel( model );
+
+ model = toModel( "logkit:logkit:1.0.1" );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:1.0" );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "saxpath:saxpath:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xalan:xalan:2.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.0" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "saxpath:saxpath:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.0" );
+ addModel( model );
+
+ model = toModel( "de.zeigermann.xml:xml-im-exporter:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.4" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ dep = toDependency( "avalon-framework:avalon-framework:4.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.1.3" );
+ addModel( model );
+
+ model = toModel( "it.could:webdav:0.4" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "org.mortbay.jetty:jetty:4.2.12" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-model:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "net.java.dev.stax-utils:stax-utils:20060502" );
+ model.addDependency( toDependency( "com.bea.xml:jsr173-ri:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.bea.xml:jsr173-ri:1.0" );
+ model.addDependency( toDependency( "javax.xml:jsr173:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.xml:jsr173:1.0" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-formica:1.0-beta-13::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-model:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-formica:1.0-beta-13" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "ognl:ognl:2.6.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.6" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-i18n:1.0-beta-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ addModel( model );
+
+ model = toModel( "ognl:ognl:2.6.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-configuration:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-core:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-notification:1.0-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-velocity:1.1.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-core:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-formica:1.0-beta-13::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-action:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-release:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.3.3::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-test:1.1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-configuration:1.1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-local:1.0-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-simple:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-quartz:1.0-alpha-3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "quartz:quartz:1.4.5::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.4.5" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.2" );
+ dep = toDependency( "log4j:log4j:1.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.1.3" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-notification:1.0-alpha-5" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-notifiers:1.1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-notifiers:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-notification:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.8" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-15::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-15" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-15" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-15" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-15" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.0" );
+ addModel( model );
+
+ model = toModel( "velocity:velocity:1.4" );
+ model.addDependency( toDependency( "velocity:velocity-dep:1.4::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity-dep:1.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-command-line:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ dep = toDependency( "jpox:jpox:1.1.1::jar", "test" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.3.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo2-api:2.0" );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar" ) );
+ dep = toDependency( "xerces:xerces:2.4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.4.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.4.0" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.1" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.1" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ dep = toDependency( "javax.security:jaas:1.0.01::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.sql:jdbc-stdext:2.0::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jpox:jpox-dbcp:1.1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar", "test" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.1" );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.8" );
+ addModel( model );
+
+ model = toModel( "javax.resource:connector:1.0" );
+ addModel( model );
+
+ model = toModel( "javax.security:jaas:1.0.01" );
+ addModel( model );
+
+ model = toModel( "javax.sql:jdbc-stdext:2.0" );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-dbcp:1.1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.2" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xml-apis" );
+ model.getRelocation().setArtifactId( "xml-apis" );
+ model.getRelocation().setVersion( "1.0.b2" );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.0.2" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.3.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-action:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "backport-util-concurrent:backport-util-concurrent:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "backport-util-concurrent:backport-util-concurrent:3.0" );
+ addModel( model );
+
+ model = toModel( "jpox:jpox:1.1.7" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.7" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "javax.jdo:jdo2-api:2.0::jar" ) );
+ model.addDependency( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependency( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "ant:ant:1.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-parent:1.1.7" );
+ addModel( model );
+
+ model = toModel( "javax.transaction:jta:1.0.1B" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-release:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.5::jar" ) );
+ dep = toDependency( "org.apache.maven.release:maven-release-manager:1.0-alpha-1::jar" );
+ addExclusion( dep, "classworlds:classworlds" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-taskqueue:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-local:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.release:maven-release-manager:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.apache.maven.release:maven-release:1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-hg:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-synergy:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ dep = toDependency( "jaxen:jaxen:1.1-beta-8::jar" );
+ addExclusion( dep, "dom4j:dom4j" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xom:xom" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-plugin-testing-harness:1.0-beta-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-test:1.0-rc1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock-cglib:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.release:maven-release:1" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-17" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-interactivity:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5" );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.23::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.23" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar", "test" ) );
+ model.addDependency( toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-api:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-rc1" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-managers:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-managers:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-rc1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-test:1.0-rc1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-test:1.0-rc1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-rc1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-rc1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-rc1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-rc1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.netbeans.lib:cvsclient:20060125::jar" ) );
+ model.addDependency( toDependency( "ch.ethz.ganymed:ganymed-ssh2:build210::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-rc1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-hg:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-svn:1.0-rc1" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-rc1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svntest:1.0-rc1::jar", "test" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers-svn:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-svn:1.0-rc1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svntest:1.0-rc1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-synergy:1.0-rc1" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-rc1" ) );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1-beta-8" );
+ model.addDependency( toDependency( "dom4j:dom4j:1.6.1::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "xom:xom:1.0b3::jar" ) );
+ addModel( model );
+
+ model = toModel( "dom4j:dom4j:1.6.1" );
+ dep = toDependency( "jaxme:jaxme-api:0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.1-beta-6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:xsdlib:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "msv:relaxngDatatype:20030807::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "pull-parser:pull-parser:2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "stax:stax-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junitperf:junitperf:1.8::jar", "test" ) );
+ model.addDependency( toDependency( "stax:stax-ri:1.0::jar", "test" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar", "test" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.5.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jaxme:jaxme-api:0.3" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.1-beta-6" );
+ addModel( model );
+
+ model = toModel( "msv:xsdlib:20030807" );
+ addModel( model );
+
+ model = toModel( "msv:relaxngDatatype:20030807" );
+ addModel( model );
+
+ model = toModel( "pull-parser:pull-parser:2" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.3" );
+ addModel( model );
+
+ model = toModel( "stax:stax-api:1.0" );
+ addModel( model );
+
+ model = toModel( "junitperf:junitperf:1.8" );
+ addModel( model );
+
+ model = toModel( "stax:stax-ri:1.0" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.1" );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xom:xom:1.0b3" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.6.1::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.2.1::jar" ) );
+ model.addDependency( toDependency( "com.ibm.icu:icu4j:2.6.1::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.6.0::jar" ) );
+ model.addDependency( toDependency( "org.ccil.cowan.tagsoup:tagsoup:0.9.7::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.6.1" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.2.1" );
+ addModel( model );
+
+ model = toModel( "com.ibm.icu:icu4j:2.6.1" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.6.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.ccil.cowan.tagsoup:tagsoup:0.9.7" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-plugin-testing-harness:1.0-beta-1" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:1" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-core:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:1" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:1" );
+ model.setParentProject( toParent( "org.apache:apache:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-core:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-parameter-documenter:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.reporting:maven-reporting-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-error-diagnostics:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-registry:2.0::jar" ) );
+ dep = toDependency( "commons-cli:commons-cli:1.0::jar" );
+ addExclusion( dep, "commons-lang:commons-lang" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-descriptor:2.0::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-monitor:2.0::jar" ) );
+ dep = toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5::jar", "runtime" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-parameter-documenter:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting-api:2.0" );
+ model.setParentProject( toParent( "org.apache.maven.reporting:maven-reporting:2.0" ) );
+ dep = toDependency( "doxia:doxia-sink-api:1.0-alpha-4::jar" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ addModel( model );
+
+ model = toModel( "doxia:doxia-sink-api:1.0-alpha-4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-error-diagnostics:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-registry:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-api:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-descriptor:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-monitor:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ addModel( model );
+
+ model = toModel( "jmock:jmock-cglib:1.0.1" );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar" ) );
+ model.addDependency( toDependency( "cglib:cglib-full:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "cglib:cglib-full:2.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.woodstox:wstx-asl:3.2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1-SNAPSHOT::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.3.03::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addProperty( "security.version", "1.0-alpha-1-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-configuration:commons-configuration:1.3" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.3::jar" ) );
+ model.addDependency( toDependency( "commons-jxpath:commons-jxpath:1.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "servletapi:servletapi:2.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "spice:spice-jndikit:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.2.2::jar", "test" ) );
+ model.addDependency( toDependency( "dbunit:dbunit:2.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "junit-addons:junit-addons:1.4::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging-api:1.0.4" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.6" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-core:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-jxpath:commons-jxpath:1.2" );
+ model.addDependency( toDependency( "xerces:xerces:1.2.3::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8::jar" ) );
+ model.addDependency( toDependency( "ant:ant-optional:1.5.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:b9::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.4::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:1.2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.2" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8" );
+ addModel( model );
+
+ model = toModel( "ant:ant-optional:1.5.1" );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:b9" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.2.1" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.7.0" );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4" );
+ addModel( model );
+
+ model = toModel( "spice:spice-jndikit:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-pool:commons-pool:1.1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.2.2" );
+ addModel( model );
+
+ model = toModel( "dbunit:dbunit:2.1" );
+ addModel( model );
+
+ model = toModel( "junit-addons:junit-addons:1.4" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-core:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.4-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "log4j:log4j:1.2.8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging:1.0.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-logging-provider-test:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-logging:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ model.addDependency( toDependency( "net.sf.ehcache:ehcache:1.2.4::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "net.sf.ehcache:ehcache:1.2.4" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "compile" ) );
+ dep = toDependency( "org.hibernate:hibernate:3.2.0.cr3::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar", "test" );
+ addExclusion( dep, "javax.transaction:jta" );
+ addExclusion( dep, "javax.security:jacc" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "test" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "com.cenqua.clover:clover:1.3.13::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "checkstyle:checkstyle-optional:4.1::jar", "test" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6.1::jar", "test" ) );
+ model.addProperty( "licenseFile", "${basedir}/tools/clover.license" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.2.0.cr3" );
+ addModel( model );
+
+ model = toModel( "net.sf.hibernate:hibernate:2.1.8" );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "nekohtml:nekohtml:0.9.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "rhino:js:1.5R4.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.2.1" );
+ addModel( model );
+
+ model = toModel( "nekohtml:nekohtml:0.9.1" );
+ model.addDependency( toDependency( "xerces:xerces:2.4.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "rhino:js:1.5R4.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.0.2" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.1" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "commons-codec:commons-codec:1.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-codec:commons-codec:1.2" );
+ addModel( model );
+
+ model = toModel( "com.cenqua.clover:clover:1.3.13" );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle:4.1" );
+ model.addDependency( toDependency( "antlr:antlr:2.7.2::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-core:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "antlr:antlr:2.7.2" );
+ addModel( model );
+
+ model = toModel( "checkstyle:checkstyle-optional:4.1" );
+ model.addDependency( toDependency( "checkstyle:checkstyle:4.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6.1" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.5" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.5" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1-SNAPSHOT" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.8.0.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "woodstox:wstx-asl:3.2.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "org.codehaus.woodstox" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.0" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.0" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1-SNAPSHOT::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "stax:stax:1.1.1-dev" );
+ model.addDependency( toDependency( "xmlbeans:xmlbeans-jsr173-api:2.0-dev::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "xmlbeans:xmlbeans-jsr173-api:2.0-dev" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.extremecomponents:extremecomponents:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-bean-collections:1.7.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "commons-logging:commons-logging-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.1.2" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.1.2" );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jsp-api:2.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "org.easymock:easymock:2.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ model.addDependency( toDependency( "opensymphony:webwork:2.2.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.12" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.easymock:easymock:2.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork:1.2.1" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.rifers:rife-continuations:0.0.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:oscore:2.2.4::jar" ) );
+ model.addDependency( toDependency( "ognl:ognl:2.6.7::jar" ) );
+ dep = toDependency( "org.springframework:spring-core:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-aop:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.springframework:spring-mock:1.2.6::jar", "test" ) );
+ dep = toDependency( "cglib:cglib:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.rifers:rife-continuations:0.0.2" );
+ addModel( model );
+
+ model = toModel( "opensymphony:oscore:2.2.4" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-parent:1.2.6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate:3.0.5::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "org.hibernate:hibernate-annotations:3.0beta2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ addExclusion( dep, "servletapi:servletapi" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "xdoclet:xjavadoc:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.3.2::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.1::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.0.b2::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.transaction:jta:1.0.1B::jar" ) );
+ dep = toDependency( "jotm:jotm:2.0.10::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sf.hibernate:hibernate:2.1.8::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "c3p0:c3p0:0.9.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.experlog:xapool:1.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ dep = toDependency( "com.oracle.toplink:toplink:10.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "ojb:db-ojb:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jdo:jdo:2.0-20050809.1515::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis-sqlmap:1.3.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.ibatis:ibatis2-sqlmap:2.1.5.582::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.jms:jms:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.ejb:ejb:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "javax.xml:jaxrpc-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "commons-httpclient:commons-httpclient:3.0-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:burlap:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "com.caucho:hessian:2.1.12::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "javax.resource:connector:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "ehcache:ehcache:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "quartz:quartz:1.5.1::jar" ) );
+ model.addDependencyManagement( toDependency( "com.servlets:cos:05Nov2002::jar" ) );
+ model.addDependencyManagement( toDependency( "easymock:easymock:1.2_RC2_Java1.3::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-generic:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "velocity-tools:velocity-tools-view:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "poi:poi:2.5.1-final-20040804::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "itext:itext:1.3::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ dep = toDependency( "net.sourceforge.jexcelapi:jxl:2.5.7::jar" );
+ dep.setOptional( true );
+ model.addDependencyManagement( dep );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.9" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1_3" );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-compiler:2.1" );
+ model.addDependency( toDependency( "commons-attributes:commons-attributes-api:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-attributes:commons-attributes-api:2.1" );
+ model.addDependency( toDependency( "ant:ant:1.5::jar" ) );
+ model.addDependency( toDependency( "qdox:qdox:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.5" );
+ addModel( model );
+
+ model = toModel( "qdox:qdox:1.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate:3.0.5" );
+ addModel( model );
+
+ model = toModel( "org.hibernate:hibernate-annotations:3.0beta2" );
+ addModel( model );
+
+ model = toModel( "struts:struts:1.2.7" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.0.3" );
+ addModel( model );
+
+ model = toModel( "freemarker:freemarker:2.3.4" );
+ addModel( model );
+
+ model = toModel( "aopalliance:aopalliance:1.0" );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.8" );
+ addModel( model );
+
+ model = toModel( "com.jamonapi:jamon:1.0" );
+ addModel( model );
+
+ model = toModel( "xdoclet:xjavadoc:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.2" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "jotm:jotm:2.0.10" );
+ addModel( model );
+
+ model = toModel( "c3p0:c3p0:0.9.0.2" );
+ addModel( model );
+
+ model = toModel( "commons-dbcp:commons-dbcp:1.2.1" );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-pool:commons-pool:1.2::jar" ) );
+ dep = toDependency( "javax.sql:jdbc-stdext:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "xerces:xerces:2.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.experlog:xapool:1.5.0" );
+ addModel( model );
+
+ model = toModel( "com.oracle.toplink:toplink:10.1.3" );
+ addModel( model );
+
+ model = toModel( "ojb:db-ojb:1.0.3" );
+ addModel( model );
+
+ model = toModel( "javax.jdo:jdo:2.0-20050809.1515" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis-sqlmap:1.3.1" );
+ addModel( model );
+
+ model = toModel( "com.ibatis:ibatis2-sqlmap:2.1.5.582" );
+ addModel( model );
+
+ model = toModel( "javax.jms:jms:1.1" );
+ addModel( model );
+
+ model = toModel( "javax.ejb:ejb:2.0" );
+ addModel( model );
+
+ model = toModel( "javax.xml:jaxrpc-api:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:3.0-rc4" );
+ addModel( model );
+
+ model = toModel( "com.caucho:burlap:2.1.12" );
+ addModel( model );
+
+ model = toModel( "com.caucho:hessian:2.1.12" );
+ addModel( model );
+
+ model = toModel( "ehcache:ehcache:1.1" );
+ addModel( model );
+
+ model = toModel( "quartz:quartz:1.5.1" );
+ addModel( model );
+
+ model = toModel( "com.servlets:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "easymock:easymock:1.2_RC2_Java1.3" );
+ addModel( model );
+
+ model = toModel( "javax.servlet:jstl:1.0" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.6" );
+ addModel( model );
+
+ model = toModel( "javax.faces:jsf-api:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-generic:1.1" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools-view:1.1" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "itext:itext:1.3" );
+ addModel( model );
+
+ model = toModel( "net.sourceforge.jexcelapi:jxl:2.5.7" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-aop:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-beans:1.2.6::jar" ) );
+ model.addDependency( toDependency( "aopalliance:aopalliance:1.0::jar" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.8::jar" ) );
+ dep = toDependency( "commons-pool:commons-pool:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-attributes:commons-attributes-compiler:2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.jamonapi:jamon:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "xdoclet:xjavadoc:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-core:1.2.6::jar" ) );
+ dep = toDependency( "cglib:cglib:2.1_3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.2::jar", "test" ) );
+ model.addDependency( toDependency( "org.hibernate:hibernate:3.0.5::jar", "test" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "org.springframework:spring-aop:1.2.6::jar" ) );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "freemarker:freemarker:2.3.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.0.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.0::jar" ) );
+ model.addDependency( toDependency( "org.springframework:spring-context:1.2.6::jar" ) );
+ dep = toDependency( "log4j:log4j:1.2.9::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "struts:struts:1.2.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "com.servlets:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "taglibs:standard:1.0.6::jar" ) );
+ dep = toDependency( "javax.faces:jsf-api:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2.6" );
+ model.setParentProject( toParent( "org.springframework:spring-parent:1.2.6" ) );
+ dep = toDependency( "org.springframework:spring-jdbc:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-jdbc:1.2.6" );
+ addModel( model );
+
+ model = toModel( "cglib:cglib:2.1" );
+ model.addDependency( toDependency( "asm:asm:1.5.3::jar" ) );
+ model.addDependency( toDependency( "asm:asm-util:1.3.4::jar" ) );
+ model.addDependency( toDependency( "aspectwerkz:aspectwerkz-core:0.8.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "asm:asm:1.5.3" );
+ addModel( model );
+
+ model = toModel( "asm:asm-util:1.3.4" );
+ addModel( model );
+
+ model = toModel( "aspectwerkz:aspectwerkz-core:0.8.1" );
+ addModel( model );
+
+ model = toModel( "easymock:easymockclassextension:1.1" );
+ addModel( model );
+
+ model = toModel( "opensymphony:webwork:2.2.4" );
+ model.addDependency( toDependency( "opensymphony:xwork:1.2.1::jar" ) );
+ dep = toDependency( "opensymphony:xwork-tiger:1.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "freemarker:freemarker:2.3.4::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "commons-lang:commons-lang:2.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "dwr:dwr:1.1-beta-3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity:velocity:1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "velocity-tools:velocity-tools:1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-fileupload:commons-fileupload:1.1.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "servlets.com:cos:05Nov2002::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:pell-multipart:2.1.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "opensymphony:sitemesh:2.2.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jetty:org.mortbay.jetty:5.1.4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "eclipse:jdtcore:3.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jasperreports:jasperreports:1.1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jfree:jfreechart:1.0.0::jar" );
+ addExclusion( dep, "gnujaxp:gnujaxp" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "commons-digester:commons-digester:1.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "portlet-api:portlet-api:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.apache.pluto:pluto:1.0.1-rc4::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "picocontainer:picocontainer-gems:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "nanocontainer:nanocontainer-nanowar:1.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-beans:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-core:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-context:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-web:1.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "org.springframework:spring-mock:1.2::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xpp3:xpp3:1.1.3.4-RC8::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "junit:junit:3.8.1::jar", "compile" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymock:1.2_Java1.3::jar", "test" ) );
+ model.addDependency( toDependency( "easymock:easymockclassextension:1.1::jar", "test" ) );
+ model.addDependency( toDependency( "jmock:jmock-cglib:1.0.1::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-core:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ model.addDependency( toDependency( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "opensymphony:xwork-tiger:1.2.1" );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "dwr:dwr:1.1-beta-3" );
+ addModel( model );
+
+ model = toModel( "velocity-tools:velocity-tools:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-fileupload:commons-fileupload:1.1.1" );
+ addModel( model );
+
+ model = toModel( "servlets.com:cos:05Nov2002" );
+ addModel( model );
+
+ model = toModel( "opensymphony:pell-multipart:2.1.5" );
+ addModel( model );
+
+ model = toModel( "opensymphony:sitemesh:2.2.1" );
+ addModel( model );
+
+ model = toModel( "jetty:org.mortbay.jetty:5.1.4" );
+ addModel( model );
+
+ model = toModel( "eclipse:jdtcore:3.1.0" );
+ addModel( model );
+
+ model = toModel( "jasperreports:jasperreports:1.1.0" );
+ addModel( model );
+
+ model = toModel( "jfree:jfreechart:1.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.struts.tiles:tiles-core:0.2-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.7" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "portlet-api:portlet-api:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.pluto:pluto:1.0.1-rc4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-10-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.6-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8-SNAPSHOT" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer:1.2" );
+ addModel( model );
+
+ model = toModel( "picocontainer:picocontainer-gems:1.2" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer:1.0" );
+ addModel( model );
+
+ model = toModel( "nanocontainer:nanocontainer-nanowar:1.0" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-beans:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-core:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-context:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-web:1.2" );
+ addModel( model );
+
+ model = toModel( "org.springframework:spring-mock:1.2" );
+ addModel( model );
+
+ model = toModel( "xpp3:xpp3:1.1.3.4-RC8" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "mockobjects:mockobjects-jdk1.3-j2ee1.3:0.09" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar", "test" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-naming:1.0-alpha-1::jar", "test" );
+ addExclusion( dep, "geronimo-spec:geronimo-spec-javamail" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-sender:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.4" );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "dumbster:dumbster:1.5::jar" ) );
+ addModel( model );
+
+ model = toModel( "dumbster:dumbster:1.5" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-naming:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.6" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-java:0.8::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-factory:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-dbcp:commons-dbcp:1.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.7.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-core:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-java:0.8" );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "directory-naming:naming-factory:0.8" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ model.addDependency( toDependency( "directory-naming:naming-core:0.8::jar" ) );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1::jar" ) );
+ addModel( model );
+
+ model = toModel( "geronimo-spec:geronimo-spec-javamail:1.3.1-rc1" );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.1" );
+ addModel( model );
+
+ model = toModel( "org.extremecomponents:extremecomponents:1.0.1" );
+ dep = toDependency( "avalon-framework:avalon-framework:4.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "batik:batik:1.5-fop-0.20-5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.0::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ dep = toDependency( "fop:fop:0.20.5::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ dep = toDependency( "poi:poi:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.0.2::jar" ) );
+ dep = toDependency( "xalan:xalan:2.5.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xerces:xercesImpl:2.6.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.0.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.0" );
+ addModel( model );
+
+ model = toModel( "batik:batik:1.5-fop-0.20-5" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "fop:fop:0.20.5" );
+ addModel( model );
+
+ model = toModel( "poi:poi:2.5.1" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "poi" );
+ model.getRelocation().setArtifactId( "poi" );
+ model.getRelocation().setVersion( "2.5.1-final-20040804" );
+ addModel( model );
+
+ model = toModel( "taglibs:standard:1.0.2" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.1" );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils-bean-collections:1.7.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.2" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.3.03" );
+ model.setParentProject( toParent( "org.apache:apache:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.derby:derby:10.1.3.1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.woodstox:wstx-asl:3.2.1" );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "hsqldb:hsqldb:1.7.3.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-test:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "jpox:jpox-enhancer:1.1.7::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-enhancer:1.1.7" );
+ model.setParentProject( toParent( "jpox:jpox-parent:1.1.7" ) );
+ model.addDependency( toDependency( "jpox:jpox:1.1.7::jar" ) );
+ model.addDependency( toDependency( "org.apache.bcel:bcel:5.2::jar" ) );
+ model.addDependency( toDependency( "ant:ant:1.6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.bcel:bcel:5.2" );
+ model.addDependency( toDependency( "jakarta-regexp:jakarta-regexp:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "jakarta-regexp:jakarta-regexp:1.4" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-mail-sender-simple:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-mail-senders:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "dumbster:dumbster:1.5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-web:1.1-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-xmlrpc-api:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-xmlrpc:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.xmlrpc:xmlrpc-common:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-xmlrpc:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.xmlrpc:xmlrpc-common:3.0" );
+ model.setParentProject( toParent( "org.apache.xmlrpc:xmlrpc:3.0" ) );
+ model.addDependency( toDependency( "org.apache.ws.commons:ws-commons-util:1.0.1::jar" ) );
+ model.addDependency( toDependency( "jaxme:jaxmeapi:0.5.1::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.xmlrpc:xmlrpc:3.0" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ model.addDependencyManagement( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.ws.commons:ws-commons-util:1.0.1::jar" ) );
+ model.addDependencyManagement( toDependency( "jaxme:jaxmeapi:0.5.1::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.1" );
+ model.addDependency( toDependency( "log4j:log4j:1.2.12::jar" ) );
+ model.addDependency( toDependency( "logkit:logkit:1.0.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "avalon-framework:avalon-framework:4.1.3::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.12" );
+ addModel( model );
+
+ model = toModel( "org.apache.ws.commons:ws-commons-util:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ addModel( model );
+
+ model = toModel( "jaxme:jaxmeapi:0.5.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-xmlrpc-client:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-xmlrpc:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.xmlrpc:xmlrpc-client:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.xmlrpc:xmlrpc-client:3.0" );
+ model.setParentProject( toParent( "org.apache.xmlrpc:xmlrpc:3.0" ) );
+ model.addDependency( toDependency( "org.apache.xmlrpc:xmlrpc-common:3.0::jar" ) );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:3.0.1::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-xmlrpc-server:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-xmlrpc:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.apache.xmlrpc:xmlrpc-server:3.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.xmlrpc:xmlrpc-server:3.0" );
+ model.setParentProject( toParent( "org.apache.xmlrpc:xmlrpc:3.0" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.xmlrpc:xmlrpc-common:3.0::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-plexus-application:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-webapp:1.1-SNAPSHOT::war" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-webapp:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-parent:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-configuration:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-web:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-core:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-security:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ dep = toDependency( "org.extremecomponents:extremecomponents:1.0.1::jar" );
+ addExclusion( dep, "commons-collections:commons-collections" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.derby:derby:10.1.3.1::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-fileupload:commons-fileupload:1.1::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-hg:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-local:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-synergy:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-vss:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-irc:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-jabber:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-msn:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-wagon:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-xmlrpc-server:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-webdav:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1-SNAPSHOT::war", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1-SNAPSHOT::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "geronimo-spec:geronimo-spec-jta:1.0.1B-rc2::jar", "provided" ) );
+ dep = toDependency( "jpox:jpox:1.1.7::jar" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.12" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-17::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-test:1.0-alpha-2::jar", "test" ) );
+ dep = toDependency( "commons-configuration:commons-configuration:1.3::jar" );
+ addExclusion( dep, "commons-beanutils:commons-beanutils-core" );
+ addExclusion( dep, "xerces:xerces" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xalan:xalan" );
+ addExclusion( dep, "xml-apis:xml-apis" );
+ addExclusion( dep, "servletapi:servletapi" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.registry:plexus-registry-providers:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus.registry:plexus-registry:1.0-alpha-2" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-model:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-api:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:7" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-app-configuration-web:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-app-configuration:1.0" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-app-configuration-model:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-alpha-6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.24::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.24" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-fileupload:commons-fileupload:1.1" );
+ model.addDependency( toDependency( "commons-io:commons-io:1.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.portlet:portlet-api:1.0::jar", "provided" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-io:commons-io:1.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "javax.portlet:portlet-api:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-notifier-irc:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-notifiers:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ircbot:1.1-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-ircbot:1.1-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-notifier-jabber:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-notifiers:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-jabber:1.0-alpha-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-jabber:1.0-alpha-4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.5" ) );
+ model.addDependency( toDependency( "jivesoftware:smackx:2.0.0::jar" ) );
+ model.addDependency( toDependency( "jivesoftware:smack:2.0.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.5" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "jivesoftware:smackx:2.0.0" );
+ addModel( model );
+
+ model = toModel( "jivesoftware:smack:2.0.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-notifier-msn:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-notifiers:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-msn:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-msn:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ model.addDependency( toDependency( "jmsn:msnmlib:1.4-20050613::jar" ) );
+ addModel( model );
+
+ model = toModel( "jmsn:msnmlib:1.4-20050613" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.continuum:continuum-notifier-wagon:1.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.continuum:continuum-notifiers:1.1-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-notification:1.0-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-core:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.continuum:continuum-notifier-api:1.1-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-webdav:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.mortbay.jetty:jetty:4.2.12::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jpox:jpox-dbcp:1.1.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-api:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-manager-plexus:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-bazaar:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsjava:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-hg:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-local:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-perforce:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-starteam:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-synergy:1.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-vss:1.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.woodstox:wstx-asl:3.2.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1::war" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-20::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "xalan:xalan:2.7.0::jar" ) );
+ model.addDependencyManagement( toDependency( "xml-apis:xml-apis:1.3.03::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "hsqldb:hsqldb:1.8.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.derby:derby:10.1.3.1::jar" ) );
+ model.addProperty( "security.version", "1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-expression-evaluator:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.registry:plexus-registry-commons:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-users-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-jdo2:1.0-alpha-8::jar" );
+ addExclusion( dep, "xerces:xercesImpl" );
+ addExclusion( dep, "xerces:xmlParserAPIs" );
+ model.addDependency( dep );
+ dep = toDependency( "jpox:jpox:1.1.7::jar", "compile" );
+ addExclusion( dep, "javax.sql:jdbc-stdext" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-common:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-keys-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ model.addDependency( toDependency( "woodstox:wstx-asl:3.2.0::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-memory:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-=keys=:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authentication-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-cached:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-users-cached:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-authorization-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-authorization:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-cached:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-ehcache:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac:1.0-alpha-1" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-jdo:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-common-jdo:1.0-alpha-1::jar" ) );
+ dep = toDependency( "net.java.dev.stax-utils:stax-utils:20060502::jar" );
+ addExclusion( dep, "com.bea.xml:jsr173-ri" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "stax:stax-api:1.0.1::jar" ) );
+ dep = toDependency( "stax:stax:1.1.1-dev::jar", "test" );
+ addExclusion( dep, "xmlbeans:xmlbeans-jsr173-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-log4j-logging:1.1-alpha-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-rbac-memory:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-rbac-providers:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-model:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-tests:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-configuration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-policy:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-users:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authentication-keys:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-authorization-rbac:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-rbac-role-manager:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-mail-sender-javamail:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.extremecomponents:extremecomponents:1.0.1::jar" ) );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils-bean-collections:1.7.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.2::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "commons-logging:commons-logging-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.2::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.2::jar" ) );
+ model.addDependency( toDependency( "opensymphony:sitemesh:2.2.1::jar" ) );
+ model.addDependency( toDependency( "hsqldb:hsqldb:1.8.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-keys-memory:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependencyManagement( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependencyManagement( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-integrations:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-system:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-xwork-integration:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "taglibs:standard:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:jstl:1.1.2::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.4::jar", "provided" ) );
+ model.addDependency( toDependency( "javax.servlet:jsp-api:2.0::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.redback:redback-xwork-content:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.redback:redback-xwork:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-xwork-integration:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.redback:redback-taglib:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionDependencyGraphTest.java
new file mode 100644
index 000000000..fa5b32f11
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionDependencyGraphTest.java
@@ -0,0 +1,74 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * DepManDeepVersionDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>net.example.depman.deepversion:A:1.0</code>
+ *
+ * @version $Id$
+ */
+public class DepManDeepVersionDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder = new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new DepManDeepVersionMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "net.example.depman.deepversion:A:1.0" );
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "net.example.depman.deepversion:A:1.0";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "net.example.depman.deepversion:B:1.0::jar" );
+ expectedNodes.add( "net.example.depman.deepversion:C:1.0::jar" );
+ expectedNodes.add( "net.example.depman.deepversion:D:2.0::jar" );
+ expectedNodes.add( "net.example.depman.deepversion:E:3.0::jar" );
+ expectedNodes.add( "net.example.depman.deepversion:F:1.0::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionMemoryRepository.java
new file mode 100644
index 000000000..13f48a633
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/DepManDeepVersionMemoryRepository.java
@@ -0,0 +1,77 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+
+/**
+ * DepManDeepVersionMemoryRepository
+ *
+ * MemoryRepository for testing <code>net.example.depman.deepversion:A:1.0</code>
+ *
+ * @version $Id$
+ */
+public class DepManDeepVersionMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+
+ model = toModel( "net.example.depman.deepversion:A:1.0" );
+ model.addDependency( toDependency( "net.example.depman.deepversion:B:1.0::jar" ) );
+ model.addDependency( toDependency( "net.example.depman.deepversion:C:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "net.example.depman.deepversion:D:2.0::jar" ) );
+ addModel( model );
+
+ /* Having a depman in A for D:2.0 will cause an orphaned E:2.0 during the depman
+ * application phase.
+ *
+ * This is intentional, to test out the depman application and recovery.
+ */
+
+ model = toModel( "net.example.depman.deepversion:B:1.0" );
+ model.addDependency( toDependency( "net.example.depman.deepversion:D:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "net.example.depman.deepversion:E:2.0" );
+ addModel( model );
+
+ model = toModel( "net.example.depman.deepversion:E:3.0" );
+ model.addDependency( toDependency( "net.example.depman.deepversion:F:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "net.example.depman.deepversion:F:1.0" );
+ addModel( model );
+
+ model = toModel( "net.example.depman.deepversion:C:1.0" );
+ model.addDependency( toDependency( "net.example.depman.deepversion:D:1.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "net.example.depman.deepversion:D:1.0" );
+ model.addDependency( toDependency( "net.example.depman.deepversion:E:2.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "net.example.depman.deepversion:D:2.0" );
+ model.addDependency( toDependency( "net.example.depman.deepversion:E:3.0::jar" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/GraphvizDotTool.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/GraphvizDotTool.java
new file mode 100644
index 000000000..754f939ae
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/GraphvizDotTool.java
@@ -0,0 +1,346 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * GraphvizDotTool - testing utility to help understand the graph.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class GraphvizDotTool
+ extends PlexusTestCase
+ implements GraphListener
+{
+ private int phaseNumber = 0;
+
+ protected VersionedReference toVersionedReference( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+ assertEquals( "Versioned Reference [" + key + "] part count.", 3, parts.length );
+
+ VersionedReference ref = new VersionedReference();
+ ref.setGroupId( parts[0] );
+ ref.setArtifactId( parts[1] );
+ ref.setVersion( parts[2] );
+ return ref;
+ }
+
+ private DependencyGraph getDependencyGraph( MemoryRepository repository, String rootRefKey )
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder = new MemoryRepositoryDependencyGraphBuilder();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+ factory.addGraphListener( this );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( rootRefKey );
+
+ // Perform the resolution.
+ phaseNumber = 0;
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ return graph;
+ }
+
+ public void testGenerateDots()
+ throws GraphTaskException
+ {
+ getDependencyGraph( new ArchivaWebappMemoryRepository(),
+ "org.apache.maven.archiva:archiva-webapp:1.0-alpha-2-SNAPSHOT" );
+
+ // getDependencyGraph( new ArchivaCommonMemoryRepository(),
+ // "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT" );
+ //
+ // getDependencyGraph( new ArchivaXmlToolsMemoryRepository(),
+ // "org.apache.maven.archiva:archiva-xml-tools:1.0-alpha-2-SNAPSHOT" );
+ //
+ // getDependencyGraph( new ContinuumStoreMemoryRepository(),
+ // "org.apache.maven.continuum:continuum-store:1.1-SNAPSHOT" );
+ //
+ // getDependencyGraph( new MavenProjectInfoReportsPluginMemoryRepository(),
+ // "org.apache.maven.plugins:maven-project-info-reports-plugin:2.1-SNAPSHOT" );
+ //
+ // getDependencyGraph( new WagonManagerMemoryRepository(), "org.apache.maven.wagon:wagon-manager:2.0-SNAPSHOT" );
+
+ getDependencyGraph( new DepManDeepVersionMemoryRepository(), "net.example.depman.deepversion:A:1.0" );
+ }
+
+ public void dependencyResolutionEvent( DependencyResolutionEvent event )
+ {
+ /* do nothing */
+ }
+
+ public void graphError( GraphTaskException e, DependencyGraph currentGraph )
+ {
+ /* do nothing */
+ }
+
+ public void graphPhaseEvent( GraphPhaseEvent event )
+ {
+ String graphId = event.getGraph().getRootNode().getArtifact().getArtifactId();
+ String title = "Graph: " + graphId;
+
+ switch ( event.getType() )
+ {
+ case GraphPhaseEvent.GRAPH_TASK_POST:
+ phaseNumber++;
+ title += " - Phase: " + phaseNumber + " - Task: " + event.getTask().getTaskId();
+ writeDot( "target/graph_" + graphId + "_" + phaseNumber + "_" + event.getTask().getTaskId() + ".dot",
+ event.getGraph(), title );
+ break;
+ case GraphPhaseEvent.GRAPH_DONE:
+ title += " FINISHED";
+ writeDot( "target/graph_" + graphId + ".dot", event.getGraph(), title );
+ break;
+ }
+ }
+
+ private void writeDot( String outputFilename, DependencyGraph graph, String title )
+ {
+ System.out.println( "Writing Graphviz output: " + outputFilename );
+ try
+ {
+ File outputFile = new File( outputFilename );
+ PrintWriter dot = new PrintWriter( outputFile );
+
+ dot.println( "// Auto generated dot file from plexus-graph-visualizer-graphviz." );
+
+ dot.println( "digraph example {" );
+
+ dot.println( "" );
+
+ dot.println( " // Graph Defaults" );
+ dot.println( " graph [" );
+ dot.println( " bgcolor=\"#ffffff\"," );
+ dot.println( " fontname=\"Helvetica\"," );
+ dot.println( " fontsize=\"11\"," );
+ dot.println( " label=\"" + title + "\"," );
+ dot.println( " labeljust=\"l\"" );
+ dot.println( " rankdir=\"LR\"" );
+ dot.println( " ];" );
+
+ // Node Defaults.
+
+ dot.println( "" );
+ dot.println( " // Node Defaults." );
+ dot.println( " node [" );
+ dot.println( " fontname=\"Helvetica\"," );
+ dot.println( " fontsize=\"11\"," );
+ dot.println( " shape=\"box\"" );
+ dot.println( " ];" );
+
+ // Edge Defaults.
+
+ dot.println( "" );
+ dot.println( " // Edge Defaults." );
+ dot.println( " edge [" );
+ dot.println( " arrowsize=\"0.8\"" );
+ dot.println( " fontsize=\"11\"," );
+ dot.println( " ];" );
+
+ Iterator it;
+
+ it = graph.getNodes().iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+
+ writeNode( dot, graph, node );
+ }
+
+ it = graph.getEdges().iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+
+ DependencyGraphNode from = graph.getNode( edge.getNodeFrom() );
+ DependencyGraphNode to = graph.getNode( edge.getNodeTo() );
+
+ writeEdge( dot, edge, from, to );
+ }
+
+ dot.println( "}" );
+ dot.flush();
+ dot.close();
+ }
+ catch ( IOException e )
+ {
+ System.err.println( "Unable to write GraphViz file " + outputFilename + " : " + e.getMessage() );
+ e.printStackTrace( System.err );
+ }
+ }
+
+ private String toLabel( DependencyGraphNode node )
+ {
+ StringBuffer lbl = new StringBuffer();
+
+ lbl.append( node.getArtifact().getGroupId() ).append( "\n" );
+ lbl.append( node.getArtifact().getArtifactId() ).append( "\n" );
+ lbl.append( node.getArtifact().getVersion() );
+
+ return StringEscapeUtils.escapeJava( lbl.toString() );
+ }
+
+ private String toId( DependencyGraphNode node )
+ {
+ StringBuffer id = new StringBuffer();
+
+ String raw = DependencyGraphKeys.toKey( node.getArtifact() );
+
+ for ( int i = 0; i < raw.length(); i++ )
+ {
+ char c = raw.charAt( i );
+ if ( Character.isLetterOrDigit( c ) )
+ {
+ id.append( Character.toUpperCase( c ) );
+ }
+ else if ( ( c == '-' ) || ( c == '_' ) )
+ {
+ id.append( "_" );
+ }
+ }
+
+ return id.toString();
+ }
+
+ private void writeNode( PrintWriter dot, DependencyGraph graph, DependencyGraphNode node )
+ {
+ dot.println( "" );
+ dot.println( " // Node" );
+ dot.println( " \"" + toId( node ) + "\" [" );
+ dot.println( " label=\"" + toLabel( node ) + "\"," );
+
+ List edgesTo = graph.getEdgesTo( node );
+ boolean orphan = CollectionUtils.isEmpty( edgesTo );
+
+ if ( node.isFromParent() )
+ {
+ dot.println( " color=\"#FF0000\"," );
+ dot.println( " shape=ellipse," );
+ }
+ else
+ {
+ dot.println( " shape=box," );
+ }
+
+ if ( node.isConflicted() )
+ {
+ // dot.println( " fontcolor=\"#FF88FF\"," );
+ dot.println( " style=filled," );
+ dot.println( " fillcolor=\"#88FF88\"," );
+ }
+ else if ( orphan )
+ {
+ dot.println( " style=filled," );
+ dot.println( " fillcolor=\"#8888FF\"," );
+ }
+
+ dot.println( " ];" );
+ }
+
+ private void writeEdge( PrintWriter dot, DependencyGraphEdge edge, DependencyGraphNode from, DependencyGraphNode to )
+ {
+ dot.println( "" );
+ dot.println( " // Edge" );
+
+ dot.println( " \"" + toId( from ) + "\" -> \"" + toId( to ) + "\" [" );
+
+ if ( edge.isDisabled() )
+ {
+ switch ( edge.getDisabledType() )
+ {
+ case DependencyGraph.DISABLED_CYCLIC:
+ dot.println( " color=\"#FF0000\"," );
+ break;
+ case DependencyGraph.DISABLED_OPTIONAL:
+ dot.println( " color=\"#FF00FF\"," );
+ break;
+ case DependencyGraph.DISABLED_NEARER_DEP:
+ dot.println( " color=\"#00FF00\"," );
+ break;
+ case DependencyGraph.DISABLED_NEARER_EDGE:
+ dot.println( " color=\"#88FF88\"," );
+ break;
+ default:
+ case DependencyGraph.DISABLED_EXCLUDED:
+ dot.println( " color=\"#0000FF\"," );
+ break;
+ }
+
+ dot.println( " label=\"" + edge.getDisabledReason() + "\"," );
+ dot.println( " fontsize=\"8\"," );
+ }
+ else if ( DependencyScope.TEST.equals( edge.getScope() ) )
+ {
+ dot.println( " style=\"dashed\"," );
+ dot.println( " color=\"#DDDDDD\"," );
+ }
+ else if ( DependencyScope.RUNTIME.equals( edge.getScope() ) )
+ {
+ dot.println( " style=\"dashed\"," );
+ dot.println( " color=\"#DDFFDD\"," );
+ dot.println( " label=\"runtime\"," );
+ dot.println( " fontsize=\"8\"," );
+ }
+ else if ( DependencyScope.PROVIDED.equals( edge.getScope() ) )
+ {
+ dot.println( " style=\"dashed\"," );
+ dot.println( " color=\"#DDDDFF\"," );
+ dot.println( " label=\"provided\"," );
+ dot.println( " fontsize=\"8\"," );
+ }
+ else if ( DependencyScope.SYSTEM.equals( edge.getScope() ) )
+ {
+ dot.println( " style=\"dashed\"," );
+ dot.println( " color=\"#FFDDDD\"," );
+ dot.println( " label=\"system\"," );
+ dot.println( " fontsize=\"8\"," );
+ }
+
+ dot.println( " arrowtail=none," );
+ dot.println( " arrowhead=normal" );
+
+ dot.println( " ];" );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/Keys.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/Keys.java
new file mode 100644
index 000000000..1511ea058
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/Keys.java
@@ -0,0 +1,47 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+
+/**
+ * Keys - utility methods for converting common objects into string keys.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class Keys
+{
+ public static String toKey( ArchivaProjectModel model )
+ {
+ return toKey( model.getGroupId(), model.getArtifactId(), model.getVersion() );
+ }
+
+ public static String toKey( String groupId, String artifactId, String version )
+ {
+ StringBuffer key = new StringBuffer();
+
+ key.append( groupId ).append( ":" );
+ key.append( artifactId ).append( ":" );
+ key.append( version );
+
+ return key.toString();
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginDependencyGraphTest.java
new file mode 100644
index 000000000..fcc63f0d6
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginDependencyGraphTest.java
@@ -0,0 +1,139 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * MavenProjectInfoReportsPluginDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.plugins:maven-project-info-reports-plugin:2.1-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class MavenProjectInfoReportsPluginDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new MavenProjectInfoReportsPluginMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.plugins:maven-project-info-reports-plugin:2.1-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.plugins:maven-project-info-reports-plugin:2.1-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "classworlds:classworlds:1.1-alpha-2::jar" );
+ expectedNodes.add( "com.jcraft:jsch:0.1.27::jar" );
+ expectedNodes.add( "commons-beanutils:commons-beanutils:1.7.0::jar" );
+ expectedNodes.add( "commons-cli:commons-cli:1.0::jar" );
+ expectedNodes.add( "commons-collections:commons-collections:3.1::jar" );
+ expectedNodes.add( "commons-digester:commons-digester:1.6::jar" );
+ expectedNodes.add( "commons-logging:commons-logging:1.0.4::jar" );
+ expectedNodes.add( "commons-validator:commons-validator:1.2.0::jar" );
+ expectedNodes.add( "httpunit:httpunit:1.6::jar" );
+ expectedNodes.add( "jakarta-regexp:jakarta-regexp:1.4::jar" );
+ expectedNodes.add( "javax.servlet:servlet-api:2.3::jar" );
+ expectedNodes.add( "jtidy:jtidy:4aug2000r7-dev::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "nekohtml:nekohtml:0.9.1::jar" );
+ expectedNodes.add( "org.apache.bcel:bcel:5.2::jar" );
+ expectedNodes.add( "org.apache.maven:maven-artifact:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven:maven-artifact-manager:2.0.2::jar" );
+ expectedNodes.add( "org.apache.maven:maven-core:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-error-diagnostics:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-model:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven:maven-monitor:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-plugin-api:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven:maven-plugin-descriptor:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-plugin-parameter-documenter:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-plugin-registry:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-profile:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-project:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven:maven-repository-metadata:2.0::jar" );
+ expectedNodes.add( "org.apache.maven:maven-settings:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven.doxia:doxia-core:1.0-alpha-8::jar" );
+ expectedNodes.add( "org.apache.maven.doxia:doxia-decoration-model:1.0-alpha-8::jar" );
+ expectedNodes.add( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-8::jar" );
+ expectedNodes.add( "org.apache.maven.doxia:doxia-site-renderer:1.0-alpha-8::jar" );
+ expectedNodes.add( "org.apache.maven.reporting:maven-reporting-api:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven.reporting:maven-reporting-impl:2.0.4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-api:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-beta-4::jar" );
+ expectedNodes.add( "org.apache.maven.shared:maven-dependency-tree:1.0-alpha-2::jar" );
+ expectedNodes.add( "org.apache.maven.shared:maven-plugin-testing-harness:1.0::jar" );
+ expectedNodes.add( "org.apache.maven.shared:maven-shared-jar:1.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-digest:1.0::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.1::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-velocity:1.1.3::jar" );
+ expectedNodes.add( "oro:oro:2.0.7::jar" );
+ expectedNodes.add( "plexus:plexus-utils:1.0.2::jar" );
+ expectedNodes.add( "regexp:regexp:1.3::jar" );
+ expectedNodes.add( "rhino:js:1.5R4.1::jar" );
+ expectedNodes.add( "velocity:velocity:1.4::jar" );
+ expectedNodes.add( "velocity:velocity-dep:1.4::jar" );
+ expectedNodes.add( "xerces:xercesImpl:2.6.2::jar" );
+ expectedNodes.add( "xerces:xmlParserAPIs:2.2.1::jar" );
+ expectedNodes.add( "xml-apis:xml-apis:1.0.b2::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginMemoryRepository.java
new file mode 100644
index 000000000..a61f1c5b3
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MavenProjectInfoReportsPluginMemoryRepository.java
@@ -0,0 +1,1040 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * MavenProjectInfoReportsPluginMemoryRepository
+ *
+ * MemoryRepository for testing <code>org.apache.maven.plugins:maven-project-info-reports-plugin:2.1-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class MavenProjectInfoReportsPluginMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+ Dependency dep;
+
+ model = toModel( "org.apache.maven.plugins:maven-project-info-reports-plugin:2.1-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.plugins:maven-plugins:8" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "commons-validator:commons-validator:1.2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.reporting:maven-reporting-impl:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-shared-jar:1.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-dependency-tree:1.0-alpha-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-core:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-site-renderer:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "httpunit:httpunit:1.6::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.shared:maven-plugin-testing-harness:1.0::jar", "test" ) );
+ model.addProperty( "wagon.version", "1.0-beta-2" );
+ model.addProperty( "scm.version", "1.0-beta-4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.plugins:maven-plugins:8" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:5" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-api:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.3" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-alpha-6" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.24::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.24" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7" );
+ model.setParentProject( toParent( "plexus:plexus-containers:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-containers:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-utils:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-jetty-httpd:1.0-beta-1" );
+ model.setParentProject( toParent( "plexus:plexus-components:1.0" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-components:1.0" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-container-default:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "jetty:jetty:4.2.10" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.3" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-validator:commons-validator:1.2.0" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.7.0::jar" ) );
+ model.addDependency( toDependency( "commons-digester:commons-digester:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.8::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:2.0.2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.7.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.3" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.6" );
+ addModel( model );
+
+ model = toModel( "logkit:logkit:1.0.1" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.7" );
+ addModel( model );
+
+ model = toModel( "commons-digester:commons-digester:1.6" );
+ model.addDependency( toDependency( "commons-beanutils:commons-beanutils:1.6::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.1::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-beanutils:commons-beanutils:1.6" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.0.b2" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.4" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ dep = toDependency( "avalon-framework:avalon-framework:4.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.1.3" );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.8" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.0.2" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xml-apis" );
+ model.getRelocation().setArtifactId( "xml-apis" );
+ model.getRelocation().setVersion( "1.0.b2" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting-impl:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven.reporting:maven-reporting:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.4::jar" ) );
+ model.addDependency( toDependency( "commons-validator:commons-validator:1.2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-core:1.0-alpha-7::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0.4::jar" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.7::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.reporting:maven-reporting-api:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-site-renderer:1.0-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0.4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-7::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-core:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-7" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.7::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-7::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia:1.0-alpha-7" );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-7" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting-api:2.0.4" );
+ model.setParentProject( toParent( "org.apache.maven.reporting:maven-reporting:2.0.4" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-site-renderer:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-7" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-core:1.0-alpha-7::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-velocity:1.1.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-decoration-model:1.0-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-i18n:1.0-beta-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.2" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging-api:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging-api:1.0.4" );
+ addModel( model );
+
+ model = toModel( "velocity:velocity:1.4" );
+ model.addDependency( toDependency( "velocity:velocity-dep:1.4::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "velocity:velocity-dep:1.4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-decoration-model:1.0-alpha-7" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-7" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-jar:1.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:3" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.bcel:bcel:5.2::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:3" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:4" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0.2" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0.2" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-external:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.24::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-6" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0.2" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.2" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0.2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-6::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0.2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0.2" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0.2" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0.2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.0" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.7" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.bcel:bcel:5.2" );
+ model.addDependency( toDependency( "jakarta-regexp:jakarta-regexp:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "jakarta-regexp:jakarta-regexp:1.4" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-dependency-tree:1.0-alpha-2" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:5" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:5" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-beta-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.27::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:1.0-beta-2::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.27" );
+ dep = toDependency( "com.jcraft:jzlib:1.0.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jzlib:1.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2::jar" ) );
+ model.addDependency( toDependency( "xml-apis:xml-apis:1.0.b2::jar" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-shared:1.0-beta-2" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:1.0-beta-2" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ addModel( model );
+
+ model = toModel( "jtidy:jtidy:4aug2000r7-dev" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-api:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-beta-4" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-managers:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-managers:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-beta-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-perforce:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-beta-4" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-test:1.0-beta-4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-test:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-api:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-manager-plexus:1.0-beta-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "regexp:regexp:1.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-clearcase:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-beta-4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-starteam:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-beta-4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svnexe:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-svn:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-beta-4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-svntest:1.0-beta-4::jar", "test" ) );
+ model.addDependency( toDependency( "regexp:regexp:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers-svn:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-beta-4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svn-commons:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-svn:1.0-beta-4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-svntest:1.0-beta-4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvsexe:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-beta-4::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-beta-4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers:1.0-beta-4" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-beta-4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.scm:maven-scm-provider-cvs-commons:1.0-beta-4" );
+ model.setParentProject( toParent( "org.apache.maven.scm:maven-scm-providers-cvs:1.0-beta-4" ) );
+ model.addDependency( toDependency( "org.apache.maven.scm:maven-scm-provider-cvstest:1.0-beta-4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-core:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-8" ) );
+ model.addDependency( toDependency( "oro:oro:2.0.7::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:1" );
+ model.setParentProject( toParent( "org.apache:apache:1" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-sink-api:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-8" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-site-renderer:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-8" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-core:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-i18n:1.0-beta-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-velocity:1.1.3::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.doxia:doxia-decoration-model:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-velocity:1.1.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.5" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:2.0::jar" ) );
+ model.addDependency( toDependency( "velocity:velocity:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.5" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.5" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.5" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.doxia:doxia-decoration-model:1.0-alpha-8" );
+ model.setParentProject( toParent( "org.apache.maven.doxia:doxia:1.0-alpha-8" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "httpunit:httpunit:1.6" );
+ model.addDependency( toDependency( "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ model.addDependency( toDependency( "xerces:xercesImpl:2.6.2::jar" ) );
+ model.addDependency( toDependency( "nekohtml:nekohtml:0.9.1::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "rhino:js:1.5R4.1::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "test" ) );
+ model.addDependency( toDependency( "javax.mail:mail:1.3.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xmlParserAPIs:2.2.1" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "nekohtml:nekohtml:0.9.1" );
+ model.addDependency( toDependency( "xerces:xerces:2.4.0::jar" ) );
+ addModel( model );
+
+ model = toModel( "xerces:xerces:2.4.0" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "xerces" );
+ model.getRelocation().setArtifactId( "xercesImpl" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.4.0" );
+ addModel( model );
+
+ model = toModel( "rhino:js:1.5R4.1" );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.0.2" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.3.1" );
+ model.addDependency( toDependency( "javax.activation:activation:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-plugin-testing-harness:1.0" );
+ model.setParentProject( toParent( "org.apache.maven.shared:maven-shared-components:7" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-core:2.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.shared:maven-shared-components:7" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5" );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.23::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.23" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar", "test" ) );
+ model.addDependency( toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-core:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-settings:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-parameter-documenter:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5::jar", "runtime" ) );
+ model.addDependency( toDependency( "org.apache.maven.reporting:maven-reporting-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-error-diagnostics:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-registry:2.0::jar" ) );
+ dep = toDependency( "commons-cli:commons-cli:1.0::jar" );
+ addExclusion( dep, "commons-lang:commons-lang" );
+ addExclusion( dep, "commons-logging:commons-logging" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-descriptor:2.0::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-monitor:2.0::jar" ) );
+ dep = toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5::jar", "runtime" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-settings:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-parameter-documenter:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting-api:2.0" );
+ model.setParentProject( toParent( "org.apache.maven.reporting:maven-reporting:2.0" ) );
+ dep = toDependency( "doxia:doxia-sink-api:1.0-alpha-4::jar" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.reporting:maven-reporting:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ addModel( model );
+
+ model = toModel( "doxia:doxia-sink-api:1.0-alpha-4" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-error-diagnostics:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-registry:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-cli:commons-cli:1.0" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:1.0::jar" ) );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-api:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-descriptor:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-monitor:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepository.java
new file mode 100644
index 000000000..256f38b2b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepository.java
@@ -0,0 +1,35 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+
+/**
+ * MemoryRepository
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface MemoryRepository
+{
+ public abstract void addModel( ArchivaProjectModel model );
+
+ public abstract ArchivaProjectModel getProjectModel( String groupId, String artifactId, String version );
+} \ No newline at end of file
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepositoryDependencyGraphBuilder.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepositoryDependencyGraphBuilder.java
new file mode 100644
index 000000000..bbc198b74
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/MemoryRepositoryDependencyGraphBuilder.java
@@ -0,0 +1,96 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * MemoryRepositoryProjectResolver
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class MemoryRepositoryDependencyGraphBuilder
+ implements DependencyGraphBuilder
+{
+ private MemoryRepository memoryRepository;
+
+ public ArchivaProjectModel resolveProjectModel( VersionedReference reference )
+ {
+ ArtifactReference artifact = new ArtifactReference();
+ artifact.setGroupId( reference.getGroupId() );
+ artifact.setArtifactId( reference.getArtifactId() );
+ artifact.setVersion( reference.getVersion() );
+ artifact.setType( "pom" );
+
+ return resolveProjectModel( artifact );
+ }
+
+ public ArchivaProjectModel resolveProjectModel( ArtifactReference reference )
+ {
+ ArchivaProjectModel model = memoryRepository
+ .getProjectModel( reference.getGroupId(), reference.getArtifactId(), reference.getVersion() );
+
+ if ( model == null )
+ {
+ throw new NullPointerException( "Unable to find model for " + DependencyGraphKeys.toKey( reference ) );
+ }
+
+ if ( model.getParentProject() != null )
+ {
+ ArchivaProjectModel parentModel = resolveProjectModel( model.getParentProject() );
+
+ model.getDependencies().addAll( parentModel.getDependencies() );
+ model.getDependencyManagement().addAll( parentModel.getDependencyManagement() );
+ }
+
+ return model;
+ }
+
+ public MemoryRepository getMemoryRepository()
+ {
+ return memoryRepository;
+ }
+
+ public void setMemoryRepository( MemoryRepository memoryRepository )
+ {
+ this.memoryRepository = memoryRepository;
+ }
+
+ public DependencyGraph createGraph( VersionedReference versionedProjectReference )
+ {
+ String groupId = versionedProjectReference.getGroupId();
+ String artifactId = versionedProjectReference.getArtifactId();
+ String version = versionedProjectReference.getVersion();
+
+ DependencyGraph graph = new DependencyGraph( groupId, artifactId, version );
+ return graph;
+ }
+
+ public void resolveNode( DependencyGraph graph, DependencyGraphNode fromNode,
+ VersionedReference versionedProjectReference )
+ {
+ ArchivaProjectModel model = resolveProjectModel( fromNode.getArtifact() );
+
+ DependencyGraphUtils.addNodeFromModel( model, graph, fromNode );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleDependencyGraphTest.java
new file mode 100644
index 000000000..91ce13483
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleDependencyGraphTest.java
@@ -0,0 +1,71 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * SimpleDependencyGraphTest
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class SimpleDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolveDependenciesBasic() throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder = new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new SimpleMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.archiva:archiva-commons:1.0" );
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ List expectedNodes = new ArrayList();
+ expectedNodes.add( "org.apache.maven.archiva:archiva-commons:1.0::pom" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-digest:1.0::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ assertNodes( graph, expectedNodes );
+
+ List expectedEdges = new ArrayList();
+ expectedEdges.add( new ExpectedEdge( "org.apache.maven.archiva:archiva-commons:1.0::pom",
+ "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ expectedEdges.add( new ExpectedEdge( "org.codehaus.plexus:plexus-digest:1.0::jar", "junit:junit:3.8.1::jar" ) );
+
+ assertEdges( graph, expectedEdges );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleMemoryRepository.java
new file mode 100644
index 000000000..d41e6f036
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/SimpleMemoryRepository.java
@@ -0,0 +1,48 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+
+/**
+ * SimpleMemoryRepository
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class SimpleMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+
+ model = toModel( "org.codehaus.plexus:plexus-digest:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.archiva:archiva-commons:1.0" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-digest:1.0::jar" ) );
+ addModel( model );
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerDependencyGraphTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerDependencyGraphTest.java
new file mode 100644
index 000000000..3fcc04c4f
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerDependencyGraphTest.java
@@ -0,0 +1,104 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * WagonManagerDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.wagon:wagon-manager:2.0-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class WagonManagerDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new WagonManagerMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.wagon:wagon-manager:2.0-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.wagon:wagon-manager:2.0-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "classworlds:classworlds:1.1-alpha-2::jar" );
+ expectedNodes.add( "com.jcraft:jsch:0.1.27::jar" );
+ expectedNodes.add( "commons-httpclient:commons-httpclient:2.0.2::jar" );
+ expectedNodes.add( "commons-lang:commons-lang:2.1::jar" );
+ expectedNodes.add( "commons-logging:commons-logging:1.0.4::jar" );
+ expectedNodes.add( "commons-net:commons-net:1.4.1::jar" );
+ expectedNodes.add( "de.zeigermann.xml:xml-im-exporter:1.1::jar" );
+ expectedNodes.add( "it.could:webdav:0.4::jar" );
+ expectedNodes.add( "javax.servlet:servlet-api:2.3::jar" );
+ expectedNodes.add( "jdom:jdom:1.0::jar" );
+ expectedNodes.add( "jtidy:jtidy:4aug2000r7-dev::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-file:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-ftp:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-http-lightweight:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-http-shared:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-provider-api:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-ssh:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-ssh-common:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-ssh-external:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.apache.maven.wagon:wagon-webdav:2.0-SNAPSHOT::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" );
+ expectedNodes.add( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-1::jar" );
+ expectedNodes.add( "org.mortbay.jetty:jetty:6.0.2::jar" );
+ expectedNodes.add( "org.mortbay.jetty:jetty-util:6.0.2::jar" );
+ expectedNodes.add( "org.mortbay.jetty:servlet-api-2.5:6.0.2::jar" );
+ expectedNodes.add( "oro:oro:2.0.8::jar" );
+ expectedNodes.add( "slide:slide-webdavlib:2.1::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerMemoryRepository.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerMemoryRepository.java
new file mode 100644
index 000000000..ca3e7ffe6
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/WagonManagerMemoryRepository.java
@@ -0,0 +1,772 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+
+/**
+ * WagonManagerMemoryRepository
+ *
+ * MemoryRepository for testing <code>org.apache.maven.wagon:wagon-manager:2.0-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class WagonManagerMemoryRepository
+ extends AbstractMemoryRepository
+{
+ public void initialize()
+ {
+ ArchivaProjectModel model;
+ Dependency dep;
+
+ model = toModel( "org.apache.maven.wagon:wagon-manager:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ftp:2.0-SNAPSHOT::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-external:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-webdav:2.0-SNAPSHOT::jar", "test" ) );
+ dep = toDependency( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-1::jar", "test" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-component-api" );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "org.mortbay.jetty:jetty:6.0.2::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ addExclusion( dep, "classworlds:classworlds" );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven:maven-parent:5" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-test:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh-common:2.0-SNAPSHOT::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6::jar" );
+ addExclusion( dep, "plexus:plexus-utils" );
+ addExclusion( dep, "org.codehaus.plexus:plexus-container-default" );
+ addExclusion( dep, "classworlds:classworlds" );
+ model.addDependencyManagement( dep );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-parent:5" );
+ model.setParentProject( toParent( "org.apache:apache:3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache:apache:3" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.8.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.11" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.11" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:2.0-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common-test:2.0-SNAPSHOT" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-common:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:2.0-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-interactivity:1.0-alpha-6" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity:1.0-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.9" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.10" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.10" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.9" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.8" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.8" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-16" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jmock:jmock:1.0.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.4" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-9" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0.3" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0.3" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.4" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-utils:1.0.4" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "classworlds:classworlds:1.1-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ftp:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "commons-net:commons-net:1.4.1::jar" ) );
+ dep = toDependency( "org.codehaus.plexus:plexus-ftpd:1.0-alpha-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "commons-net:commons-net:1.4.1" );
+ model.addDependency( toDependency( "oro:oro:2.0.8::jar" ) );
+ addModel( model );
+
+ model = toModel( "oro:oro:2.0.8" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-ftpd:1.0-alpha-1" );
+ model.addDependency( toDependency( "concurrent:concurrent:1.3.4::jar", "compile" ) );
+ model.addDependency( toDependency( "cornerstone-threads:cornerstone-threads-api:1.0::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "cornerstone-sockets:cornerstone-sockets-api:1.0::jar", "compile" ) );
+ model.addDependency( toDependency( "cornerstone-connection:cornerstone-connection-impl:1.0::jar", "compile" ) );
+ model.addDependency( toDependency( "excalibur-pool:excalibur-pool-impl:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "excalibur-thread:excalibur-thread:1.1.1::jar", "compile" ) );
+ model.addDependency( toDependency( "cornerstone-sockets:cornerstone-sockets-impl:1.0::jar", "compile" ) );
+ model.addDependency( toDependency( "cornerstone-connection:cornerstone-connection-api:1.0::jar", "compile" ) );
+ model.addDependency( toDependency( "commons-collections:commons-collections:3.0::jar", "compile" ) );
+ model.addDependency( toDependency( "avalon:avalon-framework:4.1.4::jar", "compile" ) );
+ model.addDependency( toDependency( "cornerstone-threads:cornerstone-threads-impl:1.0::jar", "compile" ) );
+ model.addDependency( toDependency( "excalibur-pool:excalibur-pool-api:2.0::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-avalon-personality:0.13::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "concurrent:concurrent:1.3.4" );
+ addModel( model );
+
+ model = toModel( "cornerstone-threads:cornerstone-threads-api:1.0" );
+ addModel( model );
+
+ model = toModel( "cornerstone-sockets:cornerstone-sockets-api:1.0" );
+ addModel( model );
+
+ model = toModel( "cornerstone-connection:cornerstone-connection-impl:1.0" );
+ addModel( model );
+
+ model = toModel( "excalibur-pool:excalibur-pool-impl:2.0" );
+ addModel( model );
+
+ model = toModel( "excalibur-thread:excalibur-thread:1.1.1" );
+ addModel( model );
+
+ model = toModel( "cornerstone-sockets:cornerstone-sockets-impl:1.0" );
+ addModel( model );
+
+ model = toModel( "cornerstone-connection:cornerstone-connection-api:1.0" );
+ addModel( model );
+
+ model = toModel( "commons-collections:commons-collections:3.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "avalon:avalon-framework:4.1.4" );
+ addModel( model );
+
+ model = toModel( "cornerstone-threads:cornerstone-threads-impl:1.0" );
+ addModel( model );
+
+ model = toModel( "excalibur-pool:excalibur-pool-api:2.0" );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-avalon-personality:0.13" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "avalon:avalon-framework:4.1.4::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-container-default:1.0-alpha-2" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-http-shared:2.0-SNAPSHOT::jar" ) );
+ dep = toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" );
+ addExclusion( dep, "plexus:plexus-container-default" );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-shared:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "jtidy:jtidy:4aug2000r7-dev::jar" ) );
+ addModel( model );
+
+ model = toModel( "jtidy:jtidy:4aug2000r7-dev" );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-jetty-httpd:1.0-beta-1" );
+ model.setParentProject( toParent( "plexus:plexus-components:1.0" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-components:1.0" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0" ) );
+ model.addDependency( toDependency( "plexus:plexus-container-default:1.0-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "jetty:jetty:4.2.10" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "javax.servlet:servlet-api:2.3" );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.3" );
+ model.setRelocation( new VersionedReference() );
+ model.getRelocation().setGroupId( "javax.servlet" );
+ model.getRelocation().setArtifactId( "servlet-api" );
+ model.getRelocation().setVersion( "2.3" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.27::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-6::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:2.0-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.27" );
+ dep = toDependency( "com.jcraft:jzlib:1.0.7::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jzlib:1.0.7" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh-external:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common:2.0-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-ssh-common-test:2.0-SNAPSHOT::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-webdav:2.0-SNAPSHOT" );
+ model.setParentProject( toParent( "org.apache.maven.wagon:wagon-providers:2.0-SNAPSHOT" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.4.2-SNAPSHOT::jar" ) );
+ model.addDependency( toDependency( "slide:slide-webdavlib:2.1::jar" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.4::jar", "runtime" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "slide:slide-webdavlib:2.1" );
+ model.addDependency( toDependency( "commons-httpclient:commons-httpclient:2.0.2::jar" ) );
+ model.addDependency( toDependency( "jdom:jdom:1.0::jar" ) );
+ model.addDependency( toDependency( "de.zeigermann.xml:xml-im-exporter:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-httpclient:commons-httpclient:2.0.2" );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.3" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "log4j:log4j:1.2.6" );
+ addModel( model );
+
+ model = toModel( "logkit:logkit:1.0.1" );
+ addModel( model );
+
+ model = toModel( "junit:junit:3.7" );
+ addModel( model );
+
+ model = toModel( "jdom:jdom:1.0" );
+ dep = toDependency( "xerces:xercesImpl:2.6.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:1.0.b2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "jaxen:jaxen:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "saxpath:saxpath:1.0-FCS::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xalan:xalan:2.5.0::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:2.6.0" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:1.0.b2" );
+ addModel( model );
+
+ model = toModel( "jaxen:jaxen:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "saxpath:saxpath:1.0-FCS" );
+ addModel( model );
+
+ model = toModel( "xalan:xalan:2.5.0" );
+ addModel( model );
+
+ model = toModel( "de.zeigermann.xml:xml-im-exporter:1.1" );
+ addModel( model );
+
+ model = toModel( "commons-logging:commons-logging:1.0.4" );
+ dep = toDependency( "log4j:log4j:1.2.6::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "logkit:logkit:1.0.1::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ model.addDependency( toDependency( "junit:junit:3.7::jar", "test" ) );
+ dep = toDependency( "avalon-framework:avalon-framework:4.1.3::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "avalon-framework:avalon-framework:4.1.3" );
+ addModel( model );
+
+ model = toModel( "it.could:webdav:0.4" );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar", "runtime" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-simple:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ model.addDependency( toDependency( "it.could:webdav:0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-providers-parent:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-1::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-components:1.1.8" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-components:1.1.8" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-15::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-15" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-containers:1.0-alpha-15" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus:1.0.9" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-15" );
+ model.setParentProject( toParent( "org.codehaus.plexus:plexus-containers:1.0-alpha-15" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-15::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.3::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-6::jar" ) );
+ model.addDependency( toDependency( "jmock:jmock:1.0.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-api:1.0-alpha-1" );
+ model.setParentProject( toParent( "org.codehaus.plexus.webdav:plexus-webdav-parent:1.0-alpha-1" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-component-api:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-16::jar" ) );
+ model.addDependency( toDependency( "javax.servlet:servlet-api:2.3::jar" ) );
+ model.addDependency( toDependency( "commons-lang:commons-lang:2.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "commons-lang:commons-lang:2.1" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus.webdav:plexus-webdav-test:1.0-alpha-1" );
+ addModel( model );
+
+ model = toModel( "org.mortbay.jetty:jetty:6.0.2" );
+ model.setParentProject( toParent( "org.mortbay.jetty:project:6.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.mortbay.jetty:jetty-util:6.0.2::jar" ) );
+ model.addDependency( toDependency( "org.mortbay.jetty:servlet-api-2.5:6.0.2::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.mortbay.jetty:project:6.0.2" );
+ model.addDependencyManagement( toDependency( "org.apache.maven:maven-plugin-tools-api:2.0::jar" ) );
+ model.addDependencyManagement( toDependency( "junit:junit:3.8.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:jcl104-over-slf4j:1.0.1::jar" ) );
+ model.addDependencyManagement( toDependency( "org.slf4j:slf4j-simple:1.0.1::jar" ) );
+ model.addDependencyManagement( toDependency( "mx4j:mx4j:3.0.1::jar" ) );
+ model.addDependencyManagement( toDependency( "mx4j:mx4j-tools:3.0.1::jar" ) );
+ model.addDependencyManagement( toDependency( "xerces:xercesImpl:${xerces-version}::jar" ) );
+ model.addDependencyManagement( toDependency( "commons-el:commons-el:1.0::jar" ) );
+ model.addDependencyManagement( toDependency( "ant:ant:1.6.5::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.mail:mail:1.4::jar" ) );
+ model.addDependencyManagement( toDependency( "javax.activation:activation:1.1::jar" ) );
+ model.addProperty( "jasper-version", "5.5.15" );
+ model.addProperty( "junit-version", "3.8.1" );
+ model.addProperty( "ant-version", "1.6.5" );
+ model.addProperty( "mail-version", "1.4" );
+ model.addProperty( "commons-el-version", "1.0" );
+ model.addProperty( "slf4j-version", "1.0.1" );
+ model.addProperty( "eclipse-compiler-version", "3.1.1" );
+ model.addProperty( "mx4j-version", "3.0.1" );
+ model.addProperty( "jta-spec-version", "1.0.1B-rc4" );
+ model.addProperty( "activation-version", "1.1" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-tools-api:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven-plugin-tools:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-project:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-descriptor:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-tools:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven:2.0" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependencyManagement( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar" ) );
+ model.addDependencyManagement( toDependency( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-ssh:1.0-alpha-5" );
+ model.addDependency( toDependency( "com.jcraft:jsch:0.1.23::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "compile" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4::jar", "compile" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "com.jcraft:jsch:0.1.23" );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-utils:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-root:1.0.3" );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar", "compile" ) );
+ addModel( model );
+
+ model = toModel( "org.codehaus.plexus:plexus-container-default:1.0-alpha-7" );
+ model.setParentProject( toParent( "plexus:plexus-containers:1.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "compile" ) );
+ model.addDependency( toDependency( "plexus:plexus-utils:1.0.2::jar" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar" ) );
+ addModel( model );
+
+ model = toModel( "plexus:plexus-containers:1.0.2" );
+ model.setParentProject( toParent( "plexus:plexus-root:1.0.3" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-file:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven.wagon:wagon-http-lightweight:1.0-alpha-5" );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar", "compile" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar", "compile" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ model.addDependency( toDependency( "servletapi:servletapi:2.3::jar", "test" ) );
+ model.addDependency( toDependency( "classworlds:classworlds:1.1-alpha-2::jar", "test" ) );
+ model.addDependency( toDependency( "jetty:jetty:4.2.10::jar", "test" ) );
+ model.addDependency( toDependency( "plexus:plexus-jetty-httpd:1.0-beta-1::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-test:1.0-alpha-5::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-project:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-test:2.0::jar", "test" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-profile:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact-manager:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-test:2.0" );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-profile:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-model:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-model:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact-manager:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-repository-metadata:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-file:1.0-alpha-5::jar", "test" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven.wagon:wagon-provider-api:1.0-alpha-5::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-repository-metadata:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-artifact:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-utils:1.0.4::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-descriptor:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-plugin-api:2.0::jar" ) );
+ model.addDependency( toDependency( "org.apache.maven:maven-artifact:2.0::jar" ) );
+ model.addDependency( toDependency( "org.codehaus.plexus:plexus-container-default:1.0-alpha-8::jar" ) );
+ addModel( model );
+
+ model = toModel( "org.apache.maven:maven-plugin-api:2.0" );
+ model.setParentProject( toParent( "org.apache.maven:maven:2.0" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ addModel( model );
+
+ model = toModel( "org.slf4j:jcl104-over-slf4j:1.0.1" );
+ addModel( model );
+
+ model = toModel( "org.slf4j:slf4j-simple:1.0.1" );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j:3.0.1" );
+ addModel( model );
+
+ model = toModel( "mx4j:mx4j-tools:3.0.1" );
+ addModel( model );
+
+ model = toModel( "xerces:xercesImpl:${xerces-version}" );
+ addModel( model );
+
+ model = toModel( "commons-el:commons-el:1.0" );
+ model.addDependency( toDependency( "servletapi:servletapi:2.4-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "jspapi:jsp-api:2.0-20040521::jar", "provided" ) );
+ model.addDependency( toDependency( "commons-logging:commons-logging:1.0.3::jar" ) );
+ addModel( model );
+
+ model = toModel( "servletapi:servletapi:2.4-20040521" );
+ addModel( model );
+
+ model = toModel( "jspapi:jsp-api:2.0-20040521" );
+ addModel( model );
+
+ model = toModel( "ant:ant:1.6.5" );
+ dep = toDependency( "xerces:xerces-impl:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ dep = toDependency( "xml-apis:xml-apis:2.6.2::jar" );
+ dep.setOptional( true );
+ model.addDependency( dep );
+ addModel( model );
+
+ model = toModel( "xerces:xerces-impl:2.6.2" );
+ addModel( model );
+
+ model = toModel( "xml-apis:xml-apis:2.6.2" );
+ addModel( model );
+
+ model = toModel( "javax.mail:mail:1.4" );
+ model.addDependency( toDependency( "javax.activation:activation:1.1::jar" ) );
+ addModel( model );
+
+ model = toModel( "javax.activation:activation:1.1" );
+ addModel( model );
+
+ model = toModel( "org.mortbay.jetty:jetty-util:6.0.2" );
+ model.setParentProject( toParent( "org.mortbay.jetty:project:6.0.2" ) );
+ model.addDependency( toDependency( "junit:junit:3.8.1::jar", "test" ) );
+ model.addDependency( toDependency( "org.mortbay.jetty:servlet-api-2.5:6.0.2::jar", "provided" ) );
+ addModel( model );
+
+ model = toModel( "org.mortbay.jetty:servlet-api-2.5:6.0.2" );
+ model.setParentProject( toParent( "org.mortbay.jetty:project:6.0.2" ) );
+ addModel( model );
+
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/functors/ToKeyTransformer.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/functors/ToKeyTransformer.java
new file mode 100644
index 000000000..f1b8183a1
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/functors/ToKeyTransformer.java
@@ -0,0 +1,67 @@
+package org.apache.maven.archiva.dependency.graph.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Transformer;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.Keys;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+/**
+ * ToKeyTransformer
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ToKeyTransformer
+ implements Transformer
+{
+
+ public Object transform( Object input )
+ {
+ if ( input instanceof ArchivaProjectModel )
+ {
+ return Keys.toKey( (ArchivaProjectModel) input );
+ }
+
+ if ( input instanceof DependencyGraphNode )
+ {
+ return DependencyGraphKeys.toKey( ((DependencyGraphNode) input).getArtifact() );
+ }
+
+ if ( input instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) input;
+ // Potentially Confusing, but this is called "To"KeyTransformer after all.
+ return DependencyGraphKeys.toKey( edge.getNodeTo() );
+ }
+
+ if ( input instanceof ArtifactReference )
+ {
+ return DependencyGraphKeys.toKey( ((ArtifactReference) input) );
+ }
+
+ return input;
+ }
+
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStackTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStackTest.java
new file mode 100644
index 000000000..a3d7fa092
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/tasks/DependencyManagementStackTest.java
@@ -0,0 +1,227 @@
+package org.apache.maven.archiva.dependency.graph.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.tasks.DependencyManagementStack;
+import org.apache.maven.archiva.dependency.graph.tasks.DependencyManagementStack.Rules;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+
+import junit.framework.TestCase;
+
+/**
+ * DependencyManagementStackTest
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyManagementStackTest
+ extends TestCase
+{
+ public DependencyGraphNode toNode( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ":" );
+ assertEquals( "toNode(" + key + ") requires 5 parts", 5, parts.length );
+
+ ArtifactReference ref = new ArtifactReference();
+ ref.setGroupId( parts[0] );
+ ref.setArtifactId( parts[1] );
+ ref.setVersion( parts[2] );
+ ref.setClassifier( parts[3] );
+ ref.setType( parts[4] );
+
+ return new DependencyGraphNode( ref );
+ }
+
+ protected Dependency toDependency( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ assertEquals( "Dependency key [" + key + "] should be 5 parts.", 5, parts.length );
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( parts[0] );
+ dep.setArtifactId( parts[1] );
+ dep.setVersion( parts[2] );
+ dep.setClassifier( parts[3] );
+ dep.setType( parts[4] );
+
+ return dep;
+ }
+
+ public void testPushPopSimple()
+ {
+ DependencyGraphNode node = toNode( "org.apache.maven.archiva:depmanstack-testcase:1.0::jar" );
+ Dependency dep = toDependency( "junit:junit:3.8.1::jar" );
+ dep.setScope( "test" );
+ node.addDependencyManagement( dep );
+
+ DependencyManagementStack stack = new DependencyManagementStack();
+ stack.push( node );
+ DependencyGraphNode oldnode = stack.pop();
+ assertEquals( "added node to old node", node, oldnode );
+ }
+
+ public void testPushPopTwoDeep()
+ {
+ DependencyManagementStack stack = new DependencyManagementStack();
+ Dependency dep;
+
+ // top node.
+ DependencyGraphNode projectNode = toNode( "org.apache.maven.archiva:depmanstack-testcase:1.0::jar" );
+ dep = toDependency( "junit:junit:3.8.1::jar" );
+ dep.setScope( "test" );
+ projectNode.addDependencyManagement( dep );
+ stack.push( projectNode );
+
+ // direct node.
+ DependencyGraphNode directNode = toNode( "org.apache.maven.archiva:depmanstack-common:1.0::jar" );
+ dep = toDependency( "junit:junit:3.7::jar" );
+ dep.setScope( "test" );
+ directNode.addDependencyManagement( dep );
+ stack.push( directNode );
+
+ // transitive node.
+ DependencyGraphNode transNode = toNode( "org.apache.maven.archiva:depmanstack-model:1.0::jar" );
+ dep = toDependency( "junit:junit:3.7::jar" );
+ transNode.addDependencyManagement( dep );
+ stack.push( transNode );
+
+ // Test it
+ assertEquals( "popped node is trans node", transNode, stack.pop() );
+ assertEquals( "popped node is direct node", directNode, stack.pop() );
+ assertEquals( "popped node is project node", projectNode, stack.pop() );
+ }
+
+ public void testApplyNodeVersionParentWins()
+ {
+ DependencyManagementStack stack = new DependencyManagementStack();
+ Dependency dep;
+
+ // top node.
+ DependencyGraphNode projectNode = toNode( "org.apache.maven.archiva:depmanstack-testcase:1.0::jar" );
+ dep = toDependency( "junit:junit:3.8.1::jar" );
+ dep.setScope( "test" );
+ projectNode.addDependencyManagement( dep );
+ stack.push( projectNode );
+
+ // direct node.
+ DependencyGraphNode directNode = toNode( "org.apache.maven.archiva:depmanstack-common:1.0::jar" );
+ dep = toDependency( "junit:junit:3.7::jar" );
+ dep.setScope( "test" );
+ directNode.addDependencyManagement( dep );
+ stack.push( directNode );
+
+ // transitive node.
+ DependencyGraphNode transNode = toNode( "org.apache.maven.archiva:depmanstack-model:1.0::jar" );
+ dep = toDependency( "junit:junit:3.7.1::jar" );
+ transNode.addDependencyManagement( dep );
+ stack.push( transNode );
+
+ // Test it
+ DependencyGraphNode junitNode = toNode( "junit:junit:1.0::jar" );
+
+ assertRules( "junit (lvl:trans)", stack, junitNode, "3.8.1", "test", null );
+ stack.pop();
+ assertRules( "junit (lvl:direct)", stack, junitNode, "3.8.1", "test", null );
+ stack.pop();
+ assertRules( "junit (lvl:project)", stack, junitNode, "3.8.1", "test", null );
+ }
+
+ /**
+ * This test is based off of Carlos Sanchez's depman example use case.
+ *
+ * In a simple project chain of A:1.0 -&gt; B:1.0 -&gt; C:1.0 -&gt; D:1.0
+ * If B:1.0 has a dependency management section stating dep D should be version 2.0
+ * Then the dep D when viewed from A should be version 2.0
+ */
+ public void testApplyNodeVersionCarlosABCD()
+ {
+ DependencyManagementStack stack = new DependencyManagementStack();
+ Dependency dep;
+
+ // project node, A
+ DependencyGraphNode nodeA = toNode( "org.apache.maven.archiva:carlos-A:1.0::jar" );
+ stack.push( nodeA );
+
+ // sub node, B
+ DependencyGraphNode nodeB = toNode( "org.apache.maven.archiva:carlos-B:1.0::jar" );
+ dep = toDependency( "org.apache.maven.archiva:carlos-D:2.0::jar" );
+ nodeB.addDependencyManagement( dep );
+ stack.push( nodeB );
+
+ // sub node, C
+ DependencyGraphNode nodeC = toNode( "org.apache.maven.archiva:carlos-C:1.0::jar" );
+ stack.push( nodeC );
+
+ // sub node, D
+ // Not added to the stack, as this is the node that is having the rules applied to it.
+ DependencyGraphNode nodeD = toNode( "org.apache.maven.archiva:carlos-D:1.0::jar" );
+
+ // Test it
+ assertRules( "node D (lvl:C)", stack, nodeD, "2.0", null, null );
+ stack.pop();
+ assertRules( "node D (lvl:B)", stack, nodeD, "2.0", null, null );
+ stack.pop();
+ assertNoRules( "node D (lvl:A)", stack, nodeD, "2.0", null, null );
+ }
+
+ /**
+ * Test for expected rules, that should be enforced for the provided node.
+ * NOTE: This test will update the node.artifact.version to whatever is stated in the rules.
+ */
+ private void assertRules( String msg, DependencyManagementStack stack, DependencyGraphNode node,
+ String expectedVersion, String expectedScope, String expectedExclusions[] )
+ {
+ Rules rules = stack.getRules( node );
+ assertNotNull( msg + " rules should not be null.", rules );
+
+ node.getArtifact().setVersion( rules.artifact.getVersion() );
+
+ assertEquals( msg + ": version", expectedVersion, rules.artifact.getVersion() );
+ assertEquals( msg + ": scope", expectedScope, rules.scope );
+
+ if ( expectedExclusions != null )
+ {
+ // TODO: test for exclusion settings.
+ }
+ }
+
+ /**
+ * Test for when there are no rules being enforced for the provided node.
+ * Similar to assertRules() above.
+ */
+ private void assertNoRules( String msg, DependencyManagementStack stack, DependencyGraphNode node,
+ String expectedVersion, String expectedScope, String expectedExclusions[] )
+ {
+ Rules rules = stack.getRules( node );
+ assertNull( msg + " rules should be null.", rules );
+
+ assertEquals( msg + ": version", expectedVersion, node.getArtifact().getVersion() );
+
+ if ( expectedExclusions != null )
+ {
+ // TODO: test for exclusion settings.
+ }
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalkerTest.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalkerTest.java
new file mode 100644
index 000000000..3669d215b
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/DependencyGraphWalkerTest.java
@@ -0,0 +1,231 @@
+package org.apache.maven.archiva.dependency.graph.walk;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.tasks.FlagCyclicEdgesTask;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphWalker;
+import org.apache.maven.archiva.dependency.graph.walk.WalkDepthFirstSearch;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+/**
+ * DependencyGraphWalkerTest
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraphWalkerTest
+ extends TestCase
+{
+ /**
+ * <pre>
+ * [foo-util] ---&gt; [foo-common]
+ * \
+ * ---------&gt; [foo-xml] ---&gt; [xercesImpl] ---&gt; [xmlParserAPIs]
+ * \ \
+ * \ ---&gt; [jdom] ----+
+ * \ |
+ * ----&gt; [jaxen] &lt;--+
+ * </pre>
+ */
+ public void testModerateWalk()
+ {
+ DependencyGraph graph = new DependencyGraph( "org.foo", "foo-util", "1.0" );
+ String rootKey = DependencyGraphKeys.toKey( graph.getRootNode().getArtifact() );
+ addEdgeAndNodes( graph, toEdge( rootKey, "org.foo:foo-common:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( rootKey, "org.foo:foo-xml:1.0::jar" ) );
+
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "xerces:xercesImpl:2.2.1::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "xerces:xercesImpl:2.2.1::jar", "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "jdom:jdom:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "jaxen:jaxen:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "jdom:jdom:1.0::jar", "jaxen:jaxen:1.0::jar" ) );
+
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ WalkCollector walkCollector = new WalkCollector();
+ walker.visit( graph, walkCollector );
+
+ String expectedPath[] = new String[] {
+ rootKey,
+ "org.foo:foo-common:1.0::jar",
+ "org.foo:foo-xml:1.0::jar",
+ "jaxen:jaxen:1.0::jar",
+ "xerces:xercesImpl:2.2.1::jar",
+ "xerces:xmlParserAPIs:2.2.1::jar",
+ "jdom:jdom:1.0::jar" };
+
+ assertVisitor( walkCollector, 1, 7, 7 );
+ assertPath( expectedPath, walkCollector.getCollectedPath() );
+ }
+
+ /**
+ * <pre>
+ * [foo-util] ---&gt; [foo-common]
+ * \
+ * ---------&gt; [foo-xml] ---&gt; [xercesImpl] ---&gt; [xmlParserAPIs]
+ * </pre>
+ */
+ public void testSimpleWalk()
+ {
+ DependencyGraph graph = new DependencyGraph( "org.foo", "foo-util", "1.0" );
+ String rootKey = DependencyGraphKeys.toKey( graph.getRootNode().getArtifact() );
+ addEdgeAndNodes( graph, toEdge( rootKey, "org.foo:foo-common:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( rootKey, "org.foo:foo-xml:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "xerces:xercesImpl:2.2.1::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "xerces:xercesImpl:2.2.1::jar", "xerces:xmlParserAPIs:2.2.1::jar" ) );
+
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ WalkCollector walkCollector = new WalkCollector();
+ walker.visit( graph, walkCollector );
+
+ String expectedPath[] = new String[] {
+ rootKey,
+ "org.foo:foo-common:1.0::jar",
+ "org.foo:foo-xml:1.0::jar",
+ "xerces:xercesImpl:2.2.1::jar",
+ "xerces:xmlParserAPIs:2.2.1::jar" };
+
+ assertVisitor( walkCollector, 1, 5, 4 );
+ assertPath( expectedPath, walkCollector.getCollectedPath() );
+ }
+
+ /**
+ * <pre>
+ * [foo-util] ---&gt; [foo-common]
+ * \
+ * \ +----------------------------------------+
+ * \ v |
+ * -------&gt; [foo-xml] ---&gt; [xercesImpl] ---&gt; [xmlParserAPIs]
+ * \ \
+ * \ ---&gt; [jdom] ----+
+ * \ |
+ * ----&gt; [jaxen] &lt;--+
+ * </pre>
+ */
+ public void testDeepNodeWalk()
+ {
+ DependencyGraph graph = new DependencyGraph( "org.foo", "foo-util", "1.0" );
+ String rootKey = DependencyGraphKeys.toKey( graph.getRootNode().getArtifact() );
+ addEdgeAndNodes( graph, toEdge( rootKey, "org.foo:foo-common:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( rootKey, "org.foo:foo-xml:1.0::jar" ) );
+
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "xerces:xercesImpl:2.2.1::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "xerces:xercesImpl:2.2.1::jar", "xerces:xmlParserAPIs:2.2.1::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "jdom:jdom:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "org.foo:foo-xml:1.0::jar", "jaxen:jaxen:1.0::jar" ) );
+ addEdgeAndNodes( graph, toEdge( "jdom:jdom:1.0::jar", "jaxen:jaxen:1.0::jar" ) );
+ // introduce cyclic dep. intentional. should only result in walking to foo-xml once.
+ addEdgeAndNodes( graph, toEdge( "xerces:xmlParserAPIs:2.2.1::jar", "org.foo:foo-xml:1.0::jar" ) );
+
+ new FlagCyclicEdgesTask().executeTask( graph );
+
+ DependencyGraphWalker walker = new WalkDepthFirstSearch();
+ WalkCollector walkCollector = new WalkCollector();
+ ArtifactReference startRef = toArtifactReference( "org.foo:foo-xml:1.0::jar" );
+ DependencyGraphNode startNode = new DependencyGraphNode( startRef );
+ walker.visit( graph, startNode, walkCollector );
+
+ String expectedPath[] = new String[] {
+ "org.foo:foo-xml:1.0::jar",
+ "jaxen:jaxen:1.0::jar",
+ "xerces:xercesImpl:2.2.1::jar",
+ "xerces:xmlParserAPIs:2.2.1::jar",
+ "jdom:jdom:1.0::jar" };
+
+ assertVisitor( walkCollector, 1, 5, 6 );
+ assertPath( expectedPath, walkCollector.getCollectedPath() );
+ }
+
+ private void addEdgeAndNodes( DependencyGraph graph, DependencyGraphEdge edge )
+ {
+ ensureNodeExists( graph, edge.getNodeFrom() );
+ ensureNodeExists( graph, edge.getNodeTo() );
+ graph.addEdge( edge );
+ }
+
+ private void ensureNodeExists( DependencyGraph graph, ArtifactReference artifact )
+ {
+ DependencyGraphNode node = graph.getNode( artifact );
+ if ( node == null )
+ {
+ node = new DependencyGraphNode( artifact );
+ graph.addNode( node );
+ }
+ }
+
+ private void assertPath( String[] expectedPath, List collectedPath )
+ {
+ assertEquals( "Path.length", expectedPath.length, collectedPath.size() );
+
+ for ( int i = 0; i < expectedPath.length; i++ )
+ {
+ assertEquals( "Walk path[" + i + "]", expectedPath[i], (String) collectedPath.get( i ) );
+ }
+ }
+
+ private void assertVisitor( WalkCollector walkCollector, int countGraphs, int countNodes, int countEdges )
+ {
+ assertEquals( "Count of graph discovery.", countGraphs, walkCollector.getCountDiscoverGraph() );
+ assertEquals( "Count of graph finished.", countGraphs, walkCollector.getCountFinishGraph() );
+ assertEquals( "Discover - Finish = 0 (on graph counts)", 0,
+ ( walkCollector.getCountDiscoverGraph() - walkCollector.getCountFinishGraph() ) );
+
+ assertEquals( "Count of node discovery.", countNodes, walkCollector.getCountDiscoverNode() );
+ assertEquals( "Count of node finished.", countNodes, walkCollector.getCountFinishNode() );
+ assertEquals( "Discover - Finish = 0 (on node counts)", 0,
+ ( walkCollector.getCountDiscoverNode() - walkCollector.getCountFinishNode() ) );
+
+ assertEquals( "Count of edge discovery.", countEdges, walkCollector.getCountDiscoverEdge() );
+ assertEquals( "Count of edge finished.", countEdges, walkCollector.getCountFinishEdge() );
+ assertEquals( "Discover - Finish = 0 (on edge counts)", 0,
+ ( walkCollector.getCountDiscoverEdge() - walkCollector.getCountFinishEdge() ) );
+ }
+
+ private DependencyGraphEdge toEdge( String fromKey, String toKey )
+ {
+ ArtifactReference nodeFrom = toArtifactReference( fromKey );
+ ArtifactReference nodeTo = toArtifactReference( toKey );
+
+ return new DependencyGraphEdge( nodeFrom, nodeTo );
+ }
+
+ private ArtifactReference toArtifactReference( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+ assertEquals( "ArtifactReference [" + key + "] parts should equal 5", 5, parts.length );
+
+ ArtifactReference artifact = new ArtifactReference();
+ artifact.setGroupId( parts[0] );
+ artifact.setArtifactId( parts[1] );
+ artifact.setVersion( parts[2] );
+ artifact.setClassifier( parts[3] );
+ artifact.setType( parts[4] );
+
+ return artifact;
+ }
+}
diff --git a/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/WalkCollector.java b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/WalkCollector.java
new file mode 100644
index 000000000..8c245d854
--- /dev/null
+++ b/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/walk/WalkCollector.java
@@ -0,0 +1,98 @@
+/**
+ *
+ */
+package org.apache.maven.archiva.dependency.graph.walk;
+
+import org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.walk.DependencyGraphVisitor;
+import org.apache.maven.archiva.model.ArtifactReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+class WalkCollector
+ implements DependencyGraphVisitor
+{
+ private List walkPath = new ArrayList();
+
+ private int countDiscoverGraph = 0;
+
+ private int countFinishGraph = 0;
+
+ private int countDiscoverNode = 0;
+
+ private int countFinishNode = 0;
+
+ private int countDiscoverEdge = 0;
+
+ private int countFinishEdge = 0;
+
+ public void discoverEdge( DependencyGraphEdge edge )
+ {
+ countDiscoverEdge++;
+ }
+
+ public void discoverGraph( DependencyGraph graph )
+ {
+ countDiscoverGraph++;
+ }
+
+ public void discoverNode( DependencyGraphNode node )
+ {
+ countDiscoverNode++;
+ walkPath.add( ArtifactReference.toKey( node.getArtifact() ) );
+ }
+
+ public void finishEdge( DependencyGraphEdge edge )
+ {
+ countFinishEdge++;
+ }
+
+ public void finishGraph( DependencyGraph graph )
+ {
+ countFinishGraph++;
+ }
+
+ public void finishNode( DependencyGraphNode node )
+ {
+ countFinishNode++;
+ }
+
+ public List getCollectedPath()
+ {
+ return walkPath;
+ }
+
+ public int getCountDiscoverEdge()
+ {
+ return countDiscoverEdge;
+ }
+
+ public int getCountDiscoverGraph()
+ {
+ return countDiscoverGraph;
+ }
+
+ public int getCountDiscoverNode()
+ {
+ return countDiscoverNode;
+ }
+
+ public int getCountFinishEdge()
+ {
+ return countFinishEdge;
+ }
+
+ public int getCountFinishGraph()
+ {
+ return countFinishGraph;
+ }
+
+ public int getCountFinishNode()
+ {
+ return countFinishNode;
+ }
+
+} \ No newline at end of file
diff --git a/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/DependencyScope.java b/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/DependencyScope.java
index 03d62307c..9f177cd47 100644
--- a/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/DependencyScope.java
+++ b/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/DependencyScope.java
@@ -19,6 +19,7 @@ package org.apache.maven.archiva.model;
* under the License.
*/
+import org.apache.commons.collections.map.MultiValueMap;
import org.apache.commons.lang.StringUtils;
/**
@@ -39,8 +40,64 @@ public class DependencyScope
public static final String TEST = "test";
+ private static final MultiValueMap scopeMap;
+
+ static
+ {
+ // Store the map of scopes to what other scopes are 'within' that scope.
+ scopeMap = new MultiValueMap();
+
+ scopeMap.put( COMPILE, COMPILE );
+ scopeMap.put( COMPILE, RUNTIME );
+ scopeMap.put( COMPILE, PROVIDED );
+ scopeMap.put( COMPILE, SYSTEM );
+
+ scopeMap.put( TEST, COMPILE );
+ scopeMap.put( TEST, RUNTIME );
+ scopeMap.put( TEST, PROVIDED );
+ scopeMap.put( TEST, SYSTEM );
+ scopeMap.put( TEST, TEST );
+
+ scopeMap.put( RUNTIME, RUNTIME );
+ scopeMap.put( RUNTIME, PROVIDED );
+ scopeMap.put( RUNTIME, SYSTEM );
+
+ scopeMap.put( PROVIDED, RUNTIME );
+ scopeMap.put( PROVIDED, PROVIDED );
+ scopeMap.put( PROVIDED, SYSTEM );
+
+ scopeMap.put( SYSTEM, SYSTEM );
+ }
+
public static boolean isSystemScoped( Dependency dep )
{
return StringUtils.equals( SYSTEM, dep.getScope() );
}
+
+ /**
+ * Test the provided scope against the desired scope to see if it is
+ * within that scope's pervue.
+ *
+ * Examples:
+ * actual:compile, desired:test = true
+ * actual:compile, desired:compile = true
+ * actual:test, desired:compile = false
+ * actual:provided, desired:compile = false
+ *
+ * @param actualScope
+ * @param desiredScope
+ * @return
+ */
+ public static boolean isWithinScope( String actualScope, String desiredScope )
+ {
+ if ( StringUtils.isBlank( desiredScope ) )
+ {
+ // nothing desired? everything should fail.
+ return false;
+ }
+
+ String scope = StringUtils.defaultIfEmpty( actualScope, COMPILE );
+
+ return scopeMap.containsValue( desiredScope, scope );
+ }
}
diff --git a/archiva-base/archiva-model/src/main/mdo/archiva-base.xml b/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
index 314fee477..5e140a25e 100644
--- a/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
+++ b/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
@@ -979,6 +979,104 @@
}
]]></code>
</codeSegment>
+ <codeSegment>
+ <version>1.0.0+</version>
+ <code><![CDATA[
+ public int hashCode()
+ {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ( ( groupId == null ) ? 0 : groupId.hashCode() );
+ result = PRIME * result + ( ( artifactId == null ) ? 0 : artifactId.hashCode() );
+ result = PRIME * result + ( ( version == null ) ? 0 : version.hashCode() );
+ result = PRIME * result + ( ( classifier == null ) ? 0 : classifier.hashCode() );
+ result = PRIME * result + ( ( type == null ) ? 0 : type.hashCode() );
+ return result;
+ }
+
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ {
+ return true;
+ }
+
+ if ( obj == null )
+ {
+ return false;
+ }
+
+ if ( getClass() != obj.getClass() )
+ {
+ return false;
+ }
+
+ final ArtifactReference other = (ArtifactReference) obj;
+
+ if ( groupId == null )
+ {
+ if ( other.groupId != null )
+ {
+ return false;
+ }
+ }
+ else if ( !groupId.equals( other.groupId ) )
+ {
+ return false;
+ }
+
+ if ( artifactId == null )
+ {
+ if ( other.artifactId != null )
+ {
+ return false;
+ }
+ }
+ else if ( !artifactId.equals( other.artifactId ) )
+ {
+ return false;
+ }
+
+ if ( version == null )
+ {
+ if ( other.version != null )
+ {
+ return false;
+ }
+ }
+ else if ( !version.equals( other.version ) )
+ {
+ return false;
+ }
+
+ if ( classifier == null )
+ {
+ if ( other.classifier != null )
+ {
+ return false;
+ }
+ }
+ else if ( !classifier.equals( other.classifier ) )
+ {
+ return false;
+ }
+
+ if ( type == null )
+ {
+ if ( other.type != null )
+ {
+ return false;
+ }
+ }
+ else if ( !type.equals( other.type ) )
+ {
+ return false;
+ }
+
+ return true;
+ }
+ ]]></code>
+ </codeSegment>
</codeSegments>
</class>
@@ -1269,6 +1367,16 @@
<multiplicity>*</multiplicity>
</association>
</field>
+ <field>
+ <name>relocation</name>
+ <version>1.0.0+</version>
+ <description>If relocated, this is the new location reference</description>
+ <association stash.part="true"
+ jpox.join="false">
+ <type>VersionedReference</type>
+ <multiplicity>1</multiplicity>
+ </association>
+ </field>
</fields>
<codeSegments>
<codeSegment>
@@ -1678,10 +1786,18 @@
<field>
<name>transitive</name>
<version>1.0.0+</version>
- <required>true</required>
- <description>True if the dependency node is only here due a transitive lookup</description>
+ <required>false</required>
+ <description>True if the dependency is only here due a transitive resolution</description>
<type>boolean</type>
- <defaultValue>false</defaultValue>
+ <!-- <defaultValue>false</defaultValue> -->
+ </field>
+ <field>
+ <name>fromParent</name>
+ <version>1.0.0+</version>
+ <required>false</required>
+ <description>True if the dependency is only here due a parent pom</description>
+ <type>boolean</type>
+ <!-- <defaultValue>false</defaultValue> -->
</field>
<field stash.maxsize="256">
<name>url</name>
diff --git a/archiva-base/archiva-model/src/test/java/org/apache/maven/archiva/model/DependencyScopeTest.java b/archiva-base/archiva-model/src/test/java/org/apache/maven/archiva/model/DependencyScopeTest.java
new file mode 100644
index 000000000..79db79a73
--- /dev/null
+++ b/archiva-base/archiva-model/src/test/java/org/apache/maven/archiva/model/DependencyScopeTest.java
@@ -0,0 +1,73 @@
+package org.apache.maven.archiva.model;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 junit.framework.TestCase;
+
+/**
+ * DependencyScopeTest
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyScopeTest
+ extends TestCase
+{
+ public void testIsWithinScope()
+ {
+ // Test on blank / empty desired scopes.
+ assertFalse( DependencyScope.isWithinScope( "compile", null ) );
+ assertFalse( DependencyScope.isWithinScope( "test", null ) );
+ assertFalse( DependencyScope.isWithinScope( "runtime", null ) );
+ assertFalse( DependencyScope.isWithinScope( "provided", null ) );
+ assertFalse( DependencyScope.isWithinScope( "compile", "" ) );
+ assertFalse( DependencyScope.isWithinScope( "test", "" ) );
+ assertFalse( DependencyScope.isWithinScope( "runtime", "" ) );
+ assertFalse( DependencyScope.isWithinScope( "provided", "" ) );
+
+ // Tests on blank / empty actual scopes.
+ assertTrue( DependencyScope.isWithinScope( "", DependencyScope.COMPILE ) );
+ assertTrue( DependencyScope.isWithinScope( null, DependencyScope.COMPILE ) );
+ assertTrue( DependencyScope.isWithinScope( "", DependencyScope.TEST ) );
+ assertTrue( DependencyScope.isWithinScope( null, DependencyScope.TEST ) );
+ assertFalse( DependencyScope.isWithinScope( "", DependencyScope.PROVIDED ) );
+ assertFalse( DependencyScope.isWithinScope( null, DependencyScope.PROVIDED ) );
+ assertFalse( DependencyScope.isWithinScope( "", DependencyScope.RUNTIME ) );
+ assertFalse( DependencyScope.isWithinScope( null, DependencyScope.RUNTIME ) );
+
+ // Tests on compile desired scopes.
+ assertTrue( DependencyScope.isWithinScope( "compile", DependencyScope.COMPILE ) );
+ assertFalse( DependencyScope.isWithinScope( "test", DependencyScope.COMPILE ) );
+
+ // Tests on test desired scopes.
+ assertTrue( DependencyScope.isWithinScope( "compile", DependencyScope.TEST ) );
+ assertTrue( DependencyScope.isWithinScope( "test", DependencyScope.TEST ) );
+
+ // Tests on oddball scopes.
+ assertFalse( DependencyScope.isWithinScope( "compile", DependencyScope.PROVIDED ) );
+ assertFalse( DependencyScope.isWithinScope( "test", DependencyScope.PROVIDED ) );
+ assertTrue( DependencyScope.isWithinScope( "provided", DependencyScope.PROVIDED ) );
+
+ assertFalse( DependencyScope.isWithinScope( "compile", DependencyScope.RUNTIME ) );
+ assertFalse( DependencyScope.isWithinScope( "test", DependencyScope.RUNTIME ) );
+ assertTrue( DependencyScope.isWithinScope( "provided", DependencyScope.RUNTIME ) );
+ assertTrue( DependencyScope.isWithinScope( "runtime", DependencyScope.RUNTIME ) );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/pom.xml b/archiva-base/archiva-repository-layer/pom.xml
index 8c09353fd..803e8f0e1 100644
--- a/archiva-base/archiva-repository-layer/pom.xml
+++ b/archiva-base/archiva-repository-layer/pom.xml
@@ -34,6 +34,11 @@
</dependency>
<dependency>
<groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-dependency-graph</artifactId>
+ <version>1.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
<artifactId>archiva-consumer-api</artifactId>
</dependency>
<dependency>
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelMerge.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelMerge.java
index 7da66c5a4..6a0e4fc90 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelMerge.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelMerge.java
@@ -36,15 +36,19 @@ import org.apache.maven.archiva.model.Scm;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.Set;
import java.util.Map.Entry;
/**
* ProjectModelMerge
*
+ * TODO: Should call this ProjectModelAncestry as it deals with the current project and its parent.
+ *
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
@@ -75,6 +79,7 @@ public class ProjectModelMerge
// Unmerged.
merged.setArtifactId( mainProject.getArtifactId() );
merged.setPackaging( StringUtils.defaultIfEmpty( mainProject.getPackaging(), "jar" ) );
+ merged.setRelocation( mainProject.getRelocation() );
// Merged
merged.setGroupId( merge( mainProject.getGroupId(), parentProject.getGroupId() ) );
@@ -98,7 +103,7 @@ public class ProjectModelMerge
merged.setPlugins( mergePlugins( mainProject.getPlugins(), parentProject.getPlugins() ) );
merged.setReports( mergeReports( mainProject.getReports(), parentProject.getReports() ) );
merged.setProperties( merge( mainProject.getProperties(), parentProject.getProperties() ) );
-
+
return merged;
}
@@ -245,11 +250,15 @@ public class ProjectModelMerge
if ( mainDep == null )
{
- return ArchivaModelCloner.clone( parentDep );
+ Dependency dep = ArchivaModelCloner.clone( parentDep );
+ dep.setFromParent( true );
+ return dep;
}
Dependency merged = new Dependency();
+ merged.setFromParent( true );
+
// Unmerged.
merged.setGroupId( mainDep.getGroupId() );
merged.setArtifactId( mainDep.getArtifactId() );
@@ -415,28 +424,40 @@ public class ProjectModelMerge
if ( mainDependencies == null )
{
- return ArchivaModelCloner.cloneDependencies( parentDependencies );
+ List merged = ArchivaModelCloner.cloneDependencies( parentDependencies );
+ Iterator it = merged.iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+ dep.setFromParent( true );
+ }
+ return merged;
}
- List merged = ArchivaModelCloner.cloneDependencies( mainDependencies );
+ List merged = new ArrayList();
Map mainDepMap = createDependencyMap( mainDependencies );
Map parentDepMap = createDependencyMap( parentDependencies );
+ Set uniqueKeys = new HashSet();
+ uniqueKeys.addAll( mainDepMap.keySet() );
+ uniqueKeys.addAll( parentDepMap.keySet() );
- Iterator it = parentDepMap.entrySet().iterator();
+ Iterator it = uniqueKeys.iterator();
while ( it.hasNext() )
{
- Map.Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- Dependency parentDep = (Dependency) entry.getValue();
+ String key = (String) it.next();
+ Dependency parentDep = (Dependency) parentDepMap.get( key );
Dependency mainDep = (Dependency) mainDepMap.get( key );
if ( parentDep == null )
{
+ // Means there is no parent dep to override main dep.
merged.add( mainDep );
}
else
{
+ // Parent dep exists (main doesn't have to).
+ // Merge the parent over the main dep.
merged.add( merge( mainDep, parentDep ) );
}
}
@@ -453,28 +474,40 @@ public class ProjectModelMerge
if ( mainDepMgmt == null )
{
- return ArchivaModelCloner.cloneDependencies( parentDepMgmt );
+ List merged = ArchivaModelCloner.cloneDependencies( parentDepMgmt );
+ Iterator it = merged.iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+ dep.setFromParent( true );
+ }
+ return merged;
}
- List merged = ArchivaModelCloner.cloneDependencies( mainDepMgmt );
+ List merged = new ArrayList();
Map mainDepMap = createDependencyMap( mainDepMgmt );
Map parentDepMap = createDependencyMap( parentDepMgmt );
+ Set uniqueKeys = new HashSet();
+ uniqueKeys.addAll( mainDepMap.keySet() );
+ uniqueKeys.addAll( parentDepMap.keySet() );
- Iterator it = parentDepMap.entrySet().iterator();
+ Iterator it = uniqueKeys.iterator();
while ( it.hasNext() )
{
- Map.Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- Dependency parentDep = (Dependency) entry.getValue();
+ String key = (String) it.next();
+ Dependency parentDep = (Dependency) parentDepMap.get( key );
Dependency mainDep = (Dependency) mainDepMap.get( key );
if ( parentDep == null )
{
+ // Means there is no parent depMan entry to override main depMan.
merged.add( mainDep );
}
else
{
+ // Parent depMan entry exists (main doesn't have to).
+ // Merge the parent over the main depMan entry.
merged.add( merge( mainDep, parentDep ) );
}
}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/dependencies/ProjectModelBasedGraphBuilder.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/dependencies/ProjectModelBasedGraphBuilder.java
new file mode 100644
index 000000000..8f99c89e8
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/dependencies/ProjectModelBasedGraphBuilder.java
@@ -0,0 +1,116 @@
+package org.apache.maven.archiva.repository.project.dependencies;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.dependency.graph.DependencyGraph;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
+import org.apache.maven.archiva.dependency.graph.DependencyGraphUtils;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.project.ProjectModelException;
+import org.apache.maven.archiva.repository.project.filters.EffectiveProjectModelFilter;
+import org.apache.maven.archiva.repository.project.resolvers.ProjectModelResolverStack;
+
+/**
+ * ProjectModelBasedGraphBuilder
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ProjectModelBasedGraphBuilder
+ implements DependencyGraphBuilder
+{
+ private ProjectModelResolverStack modelResolver;
+
+ private EffectiveProjectModelFilter effectiveFilter = new EffectiveProjectModelFilter();
+
+ public DependencyGraph createGraph( VersionedReference versionedProjectReference )
+ {
+ String groupId = versionedProjectReference.getGroupId();
+ String artifactId = versionedProjectReference.getArtifactId();
+ String version = versionedProjectReference.getVersion();
+
+ DependencyGraph graph = new DependencyGraph( groupId, artifactId, version );
+ return graph;
+ }
+
+ public void resolveNode( DependencyGraph graph, DependencyGraphNode fromNode,
+ VersionedReference versionedProjectReference )
+ {
+ ArchivaProjectModel model = resolveModel( fromNode.getArtifact() );
+
+ DependencyGraphUtils.addNodeFromModel( model, graph, fromNode );
+ }
+
+ private ArchivaProjectModel resolveModel( ArtifactReference reference )
+ {
+ VersionedReference projectRef = new VersionedReference();
+
+ projectRef.setGroupId( reference.getGroupId() );
+ projectRef.setArtifactId( reference.getArtifactId() );
+ projectRef.setVersion( reference.getVersion() );
+
+ ArchivaProjectModel model = modelResolver.findProject( projectRef );
+
+ if ( model == null )
+ {
+ return createDefaultModel( reference );
+ }
+
+ try
+ {
+ effectiveFilter.setProjectModelResolverStack( modelResolver );
+
+ ArchivaProjectModel processedModel = effectiveFilter.filter( model );
+
+ return processedModel;
+ }
+ catch ( ProjectModelException e )
+ {
+ e.printStackTrace( System.err );
+ return createDefaultModel( reference );
+ }
+ }
+
+ private ArchivaProjectModel createDefaultModel( ArtifactReference reference )
+ {
+ ArchivaProjectModel model = new ArchivaProjectModel();
+
+ // Create default (dummy) model
+ model = new ArchivaProjectModel();
+ model.setGroupId( reference.getGroupId() );
+ model.setArtifactId( reference.getArtifactId() );
+ model.setVersion( reference.getVersion() );
+ model.setPackaging( reference.getType() );
+ return model;
+ }
+
+ public ProjectModelResolverStack getModelResolver()
+ {
+ return modelResolver;
+ }
+
+ public void setModelResolver( ProjectModelResolverStack modelResolver )
+ {
+ this.modelResolver = modelResolver;
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilter.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilter.java
index a1ce18b9f..3469c75f7 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilter.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilter.java
@@ -19,6 +19,7 @@ package org.apache.maven.archiva.repository.project.filters;
* under the License.
*/
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.model.ArchivaModelCloner;
import org.apache.maven.archiva.model.ArchivaProjectModel;
@@ -27,10 +28,11 @@ import org.apache.maven.archiva.model.VersionedReference;
import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelFilter;
import org.apache.maven.archiva.repository.project.ProjectModelMerge;
-import org.apache.maven.archiva.repository.project.ProjectModelResolver;
+import org.apache.maven.archiva.repository.project.resolvers.ProjectModelResolverStack;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -48,26 +50,23 @@ public class EffectiveProjectModelFilter
extends AbstractLogEnabled
implements ProjectModelFilter
{
- /**
- * @plexus.requirement role-hint="expression"
- */
- private ProjectModelFilter expressionFilter;
+ private ProjectModelFilter expressionFilter = new ProjectModelExpressionFilter();
- private List projectModelResolvers;
+ private ProjectModelResolverStack projectModelResolverStack;
public EffectiveProjectModelFilter()
{
- projectModelResolvers = new ArrayList();
+ projectModelResolverStack = new ProjectModelResolverStack();
}
- public void addProjectModelResolver( ProjectModelResolver resolver )
+ public void setProjectModelResolverStack( ProjectModelResolverStack resolverStack )
{
- if ( resolver == null )
- {
- return;
- }
+ this.projectModelResolverStack = resolverStack;
+ }
- this.projectModelResolvers.add( resolver );
+ public ProjectModelResolverStack getProjectModelResolverStack()
+ {
+ return this.projectModelResolverStack;
}
/**
@@ -90,7 +89,7 @@ public class EffectiveProjectModelFilter
return null;
}
- if ( this.projectModelResolvers.isEmpty() )
+ if ( this.projectModelResolverStack.isEmpty() )
{
throw new IllegalStateException( "Unable to build effective pom with no project model resolvers defined." );
}
@@ -113,25 +112,26 @@ public class EffectiveProjectModelFilter
return effectiveProject;
}
- public void removeResolver( ProjectModelResolver resolver )
- {
- this.projectModelResolvers.remove( resolver );
- }
+ private Logger logger;
- public void clearResolvers()
+ protected Logger getLogger()
{
- this.projectModelResolvers.clear();
+ if ( logger == null )
+ {
+ logger = super.getLogger();
+ if ( logger == null )
+ {
+ logger = new ConsoleLogger( ConsoleLogger.LEVEL_INFO, this.getClass().getName() );
+ }
+ }
+
+ return logger;
}
private void applyDependencyManagement( ArchivaProjectModel pom )
{
- if ( ( pom.getDependencyManagement() == null ) || ( pom.getDependencies() == null ) )
- {
- // Nothing to do. All done!
- return;
- }
-
- if ( pom.getDependencyManagement().isEmpty() || pom.getDependencies().isEmpty() )
+ if ( CollectionUtils.isEmpty( pom.getDependencyManagement() )
+ || CollectionUtils.isEmpty( pom.getDependencies() ) )
{
// Nothing to do. All done!
return;
@@ -156,39 +156,6 @@ public class EffectiveProjectModelFilter
}
}
- private ArchivaProjectModel findProject( VersionedReference projectRef )
- {
- getLogger().debug( "Trying to find project: " + projectRef );
- Iterator it = this.projectModelResolvers.iterator();
-
- while ( it.hasNext() )
- {
- ProjectModelResolver resolver = (ProjectModelResolver) it.next();
-
- try
- {
- getLogger().debug( "Trying to find in " + resolver.getClass().getName() );
- ArchivaProjectModel model = resolver.resolveProjectModel( projectRef );
-
- if ( model != null )
- {
- getLogger().debug( "Found it!: " + model );
- return model;
- }
- getLogger().debug( "Not found." );
- }
- catch ( ProjectModelException e )
- {
- // TODO: trigger notifier of problem?
- e.printStackTrace();
- }
- }
-
- // TODO: Document that project was not found. (Use monitor?)
-
- return null;
- }
-
private ArchivaProjectModel mergeParent( ArchivaProjectModel pom )
throws ProjectModelException
{
@@ -204,7 +171,7 @@ public class EffectiveProjectModelFilter
getLogger().debug( "Has parent: " + parentRef );
// Find parent using resolvers.
- ArchivaProjectModel parentProject = findProject( parentRef );
+ ArchivaProjectModel parentProject = this.projectModelResolverStack.findProject( parentRef );
if ( parentProject != null )
{
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/ProjectModelExpressionFilter.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/ProjectModelExpressionFilter.java
index d845897be..2a84a0dc0 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/ProjectModelExpressionFilter.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/filters/ProjectModelExpressionFilter.java
@@ -20,11 +20,13 @@ package org.apache.maven.archiva.repository.project.filters;
*/
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.model.ArchivaModelCloner;
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.Dependency;
import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelFilter;
+import org.codehaus.plexus.evaluator.DefaultExpressionEvaluator;
import org.codehaus.plexus.evaluator.EvaluatorException;
import org.codehaus.plexus.evaluator.ExpressionEvaluator;
import org.codehaus.plexus.evaluator.sources.PropertiesExpressionSource;
@@ -32,6 +34,7 @@ import org.codehaus.plexus.evaluator.sources.SystemPropertyExpressionSource;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
/**
* ProjectModelExpressionFilter
@@ -45,10 +48,7 @@ import java.util.List;
public class ProjectModelExpressionFilter
implements ProjectModelFilter
{
- /**
- * @plexus.requirement
- */
- private ExpressionEvaluator evaluator;
+ private ExpressionEvaluator evaluator = new DefaultExpressionEvaluator();
/**
* Find and Evaluate the Expressions present in the model.
@@ -58,13 +58,21 @@ public class ProjectModelExpressionFilter
public ArchivaProjectModel filter( final ArchivaProjectModel model )
throws ProjectModelException
{
+ Properties props = new Properties();
+
if ( model.getProperties() != null )
{
- PropertiesExpressionSource propsSource = new PropertiesExpressionSource();
- propsSource.setProperties( model.getProperties() );
- evaluator.addExpressionSource( propsSource );
+ props.putAll( model.getProperties() );
}
+ props.setProperty( "pom.artifactId", model.getArtifactId() );
+
+ props.setProperty( "pom.groupId", StringUtils.defaultString( model.getGroupId() ) );
+ props.setProperty( "pom.version", StringUtils.defaultString( model.getVersion() ) );
+
+ PropertiesExpressionSource propsSource = new PropertiesExpressionSource();
+ propsSource.setProperties( props );
+ evaluator.addExpressionSource( propsSource );
evaluator.addExpressionSource( new SystemPropertyExpressionSource() );
ArchivaProjectModel ret = ArchivaModelCloner.clone( model );
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java
index d6fdbd20f..09fa47318 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java
@@ -107,6 +107,8 @@ public class ProjectModel400Reader
model.setBuildExtensions( getBuildExtensions( xml ) );
+ model.setRelocation( getRelocation( xml ) );
+
return model;
}
catch ( XMLException e )
@@ -453,6 +455,19 @@ public class ProjectModel400Reader
return ret;
}
+ private VersionedReference getRelocation( XMLReader xml )
+ throws XMLException
+ {
+ Element elemRelocation = xml.getElement( "//project/distributionManagement/relocation" );
+
+ if ( elemRelocation != null )
+ {
+ return getVersionedReference( elemRelocation );
+ }
+
+ return null;
+ }
+
private List getReports( XMLReader xml )
throws XMLException
{
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolutionListener.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolutionListener.java
new file mode 100644
index 000000000..b3be1ba78
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolutionListener.java
@@ -0,0 +1,78 @@
+package org.apache.maven.archiva.repository.project.resolvers;
+
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.project.ProjectModelResolver;
+
+import java.util.List;
+
+/**
+ * ProjectModelResolutionListener
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface ProjectModelResolutionListener
+{
+ /**
+ * Indicates that the resolution process has started for a specific project.
+ *
+ * @param projectRef the project reference.
+ * @param resolverList the {@link List} of {@link ProjectModelResolver}'s that will be searched.
+ * @see #resolutionSuccess(VersionedReference, ProjectModelResolver, ArchivaProjectModel)
+ * @see #resolutionNotFound(VersionedReference, List)
+ */
+ public void resolutionStart( VersionedReference projectRef, List resolverList );
+
+ /**
+ * Indicates that a resolution against a specific resolver is about
+ * to occur.
+ *
+ * @param projectRef the project reference.
+ * @param resolver the resolver to attempt resolution on.
+ */
+ public void resolutionAttempting( VersionedReference projectRef, ProjectModelResolver resolver );
+
+ /**
+ * Indicates that a resolution against a specific resolver resulted
+ * in in a missed resolution.
+ *
+ * "Miss" in this case refers to an attempt against a resolver, and that
+ * resolver essentially responds with a "not found here" response.
+ *
+ * @param projectRef the project reference.
+ * @param resolver the resolver the attempt was made on.
+ */
+ public void resolutionMiss( VersionedReference projectRef, ProjectModelResolver resolver );
+
+ /**
+ * Indicates that a resolution against the specific resolver has
+ * caused an error.
+ *
+ * @param projectRef the project reference.
+ * @param resolver the (optional) resolver on which the error occured.
+ * @param cause the cause of the error.
+ */
+ public void resolutionError( VersionedReference projectRef, ProjectModelResolver resolver, Exception cause );
+
+ /**
+ * Indicates that a resolution process has finished, and the requested
+ * projectRef has been found.
+ *
+ * @param projectRef the project reference.
+ * @param resolver the resolver on which success occured.
+ * @param model the resolved model.
+ * @see #resolutionStart(VersionedReference, List)
+ */
+ public void resolutionSuccess( VersionedReference projectRef, ProjectModelResolver resolver, ArchivaProjectModel model );
+
+ /**
+ * Indicates that the resolution process has finished, and the requested
+ * projectRef could not be found.
+ *
+ * @param projectRef the project reference.
+ * @param resolverList the {@link List} of {@link ProjectModelResolver}'s that was be searched.
+ * @see #resolutionStart(VersionedReference, List)
+ */
+ public void resolutionNotFound( VersionedReference projectRef, List resolverList );
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolverStack.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolverStack.java
new file mode 100644
index 000000000..82a7027ca
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ProjectModelResolverStack.java
@@ -0,0 +1,244 @@
+package org.apache.maven.archiva.repository.project.resolvers;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.project.ProjectModelException;
+import org.apache.maven.archiva.repository.project.ProjectModelResolver;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Represents a stack of {@link ProjectModelResolver} resolvers for
+ * finding/resolving an ArchivaProjectModel from multiple sources.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ProjectModelResolverStack
+{
+ private List resolvers;
+
+ private List listeners;
+
+ public ProjectModelResolverStack()
+ {
+ this.resolvers = new ArrayList();
+ this.listeners = new ArrayList();
+ }
+
+ public void addListener( ProjectModelResolutionListener listener )
+ {
+ if ( listener == null )
+ {
+ return;
+ }
+
+ this.listeners.add( listener );
+ }
+
+ public void addProjectModelResolver( ProjectModelResolver resolver )
+ {
+ if ( resolver == null )
+ {
+ return;
+ }
+
+ this.resolvers.add( resolver );
+ }
+
+ public void clearResolvers()
+ {
+ this.resolvers.clear();
+ }
+
+ public ArchivaProjectModel findProject( VersionedReference projectRef )
+ {
+ if ( CollectionUtils.isEmpty( this.resolvers ) )
+ {
+ throw new IllegalStateException( "No resolvers have been defined." );
+ }
+
+ triggerResolutionStart( projectRef, this.resolvers );
+
+ Iterator it = this.resolvers.iterator();
+
+ while ( it.hasNext() )
+ {
+ ProjectModelResolver resolver = (ProjectModelResolver) it.next();
+
+ try
+ {
+ triggerResolutionAttempting( projectRef, resolver );
+ ArchivaProjectModel model = resolver.resolveProjectModel( projectRef );
+
+ if ( model != null )
+ {
+ // Project was found.
+ triggerResolutionSuccess( projectRef, resolver, model );
+ return model;
+ }
+ triggerResolutionMiss( projectRef, resolver );
+ }
+ catch ( ProjectModelException e )
+ {
+ triggerResolutionError( projectRef, resolver, e );
+ }
+ }
+
+ // Project was not found in entire resolver list.
+ triggerResolutionNotFound( projectRef, this.resolvers );
+
+ return null;
+ }
+
+ public boolean isEmpty()
+ {
+ return this.resolvers.isEmpty();
+ }
+
+ public void removeListener( ProjectModelResolutionListener listener )
+ {
+ if ( listener == null )
+ {
+ return;
+ }
+
+ this.listeners.add( listener );
+ }
+
+ public void removeResolver( ProjectModelResolver resolver )
+ {
+ this.resolvers.remove( resolver );
+ }
+
+ private void triggerResolutionAttempting( VersionedReference projectRef, ProjectModelResolver resolver )
+ {
+ Iterator it = this.listeners.iterator();
+ while ( it.hasNext() )
+ {
+ ProjectModelResolutionListener listener = (ProjectModelResolutionListener) it.next();
+
+ try
+ {
+ listener.resolutionAttempting( projectRef, resolver );
+ }
+ catch ( Exception e )
+ {
+ // do nothing with exception.
+ }
+ }
+ }
+
+ private void triggerResolutionError( VersionedReference projectRef, ProjectModelResolver resolver, Exception cause )
+ {
+ Iterator it = this.listeners.iterator();
+ while ( it.hasNext() )
+ {
+ ProjectModelResolutionListener listener = (ProjectModelResolutionListener) it.next();
+
+ try
+ {
+ listener.resolutionError( projectRef, resolver, cause );
+ }
+ catch ( Exception e )
+ {
+ // do nothing with exception.
+ }
+ }
+ }
+
+ private void triggerResolutionMiss( VersionedReference projectRef, ProjectModelResolver resolver )
+ {
+ Iterator it = this.listeners.iterator();
+ while ( it.hasNext() )
+ {
+ ProjectModelResolutionListener listener = (ProjectModelResolutionListener) it.next();
+
+ try
+ {
+ listener.resolutionMiss( projectRef, resolver );
+ }
+ catch ( Exception e )
+ {
+ // do nothing with exception.
+ }
+ }
+ }
+
+ private void triggerResolutionNotFound( VersionedReference projectRef, List resolvers )
+ {
+ Iterator it = this.listeners.iterator();
+ while ( it.hasNext() )
+ {
+ ProjectModelResolutionListener listener = (ProjectModelResolutionListener) it.next();
+
+ try
+ {
+ listener.resolutionNotFound( projectRef, resolvers );
+ }
+ catch ( Exception e )
+ {
+ // do nothing with exception.
+ }
+ }
+ }
+
+ private void triggerResolutionStart( VersionedReference projectRef, List resolvers )
+ {
+ Iterator it = this.listeners.iterator();
+ while ( it.hasNext() )
+ {
+ ProjectModelResolutionListener listener = (ProjectModelResolutionListener) it.next();
+
+ try
+ {
+ listener.resolutionStart( projectRef, resolvers );
+ }
+ catch ( Exception e )
+ {
+ // do nothing with exception.
+ }
+ }
+ }
+
+ private void triggerResolutionSuccess( VersionedReference projectRef, ProjectModelResolver resolver,
+ ArchivaProjectModel model )
+ {
+ Iterator it = this.listeners.iterator();
+ while ( it.hasNext() )
+ {
+ ProjectModelResolutionListener listener = (ProjectModelResolutionListener) it.next();
+
+ try
+ {
+ listener.resolutionSuccess( projectRef, resolver, model );
+ }
+ catch ( Exception e )
+ {
+ // do nothing with exception.
+ }
+ }
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java
index a716165b6..73aad24b8 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java
@@ -85,7 +85,7 @@ public class EffectiveProjectModelFilterTest
{
EffectiveProjectModelFilter filter = lookupEffective();
- filter.addProjectModelResolver( createDefaultRepositoryResolver() );
+ filter.getProjectModelResolverStack().addProjectModelResolver( createDefaultRepositoryResolver() );
ArchivaProjectModel startModel = createArchivaProjectModel( DEFAULT_REPOSITORY
+ "/org/apache/maven/archiva/archiva-model/1.0-SNAPSHOT/archiva-model-1.0-SNAPSHOT.pom" );
diff --git a/archiva-base/pom.xml b/archiva-base/pom.xml
index c61e6aa40..9cf57c2ed 100644
--- a/archiva-base/pom.xml
+++ b/archiva-base/pom.xml
@@ -35,6 +35,7 @@
<module>archiva-consumers</module>
<module>archiva-indexer</module>
<module>archiva-model</module>
+ <module>archiva-dependency-graph</module>
<module>archiva-repository-layer</module>
<module>archiva-xml-tools</module>
<module>archiva-proxy</module>
diff --git a/tools/maven-archivadev-plugin/pom.xml b/tools/maven-archivadev-plugin/pom.xml
new file mode 100644
index 000000000..eff053bc9
--- /dev/null
+++ b/tools/maven-archivadev-plugin/pom.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<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>
+
+ <prerequisites>
+ <maven>2.0.4</maven>
+ </prerequisites>
+
+ <groupId>org.apache.maven.archiva.tools</groupId>
+ <artifactId>maven-archivadev-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Archiva Dev Maven Plugin</name>
+
+ <inceptionYear>2007</inceptionYear>
+
+ <developers>
+ <developer>
+ <id>joakime</id>
+ <name>Joakim Erdfelt</name>
+ <email>joakime@apache.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+
+ <dependencies>
+ <!-- maven plugin deps -->
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-common</artifactId>
+ <version>1.0-alpha-1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-impl</artifactId>
+ <version>${maven.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-dependency-tree</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <!-- testing deps -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <version>1.0-beta-1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <properties>
+ <maven.version>2.0.4</maven.version>
+ </properties>
+</project>
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/CreateArchivaDependencyResolutionTestCaseMojo.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/CreateArchivaDependencyResolutionTestCaseMojo.java
new file mode 100644
index 000000000..44a5a1c00
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/CreateArchivaDependencyResolutionTestCaseMojo.java
@@ -0,0 +1,133 @@
+package org.apache.maven.archiva.plugins.dev;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.plugins.dev.testgen.DependencyGraphTestCreator;
+import org.apache.maven.archiva.plugins.dev.testgen.MemoryRepositoryCreator;
+import org.apache.maven.archiva.plugins.dev.utils.VariableNames;
+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.resolver.ArtifactCollector;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
+
+import java.io.File;
+
+/**
+ * CreateArchivaDependencyResolutionTestCaseMojo
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @goal generate-dependency-tests
+ */
+public class CreateArchivaDependencyResolutionTestCaseMojo
+ extends AbstractMojo
+{
+ /**
+ * The project of the current build.
+ *
+ * @parameter default-value="${project}"
+ * @required
+ * @readonly
+ */
+ private MavenProject project;
+
+ /**
+ * The artifact respository to use.
+ *
+ * @parameter expression="${localRepository}"
+ * @required
+ * @readonly
+ */
+ private ArtifactRepository localRepository;
+
+ /**
+ * The destination directory to generate the test files.
+ *
+ * @parameter expression="${archivadev.outputdir}" default-value="${project.build.directory}"
+ * @required
+ */
+ private File destDir;
+
+ /**
+ * The artifact factory to use.
+ *
+ * @component
+ */
+ private ArtifactFactory artifactFactory;
+
+ /**
+ * @component
+ */
+ private DependencyTreeBuilder dependencyTreeBuilder;
+
+ /**
+ * @component
+ */
+ protected ArtifactMetadataSource artifactMetadataSource;
+
+ /**
+ * @component
+ */
+ private ArtifactCollector collector;
+
+ public void execute()
+ throws MojoExecutionException, MojoFailureException
+ {
+ String classPrefix = VariableNames.toClassName( project.getArtifactId() );
+
+ getLog().info( "Generating into " + destDir );
+
+ createMemoryRepository( classPrefix );
+ createDependencyGraphTest( classPrefix );
+ }
+
+ private void createDependencyGraphTest( String classPrefix ) throws MojoExecutionException
+ {
+ DependencyGraphTestCreator creator = new DependencyGraphTestCreator();
+ creator.setLog( getLog() );
+ creator.setOutputDir( destDir );
+ creator.setProject( project );
+ creator.setArtifactFactory( artifactFactory );
+ creator.setLocalRepository( localRepository );
+ creator.setDependencyTreeBuilder( dependencyTreeBuilder );
+ creator.setArtifactMetadataSource( artifactMetadataSource );
+ creator.setCollector( collector );
+
+ creator.create( classPrefix );
+ }
+
+ private void createMemoryRepository( String classPrefix ) throws MojoExecutionException
+ {
+ MemoryRepositoryCreator creator = new MemoryRepositoryCreator();
+ creator.setLog( getLog() );
+ creator.setOutputDir( destDir );
+ creator.setProject( project );
+ creator.setArtifactFactory( artifactFactory );
+ creator.setLocalRepository( localRepository );
+
+ creator.create( classPrefix );
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/ArtifactComparator.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/ArtifactComparator.java
new file mode 100644
index 000000000..2623b431f
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/ArtifactComparator.java
@@ -0,0 +1,63 @@
+package org.apache.maven.archiva.plugins.dev.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.artifact.Artifact;
+
+import java.util.Comparator;
+
+/**
+ * ArtifactComparator
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ArtifactComparator
+ implements Comparator
+{
+
+ public int compare( Object arg0, Object arg1 )
+ {
+ if( arg0 == null || arg1 == null )
+ {
+ return -1;
+ }
+
+ Artifact artifact1 = (Artifact) arg0;
+ Artifact artifact2 = (Artifact) arg1;
+
+ int diff;
+
+ diff = artifact1.getGroupId().compareTo( artifact2.getGroupId() );
+ if( diff != 0 )
+ {
+ return diff;
+ }
+
+ diff = artifact1.getArtifactId().compareTo( artifact2.getArtifactId() );
+ if( diff != 0 )
+ {
+ return diff;
+ }
+
+ return artifact1.getVersion().compareTo( artifact2.getVersion() );
+ }
+
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/DependencyNodeToArtifactTransformer.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/DependencyNodeToArtifactTransformer.java
new file mode 100644
index 000000000..df91f6028
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/DependencyNodeToArtifactTransformer.java
@@ -0,0 +1,44 @@
+package org.apache.maven.archiva.plugins.dev.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Transformer;
+import org.apache.maven.shared.dependency.tree.DependencyNode;
+
+/**
+ * DependencyNodeToArtifactTransformer
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyNodeToArtifactTransformer
+ implements Transformer
+{
+ public Object transform( Object input )
+ {
+ if( input instanceof DependencyNode )
+ {
+ DependencyNode node = (DependencyNode) input;
+ return node.getArtifact();
+ }
+
+ return input;
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/MatchingDependencyPredicate.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/MatchingDependencyPredicate.java
new file mode 100644
index 000000000..e8fb3ad20
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/functors/MatchingDependencyPredicate.java
@@ -0,0 +1,66 @@
+package org.apache.maven.archiva.plugins.dev.functors;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.model.Dependency;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ * MatchingDependencyPredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class MatchingDependencyPredicate
+ implements Predicate
+{
+ private Dependency selectedDep;
+
+ public MatchingDependencyPredicate( Dependency selectedDep )
+ {
+ this.selectedDep = selectedDep;
+ }
+
+ public boolean evaluate( Object input )
+ {
+ boolean satisfies = false;
+
+ if ( input instanceof Dependency )
+ {
+ Dependency dep = (Dependency) input;
+ if ( StringUtils.equals( dep.getArtifactId(), selectedDep.getArtifactId() )
+ && StringUtils.equals( dep.getGroupId(), selectedDep.getGroupId() )
+ && StringUtils.equals( dep.getType(), selectedDep.getType() ))
+ {
+ // So far, so good. groupId/artifactId/type match.
+ satisfies = true;
+
+ // Test classifier (if defined)
+ if( StringUtils.isNotEmpty( selectedDep.getClassifier() ) )
+ {
+ satisfies = StringUtils.equals( dep.getClassifier(), selectedDep.getClassifier() );
+ }
+ }
+ }
+
+ return satisfies;
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/AbstractCreator.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/AbstractCreator.java
new file mode 100644
index 000000000..3503ebbe4
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/AbstractCreator.java
@@ -0,0 +1,349 @@
+package org.apache.maven.archiva.plugins.dev.testgen;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.archiva.common.utils.VersionUtil;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Exclusion;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.interpolation.ModelInterpolator;
+import org.apache.maven.project.interpolation.RegexBasedModelInterpolator;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.PrintWriter;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Properties;
+
+/**
+ * AbstractCreator
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractCreator
+{
+ protected MavenProject project;
+
+ protected ArtifactFactory artifactFactory;
+
+ protected ArtifactRepository localRepository;
+
+ protected File outputDir;
+
+ private MavenXpp3Reader modelReader = new MavenXpp3Reader();
+
+ private ModelInterpolator modelInterpolator;
+
+ private Log log;
+
+ public abstract void create( String classPrefix )
+ throws MojoExecutionException;
+
+ protected void writeLicense( PrintWriter out )
+ {
+ out.println( "/*" );
+ out.println( " * Licensed to the Apache Software Foundation (ASF) under one" );
+ out.println( " * or more contributor license agreements. See the NOTICE file" );
+ out.println( " * distributed with this work for additional information" );
+ out.println( " * regarding copyright ownership. The ASF licenses this file" );
+ out.println( " * to you under the Apache License, Version 2.0 (the" );
+ out.println( " * \"License\"); you may not use this file except in compliance" );
+ out.println( " * with the License. You may obtain a copy of the License at" );
+ out.println( " *" );
+ out.println( " * http://www.apache.org/licenses/LICENSE-2.0" );
+ out.println( " *" );
+ out.println( " * Unless required by applicable law or agreed to in writing," );
+ out.println( " * software distributed under the License is distributed on an" );
+ out.println( " * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY" );
+ out.println( " * KIND, either express or implied. See the License for the" );
+ out.println( " * specific language governing permissions and limitations" );
+ out.println( " * under the License." );
+ out.println( " */" );
+ out.println( "" );
+ }
+
+ protected boolean isNotEmpty( Properties properties )
+ {
+ return !isEmpty( properties );
+ }
+
+ private boolean isEmpty( Properties properties )
+ {
+ if ( properties == null )
+ {
+ return true;
+ }
+
+ return properties.isEmpty();
+ }
+
+ public Log getLog()
+ {
+ return log;
+ }
+
+ public void setLog( Log log )
+ {
+ this.log = log;
+ }
+
+ public MavenProject getProject()
+ {
+ return project;
+ }
+
+ public void setProject( MavenProject project )
+ {
+ this.project = project;
+ }
+
+ protected Model getModel( Dependency dep )
+ {
+ return getModel( dep.getGroupId(), dep.getArtifactId(), dep.getVersion(), dep.getType() );
+ }
+
+ protected Model getModel( Parent parent )
+ {
+ return getModel( parent.getGroupId(), parent.getArtifactId(), parent.getVersion(), "pom" );
+ }
+
+ protected Model getModel( String groupId, String artifactId, String version, String type )
+ {
+ // getLog().info( ".getModel(" + groupId + ", " + artifactId + ", " + version + ", " + type + ")" );
+ Artifact pomArtifact = artifactFactory.createProjectArtifact( groupId, artifactId, version );
+
+ String path = localRepository.getLayout().pathOf( pomArtifact );
+
+ File pomFile = new File( localRepository.getBasedir(), path );
+
+ if ( pomFile.exists() )
+ {
+ FileReader reader = null;
+ try
+ {
+ reader = new FileReader( pomFile );
+ Model model = modelReader.read( reader );
+
+ // HACK: to allow ${pom.groupId} expressions to work, WITHOUT resolving/merginc parent.
+ // (The merging of parent pom is done elsewhere)
+ if ( StringUtils.isEmpty( model.getGroupId() ) )
+ {
+ if( model.getParent() != null )
+ {
+ model.setGroupId( model.getParent().getGroupId() );
+ }
+ }
+
+ // HACK: to fix bad poms in repo (see jetty:jetty:4.2.10::jar for example)
+ model.setVersion( version );
+
+ // Interpolate the properties?
+ if( modelInterpolator == null )
+ {
+ modelInterpolator = new RegexBasedModelInterpolator();
+ }
+
+ model = modelInterpolator.interpolate( model, Collections.EMPTY_MAP, false );
+
+ return model;
+ }
+ catch ( Exception e )
+ {
+ getLog().warn(
+ "Unable to read pom file " + pomFile.getAbsolutePath() + " : (" + e.getClass().getName()
+ + "): " + e.getMessage() );
+ }
+ finally
+ {
+ IOUtil.close( reader );
+ }
+ }
+
+ // no pom file.
+
+ Model model = new Model();
+ model.setGroupId( groupId );
+ model.setArtifactId( artifactId );
+ model.setVersion( version );
+ model.setPackaging( type );
+
+ return model;
+ }
+
+ private String getGroupId( Model model )
+ {
+ String groupId = model.getGroupId();
+
+ if ( StringUtils.isEmpty( groupId ) )
+ {
+ if ( model.getParent() != null )
+ {
+ groupId = model.getParent().getGroupId();
+ }
+ }
+
+ return groupId;
+ }
+
+ private String getVersion( Model model )
+ {
+ String version = model.getVersion();
+
+ if ( StringUtils.isEmpty( version ) )
+ {
+ if ( model.getParent() != null )
+ {
+ version = model.getParent().getVersion();
+ }
+ }
+
+ return VersionUtil.getBaseVersion( version );
+ }
+
+ protected boolean isNotBlank( String str )
+ {
+ return !isBlank( str );
+ }
+
+ private boolean isBlank( String str )
+ {
+ if ( str == null )
+ {
+ return true;
+ }
+
+ return ( str.trim().length() <= 0 );
+ }
+
+ protected boolean isNotEmpty( Collection coll )
+ {
+ return !isEmpty( coll );
+ }
+
+ protected boolean isEmpty( Collection coll )
+ {
+ if ( coll == null )
+ {
+ return true;
+ }
+
+ return coll.isEmpty();
+ }
+
+ protected String toKey( Parent ref )
+ {
+ StringBuffer key = new StringBuffer();
+
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() ).append( ":" );
+ key.append( ref.getVersion() );
+
+ return key.toString();
+ }
+
+ protected String toKey( Exclusion ref )
+ {
+ StringBuffer key = new StringBuffer();
+
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() );
+
+ return key.toString();
+ }
+
+ protected String toKey( Model ref )
+ {
+ StringBuffer key = new StringBuffer();
+
+ key.append( getGroupId( ref ) ).append( ":" );
+ key.append( ref.getArtifactId() ).append( ":" );
+ key.append( getVersion( ref ) );
+
+ return key.toString();
+ }
+
+ protected String toKey( Dependency ref )
+ {
+ StringBuffer key = new StringBuffer();
+
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() ).append( ":" );
+ key.append( ref.getVersion() ).append( ":" );
+ key.append( StringUtils.defaultString( ref.getClassifier() ) ).append( ":" );
+ key.append( ref.getType() );
+
+ return key.toString();
+ }
+
+ protected String toKey( Artifact ref )
+ {
+ StringBuffer key = new StringBuffer();
+
+ key.append( ref.getGroupId() ).append( ":" );
+ key.append( ref.getArtifactId() ).append( ":" );
+ key.append( ref.getVersion() ).append( ":" );
+ key.append( StringUtils.defaultString( ref.getClassifier() ) ).append( ":" );
+ key.append( ref.getType() );
+
+ return key.toString();
+ }
+
+ public ArtifactFactory getArtifactFactory()
+ {
+ return artifactFactory;
+ }
+
+ public void setArtifactFactory( ArtifactFactory artifactFactory )
+ {
+ this.artifactFactory = artifactFactory;
+ }
+
+ public ArtifactRepository getLocalRepository()
+ {
+ return localRepository;
+ }
+
+ public void setLocalRepository( ArtifactRepository localRepository )
+ {
+ this.localRepository = localRepository;
+ }
+
+ public File getOutputDir()
+ {
+ return outputDir;
+ }
+
+ public void setOutputDir( File outputDir )
+ {
+ this.outputDir = outputDir;
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyGraphTestCreator.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyGraphTestCreator.java
new file mode 100644
index 000000000..6597389aa
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyGraphTestCreator.java
@@ -0,0 +1,366 @@
+package org.apache.maven.archiva.plugins.dev.testgen;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.maven.archiva.plugins.dev.functors.DependencyNodeToArtifactTransformer;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.resolver.ArtifactCollector;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.shared.dependency.tree.DependencyTree;
+import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
+import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * DependencyGraphTestCreator
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyGraphTestCreator
+ extends AbstractCreator
+{
+ private class RootArtifactPredicate
+ implements Predicate
+ {
+ private String rootKey;
+
+ public RootArtifactPredicate( DependencyTree tree )
+ {
+ this.rootKey = toKey( tree.getRootNode().getArtifact() );
+ }
+
+ public boolean evaluate( Object input )
+ {
+ boolean satisfies = false;
+
+ if ( input instanceof Artifact )
+ {
+ Artifact nodeArtifact = (Artifact) input;
+ String key = toKey( nodeArtifact );
+
+ if ( key.equals( rootKey ) )
+ {
+ satisfies = true;
+ }
+ }
+
+ return satisfies;
+ }
+ }
+
+ private File outputFile;
+
+ private PrintWriter out;
+
+ private DependencyTreeBuilder dependencyTreeBuilder;
+
+ private ArtifactMetadataSource artifactMetadataSource;
+
+ private ArtifactCollector collector;
+
+ public void create( String classPrefix )
+ throws MojoExecutionException
+ {
+ String classname = classPrefix + "DependencyGraphTest";
+
+ getLog().info( "Generating " + classname + ".java ..." );
+
+ outputFile = new File( outputDir, classname + ".java" );
+ try
+ {
+ out = new PrintWriter( outputFile );
+ }
+ catch ( FileNotFoundException e )
+ {
+ throw new MojoExecutionException( "Unable to open file " + outputFile.getName() + " for output: "
+ + e.getMessage(), e );
+ }
+
+ try
+ {
+ out.println( "package org.apache.maven.archiva.dependency.graph;" );
+ out.println( "" );
+
+ writeLicense( out );
+
+ // Imports
+ out.println( "import org.apache.maven.archiva.dependency.DependencyGraphFactory;" );
+ out.println( "import org.apache.maven.archiva.model.DependencyScope;" );
+ out.println( "import org.apache.maven.archiva.model.VersionedReference;" );
+ out.println( "" );
+ out.println( "import java.util.ArrayList;" );
+ out.println( "import java.util.List;" );
+ out.println( "" );
+
+ String projectKey = toKey( project.getModel() );
+
+ writeJavadoc( classname, projectKey );
+
+ // The class itself.
+ out.println( "public class " + classname );
+ out.println( " extends AbstractDependencyGraphFactoryTestCase" );
+ out.println( "{" );
+
+ DependencyTree dependencyTree = getDependencyTree();
+
+ writeGraphNodesTest( classPrefix, dependencyTree );
+
+ // TODO: enable in future, when resolution between archiva and maven are equal.
+ // writeDirectCompileDepsTest( classPrefix, dependencyTree );
+ // writeDirectTestDepsTest( classPrefix, dependencyTree );
+ // writeTransitiveCompileDepsTest( classPrefix, dependencyTree );
+ // writeTransitiveTestDepsTest( classPrefix, dependencyTree );
+
+ out.println( "}" );
+ }
+ finally
+ {
+ out.flush();
+ IOUtil.close( out );
+ }
+ }
+
+ public ArtifactMetadataSource getArtifactMetadataSource()
+ {
+ return artifactMetadataSource;
+ }
+
+ public ArtifactCollector getCollector()
+ {
+ return collector;
+ }
+
+ public DependencyTreeBuilder getDependencyTreeBuilder()
+ {
+ return dependencyTreeBuilder;
+ }
+
+ public void setArtifactMetadataSource( ArtifactMetadataSource artifactMetadataSource )
+ {
+ this.artifactMetadataSource = artifactMetadataSource;
+ }
+
+ public void setCollector( ArtifactCollector collector )
+ {
+ this.collector = collector;
+ }
+
+ public void setDependencyTreeBuilder( DependencyTreeBuilder dependencyTreeBuilder )
+ {
+ this.dependencyTreeBuilder = dependencyTreeBuilder;
+ }
+
+ private DependencyTree getDependencyTree()
+ throws MojoExecutionException
+ {
+ try
+ {
+ return dependencyTreeBuilder.buildDependencyTree( project, localRepository, artifactFactory,
+ artifactMetadataSource, collector );
+ }
+ catch ( DependencyTreeBuilderException e )
+ {
+ String emsg = "Unable to build dependency tree.";
+ getLog().error( emsg, e );
+ throw new MojoExecutionException( emsg, e );
+ }
+ }
+
+ private void writeDirectCompileDepsTest( String classPrefix, DependencyTree tree )
+ {
+ out.println( " public void testResolveOfDirectCompileDeps()" );
+ out.println( " throws GraphTaskException" );
+ out.println( " {" );
+ writeTestProlog( classPrefix );
+ writeDirectDependenciesCheck( tree, "compile" );
+ out.println( " }" );
+ out.println( "" );
+ }
+
+ private void writeDirectDependenciesCheck( DependencyTree dependencyTree, String scope )
+ {
+ out.println( " // Check for direct dependencies on scope " + scope );
+ out.println( " expectedNodes.clear();" );
+
+ List directDeps = new ArrayList();
+ directDeps.addAll( dependencyTree.getRootNode().getChildren() );
+ CollectionUtils.transform( directDeps, new DependencyNodeToArtifactTransformer() );
+
+ Collections.sort( directDeps );
+
+ writeExpectedNodesAdd( directDeps, scope );
+
+ out.println( " assertDirectNodes( graph, expectedNodes, \"" + scope + "\" );" );
+ }
+
+ private void writeDirectTestDepsTest( String classPrefix, DependencyTree tree )
+ {
+ out.println( " public void testResolveOfDirectTestDeps()" );
+ out.println( " throws GraphTaskException" );
+ out.println( " {" );
+ writeTestProlog( classPrefix );
+ writeDirectDependenciesCheck( tree, "test" );
+ out.println( " }" );
+ out.println( "" );
+ }
+
+ private void writeExpectedNodesAdd( List deps, String scope )
+ {
+ Iterator it = deps.iterator();
+ while ( it.hasNext() )
+ {
+ Artifact artifact = (Artifact) it.next();
+ String depKey = toKey( artifact );
+ if ( StringUtils.equals( scope, artifact.getScope() ) )
+ {
+ out.println( " expectedNodes.add( \"" + depKey + "\" );" );
+ }
+ }
+ }
+
+ private void writeJavadoc( String classname, String projectKey )
+ {
+ out.println( "/**" );
+ out.println( " * " + classname );
+ out.println( " * " );
+ out.println( " * DependencyGraphTest for testing <code>" + projectKey + "</code>" );
+ out.println( " *" );
+ out.println( " * Generated by <code>archivadev:generate-dependency-tests</code> plugin" );
+ out.println( " * @version $Id$" );
+ out.println( " */" );
+ }
+
+ private void writeGraphNodesTest( String classPrefix, final DependencyTree tree )
+ {
+ out.println( " public void testResolvedDepsToNodes()" );
+ out.println( " throws GraphTaskException" );
+ out.println( " {" );
+ writeTestProlog( classPrefix );
+
+ String projectKey = toKey( project.getModel() );
+ out.println( " String expectedRootRef = \"" + projectKey + "\";" );
+ out.println( " List expectedNodes = new ArrayList();" );
+ out.println( "" );
+ out.println( " // Check for all nodes, regardless of scope." );
+ out.println( " expectedNodes.clear();" );
+
+ // Add all deps.
+ List deps = new ArrayList();
+ Predicate notRootNode = NotPredicate.getInstance( new RootArtifactPredicate( tree ) );
+ CollectionUtils.select( tree.getArtifacts(), notRootNode, deps );
+ CollectionUtils.transform( deps, new DependencyNodeToArtifactTransformer() );
+ Collections.sort( deps );
+
+ Iterator it = deps.iterator();
+ while ( it.hasNext() )
+ {
+ Artifact artifact = (Artifact) it.next();
+ String depKey = toKey( artifact );
+ out.println( " expectedNodes.add( \"" + depKey + "\" );" );
+ }
+
+ out.println( "" );
+ out.println( " assertGraph( graph, expectedRootRef, expectedNodes );" );
+
+ out.println( " }" );
+ out.println( "" );
+
+ }
+
+ private void writeTestProlog( String classPrefix )
+ {
+ out.println( " MemoryRepositoryDependencyGraphBuilder graphBuilder = " );
+ out.println( " new MemoryRepositoryDependencyGraphBuilder();" );
+ out.println( " MemoryRepository repository = new " + classPrefix + "MemoryRepository();" );
+ out.println( " graphBuilder.setMemoryRepository( repository );" );
+ out.println( "" );
+ out.println( " // Create the factory, and add the test resolver." );
+ out.println( " DependencyGraphFactory factory = new DependencyGraphFactory();" );
+ out.println( " factory.setGraphBuilder( graphBuilder );" );
+ out.println( " factory.setDesiredScope( DependencyScope.TEST );" );
+ out.println( "" );
+ out.println( " // Get the model to resolve from" );
+ out.println( " VersionedReference rootRef = toVersionedReference( \"" + project.getGroupId() + ":"
+ + project.getArtifactId() + ":" + project.getVersion() + "\"); " );
+ out.println( "" );
+ out.println( " // Perform the resolution." );
+ out.println( " DependencyGraph graph = factory.getGraph( rootRef );" );
+ out.println( "" );
+ out.println( " // Test the results." );
+ out.println( " assertNotNull( \"Graph shouldn't be null.\", graph );" );
+ out.println( "" );
+ }
+
+ private void writeTransientDependenciesCheck( DependencyTree dependencyTree, String scope )
+ {
+ out.println( " // Check for transient dependencies on scope " + scope );
+ out.println( " expectedNodes.clear();" );
+
+ // Add all deps.
+ List deps = new ArrayList( dependencyTree.getArtifacts() );
+ // Remove the direct deps.
+ List directDeps = new ArrayList();
+ directDeps.addAll( dependencyTree.getRootNode().getChildren() );
+ CollectionUtils.transform( directDeps, new DependencyNodeToArtifactTransformer() );
+ deps.removeAll( directDeps );
+
+ Collections.sort( deps );
+
+ writeExpectedNodesAdd( deps, scope );
+
+ out.println( " assertTransientNodes( graph, expectedNodes, \"" + scope + "\" );" );
+ }
+
+ private void writeTransitiveCompileDepsTest( String classPrefix, DependencyTree tree )
+ {
+ out.println( " public void testResolveOfTransitiveCompileDeps()" );
+ out.println( " throws GraphTaskException" );
+ out.println( " {" );
+ writeTestProlog( classPrefix );
+ writeTransientDependenciesCheck( tree, "compile" );
+ out.println( " }" );
+ out.println( "" );
+ }
+
+ private void writeTransitiveTestDepsTest( String classPrefix, DependencyTree tree )
+ {
+ out.println( " public void testResolveOfTransitiveTestDeps()" );
+ out.println( " throws GraphTaskException" );
+ out.println( " {" );
+ writeTestProlog( classPrefix );
+ writeTransientDependenciesCheck( tree, "test" );
+ out.println( " }" );
+ out.println( "" );
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
new file mode 100644
index 000000000..4d3b86859
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
@@ -0,0 +1,83 @@
+package org.apache.maven.archiva.plugins.dev.testgen;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingException;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * DependencyUtils - common utilities for dependencies.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyUtils
+{
+ public static Map getManagedVersionMap( MavenProject project, ArtifactFactory factory ) throws ProjectBuildingException
+ {
+ DependencyManagement dependencyManagement = project.getDependencyManagement();
+ Map managedVersionMap;
+
+ if ( dependencyManagement != null && dependencyManagement.getDependencies() != null )
+ {
+ managedVersionMap = new HashMap();
+
+ for ( Iterator iterator = dependencyManagement.getDependencies().iterator(); iterator.hasNext(); )
+ {
+ Dependency dependency = (Dependency) iterator.next();
+
+ try
+ {
+ VersionRange versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
+
+ Artifact artifact =
+ factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(),
+ versionRange, dependency.getType(),
+ dependency.getClassifier(), dependency.getScope() );
+
+ managedVersionMap.put( dependency.getManagementKey(), artifact );
+ }
+ catch ( InvalidVersionSpecificationException exception )
+ {
+ throw new ProjectBuildingException( project.getId(), "Unable to parse version '"
+ + dependency.getVersion() + "' for dependency '" + dependency.getManagementKey()
+ + "': " + exception.getMessage(), exception );
+ }
+ }
+ }
+ else
+ {
+ managedVersionMap = Collections.EMPTY_MAP;
+ }
+
+ return managedVersionMap;
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
new file mode 100644
index 000000000..395f65b20
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
@@ -0,0 +1,439 @@
+package org.apache.maven.archiva.plugins.dev.testgen;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.iterators.EnumerationIterator;
+import org.apache.maven.archiva.plugins.dev.functors.MatchingDependencyPredicate;
+import org.apache.maven.artifact.InvalidArtifactRTException;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Exclusion;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Relocation;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.PrintWriter;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ * MemoryRepositoryCreator
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class MemoryRepositoryCreator
+ extends AbstractCreator
+{
+ private File outputFile;
+
+ private PrintWriter out;
+
+ private int modelsProcessed = 0;
+
+ public void create( String classPrefix )
+ throws MojoExecutionException
+ {
+ getLog().info( "Generating " + classPrefix + "MemoryRepository.java ..." );
+ getLog().info( "Please be patient, this can take a few minutes ..." );
+
+ modelsProcessed = 0;
+
+ outputFile = new File( outputDir, classPrefix + "MemoryRepository.java" );
+ try
+ {
+ out = new PrintWriter( outputFile );
+ }
+ catch ( FileNotFoundException e )
+ {
+ throw new MojoExecutionException( "Unable to open file " + outputFile.getName() + " for output: "
+ + e.getMessage(), e );
+ }
+
+ try
+ {
+ out.println( "package org.apache.maven.archiva.dependency.graph;" );
+ out.println( "" );
+
+ writeLicense( out );
+
+ // Imports
+ out.println( "import org.apache.maven.archiva.model.ArchivaProjectModel;" );
+ out.println( "import org.apache.maven.archiva.model.Dependency;" );
+ out.println( "import org.apache.maven.archiva.model.VersionedReference;" );
+ out.println( "" );
+
+ String projectKey = toKey( project.getModel() );
+
+ writeJavadoc( classPrefix + "MemoryRepository", projectKey );
+
+ // The class itself.
+ out.println( "public class " + classPrefix + "MemoryRepository" );
+ out.println( " extends AbstractMemoryRepository" );
+ out.println( "{" );
+
+ writeTest();
+
+ out.println( "}" );
+ }
+ finally
+ {
+ out.flush();
+ IOUtil.close( out );
+ }
+
+ }
+
+ private void writeJavadoc( String classname, String projectKey )
+ {
+ out.println( "/**" );
+ out.println( " * " + classname );
+ out.println( " * " );
+ out.println( " * MemoryRepository for testing <code>" + projectKey + "</code>" );
+ out.println( " *" );
+ out.println( " * Generated by <code>archivadev:generate-dependency-tests</code> plugin" );
+ out.println( " * @version $Id$" );
+ out.println( " */" );
+ }
+
+ private void writeTest()
+ {
+ out.println( " public void initialize()" );
+ out.println( " {" );
+ out.println( " ArchivaProjectModel model;" );
+ out.println( " Dependency dep;" );
+ out.println( "" );
+
+ Set seenModels = new HashSet();
+
+ writeModel( seenModels, project.getModel() );
+
+ getLog().info(
+ "Processing done: Processed " + modelsProcessed + " models (" + seenModels.size()
+ + " were unique)" );
+
+ out.println( " }" );
+ }
+
+ private void writeModel( Set seenModels, Model model )
+ {
+ String projectKey = toKey( model );
+
+ modelsProcessed++;
+
+ if ( ( modelsProcessed % 100 ) == 0 )
+ {
+ getLog()
+ .info( "Processed " + modelsProcessed + " models (" + seenModels.size() + " unique) ..." );
+ }
+
+ Relocation relocation = null;
+
+ if ( seenModels.contains( projectKey ) )
+ {
+ return;
+ }
+
+ seenModels.add( projectKey );
+
+ out.println( " model = toModel( \"" + projectKey + "\" );" );
+
+ if ( model.getParent() != null )
+ {
+ String parentKey = toKey( model.getParent() );
+ out.println( " model.setParentProject( toParent( \"" + parentKey + "\" ) );" );
+ }
+
+ if ( isNotEmpty( model.getDependencies() ) )
+ {
+ Iterator it = model.getDependencies().iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = applyDepMan( (Dependency) it.next(), model );
+
+ writeAddDependency( "addDependency", dep );
+ }
+ }
+
+ if ( ( model.getDependencyManagement() != null )
+ && isNotEmpty( model.getDependencyManagement().getDependencies() ) )
+ {
+ Iterator it = model.getDependencyManagement().getDependencies().iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+
+ writeAddDependency( "addDependencyManagement", dep );
+ }
+ }
+
+ if ( isNotEmpty( model.getProperties() ) )
+ {
+ Iterator it = new EnumerationIterator( model.getProperties().keys() );
+ while ( it.hasNext() )
+ {
+ String key = (String) it.next();
+ String value = model.getProperties().getProperty( key );
+ out.println( " model.addProperty( \"" + key + "\", \"" + value + "\" );" );
+ }
+ }
+
+ if ( model.getDistributionManagement() != null )
+ {
+ DistributionManagement distMgmt = model.getDistributionManagement();
+
+ if ( distMgmt.getRelocation() != null )
+ {
+ relocation = distMgmt.getRelocation();
+
+ out.println( " model.setRelocation( new VersionedReference() );" );
+ if ( StringUtils.isNotEmpty( relocation.getGroupId() ) )
+ {
+ out.println( " model.getRelocation().setGroupId( \"" + relocation.getGroupId() + "\" );" );
+ }
+ if ( StringUtils.isNotEmpty( relocation.getArtifactId() ) )
+ {
+ out
+ .println( " model.getRelocation().setArtifactId( \"" + relocation.getArtifactId()
+ + "\" );" );
+ }
+ if ( StringUtils.isNotEmpty( relocation.getVersion() ) )
+ {
+ out.println( " model.getRelocation().setVersion( \"" + relocation.getVersion() + "\" );" );
+ }
+ }
+ }
+
+ out.println( " addModel( model );" );
+ out.println( "" );
+
+ if ( model.getParent() != null )
+ {
+ Model parentModel = getModel( model.getParent() );
+ writeModel( seenModels, parentModel );
+ }
+
+ if ( relocation != null )
+ {
+ Model relocatedModel = getModel( model, relocation );
+ writeModel( seenModels, relocatedModel );
+ }
+
+ writeModelDependencies( seenModels, projectKey, model );
+ writeModelDependencyManagement( seenModels, projectKey, model );
+ }
+
+ private Model getModel( Model model, Relocation relocation )
+ {
+ String groupId = relocation.getGroupId();
+ String artifactId = relocation.getArtifactId();
+ String version = relocation.getVersion();
+
+ // Set empty groupId.
+ if ( StringUtils.isEmpty( groupId ) )
+ {
+ groupId = model.getGroupId();
+
+ if ( StringUtils.isEmpty( groupId ) )
+ {
+ if ( model.getParent() == null )
+ {
+ throw new IllegalStateException( "BAD POM: GroupId for relocation in " + toKey( model )
+ + " cannot be determined, as there is no Parent Pom reference." );
+ }
+
+ groupId = model.getParent().getGroupId();
+ }
+ }
+
+ // Set empty artifactId.
+ if ( StringUtils.isEmpty( artifactId ) )
+ {
+ artifactId = model.getArtifactId();
+
+ if ( StringUtils.isEmpty( artifactId ) )
+ {
+ if ( model.getParent() == null )
+ {
+ throw new IllegalStateException( "BAD POM: ArtifactId for relocation in " + toKey( model )
+ + " cannot be determined, as there is no Parent Pom reference." );
+ }
+
+ artifactId = model.getParent().getArtifactId();
+ }
+ }
+
+ // Set empty version.
+ if ( StringUtils.isEmpty( version ) )
+ {
+ version = model.getVersion();
+
+ if ( StringUtils.isEmpty( version ) )
+ {
+ if ( model.getParent() == null )
+ {
+ throw new IllegalStateException( "BAD POM: version for relocation in " + toKey( model )
+ + " cannot be determined, as there is no Parent Pom reference." );
+ }
+
+ version = model.getParent().getVersion();
+ }
+ }
+
+ return getModel( groupId, artifactId, version, "pom" );
+ }
+
+ private void writeAddDependency( String addMethod, Dependency dep )
+ {
+ boolean useShortForm = true;
+ String depKey = toKey( dep );
+
+ useShortForm = isEmpty( dep.getExclusions() ) && !dep.isOptional();
+
+ String scopePart = "";
+
+ if ( isNotBlank( dep.getScope() ) )
+ {
+ scopePart = ", \"" + dep.getScope() + "\"";
+ }
+
+ if ( useShortForm )
+ {
+ out.println( " model." + addMethod + "( toDependency( \"" + depKey + "\"" + scopePart + " ) );" );
+ return;
+ }
+
+ out.println( " dep = toDependency( \"" + depKey + "\"" + scopePart + " );" );
+
+ if ( isNotEmpty( dep.getExclusions() ) )
+ {
+ Iterator it = dep.getExclusions().iterator();
+ while ( it.hasNext() )
+ {
+ Exclusion exclusion = (Exclusion) it.next();
+ String exkey = toKey( exclusion );
+ out.println( " addExclusion( dep, \"" + exkey + "\" );" );
+ }
+ }
+
+ if ( dep.isOptional() )
+ {
+ out.println( " dep.setOptional( true );" );
+ }
+
+ out.println( " model." + addMethod + "( dep );" );
+ }
+
+ private void writeModelDependencies( Set seenModels, String projectKey, Model model )
+ {
+ if ( model.getDependencies() == null )
+ {
+ return;
+ }
+
+ Iterator it = model.getDependencies().iterator();
+
+ while ( it.hasNext() )
+ {
+ Dependency dep = applyDepMan( (Dependency) it.next(), model );
+
+ Model rawModel = getModel( dep );
+
+ try
+ {
+ writeModel( seenModels, rawModel );
+ }
+ catch ( InvalidArtifactRTException e )
+ {
+ getLog().error(
+ "Encountered invalid dependency/artifact during [" + projectKey + "] : "
+ + e.getMessage(), e );
+ throw e;
+ }
+ }
+ }
+
+ private void writeModelDependencyManagement( Set seenModels, String projectKey, Model model )
+ {
+ if ( model.getDependencyManagement() == null )
+ {
+ return;
+ }
+
+ Iterator it = model.getDependencyManagement().getDependencies().iterator();
+
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+
+ Model rawModel = getModel( dep );
+
+ try
+ {
+ writeModel( seenModels, rawModel );
+ }
+ catch ( InvalidArtifactRTException e )
+ {
+ getLog().error(
+ "Encountered invalid dependency/artifact during [" + projectKey + "] : "
+ + e.getMessage(), e );
+ throw e;
+ }
+ }
+ }
+
+ private Dependency applyDepMan( Dependency dependency, Model model )
+ {
+ if ( model.getDependencyManagement() != null )
+ {
+ if ( model.getDependencyManagement().getDependencies() != null )
+ {
+ // Attempt to find matching dep.
+ Predicate matchingDep = new MatchingDependencyPredicate( dependency );
+ Dependency depman = (Dependency) CollectionUtils.find( model.getDependencyManagement()
+ .getDependencies(), matchingDep );
+
+ if ( depman != null )
+ {
+ dependency.setVersion( depman.getVersion() );
+ dependency.setScope( StringUtils.defaultString( depman.getScope(), dependency.getScope() ) );
+
+ // Found it!
+ return dependency;
+ }
+ }
+ }
+
+ if ( model.getParent() != null )
+ {
+ Model parentModel = getModel( model.getParent() );
+ return applyDepMan( dependency, parentModel );
+ }
+
+ return dependency;
+ }
+}
diff --git a/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
new file mode 100644
index 000000000..70440d12a
--- /dev/null
+++ b/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
@@ -0,0 +1,50 @@
+package org.apache.maven.archiva.plugins.dev.utils;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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 org.codehaus.plexus.util.StringUtils;
+
+/**
+ * VariableNames
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class VariableNames
+{
+ public static String toClassName( String raw )
+ {
+ return StringUtils.capitalise( toVariableName( raw ) );
+ }
+
+ public static String toVariableName( String raw )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ String parts[] = StringUtils.split( raw, "-_:." );
+ for ( int i = 0; i < parts.length; i++ )
+ {
+ String part = parts[i];
+ sb.append( StringUtils.capitalise( part ) );
+ }
+
+ return StringUtils.uncapitalise( sb.toString() );
+ }
+}
diff --git a/tools/pom.xml b/tools/pom.xml
new file mode 100644
index 000000000..3896ba82b
--- /dev/null
+++ b/tools/pom.xml
@@ -0,0 +1,37 @@
+<?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.maven.archiva</groupId>
+ <artifactId>archiva-parent</artifactId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.apache.maven.archiva.tools</groupId>
+ <artifactId>tools-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <name>Archiva Tools :: Parent</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>maven-archivadev-plugin</module>
+ </modules>
+</project>