The following is all about multi-project environments.
For many maven calls the result differs if you perform you mvn command on the toplevel project
or in a specific module. In the latter case the related modules of the projects are not included in the reactor
causing the result to be invalid or the build to fail.
There should be a way that I can call maven within a particular module causing the reactor
to be build from the toplevel pom while walking the relativePath (defaults to ../pom.xml) upwards
until a pom is reached, that has no parent. From that pom the reactor should be build,
while the actual build should work on the module where maven was invoked.
A typical example use-case would be the command "mvn eclipse:eclipse".
Right now it does not create project-internal dependencies if it is called
within the module. This is especially nasty when you have a local sandbox
module that should not (yet) be committed. Then you always need to add it
as extra module to your parent pom, call eclipse:eclipse and then revert the changed pom.
Additional use-cases are that you want to build a specific module rather than
the entire project. Right now you need to enter the module, give "mvn install" a try.
If it fails, you will see which dependency is missing. Then you go there before
and try "mvn install" there. This process is iterated until the first "mvn install" completes.
This is very inconvenient. However fixing such problems as well would
cause that not only the modules are added to the reactor but that the actual mvn call
is also applied to the dependend modules that are in the reactor.
This specific issue might need some extra discussion...
For reasons of compatibility the suggested improvement could/should be
activated by a specific commandline option (somehow the opposite of "-N").
A suggestion would be "-R" for reactor and recursive.