[ https://jira.codehaus.org/browse/MENFORCER-185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=358959#comment-358959 ]
Karl-Heinz Marbaise commented on MENFORCER-185: ----------------------------------------------- So first thanks Curtis for your feedback. So after taking a look into that i found some things we need to mention. The [documentation|http://maven.apache.org/enforcer/enforcer-rules/requireReleaseDeps.html] says that by default the {{onlyWhenRelease}} configuration element is set to {{false}} which means the check will be done always. Furthermore the documentation also says the default for {{failWhenParentIsSnapshot}} configuration element is set to {{true}} which means it will check the parent always. These are the reasons why the example build fails. I have created a [github project|https://github.com/khmarbaise/menforcer/tree/master/menforcer-185] with the above example and enhanced it a little with an dependency to {{ham}} in {{green-egs}} module but with the wrong version which is not from the current reactor. The newly implemented rule {{reactorModuleConvergence}} will exactly show this problem. {code} [WARNING] Rule 0: org.apache.maven.plugins.enforcer.ReactorModuleConvergence failed with message: Reactor modules contains dependencies which do not reference the reactor. There is a problem in your reactor. module: seuss:green-eggs:jar:0.0.0-SNAPSHOT dependency: seuss:ham:0.0.1-SNAPSHOT {code} This is of course not the check for SNAPSHOT dependencies what you like to do. So this looks to me that we need to (re)implement the {{requireReleaseDependencies}} rule in a complete different way...cause the doc stated: ??This rule checks the dependencies and fails if any snapshots are found.?? Based on that i would interpret that in the way to check only the dependencies and check if they are not part of the reactor to fail. PS.: The title of the issue is a little bit misleading, cause we are talking about a multi module build and not about an aggregator build. > Require Release Dependencies ignorant about aggregator build > ------------------------------------------------------------ > > Key: MENFORCER-185 > URL: https://jira.codehaus.org/browse/MENFORCER-185 > Project: Maven Enforcer Plugin > Issue Type: Bug > Components: Standard Rules > Affects Versions: 1.3.1 > Reporter: Thomas Diesler > Attachments: seuss.zip > > > If A depends on B it is ok for A-1.0.0-SNAPSHOT to have snapshot dependency > on B-1.0.0-SNAPSHOT if B was build before A during the same reactor build. > Using the requireReleaseDeps rule it seems that SNAPSHOTS are generally not > allowed even when they belong to the same project and were built during the > same reactor build. > We have a complex project with 100+ modules. I want to enforce that no module > has dependencies on project SNAPSHOTS that were not included in the build. In > such case A would use a stale version of B that happened to be available in > the local/remote maven repository. -- This message was sent by Atlassian JIRA (v6.1.6#6162)