Nach dem wir uns im ersten Teil mit der Theroie vertraut gemacht haben und im zweiten Teil erste Schritte in der Praxis gemacht haben geht es nun im dritten Teil um den Kern einer pom.xml-Konfiguration. Hierbei erkläre ich die nötigen Schritte, die dafür nötig sind, um einen Build Lifecycle einer RCP-Anwendung aufzubauen.
Zu erst sollte man sich in Eclipse eine RCP-Anwendung1 generien lassen oder selbst eins erstellen. Da wir später auch die Product-Konfiguration brauchen, wäre es angebracht, sich diese auch gleich bauen zu lassen und nötige Einstellungen zu treffen. Ich habe soweit alles beim Standard belassen und die Product-Datei „com.company.project.product” genannt. Wenn man die nötigen Konfigurationen für das Produkt getroffen hat lässt sich diese bereits in Eclipse über „Overview -> Launch an Eclipse application” ausführen.
Ich möchte an dieser Stelle nicht tiefer in der RCP-Entwicklung eingehen da dies ein Thema für sich ist. Wer allerdings damit nicht so zurecht kommt, sollte sich noch etwas in die RCP-Entwicklung2 einlesen.
Nun erstellen wir uns eine pom.xml mit folgendem Inhalt:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.project</groupId>
<artifactId>com.company.project</artifactId>
<packaging>zip</packaging>
<name>Project Name</name></code><code>
<version>1.0-SNAPSHOT</version>
...
</project>
Unsere Anwendung heißt hier: com.company.project. Das Haupt-Plugin analog genauso: com.company.project. Es gilt nun den Inhalt ab Zeile 8 zu füllen. Da wir einen Buildprozess für eine RCP-Anwendung erstellen wollen schauen wir uns zu erst auf der Seite http://mojo.codehaus.org/pde-maven-plugin/index.html um. Dies kommt dem am nächsten was wir machen wollen. Unter Usage haben wir eine wunderbare Beschreibung wie der Konstrukt auszusehen hat:
<project>
...
<packaging>zip</packaging>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>pde-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<buildProperties>
<!-- Additional PDE ant properies goes here -->
...
</buildProperties>
</configuration>
<!-- Also bind to mvn clean -->
<executions>
<execution>
<id>clean-pde</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
Ab nun an wird es etwas knifflig. Man sollte die PDE-Version explizit angeben. Aktuell ist die Version: „1.0-SNAPSHOT”. Dies muss im besten fall unter extensions als version - Tag hinzugefügt werden. Nicht benötigte Inhalte, speziell die Kommentare haben in solch einer Konfiguration natürlich nichts verloren. Also ebenfalls raus damit. Sind diese Dinge abgearbeitet kann sich diese pom-Konfiguration schon sehen lassen. Damit ist zumindest der Grundstein gelegt. Im nächsten Teil der Storyline werden wir uns mit dem Product-Build beschäftigen und unsere erstellte Mail-Application automatisch erstellen lassen.
Weiterführend ist zu sagen, das mit dem PDE-Maven-Plugin sich nicht nur Product, sondern auch Plugins, Features und auch Updatesite automatisch builden lassen. Allerdings ist jeder dieser Bereiche ein Thema für sich und sollten trotz der einfachen Handhabung nicht unterschätzt werden. Persönlich schätze ich den Product-Build als schwierigsten ein.
