<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You 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/xsd/maven-4.0.0.xsd">
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>29</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.bookkeeper</groupId>
  <version>4.18.0-SNAPSHOT</version>
  <artifactId>bookkeeper</artifactId>
  <packaging>pom</packaging>
  <name>Apache BookKeeper :: Parent</name>
  <url>http://bookkeeeper.apache.org</url>
  <inceptionYear>2011</inceptionYear>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:https://github.com/apache/bookkeeper.git</connection>
    <developerConnection>scm:git:https://github.com/apache/bookkeeper.git</developerConnection>
    <url>https://github.com/apache/bookkeeper</url>
    <tag>branch-4.13</tag>
  </scm>
  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/BOOKKEEPER</url>
  </issueManagement>
  <ciManagement>
    <system>Jenkins</system>
    <url>https://builds.apache.org/job/bookkeeper-master</url>
  </ciManagement>
  <modules>
    <module>buildtools</module>
    <module>circe-checksum</module>
    <module>bookkeeper-common</module>
    <module>bookkeeper-common-allocator</module>
    <module>stats</module>
    <module>bookkeeper-proto</module>
    <module>bookkeeper-server</module>
    <module>bookkeeper-benchmark</module>
    <module>bookkeeper-http</module>
    <module>stream</module>
    <module>tools</module>
    <module>cpu-affinity</module>
    <module>metadata-drivers</module>
    <module>bookkeeper-dist</module>
    <module>shaded</module>
    <module>microbenchmarks</module>
    <module>bookkeeper-slogger</module>
    <module>tests</module>
    <module>native-io</module>
    <module>testtools</module>
  </modules>
  <mailingLists>
    <mailingList>
      <name>BookKeeper User</name>
      <subscribe>user-subscribe@bookkeeper.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@bookkeeper.apache.org</unsubscribe>
      <post>user@bookkeeper.apache.org</post>
      <archive>http://www.mail-archive.com/user@bookkeeper.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>BookKeeper Dev</name>
      <subscribe>dev-subscribe@bookkeeper.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@bookkeeper.apache.org</unsubscribe>
      <post>dev@bookkeeper.apache.org</post>
      <archive>http://www.mail-archive.com/dev@bookkeeper.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>BookKeeper Commits</name>
      <subscribe>commits-subscribe@bookkeeper.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@bookkeeper.apache.org</unsubscribe>
      <post>commits@bookkeeper.apache.org</post>
      <archive>http://www.mail-archive.com/commits@bookkeeper.apache.org</archive>
    </mailingList>
  </mailingLists>
  <developers>
    <developer>
      <name>The Apache BookKeeper Team</name>
      <email>dev@bookkeeper.apache.org</email>
      <url>http://bookkeeper.apache.org</url>
      <organization>Apache Software Foundation</organization>
      <organizationUrl>http://www.apache.org</organizationUrl>
    </developer>
  </developers>
  <properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <redirectTestOutputToFile>true</redirectTestOutputToFile>
    <testRetryCount>2</testRetryCount>
    <src.dir>src/main/java</src.dir>
    <test.additional.args />

    <!-- dependencies -->
    <arquillian-cube.version>1.18.2</arquillian-cube.version>
    <arquillian-junit.version>1.8.0.Final</arquillian-junit.version>
    <codahale.metrics.version>3.0.1</codahale.metrics.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-collections4.version>4.1</commons-collections4.version>
    <commons-codec.version>1.6</commons-codec.version>
    <commons-configuration.version>1.10</commons-configuration.version>
    <commons-compress.version>1.26.0</commons-compress.version>
    <commons-lang.version>2.6</commons-lang.version>
    <commons-lang3.version>3.6</commons-lang3.version>
    <commons-io.version>2.7</commons-io.version>
    <bouncycastle.version>1.0.2.4</bouncycastle.version>
    <curator.version>5.1.0</curator.version>
    <dropwizard.version>4.1.12.1</dropwizard.version>
    <etcd.version>0.5.11</etcd.version>
    <freebuilder.version>2.8.0</freebuilder.version>
    <google.code.version>3.0.2</google.code.version>
    <google.errorprone.version>2.9.0</google.errorprone.version>
    <grpc.version>1.56.0</grpc.version>
    <guava.version>32.0.1-jre</guava.version>
    <kerby.version>1.1.1</kerby.version>
    <hadoop.version>3.3.5</hadoop.version>
    <hdrhistogram.version>2.1.10</hdrhistogram.version>
    <jackson.version>2.13.4.20221013</jackson.version>
    <jcommander.version>1.82</jcommander.version>
    <jetty.version>9.4.53.v20231009</jetty.version>
    <jmh.version>1.37</jmh.version>
    <jmock.version>2.8.2</jmock.version>
    <jsoup.version>1.15.3</jsoup.version>
    <junit.version>4.13.2</junit.version>
    <hamcrest.version>1.3</hamcrest.version>
    <junit5.version>5.10.2</junit5.version>
    <assertj-core.version>3.25.3</assertj-core.version>
    <awaitility.version>4.2.0</awaitility.version>
    <libthrift.version>0.14.2</libthrift.version>
    <lombok.version>1.18.32</lombok.version>
    <log4j.version>2.18.0</log4j.version>
    <lz4.version>1.3.0</lz4.version>
    <mockito.version>4.11.0</mockito.version>
    <netty.version>4.1.108.Final</netty.version>
    <netty-iouring.version>0.0.25.Final</netty-iouring.version>
    <ostrich.version>9.1.3</ostrich.version>
    <prometheus.version>0.15.0</prometheus.version>
    <datasketches.version>0.8.3</datasketches.version>
    <httpclient.version>4.5.13</httpclient.version>
    <httpcore.version>4.4.15</httpcore.version>
    <protobuf.version>3.22.3</protobuf.version>
    <protoc3.version>3.22.3</protoc3.version>
    <protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version>
    <reflections.version>0.9.11</reflections.version>
    <rocksdb.version>7.9.2</rocksdb.version>
    <shrinkwrap.version>3.3.0</shrinkwrap.version>
    <slf4j.version>1.7.32</slf4j.version>
    <snakeyaml.version>2.0</snakeyaml.version>
    <spotbugs-annotations.version>4.6.0</spotbugs-annotations.version>
    <javax-annotations-api.version>1.3.2</javax-annotations-api.version>
    <testcontainers.version>1.19.4</testcontainers.version>
    <vertx.version>4.5.7</vertx.version>
    <zookeeper.version>3.8.4</zookeeper.version>
    <snappy.version>1.1.10.5</snappy.version>
    <jctools.version>2.1.2</jctools.version>
    <hppc.version>0.9.1</hppc.version>
    <!-- plugin dependencies -->
    <apache-rat-plugin.version>0.16.1</apache-rat-plugin.version>
    <cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version>
    <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
    <dockerfile-maven-plugin.version>1.4.13</dockerfile-maven-plugin.version>
    <download-maven-plugin.version>1.6.8</download-maven-plugin.version>
    <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
    <license-maven-plugin.version>1.6</license-maven-plugin.version>
    <lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
    <maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
    <maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
    <maven-compiler-plugin.version>3.12.1</maven-compiler-plugin.version>
    <maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
    <dependency-check-maven.version>8.0.2</dependency-check-maven.version>
    <nar-maven-plugin.version>3.10.1</nar-maven-plugin.version>
    <os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
    <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
    <puppycrawl.checkstyle.version>9.3</puppycrawl.checkstyle.version>
    <spotbugs-maven-plugin.version>4.7.3.2</spotbugs-maven-plugin.version>
    <forkCount.variable>1</forkCount.variable>
    <servlet-api.version>4.0.0</servlet-api.version>
    <rxjava.version>3.0.1</rxjava.version>
    <otel.version>1.26.0</otel.version>
    <UBUNTU_MIRROR>http://archive.ubuntu.com/ubuntu/</UBUNTU_MIRROR>
    <UBUNTU_SECURITY_MIRROR>http://security.ubuntu.com/ubuntu/</UBUNTU_SECURITY_MIRROR>
  </properties>

  <!-- dependency definitions -->
  <dependencyManagement>
    <dependencies>
      <!-- provided dependencies -->
      <dependency>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-annotations</artifactId>
        <version>${spotbugs-annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>${javax-annotations-api.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${google.code.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.errorprone</groupId>
        <artifactId>error_prone_annotations</artifactId>
        <version>${google.errorprone.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
      <dependency>
        <groupId>org.inferred</groupId>
        <artifactId>freebuilder</artifactId>
        <version>${freebuilder.version}</version>
      </dependency>

      <!-- logging dependencies -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <!-- commons dependencies -->
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons-configuration.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>${commons-collections4.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3.version}</version>
      </dependency>
      <!-- bouncy -->
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bc-fips</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <!-- reflection libs -->
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${reflections.version}</version>
      </dependency>

      <!-- compression libs -->
      <dependency>
        <groupId>net.jpountz.lz4</groupId>
        <artifactId>lz4</artifactId>
        <version>${lz4.version}</version>
      </dependency>

      <!-- yaml dependencies -->
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${snakeyaml.version}</version>
      </dependency>

      <!-- jackson dependencies -->
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jackson.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${servlet-api.version}</version>
      </dependency>

      <!-- protobuf dependencies -->
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java-util</artifactId>
        <version>${protobuf.version}</version>
      </dependency>

      <!-- libthrift dependency -->
      <dependency>
        <groupId>org.apache.thrift</groupId>
        <artifactId>libthrift</artifactId>
        <version>${libthrift.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>${netty.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.netty.incubator</groupId>
        <artifactId>netty-incubator-transport-native-io_uring</artifactId>
        <version>${netty-iouring.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty.incubator</groupId>
        <artifactId>netty-incubator-transport-native-io_uring</artifactId>
        <version>${netty-iouring.version}</version>
        <classifier>linux-x86_64</classifier>
      </dependency>
      <dependency>
        <groupId>io.netty.incubator</groupId>
        <artifactId>netty-incubator-transport-native-io_uring</artifactId>
        <version>${netty-iouring.version}</version>
        <classifier>linux-aarch_64</classifier>
      </dependency>
      <dependency>
        <groupId>io.netty.incubator</groupId>
        <artifactId>netty-incubator-transport-classes-io_uring</artifactId>
        <version>${netty-iouring.version}</version>
      </dependency>

      <!-- grpc dependencies -->
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-bom</artifactId>
        <version>${grpc.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- rocksdb dependencies -->
      <dependency>
        <groupId>org.rocksdb</groupId>
        <artifactId>rocksdbjni</artifactId>
        <version>${rocksdb.version}</version>
      </dependency>

      <!-- zookeeper dependencies -->
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        <exclusions>
          <exclusion>
            <groupId>net.java.dev.javacc</groupId>
            <artifactId>javacc</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        <type>test-jar</type>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
         <!-- needed by ZooKeeper server -->
         <groupId>org.xerial.snappy</groupId>
         <artifactId>snappy-java</artifactId>
         <version>${snappy.version}</version>
      </dependency>

      <!-- curator dependencies -->
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- http server dependencies -->
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>${vertx.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-web</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <!-- JCTools -->
      <dependency>
        <groupId>org.jctools</groupId>
        <artifactId>jctools-core</artifactId>
        <version>${jctools.version}</version>
      </dependency>

      <!-- dropwizard metrics, for stats and for ZooKeeper server -->
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <!-- stats dependencies -->
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jmx</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-graphite</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <!-- prometheus -->
      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient</artifactId>
        <version>${prometheus.version}</version>
      </dependency>
      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_hotspot</artifactId>
        <version>${prometheus.version}</version>
      </dependency>
      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_servlet</artifactId>
        <version>${prometheus.version}</version>
      </dependency>
      <!-- data-sketches -->
      <dependency>
        <groupId>com.yahoo.datasketches</groupId>
        <artifactId>sketches-core</artifactId>
        <version>${datasketches.version}</version>
      </dependency>
      <!-- opentelemetry -->
      <dependency>
        <groupId>io.opentelemetry</groupId>
        <artifactId>opentelemetry-bom</artifactId>
        <version>${otel.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- http-client -->
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcore.version}</version>
      </dependency>

      <!-- tools dependencies -->
      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>${jcommander.version}</version>
      </dependency>

      <!-- pref dependencies -->
      <dependency>
        <groupId>org.hdrhistogram</groupId>
        <artifactId>HdrHistogram</artifactId>
        <version>${hdrhistogram.version}</version>
      </dependency>

      <!-- test dependencies -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit5.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj-core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jmock</groupId>
        <artifactId>jmock</artifactId>
        <version>${jmock.version}</version>
      </dependency>
      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>${awaitility.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-inline</artifactId>
        <version>${mockito.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-minikdc</artifactId>
        <version>${hadoop.minikdc.version}</version>
      </dependency>
      <dependency>
        <groupId>org.arquillian.cube</groupId>
        <artifactId>arquillian-cube-docker</artifactId>
        <version>${arquillian-cube.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.github.docker-java</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-standalone</artifactId>
        <version>${arquillian-junit.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.github.docker-java</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${groovy.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
        <version>${shrinkwrap.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-api</artifactId>
        <version>${shrinkwrap.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers-bom</artifactId>
        <version>${testcontainers.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>${jsoup.version}</version>
      </dependency>

      <!-- benchmark dependencies -->
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-core</artifactId>
        <version>${jmh.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-generator-annprocess</artifactId>
        <version>${jmh.version}</version>
      </dependency>

      <!-- import for rxjava3 in maven -->
      <dependency>
        <groupId>io.reactivex.rxjava3</groupId>
        <artifactId>rxjava</artifactId>
        <version>${rxjava.version}</version>
      </dependency>

      <dependency>
        <groupId>com.carrotsearch</groupId>
        <artifactId>hppc</artifactId>
        <version>${hppc.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <!-- dependencies for all modules -->
  <dependencies>
    <!-- provided dependencies (available at compilation and test classpths and *NOT* packaged) -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.github.spotbugs</groupId>
      <artifactId>spotbugs-annotations</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- compilation dependencies (available at all classpaths) -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-configuration</groupId>
      <artifactId>commons-configuration</artifactId>
    </dependency>
    <!-- test dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.vintage</groupId>
      <artifactId>junit-vintage-engine</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency><!-- Needed by junit -->
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-inline</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <sourceDirectory>${src.dir}</sourceDirectory>
    <extensions>
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>${os-maven-plugin.version}</version>
      </extension>
    </extensions>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle-plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${puppycrawl.checkstyle.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>buildtools/src/main/resources/bookkeeper/checkstyle.xml</configLocation>
            <suppressionsLocation>buildtools/src/main/resources/bookkeeper/suppressions.xml</suppressionsLocation>
            <inputEncoding>UTF-8</inputEncoding>
            <consoleOutput>true</consoleOutput>
            <failOnViolation>true</failOnViolation>
            <includeResources>false</includeResources>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
          </configuration>
          <executions>
            <execution>
              <id>checkstyle</id>
              <phase>validate</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>com.github.maven-nar</groupId>
          <artifactId>nar-maven-plugin</artifactId>
          <version>${nar-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <!-- skip javadoc generation by default, use -Pdelombok to activate -->
            <skip>true</skip>
            <doclint>none</doclint>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${spotbugs-maven-plugin.version}</version>
        <configuration>
          <excludeFilterFile>${session.executionRootDirectory}/buildtools/src/main/resources/bookkeeper/findbugsExclude.xml</excludeFilterFile>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <configuration>
          <encoding>UTF-8</encoding>
          <showDeprecation>true</showDeprecation>
          <showWarnings>true</showWarnings>
          <annotationProcessorPaths>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>${lombok.version}</version>
            </path>
          </annotationProcessorPaths>
          <compilerArgs>
            <arg>-parameters</arg>
          </compilerArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine>-Xmx2G -Djava.net.preferIPv4Stack=true -Dio.netty.leakDetection.level=paranoid ${test.additional.args}</argLine>
          <redirectTestOutputToFile>${redirectTestOutputToFile}</redirectTestOutputToFile>
          <forkCount>${forkCount.variable}</forkCount>
          <reuseForks>false</reuseForks>
          <trimStackTrace>false</trimStackTrace>
          <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
          <rerunFailingTestsCount>${testRetryCount}</rerunFailingTestsCount>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <notimestamp>true</notimestamp>
          <!--
          Cannot specify subpackages with maven.compiler.release because of bug https://bugs.openjdk.org/browse/JDK-8175277
          <subpackages>org.apache.bookkeeper.client:org.apache.bookkeeper.client.api:org.apache.bookkeeper.common.annotation:org.apache.bookkeeper.conf:org.apache.bookkeeper.feature:org.apache.bookkeeper.stats</subpackages>
          -->
          <groups>
            <group>
              <title>Bookkeeper Client</title>
              <packages>org.apache.bookkeeper.client:org.apache.bookkeeper.common.annotation:org.apache.bookkeeper.conf:org.apache.bookkeeper.feature</packages>
            </group>
            <group>
              <title>Bookkeeper Client (New Fluent API - Experimental)</title>
              <packages>org.apache.bookkeeper.client.api</packages>
            </group>
            <group>
              <title>Bookkeeper Stats API</title>
              <!-- currently codahale is placed under `stats` package unfortunately.
                   we have done a copy to its own package in future in 4.7.0, will remove it in 4.8.0.
                   {@link https://github.com/apache/bookkeeper/issues/762} -->
              <packages>org.apache.bookkeeper.stats</packages>
            </group>
            <group>
              <title>Bookkeeper Stats Providers</title>
              <packages>org.apache.bookkeeper.stats.codahale:org.apache.bookkeeper.stats.prometheus</packages>
            </group>
          </groups>
          <doctitle>BookKeeper Java API (version ${project.version})</doctitle>
          <overview>site/_site/overview/index.html</overview>
          <show>package</show>
          <detectJavaApiLink>false</detectJavaApiLink>
          <!-- The javadoc plugin only runs in the javadoc modules. But with the default configuration it tries
               to run a new maven instance in every dependency, in order to generate the apidocs there as well.
               {@link https://maven.apache.org/plugins-archives/maven-javadoc-plugin-3.1.1/javadoc-mojo.html#detectOfflineLinks} -->
          <detectOfflineLinks>false</detectOfflineLinks>
        </configuration>
        <executions>
          <execution>
            <id>aggregate</id>
            <goals>
              <goal>aggregate</goal>
            </goals>
            <phase>site</phase>
          </execution>
        </executions>
      </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>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>${apache-rat-plugin.version}</version>
        <configuration>
          <excludes>
            <!-- This is generated during maven build -->
            <exclude>dependency-reduced-pom.xml</exclude>

            <!-- IntelliJ -->
            <exclude>**/.idea/**</exclude>

            <!-- Git -->
            <exclude>.git/**/*</exclude>
            <exclude>.github/**/*</exclude>
            <exclude>**/.gitignore</exclude>

            <!-- SVN -->
            <exclude>**/.svn/**/*</exclude>

            <!-- Built directory -->
            <exclude>**/target/**/*</exclude>

            <!-- Project files -->
            <exclude>**/README.md</exclude>
            <exclude>**/README.rst</exclude>
            <exclude>**/apidocs/*</exclude>
            <exclude>**/src/main/resources/deps/**</exclude>
            <exclude>**/META-INF/**</exclude>

            <!-- IDE files (eclipse & intelliJ) -->
            <exclude>**/.classpath</exclude>
            <exclude>**/.project</exclude>
            <exclude>**/.checkstyle</exclude>
            <exclude>**/.settings/*</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/*.iws</exclude>
            <exclude>**/*.ipr</exclude>
            <!-- sdkman -->
            <exclude>**/.sdkmanrc</exclude>

            <!-- Maven (CI builds) -->
            <exclude>.repository/**</exclude>

            <!-- Website -->
            <exclude>site/**</exclude>
            <exclude>site2/**</exclude>
            <exclude>site3/**</exclude>

            <!-- Thrift generated files -->
            <exclude>**/org/apache/distributedlog/thrift/*</exclude>

            <!-- logs -->
            <exclude>**/*.log</exclude>

            <!-- json files -->
            <exclude>**/*.json</exclude>

            <!-- data -->
            <exclude>data/**</exclude>

            <!-- vargrant -->
            <exclude>dev/.vagrant/**</exclude>

            <!-- protobuf generated python files-->
            <exclude>**/proto/**.py</exclude>
            <!-- python build/test env -->
            <exclude>**/python/.coverage</exclude>
            <exclude>**/python/.Python</exclude>
            <exclude>**/python/bin/**</exclude>
            <exclude>**/python/include/**</exclude>
            <exclude>**/python/lib/**</exclude>
            <exclude>**/**.pyc</exclude>
            <exclude>**/.nox/**</exclude>
            <exclude>**/.pytest_cache/**</exclude>
            <exclude>**/__pycache__/**</exclude>
            <exclude>**/bookkeeper.egg-info/**</exclude>

            <!-- test resources -->
            <exclude>**/test_conf_2.conf</exclude>
          </excludes>
          <consoleOutput>true</consoleOutput>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.googlecode.maven-download-plugin</groupId>
        <artifactId>download-maven-plugin</artifactId>
        <version>${download-maven-plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>${exec-maven-plugin.version}</version>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>owasp-dependency-check</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <version>${dependency-check-maven.version}</version>
            <configuration>
              <suppressionFiles>
                <suppressionFile>src/owasp-dependency-check-suppressions.xml</suppressionFile>
              </suppressionFiles>
              <failBuildOnCVSS>7</failBuildOnCVSS>
              <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
              <nodeAnalyzerEnabled>false</nodeAnalyzerEnabled>
              <yarnAuditAnalyzerEnabled>false</yarnAuditAnalyzerEnabled>
              <pyDistributionAnalyzerEnabled>false</pyDistributionAnalyzerEnabled>
              <pyPackageAnalyzerEnabled>false</pyPackageAnalyzerEnabled>
              <pipAnalyzerEnabled>false</pipAnalyzerEnabled>
              <pipfileAnalyzerEnabled>false</pipfileAnalyzerEnabled>
              <retireJsAnalyzerEnabled>false</retireJsAnalyzerEnabled>
              <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
              <mixAuditAnalyzerEnabled>false</mixAuditAnalyzerEnabled>
              <nugetconfAnalyzerEnabled>false</nugetconfAnalyzerEnabled>
              <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
              <skipSystemScope>true</skipSystemScope>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>aggregate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <version>${dependency-check-maven.version}</version>
            <reportSets>
              <reportSet>
                <reports>
                  <report>aggregate</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>delombok</id>
      <properties>
        <src.dir>${project.build.directory}/generated-sources/delombok</src.dir>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
            <version>${lombok-maven-plugin.version}</version>
            <inherited>true</inherited>
            <dependencies>
              <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <phase>generate-sources</phase>
                <goals>
                  <goal>delombok</goal>
                </goals>
                <configuration>
                  <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
                  <outputDirectory>${project.build.directory}/generated-sources/delombok</outputDirectory>
                  <formatPreferences>
                    <pretty />
                  </formatPreferences>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <!-- activate javadoc generation -->
              <skip>false</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- the profiles below are only for development purpose -->
    <profile>
      <id>dev</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>-Xmx2G -Djava.net.preferIPv4Stack=true</argLine>
              <redirectTestOutputToFile>false</redirectTestOutputToFile>
              <forkCount>${forkCount.variable}</forkCount>
              <reuseForks>false</reuseForks>
              <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
              <trimStackTrace>false</trimStackTrace>
              <rerunFailingTestsCount>0</rerunFailingTestsCount>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dev-debug</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>-Xmx2G -Djava.net.preferIPv4Stack=true -Dio.netty.leakDetection.level=paranoid -Dbookkeeper.log.root.level=INFO -Dbookkeeper.log.root.appender=CONSOLE</argLine>
              <redirectTestOutputToFile>false</redirectTestOutputToFile>
              <forkCount>${forkCount.variable}</forkCount>
              <reuseForks>false</reuseForks>
              <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
              <trimStackTrace>false</trimStackTrace>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>aarch64-linux-nar-aol</id>
      <activation>
        <os>
          <family>linux</family>
          <arch>aarch64</arch>
        </os>
      </activation>
      <properties>
        <nar.aolProperties>src/aarch64_aol.properties</nar.aolProperties>
      </properties>
    </profile>
    <profile>
      <id>mac-apple-silicon</id>
      <activation>
        <os>
          <family>mac</family>
          <arch>aarch64</arch>
        </os>
      </activation>
      <properties>
        <nar.aolProperties>src/aarch64_aol.properties</nar.aolProperties>
      </properties>
    </profile>
    <profile>
      <id>jdk11</id>
      <activation>
        <jdk>[11,)</jdk>
      </activation>
      <properties>
        <!-- prevents silent NoSuchMethodErrors that happen at runtime on Java 8 -->
        <!-- see https://github.com/apache/bookkeeper/issues/4202 -->
        <maven.compiler.release>${maven.compiler.target}</maven.compiler.release>
        <!-- required for running tests on Java 11+ -->
        <test.additional.args>
          --add-opens java.base/java.io=ALL-UNNAMED
          --add-opens java.base/java.lang=ALL-UNNAMED
          --add-opens java.base/java.lang.reflect=ALL-UNNAMED
          --add-opens java.base/java.net=ALL-UNNAMED
          --add-opens java.base/java.nio=ALL-UNNAMED
          --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED
          --add-opens java.base/java.nio.file=ALL-UNNAMED
          --add-opens java.base/java.util=ALL-UNNAMED
          --add-opens java.base/java.util.concurrent=ALL-UNNAMED
          --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
          --add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED
          --add-opens java.base/java.util.stream=ALL-UNNAMED
          --add-opens java.base/java.util.zip=ALL-UNNAMED
          --add-opens java.base/java.time=ALL-UNNAMED
          --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
          --add-opens java.base/sun.net.dns=ALL-UNNAMED
          --add-opens java.base/sun.nio.ch=ALL-UNNAMED
          --add-opens java.base/sun.security.jca=ALL-UNNAMED
          --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED
        </test.additional.args>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                <!-- for some reason, setting maven.compiler.release property alone doesn't work -->
                <release>${maven.compiler.release}</release>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>source-release-assembly</id>
                <configuration>
                  <!-- we have a dedicated distribution module in bookkeeper-dist -->
                  <skipAssembly>true</skipAssembly>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>ubuntu-mirror-set</id>
      <activation>
        <property>
          <name>env.UBUNTU_MIRROR</name>
        </property>
      </activation>
      <properties>
        <!-- Override the default value with the environment variable -->
        <UBUNTU_MIRROR>${env.UBUNTU_MIRROR}</UBUNTU_MIRROR>
      </properties>
    </profile>
    <profile>
      <id>ubuntu-security-mirror-set</id>
      <activation>
        <property>
          <name>env.UBUNTU_SECURITY_MIRROR</name>
        </property>
      </activation>
      <properties>
        <!-- Override the default value with the environment variable -->
        <UBUNTU_SECURITY_MIRROR>${env.UBUNTU_SECURITY_MIRROR}</UBUNTU_SECURITY_MIRROR>
      </properties>
    </profile>
  </profiles>
</project>
