Remove or replace the parent projects for the enforcer and enforcer data

Description

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)

Environment

None

Activity

Rod Widdowson
April 30, 2022 at 1:03 PM

As per '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.

Rod Widdowson
April 12, 2022 at 1:39 PM

Thanks 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.

Ian Young
April 12, 2022 at 1:22 PM

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.

Rod Widdowson
April 9, 2022 at 2:13 PM

I’ll ask 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

Completed

Details

Assignee

Reporter

Fix versions

Created April 9, 2022 at 2:12 PM
Updated April 30, 2022 at 1:03 PM
Resolved April 30, 2022 at 1:03 PM