Blog PeTe

Maven + Eclipse - czyli automatyczne budowanie aplikacji RCP 20.12.2006

Kategoria wpisu: Komputery, Programowanie — PeTe @ 10:58

Walczyłem trochę z automatycznym budowaniem aplikacji Eclipse RCP. Budowanie przy pomocy anta nie jest zbyt wygodne. Dlatego warto skorzystać z mavenowego pluginu pde-maven-plugin.

Plugin ten wykorzystuje mechanizm eclipse do eksportowania aplikacji, więc dodatkowa konfiguracja jest minimalna. Co należy zrobić?

Przede wszystkim musimy posiadać Eclipse z zainstalowanym Delta Pack. Nawet jeśli nie chcemy budować aplikacji pod inne platformy.

Kolejną sprawą jest odpowiednia lokalizacja naszych wtyczek w drzewie katalogów. Tworzymy dwa katalogi features i plugins i wrzucamy do nich odpowiednie projety.

Następnie tworzymy (jeśli jescze nie mamy) konfigurację produktu. W konfiguracji zaznaczamy wszystkie pluginy wymagane przez naszą aplikację. Poprawność konfiguracji warto sprawdzić eksportując produkt i sprawdzając jego działanie.

Kolejnym krokiem jest utworzenie pliku pom.xml na wzór poniższego:

<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>test.pde_maven_plugin</groupId>
  <artifactId>simple_application</artifactId>
  <packaging>zip</packaging>
  <name>Simple Product PDE Example</name>
  <version>1.0-SNAPSHOT</version>
  <description>A Simple Product PDE Example</description>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>pde-maven-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <eclipseInstall>/ścieżka/do/Eclipse</eclipseInstall>
          <pdeProductFilename>simple_product.product</pdeProductFilename>
          <pdeBuildVersion>3.2.0.v20060603</pdeBuildVersion>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <pluginRepositories>
    <pluginRepository>
      <id>codehaus snapshot</id>
      <url>http://snapshots.repository.codehaus.org</url>
    </pluginRepository>
  </pluginRepositories>
</project>

pdeBuildVersion to suffix nazwy katalogu $eclipseInstall/plugins/org.eclipse.pde.build_3.2.0.v20060603. Sprawdź tą wartość dla swojej instalacji eclipse.

Następnie musimy utworzyć konfigurację budowania. Kopiujemy plik $eclipseInstall/plugins/org.eclipse.pde.build_pdeBuildVersion/templates/headless-build/build.properties do katalogu buildConfiguration naszego pluginu. W pliku tym należy wyedytować następujące ustawienia:

product - nazwa pliku zawierającego konfigurację produktu.
base - ścieżka do katalogu, w którym znajduje się instalacja eclipse
baseLocation - ścieżka do katalogu zawierającego plik eclipse.exe.
configs - architektura na którą budujemy. W obecnej wersji pluginu nie jest możliwe budowanie pod kilka platform.
archivePrefix - prefix archiwum.

Należy zwrócić uwagę, aby ścieżki base i baseLocation zawierały znaki / a nie windowsowe \.

Jeśli wszystko zrobiliśmy poprawnie wystarczy w katalogu naszego pluginu wydac polecenie mvn install i poszukać aplikacji w katalogu zawierającym nasze lokalne repozytoria mavena. Zazwyczaj jest to katalog .m2/repository/.

Ograniczenie budowania tylko do jednej platformy nie jest tak naprawdę istotne. Aplikacja buduje się, a tylko nie jest instalowana w repozytorium mavenowym. Można dostać się do niej zaglądając do katalogu ../../I.TestBuild/.

 

2 Responses to “Maven + Eclipse - czyli automatyczne budowanie aplikacji RCP”

  1. bmalkow Says:

    dzięki za manuala :-)

  2. Budowanie aplikacji Eclipse RCP przy pomocy mavena « Blog PeTe Says:

    [...] Kategoria wpisu: Komputery, Programowanie — PeTe @ 20:41 Tags: eclipse, maven, RCP Pisałem kiedyś o możliwości wykorzystania mavena do budowania aplikacji Eclipse RCP. Niestety opisywany [...]

Leave a Reply