bookkeeper
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.streamnative</groupId> <artifactId>bookkeeper</artifactId> <version>4.17.1.2</version> </dependency>
<?xml version='1.0' encoding='UTF-8'?> <!-- 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>io.streamnative</groupId> <version>4.17.1.2</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/streamnative/bookkeeper.git</connection> <developerConnection>scm:git:ssh://git@github.com:streamnative/bookkeeper.git</developerConnection> <url>https://github.com/streamnative/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>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>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> <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.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.17.1</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.30</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.111.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.10.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>9.2.0</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> <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.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> <!-- exclude dependencies from grpc-all --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-all</artifactId> <version>${grpc.version}</version> <exclusions> <exclusion> <groupId>io.grpc</groupId> <artifactId>grpc-testing</artifactId> </exclusion> <exclusion> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> </exclusion> <exclusion> <groupId>io.grpc</groupId> <artifactId>grpc-okhttp</artifactId> </exclusion> <exclusion> <groupId>com.squareup.okhttp</groupId> <artifactId>okhttp</artifactId> </exclusion> <exclusion> <groupId>com.squareup.okio</groupId> <artifactId>okio</artifactId> </exclusion> <exclusion> <groupId>io.grpc</groupId> <artifactId>grpc-servlet</artifactId> </exclusion> <exclusion> <groupId>io.grpc</groupId> <artifactId>grpc-servlet-jakarta</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-util</artifactId> <!-- This is only used for JEtcd so far. Once we upgrade Grpc to >= 1.60, we can remove the special version pin --> <version>1.60.0</version> </dependency> <!-- used by jetcd-core-shaded --> <dependency> <groupId>dev.failsafe</groupId> <artifactId>failsafe</artifactId> <version>${failsafe.version}</version> </dependency> <!-- override otel's okhttp 4.11.0 for now, wait for otel update --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp-bom</artifactId> <version>4.12.0</version> <type>pom</type> <scope>import</scope> </dependency> <!-- okhttp 4.12.0 use kotlin stdlib 1.8.21 --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-common</artifactId> <version>1.8.21</version> </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> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.0</version> </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> <exclude>**/dependency-reduced-pom.xml</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>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>3.0.0-M1</version> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <goals>deploy</goals> </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> <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> </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> <profile> <id>release-sign-artifacts</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> </project>