A proof of concept bom generation maven plugin has been written.
It can currently generate a bom from the projects present in the reactor.
I consider this ideal, as only the projects we deploy will be on the reactor (adding/removing/skipping will all be instantly reflected without a maintenance task on the jetty-bom).
The (preliminary) example configuration:
Actual output produced:
What's left to figure out:
Now that we can generate the bom from the list of projects in the reactor (with include/exclude filtering).
How do we get it installed (to the local repo) and deployed (to the snapshot repo and release repo) in a minimal amount of hassle?
Traditionally, you would attach the generated artifacts, but that means it would be a artifact with a classifier on the project.
Using maven-deploy-plugin:deploy-file in the project pom is quirky as you have to declare a url configuration parameter (which is different for snapshot vs release builds).
Internally, the bom-maven-plugin could use the org.apache.maven.shared.project.deploy.ProjectDeployer from maven-artifact-transfer-<ver>.jar
But that would require a fully fleshed out project to be declared to use that class.
There's also the org.apache.maven.shared.artifact.deploy.ArtifactDeployer available, but I've never used that before.
Setting up a ProjectBuildingRequest seems daunting.