- default goal is inherited. This shouldn't harmful, and it can just be
redefined in each subproject or an intermediate ancestor (think
maven-plugins) if necessary.
- each mojo can decalre declare whether it should be inherited by default. The
default is that it is inherited, but "@inherited false" would make the
default not to inherit. This is useful for mojos where inheritence
rarely makes sense (eg, assembly:assembly, or a dashbaord report).
- the inheritence of a mojo can be overridden by
<inherit>false< <inherit>true|false</inherit> in the parent POM, under either goal or plugin
- note that because the inheritence default is specified at the mojo
level, plugins are always inherited so the lifecycle bindings will take
effect - so its important for mojos binding to the lifecycle that
shouldn't be inherited declare this.
- plugin and report lists are merged when inheritence, not overridden.
This means the inheritence responsibility is in the parent. There is no
way to block it out from a single pom.