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

    Copyright (c) 2010, 2025 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>4.0.99-SNAPSHOT</version>
    </parent>
    <artifactId>jersey-documentation</artifactId>
    <packaging>pom</packaging>
    <name>jersey-documentation</name>
    <description>
        Eclipse Jersey User Guide.
    </description>
    <url>https://projects.eclipse.org/projects/ee4j.jersey</url>
    <licenses>
        <license>
            <name>EPL 2.0</name>
            <url>http://www.eclipse.org/legal/epl-2.0</url>
            <distribution>repo</distribution>
            <comments>Except for 3rd content and examples.
                See also https://github.com/eclipse-ee4j/jersey/blob/master/NOTICE.md</comments>
        </license>
        <license>
            <name>GPL2 w/ CPE</name>
            <url>https://www.gnu.org/software/classpath/license.html</url>
            <distribution>repo</distribution>
            <comments>Except for 3rd content and examples.
                See also https://github.com/eclipse-ee4j/jersey/blob/master/NOTICE.md</comments>
        </license>
        <license>
            <name>EDL 1.0</name>
            <url>http://www.eclipse.org/org/documents/edl-v10.php</url>
            <distribution>repo</distribution>
            <comments>The examples except bookstore-webapp example</comments>
        </license>
        <license>
            <name>BSD 2-Clause</name>
            <url>https://opensource.org/licenses/BSD-2-Clause</url>
            <distribution>repo</distribution>
            <comments>The bookstore-webapp example</comments>
        </license>
        <license>
            <name>Apache License, 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
            <distribution>repo</distribution>
            <comments>Google Guava @ org.glassfish.jersey.internal.guava,
                Dropwizard Monitoring inspired classes @ org.glassfish.jersey.server.internal.monitoring.core,
                Hibernate Validation classes @ org.glassfish.jersey.server.validation.internal.hibernate, and
                Jackson JAX-RS Providers @ org.glassfish.jersey.jackson.internal.jackson.jaxrs</comments>
        </license>
        <license>
            <name>Public Domain</name>
            <url>https://creativecommons.org/publicdomain/zero/1.0/</url>
            <distribution>repo</distribution>
            <comments>JSR-166 Extension to JEP 266 @ org.glassfish.jersey.internal.jsr166</comments>
        </license>
        <license>
            <name>Modified BSD</name>
            <url>https://asm.ow2.io/license.html</url>
            <distribution>repo</distribution>
            <comments>ASM @ jersey.repackaged.org.objectweb.asm</comments>
        </license>
        <license>
            <name>jQuery license</name>
            <url>jquery.org/license</url>
            <distribution>repo</distribution>
            <comments>jQuery v1.12.4</comments>
        </license>
        <license>
            <name>MIT license</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
            <distribution>repo</distribution>
            <comments>AngularJS, Bootstrap v3.3.7,
                jQuery Barcode plugin 0.3, KineticJS v4.7.1</comments>
        </license>
        <license>
            <name>W3C license</name>
            <url>https://www.w3.org/Consortium/Legal/copyright-documents-19990405</url>
            <distribution>repo</distribution>
            <comments>Content of core-server/etc</comments>
        </license>
    </licenses>
    <scm>
        <connection>scm:git:git@github.com:jersey/jersey.git</connection>
        <developerConnection>scm:git:git@github.com:eclipse-ee4j/jersey.git</developerConnection>
        <url>https://github.com/eclipse-ee4j/jersey</url>
        <tag>HEAD</tag>
    </scm>
    <developers>
        <developer>
            <name>Jorge Bescos Gascon</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Lukas Jungmann</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Dmitry Kornilov</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
            <url>https://dmitrykornilov.net</url>
        </developer>
        <developer>
            <name>David Kral</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Tomas Kraus</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Tomas Langer</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Maxim Nesen</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Santiago Pericas-Geertsen</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Jan Supol</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
            <url>http://blog.supol.info</url>
        </developer>
    </developers>
    <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>
                            <target>
                                <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="$jakarta.el-impl-version" value="${jakarta.el.impl.version}" />
                                <replace file="${src.dir}/jersey.ent" token="$jakarta.el-version" value="${jakarta.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="${jakarta.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}" />
                            </target>
                        </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.17</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>single</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>3.x</jersey.src.branch>
        <jaxrs.version>${jaxrs.api.spec.version}</jaxrs.version>
        <jaxrs.impl.version>${jaxrs.api.impl.version}</jaxrs.impl.version>
    </properties>

</project>
