[maven-scm] copy for tag enforcer-1.0
git-svn-id: https://svn.apache.org/repos/asf/maven/enforcer/tags/enforcer-1.0@1030227 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
index 9e736b2..fdaae0a 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
@@ -109,14 +109,14 @@
}
private String getFullArtifactName(Artifact artifact){
- return artifact.getGroupId() + ":" + artifact.getArtifactId() + artifact.getVersion();
+ return artifact.getGroupId() + ":" + artifact.getArtifactId() +":"+ artifact.getVersion();
}
private StringBuilder buildTreeString(DependencyNode node) {
List<String> loc = new ArrayList<String>();
DependencyNode currentNode = node;
while (currentNode != null) {
- loc.add(getFullArtifactName(node.getArtifact()));
+ loc.add(getFullArtifactName(currentNode.getArtifact()));
currentNode = currentNode.getParent();
}
Collections.reverse(loc);
@@ -145,7 +145,7 @@
if (nodeList.size() > 0){
builder.append(buildTreeString(nodeList.get(0)));
}
- for (DependencyNode node: nodeList){
+ for (DependencyNode node: nodeList.subList(1,nodeList.size())){
builder.append("and\n");
builder.append(buildTreeString(node));
}
diff --git a/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm b/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm
index 1136773..6c8691a 100644
--- a/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm
+++ b/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm
@@ -22,7 +22,7 @@
2008-09-13
-----
- This rule requires that dependency version numbers converge. If it has two dependencies, A and B, both depending on the same artifact, c, this rule will fail the build if A depends on a different version of C then the version of C depended on by B.
+ This rule requires that dependency version numbers converge. If a project has two dependencies, A and B, both depending on the same artifact, C, this rule will fail the build if A depends on a different version of C then the version of C depended on by B.
Here is a concrete example.
@@ -49,13 +49,16 @@
-----------------------------------------------------------------------------------
Dependency convergence error for org.slf4j:slf4j-api1.6.1 paths to dependency are:
-+-org.slf4j:slf4j-api1.6.1
- +-org.slf4j:slf4j-api1.6.1
- +-org.slf4j:slf4j-api1.6.1
+[ERROR]
+Dependency convergence error for org.slf4j:slf4j-api:1.6.1 paths to dependency are:
++-org.myorg:my-project:1.0.0-SNAPSHOT
+ +-org.slf4j:slf4j-jdk14:1.6.1
+ +-org.slf4j:slf4j-api:1.6.1
and
-+-org.slf4j:slf4j-api1.6.0
- +-org.slf4j:slf4j-api1.6.0
- +-org.slf4j:slf4j-api1.6.0
++-org.myorg:my-project:1.0.0-SNAPSHOT
+ +-org.slf4j:slf4j-nop:1.6.0
+ +-org.slf4j:slf4j-api:1.6.0
+
-----------------------------------------------------------------------------------