Examples

This is the example from a Spring Surf project which is generated by Spring Surf Roo Addon.

  • Pom.xml Snippet

    This example also shows how to use docbkx maven plugin to further render HTML/PDF documents from the generated DocBook XML documents.

    <build>
        <plugins>
        ....
             <plugin>
                    <groupId>org.springframework.extensions.surf</groupId>
                    <artifactId>spring-surf-doc-plugin</artifactId>
                    <version>1.0.0.CI-SNAPSHOT</version>
                    <dependencies>
                            <!-- Spring Surf Application -->
                            <dependency>
                                    <groupId>org.springframework.extensions.surf</groupId>
                                    <artifactId>spring-surf-api</artifactId>
                                    <version>1.0.0.CI-SNAPSHOT</version>
                                    <type>jar</type>
                                    <scope>provided</scope>
                            </dependency>
                        <dependency>
                        <groupId>javax.servlet.jsp</groupId>
                        <artifactId>jsp-api</artifactId>
                        <version>2.1</version>
                        <scope>provided</scope>
                    </dependency>
                            <dependency>
                        <groupId>org.tuckey</groupId>
                        <artifactId>urlrewritefilter</artifactId>
                        <version>3.1.0</version>
                    </dependency>
                    </dependencies>
                    <executions>
                      <execution>
                            <id>generatewsdoc</id>
                            <phase>pre-site</phase>
                            <configuration>
                            </configuration>        
                            <goals>
                              <goal>generate-webscript-doc</goal>
                            </goals>
                      </execution>
                      <execution>
                            <id>generatejsdoc</id>
                            <phase>pre-site</phase>
                            <configuration>
                            </configuration>        
                            <goals>
                              <goal>generate-javascript-doc</goal>
                            </goals>
                      </execution>
                      <execution>
                            <id>generatetpdoc</id>
                            <phase>pre-site</phase>
                            <configuration>
                            </configuration>        
                            <goals>
                              <goal>generate-template-doc</goal>
                            </goals>
                      </execution>
                      <execution>
                            <id>generatejsapidoc</id>
                            <phase>pre-site</phase>
                            <configuration>
                            </configuration>        
                            <goals>
                              <goal>generate-javascript-api-doc</goal>
                            </goals>
                      </execution>
                      <execution>
                            <id>generatetpapidoc</id>
                            <phase>pre-site</phase>
                            <configuration>
                            </configuration>        
                            <goals>
                              <goal>generate-template-api-doc</goal>
                            </goals>
                      </execution>
                    </executions>
            </plugin>               
            <plugin>
                    <groupId>com.agilejava.docbkx</groupId>
                    <artifactId>docbkx-maven-plugin</artifactId>
                    <version>2.0.9</version>
                    <executions>
                            <execution>
                                    <id>single-page</id>
                                    <goals>
                                            <goal>generate-html</goal>
                                    </goals>
                                    <configuration>
                                            <htmlCustomization>${basedir}/src/docbkx/resources/xsl/html.xsl</htmlCustomization>
                                            <postProcess>
                                                    <move todir="${basedir}/target/site/reference/html-single">
                                                            <fileset dir="${basedir}/target/docbkx/html">
                                                                    <include name="index.html" />
                                                            </fileset>
                                                    </move>
                                                    <copy todir="${basedir}/target/site/reference/html-single">
                                                            <fileset dir="${basedir}/src/docbkx/resources">
                                                                    <include name="**/*.css" />
                                                                    <include name="**/*.png" />
                                                                    <include name="**/*.gif" />
                                                                    <include name="**/*.jpg" />
                                                            </fileset>
                                                    </copy>
                                                    <copy todir="${basedir}/target/site/reference/html-single">
                                                            <fileset dir="${basedir}/src/site/docbook/reference">
                                                                    <include name="**/*.png" />
                                                                    <include name="**/*.gif" />
                                                                    <include name="**/*.jpg" />
                                                            </fileset>
                                                    </copy>
                                            </postProcess>
                                    </configuration>
                                    <phase>pre-site</phase>
                            </execution>
                            <execution>
                                    <id>single-pdf</id>
                                    <goals>
                                            <goal>generate-pdf</goal>
                                    </goals>
                                    <configuration>
                                            <imgSrcPath>src/site/docbook/reference/</imgSrcPath>
                                            <admonGraphicsPath>../../src/docbkx/resources/images/</admonGraphicsPath>
                                            <postProcess>
                                                    <copy file="${basedir}/target/docbkx/pdf/index.pdf" tofile="${basedir}/target/site/reference/pdf/spring-surf-docs.pdf" failonerror="false" />
                                            </postProcess>
                                    </configuration>
                                    <phase>pre-site</phase>
                            </execution>
                            <execution>
                                    <id>multi-page</id>
                                    <goals>
                                            <goal>generate-html</goal>
                                    </goals>
                                    <configuration>
                                            <chunkedOutput>true</chunkedOutput>
                                            <htmlCustomization>${basedir}/src/docbkx/resources/xsl/html_chunk.xsl</htmlCustomization>
                                            <postProcess>
                                                    <move todir="${basedir}/target/site/reference">
                                                            <fileset dir="${basedir}/target/docbkx">
                                                                    <include name="**/*.html" />
                                                            </fileset>
                                                    </move>
                                                    <copy todir="${basedir}/target/site/reference/html">
                                                            <fileset dir="${basedir}/src/docbkx/resources">
                                                                    <include name="**/*.css" />
                                                                    <include name="**/*.png" />
                                                                    <include name="**/*.gif" />
                                                                    <include name="**/*.jpg" />
                                                            </fileset>
                                                    </copy>
                                                    <copy todir="${basedir}/target/site/reference/html">
                                                            <fileset dir="${basedir}/src/site/docbook/reference">
                                                                    <include name="**/*.png" />
                                                                    <include name="**/*.gif" />
                                                                    <include name="**/*.jpg" />
                                                            </fileset>
                                                    </copy>
                                            </postProcess>
                                    </configuration>
                                    <phase>pre-site</phase>
                            </execution>
                    </executions>
                    <dependencies>
                            <dependency>
                                    <groupId>org.docbook</groupId>
                                    <artifactId>docbook-xml</artifactId>
                                    <version>4.4</version>
                                    <scope>runtime</scope>
                            </dependency>
                            <dependency>
                                    <groupId>org.apache.xmlgraphics</groupId>
                                    <artifactId>fop</artifactId>
                                    <version>0.93</version>
                            </dependency>
                    </dependencies>
                    <configuration>
                            <includes>index.xml</includes>
                            <chunkedOutput>false</chunkedOutput>
                            <draftWatermarkImage />
                            <htmlStylesheet>css/html.css</htmlStylesheet>
                            <sourceDirectory>${basedir}/src/site/docbook/reference</sourceDirectory>
                            <foCustomization>${basedir}/src/docbkx/resources/xsl/fopdf.xsl</foCustomization>
                            <xincludeSupported>true</xincludeSupported>
                            <entities>
                                    <entity>
                                            <name>version</name>
                                            <value>${project.version}</value>
                                    </entity>
                            </entities>
                    </configuration>
            </plugin>                       
        ...
       </plugins>
    </build>