| <!-- |
| 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>31</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>https://bookkeeeper.apache.org</url> |
| <inceptionYear>2011</inceptionYear> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://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.18</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>native-library-common</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>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>https://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>https://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>https://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>https://bookkeeper.apache.org</url> |
| <organization>Apache Software Foundation</organization> |
| <organizationUrl>https://www.apache.org</organizationUrl> |
| </developer> |
| </developers> |
| <properties> |
| <maven.compiler.source>17</maven.compiler.source> |
| <maven.compiler.target>17</maven.compiler.target> |
| <maven.compiler.release>17</maven.compiler.release> |
| <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> |
| --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 |
| --add-opens java.desktop/java.beans=ALL-UNNAMED |
| </test.additional.args> |
| |
| <!-- dependencies --> |
| <arquillian-cube.version>1.18.2</arquillian-cube.version> |
| <arquillian-junit.version>1.8.0.Final</arquillian-junit.version> |
| <bc-non-fips.version>1.78</bc-non-fips.version> |
| <codahale.metrics.version>3.0.1</codahale.metrics.version> |
| <commons-cli.version>1.9.0</commons-cli.version> |
| <commons-collections4.version>4.1</commons-collections4.version> |
| <commons-codec.version>1.18.0</commons-codec.version> |
| <commons-configuration2.version>2.12.0</commons-configuration2.version> |
| <commons-beanutils.version>1.11.0</commons-beanutils.version> |
| <commons-compress.version>1.27.1</commons-compress.version> |
| <commons-lang3.version>3.20.0</commons-lang3.version> |
| <commons-logging.version>1.3.5</commons-logging.version> |
| <commons-io.version>2.19.0</commons-io.version> |
| <bouncycastle.version>1.0.2.5</bouncycastle.version> |
| <curator.version>5.7.1</curator.version> |
| <disruptor.version>4.0.0</disruptor.version> |
| <dropwizard.version>4.1.12.1</dropwizard.version> |
| <jetcd.version>0.7.7</jetcd.version> |
| <failsafe.version>3.2.2</failsafe.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.79.0</grpc.version> |
| <guava.version>32.0.1-jre</guava.version> |
| <kerby.version>1.1.1</kerby.version> |
| <hadoop.version>3.4.2</hadoop.version> |
| <hdrhistogram.version>2.1.10</hdrhistogram.version> |
| <jackson.version>2.17.1</jackson.version> |
| <jcommander.version>1.82</jcommander.version> |
| <jetty.version>12.1.7</jetty.version> |
| <jmh.version>1.37</jmh.version> |
| <jmock.version>2.8.2</jmock.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.27.7</assertj-core.version> |
| <awaitility.version>4.2.0</awaitility.version> |
| <libthrift.version>0.23.0</libthrift.version> |
| <lombok.version>1.18.42</lombok.version> |
| <log4j.version>2.23.1</log4j.version> |
| <lz4-java.version>1.10.2</lz4-java.version> |
| <mockito.version>4.11.0</mockito.version> |
| <netty.version>4.2.14.Final</netty.version> |
| <prometheus.version>0.15.0</prometheus.version> |
| <datasketches.version>7.0.1</datasketches.version> |
| <httpclient.version>4.5.13</httpclient.version> |
| <httpcore.version>4.4.15</httpcore.version> |
| <protobuf.version>4.34.0</protobuf.version> |
| <protoc.version>${protobuf.version}</protoc.version> |
| <protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version> |
| <reflections.version>0.9.11</reflections.version> |
| <rocksdb.version>9.9.3</rocksdb.version> |
| <shrinkwrap.version>3.3.0</shrinkwrap.version> |
| <slf4j.version>2.0.12</slf4j.version> |
| <slog.version>0.9.9</slog.version> |
| <snakeyaml.version>2.0</snakeyaml.version> |
| <spotbugs-annotations.version>4.6.0</spotbugs-annotations.version> |
| <spotless.version>2.43.0</spotless.version> |
| <javax-annotations-api.version>1.3.2</javax-annotations-api.version> |
| <testcontainers.version>1.19.4</testcontainers.version> |
| <vertx.version>4.5.27</vertx.version> |
| <zookeeper.version>3.9.5</zookeeper.version> |
| <snappy.version>1.1.10.5</snappy.version> |
| <jctools.version>4.0.6</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.15.0</maven-compiler-plugin.version> |
| <maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version> |
| <maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version> |
| <dependency-check-maven.version>12.1.0</dependency-check-maven.version> |
| <nar-maven-plugin.version>3.10.1</nar-maven-plugin.version> |
| <os-maven-plugin.version>1.7.1</os-maven-plugin.version> |
| <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version> |
| <lightproto-maven-plugin.version>0.7.0</lightproto-maven-plugin.version> |
| <puppycrawl.checkstyle.version>9.3</puppycrawl.checkstyle.version> |
| <spotbugs-maven-plugin.version>4.7.3.2</spotbugs-maven-plugin.version> |
| <build-helper-maven-plugin.version>3.6.0</build-helper-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.61.0</otel.version> |
| <otel.instrumentation.version>2.27.0</otel.instrumentation.version> |
| <otel.semconv.version>1.41.0</otel.semconv.version> |
| <otel.contrib.version>1.56.0</otel.contrib.version> |
| <okhttp3.version>5.3.1</okhttp3.version> |
| <!-- use okio version that matches the okhttp3 version --> |
| <okio.version>3.16.3</okio.version> |
| <UBUNTU_MIRROR>http://archive.ubuntu.com/ubuntu/</UBUNTU_MIRROR> |
| <UBUNTU_SECURITY_MIRROR>http://security.ubuntu.com/ubuntu/</UBUNTU_SECURITY_MIRROR> |
| <!-- skip javadoc generation by default, use -Pdelombok to activate --> |
| <maven.javadoc.skip>true</maven.javadoc.skip> |
| </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>io.github.merlimat.slog</groupId> |
| <artifactId>slog</artifactId> |
| <version>${slog.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-bom</artifactId> |
| <version>${slf4j.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-bom</artifactId> |
| <version>${log4j.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.lmax</groupId> |
| <artifactId>disruptor</artifactId> |
| <version>${disruptor.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>org.apache.commons</groupId> |
| <artifactId>commons-configuration2</artifactId> |
| <version>${commons-configuration2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-beanutils</groupId> |
| <artifactId>commons-beanutils</artifactId> |
| <version>${commons-beanutils.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-collections</groupId> |
| <artifactId>commons-collections</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| <version>${commons-logging.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>at.yawk.lz4</groupId> |
| <artifactId>lz4-java</artifactId> |
| <version>${lz4-java.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-bom</artifactId> |
| <version>${protobuf.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <!-- libthrift dependency --> |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libthrift</artifactId> |
| <version>${libthrift.version}</version> |
| <exclusions> |
| <!-- Only TJSON/TMemory APIs are used; exclude HTTP/servlet transports and their transitives --> |
| <exclusion> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>javax.annotation</groupId> |
| <artifactId>javax.annotation-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>jakarta.annotation</groupId> |
| <artifactId>jakarta.annotation-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>jakarta.servlet</groupId> |
| <artifactId>jakarta.servlet-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents.client5</groupId> |
| <artifactId>httpclient5</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents.core5</groupId> |
| <artifactId>httpcore5</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents.core5</groupId> |
| <artifactId>httpcore5-h2</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-bom</artifactId> |
| <version>${netty.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <!-- grpc dependencies: grpc-bom enforces a single version across all io.grpc:* artifacts --> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-bom</artifactId> |
| <version>${grpc.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <!-- used by jetcd-core-shaded --> |
| <dependency> |
| <groupId>dev.failsafe</groupId> |
| <artifactId>failsafe</artifactId> |
| <version>${failsafe.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.squareup.okhttp3</groupId> |
| <artifactId>okhttp-bom</artifactId> |
| <version>${okhttp3.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.squareup.okio</groupId> |
| <artifactId>okio-bom</artifactId> |
| <version>${okio.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-grpc</artifactId> |
| <version>${vertx.version}</version> |
| </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.ee8</groupId> |
| <artifactId>jetty-ee8-webapp</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty.ee8</groupId> |
| <artifactId>jetty-ee8-servlet</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| |
| <!-- JCTools --> |
| <dependency> |
| <groupId>org.jctools</groupId> |
| <artifactId>jctools-core</artifactId> |
| <version>${jctools.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jctools</groupId> |
| <artifactId>jctools-core-jdk11</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>org.apache.datasketches</groupId> |
| <artifactId>datasketches-java</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> |
| <dependency> |
| <groupId>io.opentelemetry.contrib</groupId> |
| <artifactId>opentelemetry-gcp-resources</artifactId> |
| <version>${otel.contrib.version}-alpha</version> |
| </dependency> |
| <dependency> |
| <groupId>io.opentelemetry</groupId> |
| <artifactId>opentelemetry-bom-alpha</artifactId> |
| <version>${otel.version}-alpha</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.opentelemetry.instrumentation</groupId> |
| <artifactId>opentelemetry-instrumentation-bom</artifactId> |
| <version>${otel.instrumentation.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.opentelemetry.instrumentation</groupId> |
| <artifactId>opentelemetry-instrumentation-bom-alpha</artifactId> |
| <version>${otel.instrumentation.version}-alpha</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.opentelemetry.semconv</groupId> |
| <artifactId>opentelemetry-semconv</artifactId> |
| <version>${otel.semconv.version}</version> |
| </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> |
| |
| <!-- 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>io.github.merlimat.slog</groupId> |
| <artifactId>slog</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</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-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-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> |
| <configuration> |
| <excludedGroups>flaky</excludedGroups> |
| </configuration> |
| </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> |
| <doclint>none</doclint> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>${maven-enforcer-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>[17,18),[21,22),[25,26)</version> |
| <message>Java 17, 21 or 25 is required to build Bookkeeper.</message> |
| </requireJavaVersion> |
| <requireMavenVersion> |
| <version>3.6.1</version> |
| <message>Maven 3.6.1 or newer is required to build Bookkeeper.</message> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <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-surefire-plugin</artifactId> |
| <configuration> |
| <argLine>-Xmx2G -Dsun.net.inetaddr.ttl=1 -Dsun.net.inetaddr.negative.ttl=1 -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> |
| |
| <!-- zig --> |
| <exclude>**/.zig-cache/**</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> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless.version}</version> |
| <configuration> |
| <groovy> |
| <includes> |
| <include>src/main/groovy/**/*.groovy</include> |
| <include>src/test/groovy/**/*.groovy</include> |
| </includes> |
| <importOrder/> |
| <removeSemicolons/> |
| </groovy> |
| </configuration> |
| </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> |
| <inherited>false</inherited> |
| <configuration> |
| <!-- https://issues.apache.org/jira/projects/INFRA/issues/INFRA-26000 --> |
| <nvdApiKeyEnvironmentVariable>NIST_NVD_API_KEY</nvdApiKeyEnvironmentVariable> |
| <!-- Uncomment the following to use the NVD data feed provided by the Dependency-Check project --> |
| <!-- <nvdDatafeedUrl>https://jeremylong.github.io/DependencyCheck/hb_nvd/</nvdDatafeedUrl> --> |
| <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> |
| <!-- skip maven source plugin due to |
| Error: Failed to execute goal org.apache.maven.plugins:maven-source-plugin:3.3.0:jar-no-fork (attach-sources) on project buildtools: |
| Presumably you have configured maven-source-plugin to execute twice times in your build. |
| You have to configure a classifier for at least on of them. |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <configuration> |
| <skipSource>true</skipSource> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>delombok</id> |
| <properties> |
| <src.dir>${project.build.directory}/generated-sources/delombok</src.dir> |
| <maven.javadoc.skip>false</maven.javadoc.skip> |
| </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> |
| </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 -Dsun.net.inetaddr.ttl=1 -Dsun.net.inetaddr.negative.ttl=1 -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 -Dsun.net.inetaddr.ttl=1 -Dsun.net.inetaddr.negative.ttl=1 -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>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> |