[Hawkular-dev] Proposal: introduce DependencyConvergence enforcer rule

Lucas Ponce lponce at redhat.com
Tue Nov 24 11:16:01 EST 2015



----- Original Message -----
> From: "Peter Palaga" <ppalaga at redhat.com>
> To: "Discussions around Hawkular development" <hawkular-dev at lists.jboss.org>
> Sent: Tuesday, November 24, 2015 5:05:30 PM
> Subject: Re: [Hawkular-dev] Proposal: introduce DependencyConvergence enforcer rule
> 
> Hi Lucas, inline...
> 
> On 2015-11-24 16:36, Lucas Ponce wrote:
> >
> >
> > ----- Original Message -----
> >> From: "Peter Palaga" <ppalaga at redhat.com>
> >> To: hawkular-dev at lists.jboss.org
> >> Sent: Tuesday, November 24, 2015 4:26:07 PM
> >> Subject: [Hawkular-dev] Proposal: introduce DependencyConvergence enforcer
> >> 	rule
> >>
> >> Hi *,
> >>
> >> The proposal is to introduce an enforcer plugin rule called
> >> DependencyConvergence to hawkular-parent. From the rule's docs [1]:
> >>
> >>   > This rule requires that dependency version numbers converge. If a
> >>   > project has two dependencies, A and B, both depending on the same
> >>   > artifact, C, this rule will fail the build if A depends on a
> >>   > different version of C then the version of C depended on by B.
> >>
> >> Why do we need this: because it brings more consistency and better
> >> control during the productization and sustaining of the project.
> >>
> >> Known pitfalls - see [2]
> >>
> >> Any comments on this?
> >>
> >
> > I think this rule may bring more complexity in some projects.
> >
> > Metrics should depend of Wildfly and EAP64 versions, so it is possible that
> > in some controlled scenario a project might depends on a different
> > version.
> 
> I do not think that the DependencyConvergence would have a problem with
> Metrics building with Wildfly and EAP64 because those two are used as
> dependencies in separate profiles and (correct me if I am wrong) those
> two profiles make up two independent dependency hierarchies. Those two
> dependency hierarchies need to be internally consistent too, e.g. libs
> from WF x may not be mixed with libs from EAP y. DependencyConvergence
> should ensure that and that's definitely a good thing.
> 
> > Also I'm having a similar scenario for ISPN in alerts too, so I vote to not
> > add this rule for now.
> 
> So you have two ISPN versions in two independent profiles?
> 

Yes, versions are separated on profiles.

If having different versions of the same library but in different profile is ok for this plugin then I don't have major inconvenience to use it.

My fear is to spend more time on the pom.xml than necessary/reasonable dealing with potential exceptions.

> -- P
> 
> >> Thanks,
> >>
> >> Peter
> >>
> >> [1]
> >> http://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html
> >> [2] http://stackoverflow.com/a/16239482
> >> _______________________________________________
> >> hawkular-dev mailing list
> >> hawkular-dev at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/hawkular-dev
> >>
> > _______________________________________________
> > hawkular-dev mailing list
> > hawkular-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/hawkular-dev
> >
> 
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
> 


More information about the hawkular-dev mailing list