1.0.0.beta-1
Copyright © 2010 Team - Maven HTML Cleaner Plug-in
Table of Contents
This Quick Start DocBook Guide just explains how to modify a Maven Project (and Environment) to get DocBook content generated in a Maven Project Site. There is a more detailed explanation available in the User Guide section Making DocBook content available in a Maven project site .
What other software must be installed first?
Java JDK v1.5 (or higher)
Maven v2.1 (or higher)
The Maven HTML Cleaner Plug-in is not yet available through the central Maven Repository, but can be found in the project specific Maven Repository http://docbook-utils.sourceforge.net/maven2 .
This Maven Repository can be added in a few different ways to a Maven build environment. Below are the most common options listed.
Add the <pluginRepository> lines direct to the project pom.xml
Single user - Single project
Add the <pluginRepository> lines to a <profile> in the ~/.m2/setting.xml
Single user - Multiple projects
Add the repository http://docbook-utils.sourceforge.net/maven2 to a Maven Repository Proxy, like Nexus , Artifactory , etc.
Multiple users - Multiple projects
<pluginRepositories> <pluginRepository> <id>docbook-utils</id> <name>DocBook Utils</name> <url>http://docbook-utils.sourceforge.net/maven2</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> </pluginRepository> </pluginRepositories>
The following lines are needed because the new Plug-ins, used here, are not in the Default Plug-ins Domain <groupId>org.apache.maven.plugins</groupId> . When these lines are added, calling the Plug-ins from the command line, is much easier. It also feels more natural, as they behave then similar as Plug-ins that come from the Default Plug-ins Domain .
<!-- When Plug-ins should be taken into account during the plug-in search, add them --> <!-- to this list, as they are not in the default groupId 'org.apache.maven.plugins'. --> <pluginGroups> <!-- http://docbook-utils.sourceforge.net/maven-htmlCleaner-plugin_1.0 --> <pluginGroup>net.sourceforge.docbook-utils.maven-plugins</pluginGroup> <!-- http://code.google.com/p/docbkx-tools/ --> <pluginGroup>com.agilejava.docbkx</pluginGroup> </pluginGroups>
After adding the above lines the new Plug-ins can be used directly from the command line:
$ mvn docbkx:generate-html
$ mvn html-cleaner:transform
If the settings.xml is not updated, the Plug-ins can still be called, from the command line, but only by specifying their full name:
$ mvn com.agilejava.docbkx:docbkx:generate-html
$ mvn net.sourceforge.docbook-utils.maven-plugins:html-cleaner:transform
Add the following plug-ins to the project pom.xml . Maybe add the <pluginManagement> part in a parent project.
<build>
<pluginManagement>
<plugins>
<!-- Generate (X)HTML / PDF documents from DocBook content -->
<plugin>
<groupId>com.agilejava.docbkx</groupId>
<artifactId>docbkx-maven-plugin</artifactId>
<version>2.0.10</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>generate-html</goal>
<goal>generate-xhtml</goal>
<goal>generate-pdf</goal>
</goals>
</execution>
</executions>
<configuration>
<xincludeSupported>true</xincludeSupported>
</configuration>
<dependencies>
<dependency>
<groupId>org.docbook</groupId>
<artifactId>docbook-xml</artifactId>
<version>4.4</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
<!-- Clean up the, by docbkx-maven-plugin, generated HTML -->
<plugin>
<groupId>net.sourceforge.docbook-utils.maven-plugins</groupId>
<artifactId>maven-html-cleaner-plugin</artifactId>
<version>1.0.0.beta-1</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<sourceDir>${project.build.directory}/docbkx/html</sourceDir>
<destinationDir>${project.build.directory}/generated-site/xhtml/docbook</destinationDir>
<replaceExtensionMap>
<html>xhtml</html>
</replaceExtensionMap>
</configuration>
</plugin>
<!-- Generate Project Site -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-module-xhtml</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<!-- Plug-in used in this project -->
<plugins>
<!-- Generate (X)HTML / PDF documents from DocBook content -->
<plugin>
<groupId>com.agilejava.docbkx</groupId>
<artifactId>docbkx-maven-plugin</artifactId>
</plugin>
<!-- Clean up the, by docbkx-maven-plugin, generated HTML -->
<plugin>
<groupId>net.sourceforge.docbook-utils.maven-plugins</groupId>
<artifactId>maven-html-cleaner-plugin</artifactId>
</plugin>
<!-- Generate Project Site -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
</plugin>
</plugins>
</build>