Maven-Plugin für OpenOffice

Vorgeschichte

Der Office Process Manager von agentes unterstützt neben Excel auch das OpenOffice Format. Da unser Daily Build auf Maven aufbaut, suchten wir nach einer Lösung, um das OpenOffice-Plugin damit bauen zu können.

Lösung

Im OpenOffice Wiki gibt es eine Beschreibung zur OpenOffice-Maven-Integration mit Hilfe des maven-ooo-plugins von Cédric Bosdonnat. Leider war bei Projekt-Beginn diese Beschreibung von 2007, genauso alt dürfte das Maven-Plugin sein. Inzwischen hat Frédéric Morin die Entwicklung übernommen und auf Github (github.com/fredericmorin/maven-ooo-plugin) gestellt.

Inzwischen wurde der Fork, den wir unter github.com/oboehm/maven-ooo-plugin weiterentwickelt haben, in Frédérics Repository eingespielt und die Dokumentation im OpenOffice-Wiki aktualisiert. Da das maven-ooo-plugin in keinem der bekannten Maven-Repositories zu finden ist, steht im Agentes-Repository neben dem letzen Release auch der letzte Snapshot zur Verfügung. Dort befindet sich auch der OOo Plugin Packager, der das Erstellen eines OpenOffice-Plugins erleichtert.

Einbindung

Die IDL-Sourcen sollten in src/main/idl und die Sourcen für die Extension (.oxt) in src/main/oxt platziert werden. Fügen Sie dann folgendes in Ihr POM hinzu:

        <build>
          <plugins>
          ...
            <plugin>
              <groupId>org.openoffice.dev</groupId>
              <artifactId>maven-ooo-plugin</artifactId>
              <extensions>true</extensions>
              <version>1.1-SNAPSHOT</version>
              <configuration>
                <ooo>/opt/ooo/OpenOffice.org.app</ooo>
                <sdk>/opt/ooo/OpenOffice.org3.2_SDK</sdk>
                <idlDir>${basedir}/src/main/idl</idlDir>
                <oxtDir>${basedir}/src/main/oxt</oxtDir>
              </configuration>
              <executions>
                <execution>
                  <id>idl</id>
                  <phase>generate-sources</phase>
                  <goals>
                    <goal>build-idl</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
          ...
          </plugins>
        </build>
        ...
        <repositories>
          ...
          <repository>
            <id>agentes</id>
            <name>agentes repository</name>
            <url>http://labs.agentes.de/repository/</url>
          </repository>
          ...
        </repositories>
      

Sie können auch (wie hier) das Verzeichnis für das IDL- und OXT-Verzeichnis explizit angeben, wenn es von der empfohlenen Struktur abweicht. Genauso können Sie auch das OpenOffice-Verzeichnis (ooo) und das SDK-Verzeichnis (sdk) weglassen, wenn Sie beides im vorgeschlagenen Standard-Verzeichnis installiert haben.

Eine ausführlichere Dokumentation finden Sie im OpenOffice-Wiki.


letzte Änderung: 10. Februar 2011