You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2012/05/09 00:04:31 UTC
svn commit: r1335793 -
/maven/enforcer/trunk/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm
Author: rfscholte
Date: Tue May 8 22:04:31 2012
New Revision: 1335793
URL: http://svn.apache.org/viewvc?rev=1335793&view=rev
Log:
Describe usage DependencyConvergence.uniqueVersions
Modified:
maven/enforcer/trunk/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm
Modified: maven/enforcer/trunk/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm?rev=1335793&r1=1335792&r2=1335793&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm (original)
+++ maven/enforcer/trunk/enforcer-rules/src/site/apt/dependencyConvergence.apt.vm Tue May 8 22:04:31 2012
@@ -22,13 +22,15 @@
2008-09-13
-----
+Dependency Convergence
+
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.
This will cause a build to fail.
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
<dependencies>
<dependency>
@@ -42,11 +44,11 @@
<version>1.6.0</version>
</dependency>
</dependencies>
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
With this being logged during compilation
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
Dependency convergence error for org.slf4j:slf4j-api1.6.1 paths to dependency are:
[ERROR]
@@ -58,13 +60,11 @@ and
+-org.myorg:my-project:1.0.0-SNAPSHOT
+-org.slf4j:slf4j-nop:1.6.0
+-org.slf4j:slf4j-api:1.6.0
-
-
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
And this will succeed.
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
@@ -81,12 +81,12 @@ and
</exclusion>
</exclusions>
</dependency>
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
Here is how a project should be setup to use this rule
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
<project>
...
<build>
@@ -115,4 +115,16 @@ and
</build>
...
</project>
------------------------------------------------------------------------------------
++-----------------------------------------------------------------------------------
+
+* Timestamped version
+
+ By default the non-unique versions are matched, which means the <<<X.Y-SNAPSHOT>>> instead of the timestamped versions.
+ If you want to use the unique versions of the dependencies, you can set its property to <<<true>>>.
+
++---------------------------------------------
+ <DependencyConvergence>
+ <uniqueVersions>true</uniqueVersions>
+ </DependencyConvergence>
++---------------------------------------------
+