[Hawkular-dev] Maven repositories in Hawkular Parent

Peter Palaga ppalaga at redhat.com
Tue Feb 17 04:01:27 EST 2015


I can understand the need.

The main issue with depending on SNAPSHOTs is the non-reproducibility of 
the builds - clearly, because a SNAPSHOT of an artifact A can be 
distinct at any two instants t1 and t2. This alone is a sufficient 
reason for not allowing SNAPSHOT dependencies in any durable public 
branches.

Please try to imagine how could you figure out what is the problem with 
a SNAPSHOT dependency. By default, there is zero revision info available 
in jars and poms.

= Building locally

My personal view (that I do not force to any one) is that it is quite 
normal to have to git-pull the components I depend on, build them 
locally and then, in my consuming project override the version props to 
the SNAPSHOTs (e.g. using a profile in my settings). All steps are 
perfectly scriptable and such a script can be written once and shared.

The advantage of this approach is that one always knows what git 
revision at which instant was used to build the snapshots. One has the 
history of all components at hand for the case that something goes 
wrong. It is easy to reset the broken component to the last "known as 
correct" state, rebuild and work on one's own stuff in the consuming 
project.


= CI

It is nice to know early that some change in upstream component has 
broken a consuming project. The CI can either use the script used 
locally (easy) or some kind of properly labeled nightly builds 
(complicated).

-- Peter


On 01/22/2015 09:11 PM, John Sanda wrote:
>
>> On Feb 16, 2015, at 4:05 PM, John Mazzitelli <mazz at redhat.com> wrote:
>>
>>> Once again, you really want to introduce -SNAPSHOT deps master branches?
>>
>> For now, in my opinion (which may not be worth much in these discussions) the answer is "yes." We already saw the problem last week when no one could really build the integration server without having to manually build all the components themselves (alerts, inventory, pinger, bus, etc). And we don't want them to be non-snapshots because this work is moving at a fast pace - we don't want to have to worry about, say, waiting for Jay/Lucas to bump up their alerts version #, and releasing it.
>>
>> BTW: we still can't build the integration server because the pinger and notifier/inventory stuff is in heiko's branches - so you still need to build those. But soon we should think about getting them in the hawkular repo - that might cause a heart attack in Lukas K. but if we promise to redo it later, I think he'll survive the hospital visit. :}
>>
>> Requiring non-SNAPSHOTS everywhere may work perfectly fine once we have some actual product out the door, but right now, we are moving so fast to try to get something out ASAP that we really need to support SNAPSHOT builds.
>
> +1 I think that trying to depend on non-snapshot versions right now would just create a lot of extra work since things are really fluid right now.
>
>>
>> Again, I am not advocating one way or the other - I'm just pointing out the pain point I had last week, and the fact that it was the inability to get SNAPSHOTs from the repos is what was the cause.
>> _______________________________________________
>> 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