cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <>
Subject Re: [PROPOSAL] Remove SNAPSHOT from versioning and keep tags on the release branch
Date Thu, 23 Oct 2014 10:16:28 GMT
Hi Hugo,

> On 23-Oct-2014, at 3:03 pm, Hugo Trippaers <> wrote:
> Snapshots are an integral part of maven building the project. A snapshot is mavens way
of telling that a particular release is still in development and causes different behavior
in how it resolves artifacts. For a developer working only local the problem could be minimal
and in case of problems he could wipe his .m2 directory. However for people using centralized
maven repositories it could cause unintended behavior if snapshot is dropped as maven states
that repositories should never replace an artifact that is pushed as a release artifact (without

What you’ve shared would only apply for reusable artifacts such as library packages. AFAIK
none of the CloudStack artifacts are shipped as libraries or consumed by other JVM based apps
(at least no public use-case known yet). It’s only CloudStack’s submodules or plugin that
consume other CloudStack artifacts such as cloud-api or cloud-utils are practically used by
all other CloudStack modules.

> The net result of this could be that developers are recompiling a build, but actually
running/testing a completely different version because the repository was not refreshed because
a release version already exists. I would propose to keep the -SNAPSHOT until we have a version
that we actually want to release to the public. Personally i would even be in favor of naming
a RC something like 4.4.99-SNAPSHOT until we push the final build, but that would interfere
with the way we sign and mark releases.

For developers - you’re right, that you may be compiling/running with different jars. But,
then again if we keep -SNAPSHOT, as branches change often with bugfixes etc we don’t really
rely on any central maven repository because the same logic applies there (the installed -SNAPSHOT
jar differs from the one in the maven repo etc). This is why we do a clean install when building,
for example in j.bac.o or locally when we build a mvn clean install is most common way of
building CloudStack AFAIK.

For users - AFAIK, there is no public use-case where someone’s installing the jar artifacts
from (any central/public) Maven repository. CloudStack is most commonly shipped as APT/YUM
repository and consumed. Other than this I know CCP ships as a tarball containing debs/rpms
with a script.

Comment, advise? With the above cases, do you think it is unnecessary to keep -SNAPSHOT in

Rohit Yadav
Software Architect, ShapeBlue
M. +91 88 262 30892 |
Blog: | Twitter: @_bhaisaab

Find out more about ShapeBlue and our range of CloudStack related services

IaaS Cloud Design & Build<>
CSForge – rapid IaaS deployment framework<>
CloudStack Consulting<>
CloudStack Infrastructure Support<>
CloudStack Bootcamp Training Courses<>

This email and any attachments to it may be confidential and are intended solely for the use
of the individual to whom it is addressed. Any views or opinions expressed are solely those
of the author and do not necessarily represent those of Shape Blue Ltd or related companies.
If you are not the intended recipient of this email, you must neither take any action based
upon its contents, nor copy or show it to anyone. Please contact the sender if you believe
you have received this email in error. Shape Blue Ltd is a company incorporated in England
& Wales. ShapeBlue Services India LLP is a company incorporated in India and is operated
under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated
in Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd is a company
registered by The Republic of South Africa and is traded under license from Shape Blue Ltd.
ShapeBlue is a registered trademark.
View raw message