<?xml version="1.0" encoding="utf-8"?>
<!--
  ##########################################################################
  %%
  Copyright (C) 2015 - 2025 Allen D. Ball
  %%
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  ##########################################################################
  -->
<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>
  <groupId>dev.hcf.ball</groupId>
  <artifactId>parent</artifactId>
  <version>2025.0.2</version>
  <packaging>pom</packaging>
  <name>${project.groupId}:${project.artifactId}</name>
  <description>Parent POM for ball:* projects.</description>
  <url>https://github.com/allen-ball/ball</url>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.7.18</version>
    <relativePath/>
  </parent>
  <inceptionYear>2015</inceptionYear>
  <licenses>
    <license>
      <name>Apache-2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers><developer/></developers>
  <scm>
    <url>https://github.com/allen-ball/ball.git</url>
  </scm>
  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <maven.build.timestamp.format>yyyyMMddHHmmssSSS</maven.build.timestamp.format>
    <timestamp>${maven.build.timestamp}</timestamp>

    <ball-parent.version>2025.0.2</ball-parent.version>

    <ball-databind.version>2.0.19.20251111</ball-databind.version>
    <ball-dependency-maven-plugin.version>1.1.7.20251111</ball-dependency-maven-plugin.version>
    <ball-game.version>3.0.20.20251111</ball-game.version>
    <ball-http.version>4.0.19.20251111</ball-http.version>
    <ball-java-jar.version>1.0.0.20231224</ball-java-jar.version>
    <ball-javadoc-maven-plugin.version>1.4.7.20251111</ball-javadoc-maven-plugin.version>
    <ball-license-maven-plugin.version>2.3.7.20251111</ball-license-maven-plugin.version>
    <ball-spring.version>2.4.16.20251111</ball-spring.version>
    <ball-tools-javadoc.version>3.1.21.20251111</ball-tools-javadoc.version>
    <ball-upnp.version>4.0.19.20251111</ball-upnp.version>
    <ball-util.version>6.4.17.20251111</ball-util.version>
    <schemas-upnp-org.version>20151231.1</schemas-upnp-org.version>

    <ant.version>1.10.15</ant.version>
    <ivy.version>2.5.3</ivy.version>
    <maven-resolver-ant-tasks.version>1.6.0</maven-resolver-ant-tasks.version>

    <jib-maven-plugin.version>3.4.4</jib-maven-plugin.version>
    <license-maven-plugin.version>2.5.0</license-maven-plugin.version>
    <properties-maven-plugin.version>1.2.1</properties-maven-plugin.version>
    <wagon-maven-plugin.version>2.0.2</wagon-maven-plugin.version>

    <scala.version>2.13.16</scala.version>

    <app-engine-maven-plugin.version>2.8.4</app-engine-maven-plugin.version>
    <extra-enforcer-rules.version>1.8.0</extra-enforcer-rules.version>
    <hawtjni.version>1.18</hawtjni.version>
    <lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
    <openapi-generator-maven-plugin.version>7.11.0</openapi-generator-maven-plugin.version>
    <smart-exception.version>0.2.1</smart-exception.version>
    <webjars-locator.version>0.52</webjars-locator.version>

    <!-- org.apache.maven:maven:${mavenVersion} -->
    <mavenVersion>3.9.11</mavenVersion>
    <mavenPluginToolsVersion>3.15.2</mavenPluginToolsVersion>
    <plexusVersion>2.1.0</plexusVersion>
    <resolverVersion>1.9.24</resolverVersion>

    <!-- org.springframework.boot:spring-boot-dependencies -->
    <spring-boot.version>2.7.18</spring-boot.version>
    <spring-framework.version>5.3.39</spring-framework.version>
    <spring-ldap.version>2.4.4</spring-ldap.version>
    <spring-security.version>5.7.14</spring-security.version>
    <thymeleaf-layout-dialect.version>3.3.0</thymeleaf-layout-dialect.version>

    <appengine-sdk.version>1.9.98.1</appengine-sdk.version>
    <aspectj.version>1.9.25</aspectj.version>
    <awaitility.version>4.2.2</awaitility.version>
    <commons-lang3.version>3.18.0</commons-lang3.version>
    <commons-pool2.version>2.12.1</commons-pool2.version>
    <dropwizard-metrics.version>4.2.37</dropwizard-metrics.version>
    <elasticsearch.version>7.17.29</elasticsearch.version>
    <freemarker.version>2.3.34</freemarker.version>
    <groovy.version>3.0.25</groovy.version>
    <gson.version>2.11.0</gson.version>
    <h2.version>2.2.224</h2.version>
    <hsqldb.version>2.7.4</hsqldb.version>
    <infinispan.version>13.0.22.Final</infinispan.version>
    <jakarta-mail.version>2.1.5</jakarta-mail.version>
    <janino.version>3.1.12</janino.version>
    <jedis.version>3.10.0</jedis.version>
    <jersey.version>2.43</jersey.version>
    <jetty-el.version>9.0.111</jetty-el.version>
    <jetty-reactive-httpclient.version>1.1.19</jetty-reactive-httpclient.version>
    <jmustache.version>1.16</jmustache.version>
    <json-path.version>2.9.0</json-path.version>
    <json-smart.version>2.5.2</json-smart.version>
    <junit.version>5.10.5</junit.version>
    <kotlin.version>1.9.25</kotlin.version>
    <kotlin-coroutines.version>1.8.1</kotlin-coroutines.version>
    <logback.version>1.2.13</logback.version>
    <lombok.version>1.18.42</lombok.version>
    <mariadb.version>3.4.2</mariadb.version>
    <mongodb.version>4.11.5</mongodb.version>
    <mysql.version>8.4.0</mysql.version>
    <neo4j-java-driver.version>4.4.21</neo4j-java-driver.version>
    <netty.version>4.1.128.Final</netty.version>
    <pooled-jms.version>1.2.8</pooled-jms.version>
    <postgresql.version>42.7.8</postgresql.version>
    <rsocket.version>1.1.5</rsocket.version>
    <snakeyaml.version>1.33</snakeyaml.version>
    <solr.version>8.11.4</solr.version>
    <tomcat.version>9.0.112</tomcat.version>
    <unboundid-ldapsdk.version>6.0.11</unboundid-ldapsdk.version>
    <undertow.version>2.2.38.Final</undertow.version>
    <webjars-locator-core.version>0.59</webjars-locator-core.version>
    <xmlunit2.version>2.10.4</xmlunit2.version>

    <maven-antrun-plugin.version>3.2.0</maven-antrun-plugin.version>
    <maven-assembly-plugin.version>3.7.1</maven-assembly-plugin.version>
    <maven-clean-plugin.version>3.5.0</maven-clean-plugin.version>
    <maven-compiler-plugin.version>3.14.1</maven-compiler-plugin.version>
    <maven-dependency-plugin.version>3.9.0</maven-dependency-plugin.version>
    <maven-deploy-plugin.version>3.1.4</maven-deploy-plugin.version>
    <maven-enforcer-plugin.version>3.6.2</maven-enforcer-plugin.version>
    <maven-help-plugin.version>3.5.1</maven-help-plugin.version>
    <maven-install-plugin.version>3.1.4</maven-install-plugin.version>
    <maven-invoker-plugin.version>3.9.1</maven-invoker-plugin.version>
    <maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>
    <maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
    <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
    <maven-shade-plugin.version>3.6.1</maven-shade-plugin.version>
    <maven-source-plugin.version>3.3.1</maven-source-plugin.version>
    <maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
    <maven-war-plugin.version>3.5.0</maven-war-plugin.version>
    <versions-maven-plugin.version>2.19.1</versions-maven-plugin.version>

    <!-- com.google.cloud:spring-cloud-gcp-dependencies -->
    <cloud-sql-socket-factory.version>1.19.1</cloud-sql-socket-factory.version>
    <gcp-libraries-bom.version>26.43.0</gcp-libraries-bom.version>
    <spring-cloud-gcp.version>3.8.18</spring-cloud-gcp.version>
  </properties>
  <profiles>
    <profile>
      <id>bootstrap</id>
      <properties>
        <license.skip>true</license.skip>
        <maven.javadoc.skip>true</maven.javadoc.skip>
        <ball-javadoc-maven-plugin.version>1.4.7.20251111</ball-javadoc-maven-plugin.version>
        <ball-license-maven-plugin.version>2.3.7.20251111</ball-license-maven-plugin.version>
        <ball-tools-javadoc.version>3.1.21.20251111</ball-tools-javadoc.version>
      </properties>
    </profile>
    <profile>
      <id>jdk8-and-earlier</id>
      <activation><jdk>[,9)</jdk></activation>
      <properties>
        <ball-tools-javadoc.artifactId>ball-tools-javadoc-jdk8</ball-tools-javadoc.artifactId>
        <graalvm.version>20.3.1</graalvm.version>
        <tika.version>2.9.4</tika.version>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
              <configuration>
                <tagletArtifacts combine.children="append">
                  <tagletArtifact>
                    <groupId>dev.hcf.ball</groupId>
                    <artifactId>${ball-tools-javadoc.artifactId}</artifactId>
                    <version>${ball-tools-javadoc.version}</version>
                  </tagletArtifact>
                </tagletArtifacts>
                <links combine.children="append">
                  <link>https://docs.oracle.com/javase/8/docs/jdk/api/javac/tree/</link>
                  <link>https://docs.oracle.com/javase/8/docs/jdk/api/javadoc/doclet/</link>
                </links>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>jdk9-and-later</id>
      <activation><jdk>[9,)</jdk></activation>
      <properties>
        <ball-tools-javadoc.artifactId>ball-tools-javadoc</ball-tools-javadoc.artifactId>
        <derby.version>10.17.1.0</derby.version>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
              <configuration>
                <source>${maven.compiler.source}</source>
                <additionalOptions combine.children="append">
                  <additionalOption>--frames</additionalOption>
                  <additionalOption>-html5</additionalOption>
                </additionalOptions>
                <doclet>ball.tools.javadoc.StandardDoclet</doclet>
                <docletArtifacts combine.children="append">
                  <docletArtifact>
                    <groupId>dev.hcf.ball</groupId>
                    <artifactId>${ball-tools-javadoc.artifactId}</artifactId>
                    <version>${ball-tools-javadoc.version}</version>
                  </docletArtifact>
                </docletArtifacts>
                <tagletArtifacts combine.children="append">
                  <tagletArtifact>
                    <groupId>dev.hcf.ball</groupId>
                    <artifactId>${ball-tools-javadoc.artifactId}</artifactId>
                    <version>${ball-tools-javadoc.version}</version>
                  </tagletArtifact>
                </tagletArtifacts>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>jdk11-and-later</id>
      <activation><jdk>[11,)</jdk></activation>
      <properties>
        <graalvm.version>20.3.17</graalvm.version>
        <jetty.version>10.0.26</jetty.version>
        <tika.version>3.1.0</tika.version>
      </properties>
    </profile>
    <profile>
      <id>env.JAVA_POST_PROCESS_FILE</id>
      <activation>
        <property><name>env.JAVA_POST_PROCESS_FILE</name></property>
      </activation>
      <properties>
        <openapi.generator.maven.plugin.enablePostProcessFile>true</openapi.generator.maven.plugin.enablePostProcessFile>
      </properties>
    </profile>
    <profile>
      <id>jdk17-and-later</id>
      <activation><jdk>[17,)</jdk></activation>
      <properties>
        <graalvm.version>23.0.1</graalvm.version>
        <derby.version>10.16.1.1</derby.version>
      </properties>
    </profile>
    <profile>
      <id>jdk21-and-later</id>
      <activation><jdk>[21,)</jdk></activation>
      <properties>
        <graalvm.version>23.1.0</graalvm.version>
        <derby.version>10.17.1.0</derby.version>
      </properties>
    </profile>
    <profile>
      <id>graalvm</id>
      <activation>
        <property>
          <name>jdk.internal.vm.ci.enabled</name>
          <value>true</value>
        </property>
      </activation>
    </profile>
    <profile>
      <id>Linux</id>
      <activation><os><name>Linux</name></os></activation>
      <properties><os>linux</os></properties>
    </profile>
    <profile>
      <id>Mac OS X</id>
      <activation><os><name>Mac OS X</name></os></activation>
      <properties><os>osx</os></properties>
    </profile>
    <profile>
      <id>aarch64</id>
      <activation><os><arch>arm64</arch></os></activation>
      <properties><bit-model>64</bit-model></properties>
    </profile>
    <profile>
      <id>amd64</id>
      <activation><os><arch>amd64</arch></os></activation>
      <properties><bit-model>64</bit-model></properties>
    </profile>
    <profile>
      <id>x86_64</id>
      <activation><os><arch>x86_64</arch></os></activation>
      <properties><bit-model>64</bit-model></properties>
    </profile>
    <profile>
      <id>in-parent-project</id>
      <activation>
        <file><exists>${basedir}/parent.xml</exists></file>
      </activation>
      <properties>
        <maven.source.skip>true</maven.source.skip>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-enforcer-plugin</artifactId>
              <executions>
                <execution>
                  <goals>
                    <goal>enforce</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>[${mavenVersion},)</version>
                  </requireMavenVersion>
                </rules>
              </configuration>
            </plugin>
            <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>build-helper-maven-plugin</artifactId>
              <executions>
                <execution>
                  <id>attach-parent.xml</id>
                  <goals>
                    <goal>attach-artifact</goal>
                  </goals>
                  <configuration>
                    <artifacts>
                      <artifact>
                        <type>xml</type>
                        <file>${basedir}/parent.xml</file>
                      </artifact>
                    </artifacts>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>in-child-project</id>
      <activation>
        <file><missing>${basedir}/parent.xml</missing></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>build-helper-maven-plugin</artifactId>
              <executions>
                <execution>
                  <id>parse-version</id>
                  <goals>
                    <goal>parse-version</goal>
                  </goals>
                  <configuration>
                    <propertyPrefix>project</propertyPrefix>
                  </configuration>
                </execution>
              </executions>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-dependency-plugin</artifactId>
              <executions>
                <execution>
                  <id>properties</id>
                  <goals>
                    <goal>properties</goal>
                  </goals>
                </execution>
                <execution>
                  <id>download-sources</id>
                  <goals>
                    <goal>resolve-sources</goal>
                  </goals>
                </execution>
                <execution>
                  <id>download-javadoc</id>
                  <configuration>
                    <classifier>javadoc</classifier>
                  </configuration>
                  <goals>
                    <goal>resolve</goal>
                  </goals>
                </execution>
                <execution>
                  <id>runtime-classpath</id>
                  <phase>generate-sources</phase>
                  <goals>
                    <goal>resolve-plugins</goal>
                    <goal>resolve</goal>
                    <goal>build-classpath</goal>
                  </goals>
                  <configuration>
                    <outputProperty>dependency.runtime.classpath</outputProperty>
                    <scope>runtime</scope>
                  </configuration>
                </execution>
                <execution>
                  <id>pre-site-runtime-classpath</id>
                  <phase>pre-site</phase>
                  <goals>
                    <goal>build-classpath</goal>
                    <goal>properties</goal>
                  </goals>
                  <configuration>
                    <outputProperty>dependency.runtime.classpath</outputProperty>
                    <scope>runtime</scope>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>${project.build.directory}/modules</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-dependency-plugin</artifactId>
              <executions>
                <execution>
                  <id>module-copy-dependencies</id>
                  <phase>package</phase>
                  <goals>
                    <goal>copy-dependencies</goal>
                  </goals>
                  <configuration>
                    <outputDirectory>
                      ${project.build.directory}/modules
                    </outputDirectory>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] LICENSE</id>
      <activation>
        <file><exists>${basedir}/LICENSE</exists></file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>dev.hcf.ball</groupId>
            <artifactId>ball-license-maven-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>update-project-license</goal>
                  <goal>generate-license-resources</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/resources</id>
      <activation>
        <file><exists>${basedir}/src/main/resources</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <configuration>
                <delimiters>
                  <delimiter>@</delimiter>
                </delimiters>
                <escapeString>\</escapeString>
                <useDefaultDelimiters>false</useDefaultDelimiters>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[-] src/main/java</id>
      <activation>
        <file><missing>${basedir}/src/main/java</missing></file>
      </activation>
      <properties>
        <maven.source.skip>true</maven.source.skip>
      </properties>
    </profile>
    <profile>
      <id>[+] src/main/java</id>
      <activation>
        <file><exists>${basedir}/src/main/java</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-enforcer-plugin</artifactId>
              <executions>
                <execution>
                  <id>enforce-bytecode-version</id>
                  <goals>
                    <goal>enforce</goal>
                  </goals>
                  <configuration>
                    <rules>
                      <enforceBytecodeVersion>
                        <maxJdkVersion>${maven.compiler.release}</maxJdkVersion>
                      </enforceBytecodeVersion>
                    </rules>
                    <fail>true</fail>
                  </configuration>
                </execution>
              </executions>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jar-plugin</artifactId>
              <executions>
                <execution>
                  <id>javadoc-jar</id>
                  <goals>
                    <goal>jar</goal>
                  </goals>
                  <configuration>
                    <archive>
                      <addMavenDescriptor>false</addMavenDescriptor>
                      <manifestFile>/dev/null</manifestFile>
                    </archive>
                    <classifier>javadoc</classifier>
                    <classesDirectory>${basedir}/src/main/javadoc</classesDirectory>
                    <skipIfEmpty>true</skipIfEmpty>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
                <configuration>
                  <attach>true</attach>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java7</id>
      <activation>
        <file><exists>${basedir}/src/main/java7</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk7</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>7</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java7</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java8</id>
      <activation>
        <file><exists>${basedir}/src/main/java8</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk8</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>8</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java8</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java9</id>
      <activation>
        <file><exists>${basedir}/src/main/java9</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk9</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>9</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java9</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java10</id>
      <activation>
        <file><exists>${basedir}/src/main/java10</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk10</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>10</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java10</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java11</id>
      <activation>
        <file><exists>${basedir}/src/main/java11</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk11</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>11</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java11</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java12</id>
      <activation>
        <file><exists>${basedir}/src/main/java12</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk12</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>12</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java12</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java13</id>
      <activation>
        <file><exists>${basedir}/src/main/java13</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk13</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>13</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java13</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java14</id>
      <activation>
        <file><exists>${basedir}/src/main/java14</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk14</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>14</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java14</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java15</id>
      <activation>
        <file><exists>${basedir}/src/main/java15</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk15</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>15</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java15</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java16</id>
      <activation>
        <file><exists>${basedir}/src/main/java16</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk16</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>16</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java16</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java17</id>
      <activation>
        <file><exists>${basedir}/src/main/java17</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk17</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>17</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java17</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java18</id>
      <activation>
        <file><exists>${basedir}/src/main/java18</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk18</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>18</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java18</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java19</id>
      <activation>
        <file><exists>${basedir}/src/main/java19</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk19</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>19</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java19</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java20</id>
      <activation>
        <file><exists>${basedir}/src/main/java20</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk20</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>20</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java20</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java21</id>
      <activation>
        <file><exists>${basedir}/src/main/java21</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk21</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>21</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java21</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java22</id>
      <activation>
        <file><exists>${basedir}/src/main/java22</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk22</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>22</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java22</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java23</id>
      <activation>
        <file><exists>${basedir}/src/main/java23</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <executions>
                <execution>
                  <id>jdk23</id>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                  <configuration>
                    <release>23</release>
                    <compileSourceRoots>
                      <compileSourceRoot>${project.basedir}/src/main/java23</compileSourceRoot>
                    </compileSourceRoots>
                    <multiReleaseOutput>true</multiReleaseOutput>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java/lombok.config</id>
      <activation>
        <file><exists>${basedir}/src/main/java/lombok.config</exists></file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <scope>provided</scope>
          <optional>true</optional>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>[+] src/main/java/ball/maven (Sisu JSR-330)</id>
      <activation>
        <file>
          <exists>${basedir}/src/main/java/ball/maven</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </dependency>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-component-annotations</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-xml</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.sisu</groupId>
            <artifactId>sisu-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>main-index</id>
                <goals><goal>main-index</goal></goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/java/ball/maven/plugins (maven-plugin)</id>
      <activation>
        <file>
          <exists>${basedir}/src/main/java/ball/maven/plugins</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-artifact</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-core</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-model</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-plugin-api</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven.plugin-tools</groupId>
          <artifactId>maven-plugin-annotations</artifactId>
          <scope>provided</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-plugin-plugin</artifactId>
            <executions>
              <execution>
                <id>default-descriptor</id>
                <goals><goal>descriptor</goal></goals>
              </execution>
              <execution>
                <id>default-helpmojo</id>
                <goals><goal>helpmojo</goal></goals>
              </execution>
            </executions>
            <configuration>
              <extractors>
                <extractor>java-annotations</extractor>
              </extractors>
              <goalPrefix>${maven-plugin-goal-prefix}</goalPrefix>
              <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/kotlin</id>
      <activation>
        <file><exists>${basedir}/src/main/kotlin</exists></file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>compile</id>
                <goals><goal>compile</goal></goals>
                <configuration>
                  <sourceDirs>
                    <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                    <sourceDir>${project.basedir}/src/main/java</sourceDir>
                  </sourceDirs>
                </configuration>
              </execution>
              <execution>
                <id>test-compile</id>
                <goals><goal>test-compile</goal></goals>
                <configuration>
                  <sourceDirs>
                    <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                    <sourceDir>${project.basedir}/src/test/java</sourceDir>
                  </sourceDirs>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <executions>
              <execution>
                <id>default-compile</id>
                <phase>none</phase>
              </execution>
              <execution>
                <id>default-testCompile</id>
                <phase>none</phase>
              </execution>
              <execution>
                <id>java-compile</id>
                <phase>compile</phase>
                <goals><goal>compile</goal></goals>
              </execution>
              <execution>
                <id>java-test-compile</id>
                <phase>test-compile</phase>
                <goals><goal>testCompile</goal></goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/native-package</id>
      <activation>
        <file><exists>${basedir}/src/main/native-package</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.fusesource.hawtjni</groupId>
              <artifactId>hawtjni-maven-plugin</artifactId>
              <executions>
                <execution>
                  <goals>
                    <goal>generate</goal>
                    <goal>build</goal>
                    <goal>package-jar</goal>
                    <goal>package-source</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <classified>true</classified>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.fusesource.hawtjni</groupId>
            <artifactId>hawtjni-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/scala</id>
      <activation>
        <file><exists>${basedir}/src/main/scala</exists></file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.scala-lang</groupId>
          <artifactId>scala-compiler</artifactId>
        </dependency>
        <dependency>
          <groupId>org.scala-lang.modules</groupId>
          <artifactId>scala-parser-combinators</artifactId>
        </dependency>
        <dependency>
          <groupId>org.scala-lang.modules</groupId>
          <artifactId>scala-swing</artifactId>
        </dependency>
      </dependencies>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>net.alchim31.maven</groupId>
              <artifactId>scala-maven-plugin</artifactId>
              <executions>
                <execution>
                  <goals>
                    <goal>compile</goal>
                    <goal>testCompile</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <args>
                  <!-- https://issues.scala-lang.org/browse/SI-8358 -->
                  <arg>-nobootcp</arg>
                </args>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>scala-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/resources/db/migration</id>
      <activation>
        <file>
          <exists>${basedir}/src/main/resources/db/migration</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.flywaydb</groupId>
          <artifactId>flyway-core</artifactId>
        </dependency>
      </dependencies>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.flywaydb</groupId>
              <artifactId>flyway-maven-plugin</artifactId>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/resources/liquibase.properties</id>
      <activation>
        <file>
          <exists>${basedir}/src/main/resources/liquibase.properties</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.liquibase</groupId>
          <artifactId>liquibase-core</artifactId>
        </dependency>
      </dependencies>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.liquibase</groupId>
              <artifactId>liquibase-maven-plugin</artifactId>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/sass</id>
      <activation>
        <file><exists>${basedir}/src/main/sass</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>com.github.warmuuh</groupId>
              <artifactId>libsass-maven-plugin</artifactId>
              <executions>
                <execution>
                  <phase>generate-resources</phase>
                  <goals>
                    <goal>compile</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <copySourceToOutput>true</copySourceToOutput>
                <enableClasspathAwareImporter>true</enableClasspathAwareImporter>
                <generateSourceComments>true</generateSourceComments>
                <includePath>${basedir}/src/main/sass/plugins</includePath>
                <inputPath>${basedir}/src/main/sass</inputPath>
                <outputPath>${project.build.outputDirectory}</outputPath>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.github.warmuuh</groupId>
            <artifactId>libsass-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/xsd</id>
      <activation>
        <file><exists>${basedir}/src/main/xsd</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>jaxb2-maven-plugin</artifactId>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>xjc</id>
                <goals>
                  <goal>xjc</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[+] src/main/webapp</id>
      <activation>
        <file><exists>${basedir}/src/main/webapp</exists></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-war-plugin</artifactId>
              <configuration>
                <delimiters>
                  <delimiter>@</delimiter>
                </delimiters>
                <useDefaultDelimiters>false</useDefaultDelimiters>
                <webResources>
                  <resource>
                    <filtering>true</filtering>
                    <directory>src/main/webapp</directory>
                  </resource>
                </webResources>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>[-] src/test/java</id>
      <activation>
        <file><missing>${basedir}/src/test/java</missing></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
             <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <executions>
                 <execution>
                   <id>default-testCompile</id>
                   <phase>none</phase>
                 </execution>
               </executions>
             </plugin>
             <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <executions>
                 <execution>
                   <id>default-test</id>
                   <phase>none</phase>
                 </execution>
               </executions>
             </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>[-] src/test/resources</id>
      <activation>
        <file><missing>${basedir}/src/test/resources</missing></file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
               <executions>
                 <execution>
                   <id>default-testResources</id>
                   <phase>none</phase>
                 </execution>
               </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>spring-boot:run</id>
      <properties>
        <license.skip>true</license.skip>
        <maven.source.skip>true</maven.source.skip>
        <mdep.skip>true</mdep.skip>
      </properties>
      <dependencies>
        <dependency>
          <groupId>dev.hcf.ball</groupId>
          <artifactId>ball-spring-jig-starter</artifactId>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-properties-migrator</artifactId>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-actuator</artifactId>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
      <build>
        <defaultGoal>clean spring-boot:run</defaultGoal>
      </build>
    </profile>
    <profile>
      <id>com.google.cloud.tools:appengine-maven-plugin</id>
      <activation>
        <file><exists>${basedir}/src/main/appengine/app.yaml</exists></file>
      </activation>
      <properties>
        <serviceAccountKeyFile>${user.home}/.config/gcloud/${project.groupId}.json</serviceAccountKeyFile>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-gcp-starter</artifactId>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-gcp-starter-logging</artifactId>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <executions>
                <execution>
                  <goals>
                    <goal>build-info</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <mainClass>${start-class}</mainClass>
                <profiles>
                  <profile>gcp</profile>
                </profiles>
              </configuration>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-shade-plugin</artifactId>
              <dependencies>
                <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-maven-plugin</artifactId>
                  <version>${spring-boot.version}</version>
                </dependency>
              </dependencies>
              <configuration>
                <keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
                <filters>
                  <filter>
                    <artifact>*:*</artifact>
                    <excludes>
                      <exclude>META-INF/*.SF</exclude>
                      <exclude>META-INF/*.DSA</exclude>
                      <exclude>META-INF/*.RSA</exclude>
                      <excludes>**/module-info.class</excludes>
                    </excludes>
                  </filter>
                </filters>
              </configuration>
              <executions>
                <execution>
                  <phase>package</phase>
                  <goals>
                    <goal>shade</goal>
                  </goals>
                  <configuration>
                    <transformers>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                      <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
                        <addHeader>false</addHeader>
                      </transformer>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/DEPENDENCIES</resource>
                      </transformer>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.handlers</resource>
                      </transformer>
                      <transformer implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
                        <resource>META-INF/spring.factories</resource>
                      </transformer>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.schemas</resource>
                      </transformer>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <manifestEntries>
                          <Main-Class>${start-class}</Main-Class>
                        </manifestEntries>
                      </transformer>
                    </transformers>
                  </configuration>
                </execution>
              </executions>
            </plugin>
            <plugin>
              <groupId>com.google.cloud.tools</groupId>
              <artifactId>appengine-maven-plugin</artifactId>
              <version>${app-engine-maven-plugin.version}</version>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>com.google.cloud.tools</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <configuration>
              <version>GCLOUD_CONFIG</version>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>com.google.cloud.tools:jib-maven-plugin</id>
      <activation>
        <file><exists>${basedir}/src/main/jib</exists></file>
      </activation>
      <properties>
        <serviceAccountKeyFile>${user.home}/.config/gcloud/${project.groupId}.json</serviceAccountKeyFile>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>com.google.cloud.tools</groupId>
              <artifactId>jib-maven-plugin</artifactId>
              <version>${jib-maven-plugin.version}</version>
              <executions>
                <execution>
                  <phase>package</phase>
                  <goals>
                    <goal>build</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <from>
                  <image>gcr.io/distroless/java/jetty:java11</image>
                </from>
                <to>
                  <image>us.gcr.io/${project.groupId}/${project.artifactId}:${project.version}</image>
                </to>
                <container>
                  <appRoot>/app</appRoot>
                  <ports>
                    <port>8080</port>
                  </ports>
                  <mainClass>${start-class}</mainClass>
                  <environment>
                    <SPRING_PROFILES_ACTIVE>gcp</SPRING_PROFILES_ACTIVE>
                  </environment>
                </container>
              </configuration>
            </plugin>
            <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <configuration>
                <mainClass>${start-class}</mainClass>
                <profiles>
                  <profile>gcp</profile>
                </profiles>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.google.cloud.tools</groupId>
            <artifactId>jib-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.sonatype.central</groupId>
            <artifactId>central-publishing-maven-plugin</artifactId>
            <version>0.7.0</version>
            <extensions>true</extensions>
            <configuration>
              <publishingServerId>central</publishingServerId>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>ball-tv</id>
      <properties>
        <ball-tv.version>3.0.0-SNAPSHOT</ball-tv.version>
        <silicondust.version>2.0.0-SNAPSHOT</silicondust.version>
        <videolan-libdvdnav.version>2.0.0-SNAPSHOT</videolan-libdvdnav.version>
      </properties>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>dev.hcf.ball</groupId>
            <artifactId>ball-tv</artifactId>
            <version>${ball-tv.version}</version>
          </dependency>
          <dependency>
            <groupId>dev.hcf.ball</groupId>
            <artifactId>silicondust</artifactId>
            <version>${silicondust.version}</version>
          </dependency>
          <dependency>
            <groupId>dev.hcf.ball</groupId>
            <artifactId>silicondust</artifactId>
            <classifier>${os}${bit-model}</classifier>
            <version>${silicondust.version}</version>
          </dependency>
          <dependency>
            <groupId>dev.hcf.ball</groupId>
            <artifactId>videolan-libdvdnav</artifactId>
            <version>${videolan-libdvdnav.version}</version>
          </dependency>
          <dependency>
            <groupId>dev.hcf.ball</groupId>
            <artifactId>videolan-libdvdnav</artifactId>
            <classifier>${os}${bit-model}</classifier>
            <version>${videolan-libdvdnav.version}</version>
          </dependency>
        </dependencies>
      </dependencyManagement>
    </profile>
  </profiles>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>assembly-descriptors</artifactId>
        <version>${ball-parent.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-databind</artifactId>
        <version>${ball-databind.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-game</artifactId>
        <version>${ball-game.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-http</artifactId>
        <version>${ball-http.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-java-jar</artifactId>
        <version>${ball-java-jar.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-dependency-maven-plugin</artifactId>
        <version>${ball-dependency-maven-plugin.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-javadoc-maven-plugin</artifactId>
        <version>${ball-javadoc-maven-plugin.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-license-maven-plugin</artifactId>
        <version>${ball-license-maven-plugin.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-spring</artifactId>
        <version>${ball-spring.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-spring-jig-starter</artifactId>
        <version>${ball-spring.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-spring-mysqld-starter</artifactId>
        <version>${ball-spring.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-tools-javadoc</artifactId>
        <version>${ball-tools-javadoc.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-tools-javadoc-jdk8</artifactId>
        <version>${ball-tools-javadoc.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-upnp</artifactId>
        <version>${ball-upnp.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>ball-util</artifactId>
        <version>${ball-util.version}</version>
      </dependency>
      <dependency>
        <groupId>dev.hcf.ball</groupId>
        <artifactId>schemas-upnp-org</artifactId>
        <version>${schemas-upnp-org.version}</version>
      </dependency>
      <dependency>
        <groupId>com.arthenica</groupId>
        <artifactId>smart-exception-java</artifactId>
        <version>${smart-exception.version}</version>
      </dependency>
      <dependency>
        <groupId>com.arthenica</groupId>
        <artifactId>smart-exception-java9</artifactId>
        <version>${smart-exception.version}</version>
      </dependency>
      <dependency>
        <groupId>com.arthenica</groupId>
        <artifactId>smart-exception-logback</artifactId>
        <version>${smart-exception.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-annotations</artifactId>
        <version>4.8.6</version>
      </dependency>
      <dependency>
        <groupId>com.okta.spring</groupId>
        <artifactId>okta-spring-boot-starter</artifactId>
        <version>3.0.7</version>
      </dependency>
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>1.6.16</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>${ant.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.11.0</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.9.0</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.19.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.27.1</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.20.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.13.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ivy</groupId>
        <artifactId>ivy</artifactId>
        <version>${ivy.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven</artifactId>
        <version>${mavenVersion}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.archetypes</groupId>
        <artifactId>maven-archetype-bundles</artifactId>
        <version>1.5</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.indexer</groupId>
        <artifactId>maven-indexer</artifactId>
        <version>7.1.6</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>${mavenPluginToolsVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.release</groupId>
        <artifactId>maven-release</artifactId>
        <version>3.2.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.reporting</groupId>
        <artifactId>maven-reporting-api</artifactId>
        <version>4.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.reporting</groupId>
        <artifactId>maven-reporting-exec</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.reporting</groupId>
        <artifactId>maven-reporting-impl</artifactId>
        <version>4.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-ant-tasks</artifactId>
        <version>${maven-resolver-ant-tasks.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-ant-tasks</artifactId>
        <version>${maven-resolver-ant-tasks.version}</version>
        <classifier>uber</classifier>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-dependency-analyzer</artifactId>
        <version>1.16.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>file-management</artifactId>
        <version>3.2.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-supplier</artifactId>
        <version>${resolverVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-dependency-tree</artifactId>
        <version>3.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-shared-resources</artifactId>
        <version>6</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-invoker</artifactId>
        <version>3.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>${tika.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-java7</artifactId>
        <version>${tika.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>${tika.version}</version>
      </dependency>
      <dependency>
        <groupId>org.fusesource.hawtjni</groupId>
        <artifactId>hawtjni-runtime</artifactId>
        <version>${hawtjni.version}</version>
      </dependency>
      <dependency>
        <groupId>org.graalvm.sdk</groupId>
        <artifactId>graal-sdk</artifactId>
        <version>${graalvm.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.graalvm.sdk</groupId>
        <artifactId>nativeimage</artifactId>
        <version>${graalvm.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.17.2</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang.modules</groupId>
        <artifactId>scala-xml</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang.modules</groupId>
        <artifactId>scala-parser-combinators</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang.modules</groupId>
        <artifactId>scala-swing</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-antlib</artifactId>
        <version>${spring-boot.version}</version>
      </dependency>
      <!-- org.springframework.session:spring-session-bom:2021.2.3 -->
      <dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session-data-geode</artifactId>
        <version>2.7.2</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>webjars-locator</artifactId>
        <version>${webjars-locator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>requirejs</artifactId>
        <version>2.3.7</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-artifact-transfer</artifactId>
        <version>0.13.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-common-artifact-filters</artifactId>
        <version>3.4.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-filtering</artifactId>
        <version>3.4.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-jarsigner</artifactId>
        <version>3.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-shared-jar</artifactId>
        <version>3.2.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-shared-utils</artifactId>
        <version>3.4.2</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>extra-enforcer-rules</artifactId>
        <version>${extra-enforcer-rules.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-component-annotations</artifactId>
        <version>${plexusVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- com.google.cloud:spring-cloud-gcp-dependencies -->
      <dependency>
	<groupId>com.google.cloud.sql</groupId>
	<artifactId>cloud-sql-connector-r2dbc-mysql</artifactId>
	<version>${cloud-sql-socket-factory.version}</version>
      </dependency>
      <dependency>
	<groupId>com.google.cloud.sql</groupId>
	<artifactId>cloud-sql-connector-r2dbc-postgres</artifactId>
	<version>${cloud-sql-socket-factory.version}</version>
      </dependency>
      <dependency>
	<groupId>com.google.cloud.sql</groupId>
	<artifactId>jdbc-socket-factory-core</artifactId>
	<version>${cloud-sql-socket-factory.version}</version>
      </dependency>
      <dependency>
	<groupId>com.google.cloud.sql</groupId>
	<artifactId>mysql-socket-factory</artifactId>
	<version>${cloud-sql-socket-factory.version}</version>
      </dependency>
      <dependency>
	<groupId>com.google.cloud.sql</groupId>
	<artifactId>postgres-socket-factory</artifactId>
	<version>${cloud-sql-socket-factory.version}</version>
      </dependency>
      <dependency>
	<groupId>com.google.cloud</groupId>
	<artifactId>libraries-bom</artifactId>
	<version>${gcp-libraries-bom.version}</version>
	<type>pom</type>
	<scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>spring-cloud-gcp-dependencies</artifactId>
        <version>${spring-cloud-gcp.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <defaultGoal>clean install</defaultGoal>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>dev.hcf.ball</groupId>
          <artifactId>ball-dependency-maven-plugin</artifactId>
          <version>${ball-dependency-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>dev.hcf.ball</groupId>
          <artifactId>ball-javadoc-maven-plugin</artifactId>
          <version>${ball-javadoc-maven-plugin.version}</version>
          <configuration>
            <links combine.children="append">
              <link>
                <artifact>
                  dev.hcf.ball:ball-databind
                  dev.hcf.ball:ball-game
                  dev.hcf.ball:ball-http
                  dev.hcf.ball:ball-tv
                  dev.hcf.ball:ball-upnp
                  dev.hcf.ball:ball-util
                  dev.hcf.ball:silicondust
                  dev.hcf.ball:videolan-libdvdnav
                </artifact>
                <url>https://allen-ball.github.io/{a}/</url>
              </link>
              <link>
                <artifact>
                  dev.hcf.ball:ball-spring*
                </artifact>
                <url>https://allen-ball.github.io/ball-spring/</url>
              </link>
              <link>
                <artifact>com.fasterxml.jackson.core</artifact>
                <url>https://fasterxml.github.io/{a}/javadoc/{major}.{minor}/</url>
              </link>
              <link>
                <artifact>com.google.inject</artifact>
                <url>https://google.github.io/{a}/api-docs/{v}/javadoc/</url>
              </link>
              <link>
                <artifact>com.samskivert:jmustache</artifact>
                <url>https://samskivert.github.io/jmustache/apidocs/</url>
              </link>
              <link>
                <artifact>info.picocli:picocli</artifact>
                <url>https://picocli.info/apidocs/</url>
              </link>
              <link>
                <artifact>javax.*</artifact>
                <url>https://javaee.github.io/javaee-spec/javadocs/</url>
              </link>
              <link>
                <artifact>org.apache.maven:*</artifact>
                <url>https://maven.apache.org/ref/${mavenVersion}/apidocs/</url>
              </link>
              <link>
                <artifact>org.apache.maven.plugin-tools:*</artifact>
                <url>https://maven.apache.org/plugin-tools/apidocs/</url>
              </link>
              <link>
                <artifact>org.apache.maven.wagon:*</artifact>
                <url>https://maven.apache.org/wagon/apidocs/</url>
              </link>
              <link>
                <artifact>commons-*</artifact>
                <url>https://commons.apache.org/proper/{a}/apidocs/</url>
              </link>
              <link>
                <artifact>org.apache.spark:*</artifact>
                <url>https://spark.apache.org/docs/latest/api/java/</url>
              </link>
              <link>
                <artifact>org.apache.tika:*</artifact>
                <url>https://tika.apache.org/${tika.version}/api/</url>
              </link>
              <link>
                <artifact>org.apache.tomcat:*</artifact>
                <url>https://tomcat.apache.org/tomcat-{major}.{minor}-doc/api/</url>
              </link>
              <link>
                <artifact>org.codehaus.plexus:plexus-classworlds</artifact>
                <url>https://codehaus-plexus.github.io/plexus-classworlds/apidocs/</url>
              </link>
              <link>
                <artifact>
                  org.codehaus.plexus:plexus-component-annotations
                  org.codehaus.plexus:plexus-component-metadata
                  org.codehaus.plexus:plexus-container-default
                </artifact>
                <url>https://codehaus-plexus.github.io/plexus-containers/{a}/apidocs/</url>
              </link>
              <link>
                <artifact>org.freemarker:*</artifact>
                <url>https://freemarker.apache.org/docs/api/</url>
              </link>
              <link>
                <artifact>org.fusesource.hawtjni:*</artifact>
                <url>https://fusesource.github.io/hawtjni/documentation/api/</url>
              </link>
              <link>
                <artifact>org.hibernate</artifact>
                <url>https://docs.jboss.org/hibernate/orm/{major}.{minor}/javadocs/</url>
              </link>
              <link>
                <artifact>org.jfree:*</artifact>
                <url>https://www.jfree.org/jfreechart/api/javadoc/</url>
              </link>
              <link>
                <artifact>org.knowm.xchart:*</artifact>
                <url>https://knowm.org/javadocs/xchart/</url>
              </link>
              <link>
                <artifact>org.springframework</artifact>
                <url>https://docs.spring.io/spring-framework/docs/${spring-framework.version}/javadoc-api/</url>
              </link>
              <link>
                <artifact>org.springframework.boot</artifact>
                <url>https://docs.spring.io/spring-boot/docs/${spring-boot.version}/api/</url>
              </link>
              <link>
                <artifact>org.springframework.data</artifact>
                <url>https://docs.spring.io/spring-data/commons/docs/current/api/</url>
              </link>
              <link>
                <artifact>org.springframework.data:spring-data-jpa</artifact>
                <url>https://docs.spring.io/spring-data/jpa/docs/current/api/</url>
              </link>
              <link>
                <artifact>org.springframework.security</artifact>
                <url>https://docs.spring.io/spring-security/site/docs/${spring-security.version}/api/</url>
              </link>
            </links>
            <offlinelinks combine.children="append">
              <offlinelink>
                <artifact>
                  com.github.jknack
                  com.vladsch.flexmark
                  org.apache.ant:ant
                  org.apache.maven.resolver
                  org.apache.maven.shared
                  org.apache.velocity
                  org.commonmark
                  org.eclipse.aether:aether-api
                  org.spdx:spdx-tools
                  org.thymeleaf.extras:thymeleaf-extras-java8time
                  org.webjars:webjars-locator-core
                  org.zeromq:jeromq
                  tech.tablesaw
                </artifact>
                <url>https://javadoc.io/doc/{g}/{a}/latest/</url>
              </offlinelink>
              <offlinelink>
                <artifact>
                  com.fasterxml.jackson.dataformat
                  com.fasterxml.jackson.datatype
                  com.fasterxml.jackson.jaxrs
                  com.fasterxml.jackson.module
                  org.apache.httpcomponents
                  org.apache.httpcomponents.*
                </artifact>
                <url>https://javadoc.io/doc/{g}/{a}/{v}/</url>
              </offlinelink>
              <offlinelink>
                <artifact>io.netty:*</artifact>
                <url>https://netty.io/{major}.{minor}/api/</url>
              </offlinelink>
              <offlinelink>
                <artifact>org.apache.groovy:*</artifact>
                <url>https://javadoc.io/doc/{g}/groovy-all/{v}/</url>
              </offlinelink>
              <offlinelink>
                <artifact>org.codehaus.groovy:*</artifact>
                <url>https://javadoc.io/doc/{g}/groovy-all/latest/</url>
              </offlinelink>
              <offlinelink>
                <artifact>org.graalvm.sdk:*</artifact>
                <url>https://www.graalvm.org/sdk/javadoc/</url>
              </offlinelink>
              <offlinelink>
                <artifact>org.jooq:*</artifact>
                <url>https://www.jooq.org/javadoc/latest/</url>
              </offlinelink>
              <offlineLink>
                <artifact>org.thymeleaf:*</artifact>
                <url>https://www.thymeleaf.org/apidocs/{a}/${thymeleaf.version}/</url>
              </offlineLink>
            </offlinelinks>
          </configuration>
        </plugin>
        <plugin>
          <groupId>dev.hcf.ball</groupId>
          <artifactId>ball-license-maven-plugin</artifactId>
          <version>${ball-license-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>com.github.warmuuh</groupId>
          <artifactId>libsass-maven-plugin</artifactId>
          <version>0.2.10-libsass_3.5.3</version>
        </plugin>
        <plugin>
          <groupId>com.google.cloud.tools</groupId>
          <artifactId>appengine-maven-plugin</artifactId>
          <version>${app-engine-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <dependencies combine.children="append">
            <dependency>
              <groupId>org.apache.ant</groupId>
              <artifactId>ant</artifactId>
              <version>${ant.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.ivy</groupId>
              <artifactId>ivy</artifactId>
              <version>${ivy.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.maven.resolver</groupId>
              <artifactId>maven-resolver-ant-tasks</artifactId>
              <version>${maven-resolver-ant-tasks.version}</version>
              <classifier>uber</classifier>
            </dependency>
            <dependency>
              <groupId>org.fusesource.hawtjni</groupId>
              <artifactId>hawtjni-runtime</artifactId>
              <version>${hawtjni.version}</version>
            </dependency>
            <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-antlib</artifactId>
              <version>${spring-boot.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>3.4.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-artifact-plugin</artifactId>
          <version>3.6.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>dev.hcf.ball</groupId>
              <artifactId>assembly-descriptors</artifactId>
              <version>${ball-parent.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <tarLongFileMode>posix</tarLongFileMode>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>>maven-checkstyle-plugin</artifactId>
          <version>3.6.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <compilerArgs combine.children="append">
              <arg>-Xlint:all,-path</arg>
              <arg>-Xdoclint</arg>
              <arg>-Xdoclint:-missing</arg>
              <arg>-Xdoclint:-reference</arg>
              <arg>-Xpkginfo:always</arg>
            </compilerArgs>
            <debug>true</debug>
            <debuglevel>source,lines,vars</debuglevel>
            <parameters>true</parameters>
            <showDeprecation>true</showDeprecation>
            <showWarnings>true</showWarnings>
            <useIncrementalCompilation>false</useIncrementalCompilation>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-ear-plugin</artifactId>
          <version>3.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>extra-enforcer-rules</artifactId>
              <version>${extra-enforcer-rules.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <configuration>
            <deployAtEnd>true</deployAtEnd>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>3.2.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jarsigner-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jlink-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>3.6.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pdf-plugin</artifactId>
          <version>1.6.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>${mavenPluginToolsVersion}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.28.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.9.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <configuration>
            <propertiesEncoding>UTF-8</propertiesEncoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-publish-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scripting-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.21.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-toolchains-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jaxb2-maven-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${license-maven-plugin.version}</version>
          <configuration>
            <licenseName>${project.licenses[0].name}</licenseName>
            <licenseFile>LICENSE</licenseFile>
            <thirdPartyFilename>DEPENDENCIES</thirdPartyFilename>
            <excludes>
              <exclude>**/*.properties</exclude>
              <exclude>main/resources/**/*.xml</exclude>
              <exclude>main/resources/archetype-resources/**/*</exclude>
              <exclude>main/resources/assemblies/**/*</exclude>
              <exclude>main/resources/static/**/*</exclude>
              <exclude>main/resources/templates/**/*</exclude>
            </excludes>
            <addSvnKeyWords>true</addSvnKeyWords>
            <emptyLineAfterHeader>false</emptyLineAfterHeader>
            <trimHeaderLine>true</trimHeaderLine>
            <processStartTag>
              #####################################
              #####################################
            </processStartTag>
            <processEndTag>
              #####################################
              #####################################
            </processEndTag>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>${properties-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>wagon-maven-plugin</artifactId>
          <version>${wagon-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <configuration>
            <allowMajorUpdates>false</allowMajorUpdates>
            <allowMinorUpdates>false</allowMinorUpdates>
            <allowIncrementalUpdates>true</allowIncrementalUpdates>
            <allowSnapshots>false</allowSnapshots>
            <generateBackupPoms>false</generateBackupPoms>
            <ruleSet>
              <ignoreVersions>
                <ignoreVersion>
                  <type>regex</type>
                  <version>(?i).*[-.](ALPHA|BETA).*</version>
                </ignoreVersion>
                <ignoreVersion>
                  <type>regex</type>
                  <version>(?i).*[-.](CR|DEV|M|RC)[-.]?[0-9]*</version>
                </ignoreVersion>
                <ignoreVersion>
                  <type>regex</type>
                  <version>(?i).*-PREVIEW([-.]?[0-9]+)?</version>
                </ignoreVersion>
                <ignoreVersion>
                  <type>regex</type>
                  <version>(?i).*[-.](java|jdk|jre)[0-9]{1,2}</version>
                </ignoreVersion>
                <ignoreVersion>
                  <type>regex</type>
                  <version>(?i).*-b[0-9]+([.][0-9]+)*</version>
                </ignoreVersion>
                <ignoreVersion>
                  <type>regex</type>
                  <version>(?i).*-native-mt.*</version>
                </ignoreVersion>
              </ignoreVersions>
            </ruleSet>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.sisu</groupId>
          <artifactId>sisu-maven-plugin</artifactId>
          <version>0.3.5</version>
        </plugin>
        <plugin>
          <groupId>org.flywaydb</groupId>
          <artifactId>flyway-maven-plugin</artifactId>
          <version>${flyway.version}</version>
        </plugin>
        <plugin>
          <groupId>org.fusesource.hawtjni</groupId>
          <artifactId>hawtjni-maven-plugin</artifactId>
          <version>${hawtjni.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.fusesource.hawtjni</groupId>
              <artifactId>hawtjni-generator</artifactId>
              <version>${hawtjni.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.jetbrains.kotlin</groupId>
          <artifactId>kotlin-maven-plugin</artifactId>
          <version>${kotlin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.liquibase</groupId>
          <artifactId>liquibase-maven-plugin</artifactId>
          <version>${liquibase.version}</version>
        </plugin>
        <plugin>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok-maven-plugin</artifactId>
          <version>${lombok-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>central-publishing-maven-plugin</artifactId>
          <version>0.7.0</version>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring-boot.version}</version>
        </plugin>
        <plugin>
          <groupId>net.alchim31.maven</groupId>
          <artifactId>scala-maven-plugin</artifactId>
          <version>4.9.2</version>
        </plugin>
        <plugin>
          <groupId>org.openapitools</groupId>
	  <artifactId>openapi-generator-maven-plugin</artifactId>
	  <version>${openapi-generator-maven-plugin.version}</version>
          <configuration>
            <generateApiDocumentation>false</generateApiDocumentation>
            <generateApiTests>false</generateApiTests>
            <generateModelDocumentation>false</generateModelDocumentation>
            <generateModelTests>false</generateModelTests>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>
