<?xml version="1.0" encoding="UTF-8"?>
<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>
 <parent>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-project</artifactId>
    <version>9.3.30.v20211001</version>
 </parent>
  <artifactId>jetty-documentation</artifactId>
  <name>Jetty :: Documentation</name>
  <packaging>pom</packaging>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <asciidoctor.version>1.5.3</asciidoctor.version>
    <html.directory>${project.build.directory}/current</html.directory>
    <javadoc.version>${project.version}</javadoc.version>
  </properties>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
        <executions>
          <execution>
            <id>copy-assets</id>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <resources>
                <resource>
                  <directory>src/main/resources</directory>
                  <includes>
                    <include>**</include>
                  </includes>
                </resource>
              </resources>
              <outputDirectory>${html.directory}</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.asciidoctor</groupId>
        <artifactId>asciidoctor-maven-plugin</artifactId>
        <version>${asciidoctor.version}</version>
        <executions>
          <execution>
            <id>output-html</id>
            <phase>compile</phase>
            <goals>
              <goal>process-asciidoc</goal>
            </goals>
            <configuration>
              <backend>docbook</backend>
              <doctype>book</doctype>
              <sourceDocumentName>index.adoc</sourceDocumentName>
              <attributes>
                <sub-order>attributes+</sub-order>
                <imagesdir />
                <linkcss>true</linkcss>
                <allow-uri-read>true</allow-uri-read>
                <toc>true</toc>
                <revnumber>${project.version}</revnumber>
                <JDURL>http://www.eclipse.org/jetty/javadoc/${javadoc.version}</JDURL>
                <JXURL>http://download.eclipse.org/jetty/stable-9/xref</JXURL>
                <SRCDIR>${basedir}/..</SRCDIR>
                <GITBROWSEURL>https://github.com/eclipse/jetty.project/tree/jetty-9.3.x</GITBROWSEURL>
                <MVNCENTRAL>https://repo1.maven.org/maven2</MVNCENTRAL>
                <VERSION>${project.version}</VERSION>
              </attributes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.agilejava.docbkx</groupId>
        <artifactId>docbkx-maven-plugin</artifactId>
        <version>2.0.17</version>
        <executions>
          <execution>
            <id>html</id>
            <phase>compile</phase>
            <goals>
              <goal>generate-html</goal>
            </goals>
            <configuration>
              <htmlStylesheet>css/docbook.css</htmlStylesheet>
              <htmlCustomization>${project.basedir}/src/main/docbkx-stylesheet/html/docbook.xsl</htmlCustomization>
              <preProcess>
                <!-- pull over the images from the source material -->
                <copy todir="target/docbkx/html/images" flatten="true">
                  <fileset dir="src/main/asciidoc">
                    <include name="**/*.png" />
                    <include name="**/*.jpg" />
                    <include name="**/*.svg" />
                    <include name="**/*.dot" />
                  </fileset>
                </copy>
                <copy todir="target/docbkx/html/images">
                  <fileset dir="src/main/docbkx-resources/images" />
                </copy>
                <copy todir="target/docbkx/html/css">
                  <fileset dir="src/main/docbkx-resources/css" />
                </copy>
                <copy todir="target/docbkx/html/fonts">
                  <fileset dir="src/main/docbkx-resources/fonts" />
                </copy>
                <copy todir="target/docbkx/html/js">
                  <fileset dir="src/main/docbkx-resources/js" />
                </copy>
              </preProcess>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <!-- shared configuration -->
          <sourceDirectory>${project.build.directory}/generated-docs</sourceDirectory>
          <includes>index.xml</includes>
          <generatedSourceDirectory>${project.build.directory}/docbkx/generated</generatedSourceDirectory>
          <chunkedOutput>true</chunkedOutput>
          <highlightSource>true</highlightSource>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>net.sf.docbook</groupId>
            <artifactId>docbook-xml</artifactId>
            <!--version>5.0-all</version-->
            <version>5.1b4-all</version>
            <classifier>resources</classifier>
            <type>zip</type>
            <scope>runtime</scope>
          </dependency>
          <dependency>
            <groupId>net.sf.xslthl</groupId>
            <artifactId>xslthl</artifactId>
            <version>2.0.1</version>
            <scope>runtime</scope>
          </dependency>
          <dependency>
            <groupId>org.eclipse.jetty.toolchain</groupId>
            <artifactId>jetty-xslt-tools</artifactId>
            <version>1.3</version>
            <scope>runtime</scope>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/html.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <!--
      Couple of different approaches to generating pdf's
    -->
    <profile>
      <id>generate-pdf</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.agilejava.docbkx</groupId>
            <artifactId>docbkx-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-pdf</id>
                <phase>compile</phase>
                <goals>
                  <goal>generate-pdf</goal>
                </goals>
                <configuration>
                  <includes>index.xml</includes>
                  <fop1Extensions>1</fop1Extensions>
                  <paperType>A4</paperType>
                  <foCustomization>src/main/docbkx-stylesheet/fo/docbook.xsl</foCustomization>
                </configuration>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>net.sf.offo</groupId>
                <artifactId>fop-hyph</artifactId>
                <version>1.2</version>
                <scope>runtime</scope>
              </dependency>
            </dependencies>
          </plugin>
          <plugin>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoctor-maven-plugin</artifactId>
            <version>${asciidoctor.version}</version>
            <dependencies>
              <dependency>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctorj-pdf</artifactId>
                <version>1.5.0-alpha.11</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>output-pdf</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>process-asciidoc</goal>
                </goals>
                <configuration>
                  <backend>pdf</backend>
                  <sourceHighlighter>rouge</sourceHighlighter>
                  <sourceDocumentName>index.adoc</sourceDocumentName>
                  <attributes>
                    <imagesdir />
                    <version>${project.version}</version>
                    <linkcss>true</linkcss>
                    <allow-uri-read>true</allow-uri-read>
                    <toc>true</toc>
                    <revnumber>${project.version}</revnumber>
                    <JDURL>http://download.eclipse.org/jetty/stable-9/apidocs</JDURL>
                    <JXURL>http://download.eclipse.org/jetty/stable-9/xref</JXURL>
                    <SRCDIR>${basedir}/../jetty.project/</SRCDIR>
                    <GITBROWSEURL>https://github.com/eclipse/jetty.project/master</GITBROWSEURL>
                    <icons>font</icons>
                    <pagenums />
                    <toc />
                    <idprefix />
                    <idseparator>-</idseparator>
                  </attributes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
