Hey,
I did not yet go though all the emails, but want to add another point
here, that could be a potential alternative:
The underlying issue is that a g:a:xyz-SNAPSHOT is a moving target and
not necessarily the same for 2 developers looking at the same thingy,
which is pretty bad.
Now, for every push from Travis to the Nexus, a named snapshot is
created, where -SNAPSHOT is basically an alias for the latest.
This allows us to use *during* the 4 week cadence those named snapshots
as dependencies, which are pointing to the same bits for every
developer.
For a (real) *release* of Hawkular or any component, such dependencies
are not allowed for the simple reason that those named snapshots still
do not show up on Central.
This way we will not have the non-reproducibility of -SNAPSHOT, but can
still move ahead with too many releases of components.
The other aspects of "release early, release often", "cut small
slices",
"changes go into CI/CD and go live quickly" all still apply.
Heiko