[Hawkular-dev] is it time for a bom? or for version definitions in parent pom?

Peter Palaga ppalaga at redhat.com
Tue Dec 15 11:36:46 EST 2015


On 2015-12-15 17:11, Peter Palaga wrote:
> Hi Mazz, inline...
>
> On 2015-12-15 16:12, John Mazzitelli wrote:
>> I just released the wildfly agent (0.13.7.Final) and I just realized I may not have moved things up to the latest releases of its dependencies.

To avoid improper deps, I have no better idea than opening the 
components dependency graph [1] before releasing and asking the 
colleagues working on components I depend on, whether they have (or 
plant to release) something new.

@all Please make sure that the deps in the graph are correct so that 
components you depend upon know that you might be interested in their 
updates. The the source of the graph lives in [2]

[1] http://www.hawkular.org/docs/dev/development.html#component-dependencies
[2] 
https://github.com/hawkular/hawkular.github.io/blob/pages/src/main/manually-generated/assets/img/docs/dev/components-dependencies.dot

-- P

>>
>> It would be really nice now if we had something (even if its just versions in the parent pom) that defines the latest releases that components should be using because right now, how many of our pom.xml files have things like this:
>>
>>       <version.org.hawkular.accounts>1.1.1.Final</version.org.hawkular.accounts>
>>       <version.org.hawkular.bus>0.7.3.Final</version.org.hawkular.bus>
>>       <version.org.hawkular.cmdgw>0.10.4.Final</version.org.hawkular.cmdgw>
>>       <version.org.hawkular.commons>0.2.3.Final</version.org.hawkular.commons>
>>       <version.org.hawkular.inventory>0.9.0.Final</version.org.hawkular.inventory>
>>       <version.org.hawkular.metrics>0.10.0.Final</version.org.hawkular.metrics>
>
> Yes, every component in Hawkular has such a section of
> version.org.hawkular.* properties, but in each of the components the
> list is different, containing only the direct dependencies and nothing else.
> I cannot imagine how *all* these componets props could live in a single
> pom (hawkular-parent or a separate hawkular-bom) - such a BoM would
> inevitably bring circular dependency to most of places where it would be
> used.
>
> Say, the BoM version 0.0.1 would contain exactly the versions you listed
> above. Now, I want to use the BoM version 0.0.1 in Inventory, so that I
> do not have to maintain commons and accounts. What do I do? I'll import
> dependencyManagement/dependency/BoM version 0.0.1. But then I have
> released Inventory 0.9.1.Final and I need to upgrade the prop in the
> BoM, release BoM and ehm... upgrade the BoM version in Inventory and so on?
>
> Maybe I misunderstood your idea?
>
> -- P
>
>> It would be nice if we aren't required to set these (but we could override them, right? if we want to try out a different version than what the parent pom defines).
>>
>> This would make releasing easier. We just comment out all the <version...> entries in all our pom.xml files (if they are there at all), thus falling back to what the parent-pom has defined. Or maybe we build a bom?? I dunno - all I know is, there is going to come a time when something breaks because "uh-oh, this component built on version x.y.z of metrics, but THIS component built on version a.b.c of metrics".
>> _______________________________________________
>> 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