You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2014/03/16 18:36:53 UTC

svn commit: r1578123 - in /maven/enforcer/trunk: .gitignore enforcer-rules/src/site/apt/index.apt enforcer-rules/src/site/apt/requireEnvironmentVariable.apt.vm enforcer-rules/src/site/apt/requireSameVersionsReactor.apt.vm

Author: khmarbaise
Date: Sun Mar 16 17:36:52 2014
New Revision: 1578123

URL: http://svn.apache.org/r1578123
Log:
[MENFORCER-186]
 - Enhanced documentation

Modified:
    maven/enforcer/trunk/.gitignore
    maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt
    maven/enforcer/trunk/enforcer-rules/src/site/apt/requireEnvironmentVariable.apt.vm
    maven/enforcer/trunk/enforcer-rules/src/site/apt/requireSameVersionsReactor.apt.vm

Modified: maven/enforcer/trunk/.gitignore
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/.gitignore?rev=1578123&r1=1578122&r2=1578123&view=diff
==============================================================================
--- maven/enforcer/trunk/.gitignore (original)
+++ maven/enforcer/trunk/.gitignore Sun Mar 16 17:36:52 2014
@@ -1,3 +1,6 @@
 target
 .idea/
 *.iml
+.settings
+.classpath
+.project

Modified: maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt?rev=1578123&r1=1578122&r2=1578123&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt (original)
+++ maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt Sun Mar 16 17:36:52 2014
@@ -43,7 +43,7 @@ Standard Rules
 
   * {{{./requireActiveProfile.html}requireActiveProfile}} - enforces one or more active profiles.
   
-  * {{{./requireEnvironmentVariable .html}requireEnvironmentVariable}} - enforces the existence of an environment variable
+  * {{{./requireEnvironmentVariable.html}requireEnvironmentVariable}} - enforces the existence of an environment variable
   
   * {{{./requireFilesDontExist.html}requireFilesDontExist}} - enforces that the list of files do not exist.
   
@@ -71,6 +71,8 @@ Standard Rules
 
   * {{{./requireSameVersions.html}requireSameVersions}} - enforces that specific dependencies and/or plugins have the same version.
 
+  * {{{./requireSameVersionsReactor.html}requireSameVersionsReactor}} - enforces that a multi module build follows best practice.
+
   * {{{./requireUpperBoundDeps.html}requireUpperBoundDeps}} - ensures that every (transitive) dependency is resolved to it's specified version or higher.
 
   []

Modified: maven/enforcer/trunk/enforcer-rules/src/site/apt/requireEnvironmentVariable.apt.vm
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/site/apt/requireEnvironmentVariable.apt.vm?rev=1578123&r1=1578122&r2=1578123&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/site/apt/requireEnvironmentVariable.apt.vm (original)
+++ maven/enforcer/trunk/enforcer-rules/src/site/apt/requireEnvironmentVariable.apt.vm Sun Mar 16 17:36:52 2014
@@ -32,7 +32,7 @@ Require Environment Variable
    
    * message - an optional message to the user if the rule fails.
    
-   * variableNames - The name of the environment variable to checkfor.
+   * variableNames - The name of the environment variable to be checked for.
    
    []
 

Modified: maven/enforcer/trunk/enforcer-rules/src/site/apt/requireSameVersionsReactor.apt.vm
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/site/apt/requireSameVersionsReactor.apt.vm?rev=1578123&r1=1578122&r2=1578123&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/site/apt/requireSameVersionsReactor.apt.vm (original)
+++ maven/enforcer/trunk/enforcer-rules/src/site/apt/requireSameVersionsReactor.apt.vm Sun Mar 16 17:36:52 2014
@@ -105,8 +105,8 @@ Require Same Versions Reactor
   (..)
 +-----  
 
-  But sometimes people mistaken things or violate the best-practice and  
-  this look like this:
+  But sometimes people mistaken things or violate the best-practice which  
+  looks like this:
 
 +-----
   <parent>
@@ -119,12 +119,131 @@ Require Same Versions Reactor
   <version>1.1-SNAPSHOT</version>
 +-----
 
-  By using this rule you would get a message during the build if you try to build
-  and example like the above which result in the following output:
+  By using this rule you would get a message during the build 
+  with the following resulting output:
 
 +-----
 [WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireSameVersionsReactor failed with message:
 The reactor contains different versions.
- --> org.apache.enforcer.example:appasm:pom:1.1.0-SNAPSHOT
+ --> com.mycompany.project:myproject:pom:1.1-SNAPSHOT
 +-----
 
+  The next which happens is that the parent in a reactor is sometimes 
+  the wrong one like the following situation:
+  
++-----
+  <parent>
+    <groupId>...</groupId>
+    <artifactId>...</artifactId>
+    <version>1.1-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>module1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  (..)
++-----  
+
+  This will prompted by the following message:
+  
++-----
+[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireSameVersionsReactor failed with message:
+Reactor modules have parents which contain a wrong version.
+ --> com.mycompany.project:myproject:pom:1.1-SNAPSHOT parent:com.mycompany.project:myproject:pom:1.0-SNAPSHOT
++-----
+
+  If you have only changed a parent by accident with the wrong version 
+  like this:
+  
++-----
+  <parent>
+    <groupId>...</groupId>
+    <artifactId>...</artifactId>
+    <version>1.1-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>module1</artifactId>
+  (..)
++-----  
+  
+  you will get the same message as above:
+  
++-----
+[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireSameVersionsReactor failed with message:
+The reactor contains different versions.
+ --> com.mycompany.project:myproject:pom:1.1-SNAPSHOT
++-----
+
+  An other things which happens that simply the parent will be forgotten which
+  produces a message like this:
+
++----
+[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireSameVersionsReactor failed with message:
+Reactor contains modules without parents.
+ module: com.mycompany.project:myproject:pom:1.2-SNAPSHOT
++----
+
+  In larger mutli-module builds it happens also that the defined parent is given
+  but does not belong to the reactor like this:
+  
++-----
+  <parent>
+    <groupId>org.apache.enforcer</groupId>
+    <artifactId>something-different</artifactId>
+    <version>1.1</version>
+  </parent>
+
+  <artifactId>module1</artifactId>
+  (..)
++-----  
+  
+  Usually already the Maven warning like this should be paid attention to:
+  
++-----
+[WARNING] 
+[WARNING] Some problems were encountered while building the effective model for org.apache.enforcer:pom:1.0.4-SNAPSHOT
+[WARNING] 'parent.relativePath' points at org.apache.enforcer:something-different instead of org.apache.enforcer:something-different, please verify your project structure @ line 7, column 11
+[WARNING] 
++-----
+
+  but this will oversight often. So the enforcer rule will break simply
+  such mail formed build via the message (This required that the parent
+  has the same version as the rest of the build which happens):
+   
++-----
+[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireSameVersionsReactor failed with message:
+Module parents have been found which could not be found in the reactor.
+ module: org.apache.enforcer:something-different:pom:1.0.4-SNAPSHOT
++-----
+
+
+  An other case which happens (for example by merging from a branch into trunk/master)
+  is that an intermodule dependency contains the wrong version like this:
+
++-----
+  <parent>
+    <groupId>...</groupId>
+    <artifactId>...</artifactId>
+    <version>1.2-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>module1</artifactId>
+  
+  <dependencies>
+    <dependency>
+      <groupId>com.mycompany.project</groupId>
+      <artifactId>myproject</artifactId>
+      <version>1.1</version>
+    </dependency>
+  (..)
+  </dependencies>
+  (..)
++-----
+ 
+  This will result in the following message:
+  
++-----
+[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireSameVersionsReactor failed with message:
+Reactor modules contains dependencies which do not reference the reactor.
+ module: com.mycompany.project:myproject-x:jar:1.2-SNAPSHOT
+    dependency: com.mycompany.project:myproject:1.1
++-----