Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Release OSGi bundles/projects with Tycho

We are currently facing the same problem regarding versioning of the parent POMs. Our project is divided into several Git repositories. Each repository contains its own parent POMs that might refer to another parent POM, eventually all parent POMs will have a direct or indirect reference to the root parent POM. The structure looks like the following:

Root Parent POM (Git repo A)
-> parent POM 1 (Git repo A)
-> parent POM 2 (Git repo B)
-> parent POM 3 (Git repo C)
     --> parent POM 4 (Git repo C)
     --> parent POM 5 (Git repo B)

Git repo A is a public Git repo whereas B and C are internal repos.
All parent POMs currently refers the root parent POM with a SNAPSHOT version.

For release builds we would like to replace SNAPSHOT with a build timestamp and a milestone identifier. Using the tycho-version-plugin:set-version on the Root Parent POM works perfectly to update all parent POMs that are located in Git repo A.
However, if we set the release version on the parent POM 3 for example, POM 4 gets updated with the release version too. However, in POM 3 the version of the parent (referring to the root parent POM) stays unchanged, so it's still SNAPSHOT. 
Is there a way to replace the SNAPSHOT version in the parent (maybe by using the maven-version plugin, goal update-parent)? Actually we'd like to have SNAPSHOT in the parent POMs for our nightly builds, so we don't want to replace them with a fixed release version. Or is the proposal of Andreas the state-of-the-art and recommended way for versioning of parent POMs?



-----Original Message-----
From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Andreas Sewe
Sent: Freitag, 7. März 2014 10:23
To: tycho-user@xxxxxxxxxxx
Subject: Re: [tycho-user] Release OSGi bundles/projects with Tycho

Bruno Medeiros wrote:
> "On the other hand, parent POMs or eclipse-repository artifacts do 
> deserve a non-SNAPSHOT version."
> Perhaps I'm just being ignorant here, but why is that, why do parent 
> POMs and eclipse repository artifacts deserve a non-SNAPSHOT version?
> (and therefore not having ".qualifier" in the version) ?

well, to ensure build reproducibility a project's parent POM should be stable; the build shouldn't behave differently when someone changes the parent POM.

In the case of the eclipse-repository artifacts, the reasoning is a bit
different: non-SNAPSHOT versions are kept in Nexus forever, whereas SNAPSHOTs may be garbage-collected, but having zipped backups of all your update sites in Nexus is simply nice.

Hope that explains things.


Codetrails UG (haftungsbeschränkt)
The knowledge transfer company

Robert-Bosch-Str. 7, 64293 Darmstadt
Mobile: +49-170-811-3791

Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940
tycho-user mailing list

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Back to the top