Remove or replace the parent projects for the enforcer and enforcer data
Description
Environment
Activity
As per @Ian Young's suggestion I moved the enforcer to the parent project and left the enforcer-data as is.
It is VERY important that the parent never be a snapshot (because the parent contains coordinates of the enforcer and enforcer data and the can be snapshot. So I added a note about that.
Thanks @Ian Young I think my next stage is to see exactly what needs to be sucked forward. I suspect its going to be SCM/Site/&c options rather than anything else.
The enforcer itself is general-purpose enough that I don’t see why it would be necessary for it to be parented by the IdP; I agree that needs to be looked at and probably changed.
My gut feeling, though, is that making a second parent project for just these things is going to be more trouble than it’s worth. It’s not just dependencies, it’s compiler options and repository locations and etc. as well.
My preferred alternative would be to either not require a release of the parent POM for these components (they are not products, after all) or (probably closer to kosher) to just release the parent POM when you need a release of them. That’s usually going to be aligned with releases of other products anyway. Plus, in many cases you’re not going to need to have them track the parent project snapshots at all if their few real dependencies don’t change.
I’ll ask @Ian Young to comment on this before I proceed. I can only see advantages, but I’m not the one who does the dependency management (although I would imagine that managing the dependencies of a “split out” project would be a matter of ‘just’ copying forward for the java-parent project
Currently The enforcer is parented by the IdP and the data is parented by the parent project. These introduce nasty dependency cycles whereby the parents refer to the artifacts and the artifacts refer to the parents.
We should break this linking, even at the cost of making the pom files more costly to maintain (when we rev dependencies)