Maybe it is different for Spring than for Arquillian, but with
Arquillian, they will (imho) correctly import a bom inside another
bom, and sometimes those get out of sync. So if I import the latest
arquillian:bom and the latest arquillian-transaction:bom, the
arquillian-transaction:bom might reference a lower level
arquillian:bom, and that will trigger this error message.

Should Maven recommend to Arquillian arquillian-transaction:bom not to
include the arquillian:bom? I'm not sure they can, even if we wanted
them to do it. What do you recommend here? Perhaps I am wrong to
include both the arquillian:bom and arquillian-transaction:bom? It's
not clear..

I think this bom is useful for 1-page tutorials, but is not correct
for any serious project.

On Tue, Sep 13, 2016 at 10:47 AM, Stephane Nicoll
<stephane.nic...@gmail.com> wrote:
> On Tue, Sep 13, 2016 at 2:50 PM, jieryn <jie...@gmail.com> wrote:
>
>> I reported this for Arquillian, earlier...
>> https://mail-archives.apache.org/mod_mbox/maven-dev/201608.mbox/%
>> 3CCAArU9ia0C7bdvHEMTX3BU%3DChnrb-_chtw8N3xokvKO2_
>> Rnzf1A%40mail.gmail.com%3E
>>
>> Arquillian also follows that style of multiple type=bom concentrators
>> which are recommended practice. Even though Maven is the one reporting
>> this issue, and I was originally kind of irritated about it, I have
>> changed stance..
>>
>> I think Spring and Arquillian are actually doing the wrong thing here.
>> Users of these packages ought to just specify the versions they want
>> to include in their dependencyManagement section, and allow the normal
>> Maven dependency resolution to pull in the other artifacts. I think
>> the type=bom is generally wrong and lazy, without much benefit, and as
>> we can now see, it can actually lead to unpredictible builds/bad when
>> multiple bom concentrators reference each other.
>>
>
> Actually, I thought we were doing the right thing. I've done my homework
> and realized that some of these boms do indeed import things they shouldn't
> so I see the warning as a good thing and something that's forcing us to fix
> this.
>
> With that clarified, I think we should improve the error message somehow.
> If we could state which pom imports conflicting versions it would be quite
> better. Also I still have no idea what the following means: "rearrange the
> causing imports in the inheritance hierarchy to apply standard override
> logic based on artifact coordinates."
>
> Thanks!
> S.
>
>
>
>>
>> I don't think I've seen a more clear piece of evidence for Maven
>> pom.xml technical debt. :-)
>>
>> On Tue, Sep 13, 2016 at 4:30 AM, Stephane Nicoll
>> <stephane.nic...@gmail.com> wrote:
>> > Hi,
>> >
>> > This command creates a vanilla project using Spring Cloud that has a
>> > hierarchy of BOMs
>> >
>> > curl https://start.spring.io/starter.zip -d
>> > dependencies=cloud-config-client -o demo.zip
>> >
>> > extract and run and you'll get plenty of warnings[1]
>> >
>> > I am trying to make sense of this message:
>> >
>> > To resolve this conflict, either declare the dependency directly in the
>> > dependency management of model
>> > 'org.springframework.cloud:spring-cloud-consul-dependencies:pom:1.0.2.
>> RELEASE'
>> > to override what gets imported or, as of Maven 3.4, rearrange the causing
>> > imports in the inheritance hierarchy to apply standard override logic
>> based
>> > on artifact coordinates. Without resolving this conflict, your build
>> relies
>> > on indeterministic behaviour
>> >
>> > Spring Cloud is formed of various projects that have different release
>> > cycles. They are aggregated in a "release train BOM" that imports other
>> > boms to provide a global dependency management to the user. It looks like
>> > something is wrong in that setup but I fail to see why.
>> >
>> > Can someone help me with this?
>> >
>> > Thanks!
>> > S.
>> >
>> > [1] https://gist.github.com/snicoll/cef801932814a15f35180cc8c173f2a8
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>> For additional commands, e-mail: dev-h...@maven.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to