Ctrl K
ComunidadGuías…

pom.xml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.fcrepo</groupId>
    <artifactId>fcrepo-parent</artifactId>
    <version>7.1.0-SNAPSHOT</version>
    <relativePath>./fcrepo-parent</relativePath>
  </parent>

  <groupId>org.fcrepo</groupId>
  <artifactId>fcrepo</artifactId>
  <version>7.1.0-SNAPSHOT</version>
  <name>Fedora Commons</name>
  <description>Parent project for Fedora Commons Repository</description>
  <url>http://fedorarepository.org</url>
  <packaging>pom</packaging>

  <properties>
    <!-- Use ${project_name} and ${project_organization instead of ${project.artifactId}
      to avoid incorrect replacements of "fcrepo" in child modules
      (for scm, site-distribution, etc -->
    <project_name>fcrepo</project_name>
    <project_organization>fcrepo</project_organization>
    <fcrepo-storage-ocfl.version>7.0.0</fcrepo-storage-ocfl.version>
    <!-- Dependency version properties -->
    <activemq.version>6.4.0</activemq.version>
    <artemis.version>2.53.0</artemis.version>
    <aws.sdk.version>2.57.8</aws.sdk.version>
    <aws.crt.version>0.50.0</aws.crt.version>
    <caffeine.version>3.3.1</caffeine.version>
    <commons-codec.version>1.23.0</commons-codec.version>
    <commons-collections.version>4.6.0</commons-collections.version>
    <commons-io.version>2.22.0</commons-io.version>
    <commons-lang.version>3.21.0</commons-lang.version>
    <commons-pool2.version>2.13.1</commons-pool2.version>
    <commons-text.version>1.15.0</commons-text.version>
    <failsafe.version>3.3.2</failsafe.version>
    <flyway.version>13.12.0</flyway.version>
    <flyway.test.version>10.0.0</flyway.test.version>
    <guava.version>33.8.0-jre</guava.version>
    <h2database.version>2.5.252</h2database.version>
    <hamcrest.version>3.0</hamcrest.version>
    <hikari.version>6.3.2</hikari.version>
    <hk2.version>3.1.1</hk2.version>
    <!-- Last version that supports our version of jquery -->
    <htmlunit.version>5.7.0</htmlunit.version>
    <httpclient.version>4.5.14</httpclient.version>
    <httpmime.version>4.5.14</httpmime.version>
    <httpcore.version>4.4.16</httpcore.version>
    <jakarta.inject.version>2.6.1</jakarta.inject.version>
    <jakarta.servlet.version>6.0.0</jakarta.servlet.version>
    <jakarta.annotation.version>2.1.1</jakarta.annotation.version>
    <jakarta.jakartaee-api.version>10.0.0</jakarta.jakartaee-api.version>
    <jakarta.jms.version>3.1.0</jakarta.jms.version>
    <jakarta.xml.version>4.0.5</jakarta.xml.version>
    <jakarta.ws.version>3.1.0</jakarta.ws.version>
    <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
    <javax.annotation.version>1.3.2</javax.annotation.version>
    <javaee-api.version>8.0.1</javaee-api.version>
    <javaee.xml.version>2.3.1</javaee.xml.version>
    <jaxb.version>4.0.9</jaxb.version>
    <jackson2.version>2.22.4</jackson2.version>
    <jackson2.annotations.version>2.22</jackson2.annotations.version>
    <jena.version>5.5.0</jena.version>
    <jersey.version>3.1.11</jersey.version>
    <jetty.version>12.1.14</jetty.version>
    <jsonld.version>0.13.6</jsonld.version>
    <logback.version>1.6.6</logback.version>
    <maven.changelog.version>3.0.0-M2</maven.changelog.version>
    <micrometer.version>1.17.2</micrometer.version>
    <micrometer.jersey.version>1.8.13</micrometer.jersey.version>
    <netty.version>4.1.131.Final</netty.version>
    <ocfl-java.version>2.2.3</ocfl-java.version>
    <prometheus.version>1.10.0</prometheus.version>
    <prometheus.jmx.version>1.0.1</prometheus.jmx.version>
    <reactivestreams.version>1.0.3</reactivestreams.version>
    <shiro.version>2.2.1</shiro.version>
    <slf4j.version>2.0.20</slf4j.version>
    <spring.version>6.2.19</spring.version>
    <titanium.version>1.7.0</titanium.version>
    <xerces.version>2.12.2</xerces.version>
    <velocity.version>2.4.1</velocity.version>
    <!-- JDBC dependencies -->
    <postgresql.version>42.7.14</postgresql.version>
    <mariadb.version>3.5.9</mariadb.version>
    <mysql.version>8.4.0</mysql.version>
    <!-- test gear -->
    <awaitility.version>4.3.0</awaitility.version>
    <grizzly.version>4.0.2</grizzly.version>
    <junit.version>4.13.2</junit.version>
    <junit5.version>6.1.3</junit5.version>
    <mockito.junit5.version>5.24.0</mockito.junit5.version>
    <!-- fcrepo-specific plugins -->
    <enforcer.plugin.version>3.7.0</enforcer.plugin.version>
    <war.plugin.version>3.5.1</war.plugin.version>
    <!-- default properties that can be altered on the command line -->
    <fcrepo.test.context.path />
  </properties>
  <modules>
    <module>fcrepo-common</module>
    <module>fcrepo-kernel-api</module>
    <module>fcrepo-kernel-impl</module>
    <module>fcrepo-webapp</module>
    <module>fcrepo-event-serialization</module>
    <module>fcrepo-jms</module>
    <module>fcrepo-http-commons</module>
    <module>fcrepo-http-api</module>
    <module>fcrepo-auth-common</module>
    <module>fcrepo-configs</module>
    <module>fcrepo-parent</module>
    <module>fcrepo-integration-rdf</module>
    <module>fcrepo-auth-webac</module>
    <module>fcrepo-persistence-api</module>
    <module>fcrepo-persistence-common</module>
    <module>fcrepo-persistence-ocfl</module>
    <module>fcrepo-search-api</module>
    <module>fcrepo-search-impl</module>
    <module>fcrepo-stats-api</module>
    <module>fcrepo-stats-impl</module>

  </modules>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>${commons-pool2.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-api</artifactId>
        <version>${jakarta.jakartaee-api.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>${jakarta.annotation.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>${jakarta.servlet.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.ws.rs</groupId>
        <artifactId>jakarta.ws.rs-api</artifactId>
        <version>${jakarta.ws.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>${jakarta.xml.version}</version>
	  </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>${jaxb.version}</version>
	  </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.jms</groupId>
        <artifactId>jakarta.jms-api</artifactId>
        <version>${jakarta.jms.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>${jersey.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.osgi</groupId>
            <artifactId>osgi.core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.hk2</groupId>
            <artifactId>osgi-resource-locator</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-spring6</artifactId>
        <version>${jersey.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.glassfish.hk2.external</groupId>
            <artifactId>aopalliance-repackaged</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.hk2</groupId>
            <artifactId>hk2-utils</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.hk2</groupId>
            <artifactId>hk2-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.hk2</groupId>
            <artifactId>hk2</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <!-- define these versions to make the hk2 versions consistent -->
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2</artifactId>
        <version>${hk2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-api</artifactId>
        <version>${hk2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-locator</artifactId>
        <version>${hk2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-utils</artifactId>
        <version>${hk2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>spring-bridge</artifactId>
        <version>${hk2.version}</version>
      </dependency>

      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <!-- shiro-bom manages logback-core; keep it at the same version as logback-classic. -->
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.checkerframework</groupId>
            <artifactId>checker-qual</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.errorprone</groupId>
            <artifactId>error_prone_annotations</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>apache-jena-libs</artifactId>
        <version>${jena.version}</version>
        <type>pom</type>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>jena-core</artifactId>
        <version>${jena.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>jena-arq</artifactId>
        <version>${jena.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.apicatalog</groupId>
        <artifactId>titanium-json-ld</artifactId>
        <version>${titanium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>${velocity.version}</version>
        <exclusions>
          <exclusion>
            <groupId>logkit</groupId>
            <artifactId>logkit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson2.annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${jackson2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.jsonld-java</groupId>
        <artifactId>jsonld-java</artifactId>
        <version>${jsonld.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient-osgi</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
        <scope>runtime</scope>
      </dependency>
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-core</artifactId>
        <version>${micrometer.version}</version>
      </dependency>
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
        <version>${micrometer.version}</version>
      </dependency>
      <!-- Import the Prometheus BOM so every prometheus-metrics-* artifact, including the ones
           micrometer-registry-prometheus pulls in transitively, resolves to prometheus.version. -->
      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>prometheus-metrics-bom</artifactId>
        <version>${prometheus.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- fcrepo-storage-ocfl brings its own ocfl-java-core; keep it in step with ocfl-java-aws. -->
      <dependency>
        <groupId>io.ocfl</groupId>
        <artifactId>ocfl-java-core</artifactId>
        <version>${ocfl-java.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-micrometer</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
        <version>${caffeine.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.errorprone</groupId>
            <artifactId>error_prone_annotations</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>dev.failsafe</groupId>
        <artifactId>failsafe</artifactId>
        <version>${failsafe.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-commons</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-observation</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-observation</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${xerces.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>${commons-text.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcore.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient-cache</artifactId>
        <version>${httpclient.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>${hikari.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>${mariadb.version}</version>
      </dependency>
      <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>${mysql.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>${postgresql.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.checkerframework</groupId>
            <artifactId>checker-qual</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
        <version>${flyway.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-mysql</artifactId>
        <version>${flyway.version}</version>
      </dependency>
      <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-database-postgresql</artifactId>
        <version>${flyway.version}</version>
      </dependency>

      <dependency>
        <groupId>org.flywaydb.flyway-test-extensions</groupId>
        <artifactId>flyway-test-extensions</artifactId>
        <version>${flyway.test.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.flywaydb.flyway-test-extensions</groupId>
        <artifactId>flyway-spring-test</artifactId>
        <version>${flyway.test.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-bom</artifactId>
        <version>${shiro.version}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <!-- Pin aws-crt ahead of the AWS SDK BOM. The BOM ships an older aws-crt that is missing
           S3MetaRequestOptions$ResponseFileOption, causing ClassNotFoundException on S3 writes. -->
      <dependency>
        <groupId>software.amazon.awssdk.crt</groupId>
        <artifactId>aws-crt</artifactId>
        <version>${aws.crt.version}</version>
      </dependency>
      <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>${aws.sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- test gear -->
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${junit5.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>${hamcrest.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>${httpmime.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mockito.junit5.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.glassfish.grizzly</groupId>
        <artifactId>grizzly-http-server</artifactId>
        <scope>test</scope>
        <version>${grizzly.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.grizzly</groupId>
        <artifactId>grizzly-http-servlet</artifactId>
        <scope>test</scope>
        <version>${grizzly.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-grizzly2-http</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.test-framework.providers</groupId>
        <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
        <version>${jersey.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>${awaitility.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2database.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>${netty.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.artemis</groupId>
        <artifactId>artemis-bom</artifactId>
        <version>2.53.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${failsafe.plugin.version}</version>
          <configuration>
            <systemPropertyVariables>
              <fcrepo.dynamic.test.port>${fcrepo.dynamic.test.port}</fcrepo.dynamic.test.port>
              <fcrepo.test.context.path>${fcrepo.test.context.path}</fcrepo.test.context.path>
              <fcrepo.ocfl.staging.dir>target/fcrepo-data/ocfl-staging</fcrepo.ocfl.staging.dir>
              <fcrepo.ocfl.storage.root.dir>target/fcrepo-data/ocfl-root</fcrepo.ocfl.storage.root.dir>
              <fcrepo.ocfl.work.dir>target/fcrepo-data/ocfl-work</fcrepo.ocfl.work.dir>
              <integration-test>true</integration-test>
            </systemPropertyVariables>
          </configuration>
        </plugin>

        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>${war.plugin.version}</version>
          <configuration>
            <failOnMissingWebXml>false</failOnMissingWebXml>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${build-helper.plugin.version}</version>
          <!-- reserve a port under the property ${fcrepo.dynamic.test.port} for integration
            tests -->
          <configuration>
            <portNames>
              <portName>fcrepo.dynamic.test.port</portName>
            </portNames>
          </configuration>
          <executions>
            <execution>
              <id>reserve-port</id>
              <phase>pre-integration-test</phase>
              <goals>
                <goal>reserve-network-port</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>org.eclipse.jetty.ee10</groupId>
          <artifactId>jetty-ee10-maven-plugin</artifactId>
          <version>${jetty.version}</version>
          <configuration>
            <webApp>
              <contextPath>/</contextPath>
            </webApp>
          </configuration>
        </plugin>

        <plugin>
          <groupId>io.github.git-commit-id</groupId>
          <artifactId>git-commit-id-maven-plugin</artifactId>
          <version>10.0.1</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>com.github.github</groupId>
        <artifactId>site-maven-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>

      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
        <configuration>
          <argLine>-XX:MaxMetaspaceSize=512m --add-opens=java.base/java.lang=ALL-UNNAMED ${jacoco.agent.it.arg}</argLine>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-release-plugin</artifactId>
      </plugin>

      <plugin>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>

      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <!-- this generates the jar paths used by the surefire plugin for the mockito jar -->
        <executions>
          <execution>
            <goals>
              <goal>properties</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <!--
            This line enables code-coverage. However, it also blows the build's permgen.
            Fix me!
          -->
          <argLine>-XX:MaxMetaspaceSize=512m ${jacoco.agent.unit.arg} -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.junit5.version}/mockito-core-${mockito.junit5.version}.jar</argLine>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
          <configuration>
            <excludes>
              <exclude>**/SearchIndexMetrics.class</exclude>
            </excludes>
          </configuration>
          <executions>
            <execution>
              <id>default-prepare-agent</id>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
              <configuration>
                <propertyName>jacoco.agent.unit.arg</propertyName>
                <append>true</append>
              </configuration>
            </execution>
            <execution>
              <id>default-prepare-agent-integration</id>
              <goals>
                <goal>prepare-agent-integration</goal>
              </goals>
              <configuration>
                <propertyName>jacoco.agent.it.arg</propertyName>
                <append>true</append>
                <excludes>
                  <exclude>**/*CSS3ParserTokenManager*</exclude>
                  <exclude>**/*StyleAttributes*</exclude>
                </excludes>
              </configuration>
            </execution>
            <execution>
              <id>report</id>
              <phase>verify</phase>
              <goals>
                <goal>report</goal>
              </goals>
              <configuration>
                <outputDirectory>${project.build.directory}/jacoco</outputDirectory>
                <formats>XML</formats>
              </configuration>
            </execution>
            <execution>
              <id>merge-coverage</id>
              <phase>verify</phase>
              <goals>
                <goal>merge</goal>
              </goals>
              <configuration>
                <fileSets>
                  <fileSet>
                    <directory>${project.build.directory}</directory>
                    <includes>
                      <include>jacoco.exec</include>
                      <include>jacoco-it.exec</include>
                    </includes>
                  </fileSet>
                </fileSets>
                <destFile>${project.build.directory}/jacoco/jacoco-merged.exec</destFile>
              </configuration>
            </execution>
            <execution>
              <id>generate-report</id>
              <phase>verify</phase>
              <goals>
                <goal>report</goal>
              </goals>
              <configuration>
                <dataFile>${project.build.directory}/jacoco/jacoco-merged.exec</dataFile>
                <outputDirectory>${project.build.directory}/jacoco</outputDirectory>
                <formats>XML</formats>
              </configuration>
            </execution>
          </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changelog-plugin</artifactId>
        <version>${maven.changelog.version}</version>
      </plugin>

      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${enforcer.plugin.version}</version>
        <dependencies>
        </dependencies>
        <executions>
          <execution>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.6.3,)</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>[21,)</version>
                </requireJavaVersion>
                <DependencyConvergence />
                <bannedDependencies>
                  <searchTransitive>true</searchTransitive>
                  <excludes>
                    <exclude>commons-logging</exclude>
                    <exclude>log4j:log4j</exclude>
                    <exclude>org.slf4j:slf4j-jcl</exclude>
                    <exclude>org.slf4j:slf4j-jdk14</exclude>
                    <exclude>org.slf4j:slf4j-log4j12</exclude>
                    <exclude>org.slf4j:slf4j-log4j13</exclude>
                    <exclude>org.slf4j:slf4j-nop</exclude>
                    <exclude>org.slf4j:slf4j-simple</exclude>
                    <exclude>org.apache.cxf</exclude>
                    <exclude>org.glassfish.grizzly</exclude>
                    <exclude>org.glassfish.jersey.test-framework.providers</exclude>
                  </excludes>
                  <includes>
                    <include>org.glassfish.grizzly:*:*:*:test</include>
                    <include>org.glassfish.jersey.test-framework.providers:*:*:*:test</include>
                  </includes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <!-- Use this profile to build fcrepo and only run the ITests -->
    <profile>
      <id>db-test</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <configuration>
              <skipSource>true</skipSource>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>com.mycila</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Use this profile to build fcrepo quickly, skipping all nonessential plugins -->
    <profile>
      <id>fast-build</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <configuration>
              <skipSource>true</skipSource>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>com.mycila</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/fcrepo/fcrepo/issues</url>
  </issueManagement>

  <ciManagement>
    <system>Jenkins</system>
    <url>http://jenkins.fcrepo.org/job/fcrepo</url>
  </ciManagement>

  <scm>
    <connection>scm:git:git://github.com/${project_organization}/${project_name}.git</connection>
    <developerConnection>scm:git:git@github.com:${project_organization}/${project_name}.git</developerConnection>
    <url>https://github.com/${project_organization}/${project_name}</url>
    <tag>fcrepo-6.5.1</tag>
  </scm>

</project>