<?xml version="1.0" encoding="UTF-8"?>
<!--
semanticcms-pagegraph - SemanticCMS component to view a graph of the current page and related pages.
Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026  AO Industries, Inc.
    support@aoindustries.com
    7262 Bull Pen Cir
    Mobile, AL 36695

This file is part of semanticcms-pagegraph.

semanticcms-pagegraph is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

semanticcms-pagegraph is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with semanticcms-pagegraph.  If not, see <https://www.gnu.org/licenses/>.
-->
<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>com.semanticcms</groupId><artifactId>semanticcms-parent</artifactId><version>2.0.1<!-- -POST-SNAPSHOT --></version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>

  <groupId>com.semanticcms</groupId><artifactId>semanticcms-pagegraph</artifactId><version>2.0.1</version>
  <packaging>jar</packaging>

  <properties>
    <!-- Must be set to ${git.commit.time} for snapshots or ISO 8601 timestamp for releases. -->
    <project.build.outputTimestamp>2026-02-10T00:26:42Z</project.build.outputTimestamp>
    <module.name>com.semanticcms.pagegraph</module.name>
    <javadoc.breadcrumbs><![CDATA[<a target="${javadoc.target}" href="https://semanticcms.com/">SemanticCMS</a>
/ <a target="${javadoc.target}" href="${project.url}">PageGraph</a>]]></javadoc.breadcrumbs>

    <description.html><![CDATA[<a target="${javadoc.target}" href="https://semanticcms.com/">SemanticCMS</a> component to view a graph of the current page and related pages.]]></description.html>
    <!-- TODO: Implement tests -->
    <sonar.coverage.exclusions>**.*</sonar.coverage.exclusions>
  </properties>

  <name>SemanticCMS PageGraph</name>
  <url>https://semanticcms.com/pagegraph/</url>
  <description>SemanticCMS component to view a graph of the current page and related pages.</description>
  <inceptionYear>2016</inceptionYear>

  <licenses>
    <license>
      <name>GNU General Lesser Public License (LGPL) version 3.0</name>
      <url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <organization>
    <name>AO Industries, Inc.</name>
    <url>https://aoindustries.com/</url>
  </organization>

  <developers>
    <developer>
      <name>AO Industries, Inc.</name>
      <email>support@aoindustries.com</email>
      <url>https://aoindustries.com/</url>
      <organization>AO Industries, Inc.</organization>
      <organizationUrl>https://aoindustries.com/</organizationUrl>
    </developer>
  </developers>

  <scm>
    <connection>scm:git:git://github.com/ao-apps/semanticcms-pagegraph.git</connection>
    <developerConnection>scm:git:git@github.com:ao-apps/semanticcms-pagegraph.git</developerConnection>
    <url>https://github.com/ao-apps/semanticcms-pagegraph</url>
    <tag>semanticcms-pagegraph-2.0.1</tag>
  </scm>

  <issueManagement>
    <system>GitHub Issues</system>
    <url>https://github.com/ao-apps/semanticcms-pagegraph/issues</url>
  </issueManagement>

  <ciManagement>
    <system>Jenkins</system>
    <url>https://jenkins.aoindustries.com/job/ao/job/semanticcms-2.x/job/pagegraph/</url>
  </ciManagement>
  <!-- Only one allowed in POM:
  <ciManagement>
    <system>GitHub Actions</system>
    <url>https://github.com/ao-apps/semanticcms-pagegraph/actions</url>
  </ciManagement>
  -->

  <repositories>
    <!-- Repository required here, too, so can find parent -->
    <repository>
      <id>central-snapshots</id>
      <name>Central Snapshot Repository</name>
      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <checksumPolicy>fail</checksumPolicy>
      </snapshots>
    </repository>
  </repositories>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId>
        <configuration>
          <usedDependencies>
            <!-- JSP Only -->
            <dependency>com.aoapps:ao-collections</dependency>
            <dependency>com.aoapps:ao-taglib</dependency>
            <dependency>jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api</dependency>
            <dependency>com.semanticcms:semanticcms-core-taglib</dependency>
          </usedDependencies>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>offlineLinks</id><activation><file><exists>src/main/java</exists></file></activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack.offlineLinks</id><phase>${unpack.offlineLinks.phase}</phase><goals><goal>unpack</goal></goals>
                <configuration>
                  <artifactItems>
                    <!-- Direct -->
                    <!-- JSP Only: <groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId><classifier>javadoc</classifier> -->
                    <artifactItem>
                      <groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId><classifier>javadoc</classifier>
                      <includes>element-list, package-list</includes>
                      <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-lang</outputDirectory>
                    </artifactItem>
                    <artifactItem>
                      <groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId><classifier>javadoc</classifier>
                      <includes>element-list, package-list</includes>
                      <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-net-types</outputDirectory>
                    </artifactItem>
                    <!-- JSP Only: <groupId>com.aoapps</groupId><artifactId>ao-taglib</artifactId><classifier>javadoc</classifier> -->
                    <artifactItem>
                      <groupId>com.aoapps</groupId><artifactId>ao-web-resources-registry</artifactId><classifier>javadoc</classifier>
                      <includes>element-list, package-list</includes>
                      <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-registry</outputDirectory>
                    </artifactItem>
                    <artifactItem>
                      <groupId>com.aoapps</groupId><artifactId>ao-web-resources-servlet</artifactId><classifier>javadoc</classifier>
                      <includes>element-list, package-list</includes>
                      <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-servlet</outputDirectory>
                    </artifactItem>
                    <!-- ao-javadoc-offline: <groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><classifier>javadoc</classifier> -->
                    <!-- JSP Only: <groupId>jakarta.servlet.jsp.jstl</groupId><artifactId>jakarta.servlet.jsp.jstl-api</artifactId><classifier>javadoc</classifier> -->
                    <artifactItem>
                      <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-servlet</artifactId><classifier>javadoc</classifier>
                      <includes>element-list, package-list</includes>
                      <outputDirectory>${project.build.directory}/offlineLinks/com.semanticcms/semanticcms-core-servlet</outputDirectory>
                    </artifactItem>
                    <!-- JSP Only: <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-taglib</artifactId><classifier>javadoc</classifier> -->
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <offlineLinks combine.children="append">
                <!-- Direct -->
                <!-- JSP Only: <groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId><classifier>javadoc</classifier> -->
                <offlineLink>
                  <url>https://oss.aoapps.com/lang/apidocs/</url>
                  <location>${project.build.directory}/offlineLinks/com.aoapps/ao-lang</location>
                </offlineLink>
                <offlineLink>
                  <url>https://oss.aoapps.com/net-types/apidocs/</url>
                  <location>${project.build.directory}/offlineLinks/com.aoapps/ao-net-types</location>
                </offlineLink>
                <!-- JSP Only: <groupId>com.aoapps</groupId><artifactId>ao-taglib</artifactId><classifier>javadoc</classifier> -->
                <offlineLink>
                  <url>https://oss.aoapps.com/web-resources/registry/apidocs/</url>
                  <location>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-registry</location>
                </offlineLink>
                <offlineLink>
                  <url>https://oss.aoapps.com/web-resources/servlet/apidocs/</url>
                  <location>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-servlet</location>
                </offlineLink>
                <!-- ao-javadoc-offline: <groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><classifier>javadoc</classifier> -->
                <!-- JSP Only: <groupId>jakarta.servlet.jsp.jstl</groupId><artifactId>jakarta.servlet.jsp.jstl-api</artifactId><classifier>javadoc</classifier> -->
                <offlineLink>
                  <url>https://semanticcms.com/core/servlet/apidocs/</url>
                  <location>${project.build.directory}/offlineLinks/com.semanticcms/semanticcms-core-servlet</location>
                </offlineLink>
                <!-- JSP Only: <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-taglib</artifactId><classifier>javadoc</classifier> -->
              </offlineLinks>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <dependencyManagement>
    <dependencies>
      <!-- Direct -->
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId><version>4.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId><version>5.7.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId><version>3.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-taglib</artifactId><version>10.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-web-resources-registry</artifactId><version>0.7.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-web-resources-servlet</artifactId><version>0.7.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <!-- jakartaee-web-profile-bom: <groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId> -->
      <!-- jakartaee-web-profile-bom: <groupId>jakarta.servlet.jsp.jstl</groupId><artifactId>jakarta.servlet.jsp.jstl-api</artifactId> -->
      <dependency>
        <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-servlet</artifactId><version>2.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-taglib</artifactId><version>2.0.1<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <!-- Transitive -->
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-concurrent</artifactId><version>4.1.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-encoding</artifactId><version>7.1.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-encoding-servlet</artifactId><version>5.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-encoding-taglib</artifactId><version>6.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-fluent-html-any</artifactId><version>0.9.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-fluent-html-servlet</artifactId><version>0.9.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-hodgepodge</artifactId><version>5.4.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-io-buffer</artifactId><version>4.2.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-servlet-filter</artifactId><version>4.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-servlet-last-modified</artifactId><version>4.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-servlet-subrequest</artifactId><version>3.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId><version>6.0.1<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-tempfiles</artifactId><version>3.1.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-tempfiles-servlet</artifactId><version>4.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>ao-tlds</artifactId><version>2.1.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.20.0</version>
      </dependency>
      <!-- jakartaee-web-profile-bom: <groupId>jakarta.el</groupId><artifactId>jakarta.el-api</artifactId> -->
      <!-- jakartaee-web-profile-bom: <groupId>jakarta.servlet.jsp</groupId><artifactId>jakarta.servlet.jsp-api</artifactId> -->
      <dependency>
        <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-model</artifactId><version>2.0.0<!-- ${POST-SNAPSHOT} --></version>
      </dependency>
      <!-- Runtime Direct -->
      <dependency>
        <groupId>org.webjars.npm</groupId><artifactId>d3</artifactId><version>7.9.0</version>
      </dependency>
      <dependency>
        <groupId>org.webjars.npm</groupId><artifactId>dagre-d3</artifactId><version>0.6.4</version>
      </dependency>
      <!-- Runtime Transitive -->
      <dependency>
        <groupId>org.webjars.npm</groupId><artifactId>dagre</artifactId><version>0.8.5</version>
      </dependency>
      <dependency>
        <groupId>org.webjars.npm</groupId><artifactId>graphlib</artifactId><version>2.1.8</version>
      </dependency>
      <dependency>
        <groupId>org.webjars.npm</groupId><artifactId>lodash</artifactId><version>4.17.21</version>
      </dependency>
      <!-- Imports -->
      <dependency>
        <groupId>com.aoapps</groupId><artifactId>jakartaee-web-profile-bom</artifactId><version>10.0.1<!-- ${POST-SNAPSHOT} --></version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- Direct -->
    <dependency>
      <groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId>
    </dependency>
    <dependency>
      <groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId>
    </dependency>
    <dependency>
      <groupId>com.aoapps</groupId><artifactId>ao-taglib</artifactId>
    </dependency>
    <dependency>
      <groupId>com.aoapps</groupId><artifactId>ao-web-resources-registry</artifactId>
    </dependency>
    <dependency>
      <groupId>com.aoapps</groupId><artifactId>ao-web-resources-servlet</artifactId>
    </dependency>
    <dependency>
      <groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>jakarta.servlet.jsp.jstl</groupId><artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-servlet</artifactId>
    </dependency>
    <dependency>
      <groupId>com.semanticcms</groupId><artifactId>semanticcms-core-taglib</artifactId>
    </dependency>
    <!-- Runtime Direct -->
    <dependency>
      <groupId>org.webjars.npm</groupId><artifactId>d3</artifactId>
      <scope>runtime</scope>
      <!-- Avoid all the transitive npm dependencies, we're only directly using the .js file -->
      <exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
    </dependency>
    <dependency>
      <groupId>org.webjars.npm</groupId><artifactId>dagre-d3</artifactId>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</project>
