<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<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.glassfish.jersey</groupId>
        <artifactId>project</artifactId>
        <version>2.31-SNAPSHOT</version>
    </parent>
    <artifactId>jersey-documentation</artifactId>
    <packaging>pom</packaging>
    <name>jersey-documentation</name>
    <profiles>
        <profile>
            <id>pre-release</id>
            <properties>
                <javanet.repository.id>releases</javanet.repository.id>
                <jersey.docs.version>${jersey.version}</jersey.docs.version>
                <jersey.apidocs.version>${jersey.version}</jersey.apidocs.version>
                <jersey.src.branch>${jersey.version}</jersey.src.branch>
            </properties>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <configuration>
                            <tasks>
                                <echo message="Preparing char entities" />
                                <mkdir dir="${src.dir}" />
                                <copy todir="${src.dir}">
                                    <fileset dir="src/main/docbook" />
                                </copy>
                                <replace file="${src.dir}/jersey.ent" token="$apidocs.version" value="${jersey.apidocs.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$docs.version" value="${jersey.docs.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$guava-version" value="${guava.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$jackson-version" value="${jackson.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$javax-el-impl-version" value="${javax.el.impl.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$javax-el-version" value="${javax.el.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$jax-rs-api-jar-version" value="${jaxrs.impl.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$jax-rs-version" value="${jaxrs.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$jaxb-api-jar-version" value="${jaxb.api.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$repository" value="${javanet.repository.id}" />
                                <replace file="${src.dir}/jersey.ent" token="$src.branch" value="${jersey.src.branch}" />
                                <replace file="${src.dir}/jersey.ent" token="$version" value="${jersey.version}" />
                            </tasks>
                        </configuration>
                        <id>process-entities</id>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.agilejava.docbkx</groupId>
                <artifactId>docbkx-maven-plugin</artifactId>
                <version>2.0.15</version>
                <dependencies>
                    <dependency>
                        <groupId>net.sf.docbook</groupId>
                        <artifactId>docbook-xml</artifactId>
                        <version>5.0-all</version>
                        <classifier>resources</classifier>
                        <type>zip</type>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
                <configuration>
                    <calloutGraphics>false</calloutGraphics>
                    <!--calloutGraphicsExtension>1</calloutGraphicsExtension-->
                    <calloutsExtension>true</calloutsExtension>
                    <highlightDefaultLanguage />
                    <highlightSource>true</highlightSource>
                    <htmlStylesheet>/jersey.github.io/documentation.css</htmlStylesheet>
                    <!--<htmlStylesheet>https://jersey.java.net/documentation.css</htmlStylesheet>-->
                    <linenumberingExtension>true</linenumberingExtension>
                    <linenumberingEveryNth>1</linenumberingEveryNth>
                    <partAutolabel>true</partAutolabel>
                    <preProcess>
                        <copy todir="${project.build.directory}/docbook/index/images">
                            <fileset dir="${src.dir}/images/" />
                        </copy>
                    </preProcess>
                    <sectionAutolabel>true</sectionAutolabel>
                    <sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel>
                    <sourceDirectory>${src.dir}</sourceDirectory>
                    <tablecolumnsExtension>true</tablecolumnsExtension>
                    <useExtensions>true</useExtensions>
                    <xincludeSupported>true</xincludeSupported>
                </configuration>
                <executions>
                    <execution>
                        <id>Single page HTML and PDF</id>
                        <goals>
                            <goal>generate-html</goal>
                            <goal>generate-pdf</goal>
                        </goals>
                        <configuration>
                            <htmlCustomization>${src.dir}/cust-single.xsl</htmlCustomization>
                            <includes>user-guide.xml</includes>
                            <targetDirectory>${project.build.directory}/docbook/index</targetDirectory>
                        </configuration>
                        <phase>package</phase>
                    </execution>
                    <execution>
                        <id>Multiple HTML pages</id>
                        <goals>
                            <goal>generate-html</goal>
                        </goals>
                        <configuration>
                            <htmlCustomization>${src.dir}/cust-chunked.xsl</htmlCustomization>
                            <includes>index.xml</includes>
                            <chunkedOutput>true</chunkedOutput>
                            <chunkSectionDepth>0</chunkSectionDepth>
                            <targetDirectory>${project.build.directory}/docbook/index</targetDirectory>
                            <useIdAsFilename>true</useIdAsFilename>
                        </configuration>
                        <phase>package</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>src/main/assembly/docbook.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attached</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>${project.build.directory}/docbook/index/user-guide.pdf</file>
                                    <type>pdf</type>
                                    <classifier>user-guide</classifier>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin> <!-- remove the generated src dir-->
                <artifactId>maven-clean-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <properties>
        <assembly.directory>${project.build.directory}/assembly</assembly.directory>
        <src.dir>${basedir}/target/gen-src</src.dir>
        <javanet.repository.id>snapshots</javanet.repository.id>
        <jersey.docs.version>snapshot</jersey.docs.version>
        <jersey.apidocs.version>snapshot</jersey.apidocs.version>
        <jersey.src.branch>master</jersey.src.branch>
        <jaxrs.version>${jaxrs.api.spec.version}</jaxrs.version>
        <jaxrs.impl.version>${jaxrs.api.impl.version}</jaxrs.impl.version>
    </properties>

</project>
