The plugins and the "tools" currently have completely independent lifecycles. Getting rid of the plugins would simplify our build for parent poms. We currently have a semi-circular dependency that forces to build and release, in this order:
- "super" parent pom
- plugins / tools
- "concrete" parent poms that configure the above plugins.
The "tools" are merely files which we bundle in a jar which we use to further configure parent poms. Those could IMO follow the same lifecycle and versioning as the parent poms do.
The different parts of our build projects have been migrated to Git and merged into a single reactor project. However, they still have different lifecycles (i.e plugins don't need to be released with every version of the poms)
We might further change this with BUILD-182. Meanwhile, the build is using the -pl, -am and -amd flags of Maven. See README.txt for details.