2014-01-21 7 views
5

Ich muss bestätigen, was ich vermute, da ich keine Dokumentation darüber finden kann, so würde dies eine dumme Frage erscheinen, und da ich ein Lerner bei Eclipse PDE bin.Was ist eine OSGI-Version Qualifier

Zunächst

Ich hatte ein übergeordnetes Projekt pom eines Projekts Eclipse-Plugin mit

<version>1.1.0-SNAPSHOT</version> 

mit zwei Kinderprojekten, mit ihren beiden Poms Bezug auf die Mutter pom als Version 1.1.0-SNAPSHOT .

Ich konnte die Projekte erfolgreich erstellen und hatte eine Website, die ich verwende, um das Plugin in Eclipse zu installieren.

Dann wollte ich meine persönliche Temp-Version namens 1.1.1-meins. So modifizierte ich die drei Poms zu 1.1.1-mine

I aktualisiert auch die META-INF/MANIFEST.MF und feature.xml von

0.13.0.qualifier 

zu

0.13.1.qualifier 

jedoch Der Build hat den folgenden Fehler festgestellt.

[ERROR] Fehler Ziel org.eclipse.tycho auszuführen: tycho-Verpackung-Plugin: 0.15.0: validieren-Version (Standard-validate-Version) auf Projekt org.sonatype.m2e.subclipse: OSGi Version 1.1.1.qualifier in META-INF/MANIFEST.MF entspricht nicht Maven Version 1.1.1-Mine in pom.xml

hat Qualifier haben eine Maven-Version Schlüsselwort sein? Da ging der Build ohne Fehler, nachdem es geändert Mine zu SCHNAPPSCHUSS in dem Poms.

Wenn nicht, was habe ich falsch gemacht?

Was kann ich tun, um die Version 1.1.1-meins zu haben?

+1

FWIW, können Sie dieses Tool verwenden, um Maven & OSGi-Versionen zu vergleichen: http://versionatorr.appspot.com –

Antwort

2

Auf den Punkt gebracht, bedeutet OSGi .qualifier das gleiche wie -SNAPSHOT.

Da OSGi nicht mehr als 3 Nummern in einer Version (+ Qualifier) ​​erlaubt, ist die Erstellung einer -mine Version etwas knifflig.

According to the FAQ, können Sie Tycho einen String sagen, dass es nützlich sein sollte qualifier mit ersetzen:

mvn -DforceContextQualifier=mine 

Beachten Sie, dass dies die ganze Güte Sie SNAPSHOT Versionen erhalten deaktiviert (nämlich, dass Sie das Bündel mehr bereitstellen können mal).

+2

...Außerdem deaktiviert dies alle Vorteile, die du von automatisch qualifizierten Versionen erhältst: In p2/Tycho identifiziert ein ID/Version-Paar ein Artefakt eindeutig. Wenn du also etwas im Artefakt änderst und die Version nicht (automatisch) änderst, wird deine Änderungen dürfen nicht nachgeliefert werden! – oberlies