You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Karl Heinz Marbaise (JIRA)" <ji...@codehaus.org> on 2014/03/12 12:59:59 UTC
[jira] (MENFORCER-186) Create a rule for the reactor
(RequireReactorSameVersion?)
Karl Heinz Marbaise created MENFORCER-186:
---------------------------------------------
Summary: Create a rule for the reactor (RequireReactorSameVersion?)
Key: MENFORCER-186
URL: https://jira.codehaus.org/browse/MENFORCER-186
Project: Maven Enforcer Plugin
Issue Type: New Feature
Components: Standard Rules
Affects Versions: 1.3.1
Reporter: Karl Heinz Marbaise
Priority: Minor
It would be nice having a rule which checks the consitency of a multi-module build.
Say having a build with modules like this:
{code}
+-- root (pom.xml)
+--- m1 (pom.xml)
+--- m11 (pom.xml)
+--- m12 (pom.xml)
+--- m2 (pom.xml)
+--- m21 (pom.xml)
+--- m21 (pom.xml)
+--- m3 (pom.xml)
+--- m31 (pom.xml)
+--- m31 (pom.xml)
+--- m4 (pom.xml)
+--- m5 (pom.xml)
{code}
If you have for all modules the version 1.2.0-SNAPSHOT everything is fine.
But what sometimes it happens that someone changes something and you will find things like the following:
The module m21 (pom.xml) has no a parent version of 1.1.0-SNAPSHOT which means maven will try to find this version in repository (you will get a warning during the build; But who reads warngings ;-))..
Or other things having module interdependencies and it happens someone does something like this:
In m4 a dependency is written like this:
{code}
<dependency>
<groupId>TheGroup</groupId>
<artifactId>m21</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
{code}
which will usually build, but it is not correct. or better like this:
{code}
<dependency>
<groupId>TheGroup</groupId>
<artifactId>m21</artifactId>
<version>1.1.0</version>
</dependency>
{code}
This means it will be solved against the released version which usually is not the intention in such cases.
So the rule should check if the groupId/artifactId belongs to the reactor and check the consistency of the version of the dependencies etc. Also the parent would be nice.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)