Tycho Pseudo-Release 0.4.0-DEV-2668

Gepostet von am Jul 20, 2009 in Allgemein, Java | Keine Kommentare

Es ist wirk­lich schade das Tycho gegen den Release von Maven 3 arbei­tet. Bereits in der 0.3.0-DEV konnte Tycho gute Ansätze im Build von RCP Appli­ka­tio­nen brin­gen. Seit dem neu­es­ten Pseudo-Release ist die­ser aber wie­der ein­mal erwähnenswert.

Das auto­ma­ti­sierte gene­rie­ren von POMs lässt sich nun wie­der rea­li­sie­ren. Die neuste Eigen­schaft ist, das die grou­pId nicht mehr auto­ma­tisch, mit dem über­ge­ord­ne­ten Ord­ner, gesetzt wird, son­dern nun expli­zit mit -Dgrou­pId=… ange­ge­ben wer­den soll. Ich denke dies lässt viel Spiel­raum für die Struk­tu­rie­rung der Pro­jekte offen. Mir per­sön­lich gefiel ja das auto­ma­ti­sche set­zen bes­ser, aber auch nur weil es gut in mein Kon­zept gepasst hat.

Eine neue gute Eigen­schaft birgt der Inhalt von JAR-Archiven. Hier wer­den nun durch Maven 3 die unnö­ti­gen Daten, wie z.b. die der SVN Dateien, nicht mehr inte­griert und somit auto­ma­tisch aus­ge­klam­mert. Hierzu gab es in der Ver­gan­gen­heit das Ticket MNGECLIPSE-1174 auf Sonatype.

Auch bei den Builds hat sich eini­ges ver­än­dert. Sie las­sen sich nun auch mit der 0.4.0-DEV rea­li­sie­ren. So gibt man z.B. nicht mehr das Environ­ment in der Befehls­zeile an, son­dern direkt in der eclipse-application POM.

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.tycho</groupId>
      <artifactId>maven-osgi-packaging-plugin</artifactId>
      <configuration>
        <environments>
          <environment>
            <os>linux</os>
            <ws>gtk</ws>
            <arch>x86_64</arch>
          </environment>
          <environment>
            <os>win32</os>
            <ws>win32</ws>
            <arch>x86</arch>
          </environment>
        </environments>
      </configuration>
    </plugin>
  </plugins>
</build>

Diese Art und Weise ist natür­lich viel ein­fa­cher und man muss nun auch nicht mehr für jedes Betriebsys­tem und Archi­tek­tur einen sepa­ra­ten Build star­ten. Nach wie vor sollte man aber dar­auf ach­ten, dass pro­duct - Plu­gin zu kopie­ren und die pom.xml wie folgt zu modifizieren:

<!-- groupId welche beim Start von Maven angegeben wird -->
<groupId>some-group-id</groupId>
<!-- Name der product - Datei ohne die extension .product -->
<artifactId>product id</artifactId>
<!-- Version welche in der product - Datei angegeben ist -->
<version>product version</version>
<!-- Definition als Applikation -->
<packaging>eclipse-application</packaging>

Die Angabe eines Environ­ment darf an die­ser Stelle auch nicht feh­len (Siehe oben). Da es sonst zu dem Feh­ler „Pro­duct inclu­des native laun­cher but no tar­get environ­ment was spe­ci­fied” kommt. Hat man die ers­ten Hür­den oder Anpas­sun­gen von der 0.3.0-DEV über­stan­den, las­sen sich nun mehr Builds mit dem neuen Pseudo-Release realisieren.

Per­sön­lich würde ich mir noch wün­schen das Sona­type mehr Feed­back zu den Relea­ses geben würde, damit man genau weiß, wor­auf man sich ein­lässt. In Tycho steckt sehr viel poten­tial und ich hoffe in gerau­mer Zeit wie­der ein posi­ti­ves Feed­back abge­ben zu können.

Die neus­ten DEVs kön­nen unter den Tycho Pseudo-Releases von Sona­type gela­den wer­den. Hier ist es auch mög­lich auf ältere Builds zurückzugreifen.

[UPDATE]
Seit dem 20.07.09 gibt es nun auch die 0.4.0-DEV-2707. Nach ers­ten Tests gibt es keine nen­nens­wer­ten Ände­run­gen. Eben­falls funk­tio­niert der Build auch mit die­ser Ver­sion wie gewohnt. Bei einem Build fällt nun auf, das die Zeit für den Build die zuvor lei­der auch nur 0 ange­zeigt hat nun gänz­lich fehlt.

Einen Kommentar schreiben