For Sigasi 2.0 we decided to write all documentation in the textile wiki markup language. With the Mylyn Wikitext plugin, textile files can be converted in lots of different output formats such as Eclipse help, html, pdf,...

Based on the blog posts of Peter Friese I could easily automate the documentation build with Ant. But when I tried to run the documentation build ant task from our Maven Tycho build, the necessary XSLT transforms refused to run. Xalan could not be loaded...

After a lot of googling, moaning and trying I finally found out that the trick is to add Xalan as a dependency to the antrun plugin.

This is the Maven configuration I ended up with that works for me:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-antrun-plugin</artifactId>
      <version>1.6</version>
      <executions>
        <execution>
          <id>generate-documentation</id>
          <phase>generate-sources</phase>
          <configuration>
            <echo>Generating documentation</echo>
            <tasks>
              <property name="compile_classpath" refid="maven.compile.classpath" />
              <ant inheritRefs="true" antfile="build-doc.xml">
                <target name="build-doc" />
              </ant>
            </tasks>
          </configuration>
          <goals>
            <goal>run</goal>
          </goals>
        </execution>
      </executions>
      <dependencies>
        <dependency>
          <groupId>org.apache.ant</groupId>
          <artifactId>ant</artifactId>
          <version>1.8.1</version>
        </dependency>
        <dependency>
          <groupId>org.apache.ant</groupId>
          <artifactId>ant-launcher</artifactId>
          <version>1.8.1</version>
        </dependency>
        <dependency>
          <groupId>org.apache.ant</groupId>
          <artifactId>ant-nodeps</artifactId>
          <version>1.8.1</version>
        </dependency>
        <dependency>
          <groupId>xalan</groupId>
          <artifactId>xalan</artifactId>
          <version>2.7.1</version>
        </dependency>
      </dependencies>
    </plugin>
  </plugins>
</build>