storm
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm</artifactId>
<version>3.1.0</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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>39</version>
</parent>
<groupId>org.apache.storm</groupId>
<artifactId>storm</artifactId>
<version>3.1.0</version>
<packaging>pom</packaging>
<name>Storm</name>
<description>Distributed and fault-tolerant realtime computation</description>
<url>https://storm.apache.org</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<mailingLists>
<mailingList>
<name>Storm user mailing list</name>
<subscribe>user-subscribe@storm.apache.org</subscribe>
<unsubscribe>user-unsubscribe@storm.apache.org</unsubscribe>
<post>user@storm.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/storm-user/</archive>
</mailingList>
<mailingList>
<name>Storm developer mailing list</name>
<subscribe>dev-subscribe@storm.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@storm.apache.org</unsubscribe>
<post>dev@storm.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/storm-dev/</archive>
</mailingList>
</mailingLists>
<scm>
<connection>git@github.com:apache/storm.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/storm.git</developerConnection>
<url>https://github.com/apache/storm</url>
<tag>v3.1.0</tag>
</scm>
<issueManagement>
<system>github</system>
<url>https://github.com/apache/storm/issues</url>
</issueManagement>
<properties>
<javaVersion>25</javaVersion>
<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
<maven.javadoc.failOnWarnings>false</maven.javadoc.failOnWarnings>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<test.extra.args>-Djava.net.preferIPv4Stack=true</test.extra.args>
<!-- license-maven-plugin that needs to be overridable from command line -->
<license.skipAggregateAddThirdParty>true</license.skipAggregateAddThirdParty>
<license.skipAggregateDownloadLicenses>true</license.skipAggregateDownloadLicenses>
<license.thirdPartyFilename>DEPENDENCY-LICENSES</license.thirdPartyFilename>
<license.outputDirectory>${project.basedir}</license.outputDirectory>
<!-- dependency versions -->
<commons-compress.version>1.28.0</commons-compress.version>
<zstd-jni.version>1.5.7-15</zstd-jni.version>
<commons-io.version>2.22.0</commons-io.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
<commons-exec.version>1.6.0</commons-exec.version>
<commons-collections.version>4.6.0</commons-collections.version>
<commons-fileupload.version>1.6.0</commons-fileupload.version>
<commons-codec.version>1.22.1</commons-codec.version>
<commons-text.version>1.15.0</commons-text.version>
<commons-cli.version>1.11.0</commons-cli.version>
<curator.version>5.9.0</curator.version>
<jetty.version>12.1.12</jetty.version>
<snakeyaml.version>2.6</snakeyaml.version>
<httpclient.version>4.5.14</httpclient.version>
<httpclient.core.version>4.4.16</httpclient.core.version>
<jctools.version>4.0.7</jctools.version>
<jgrapht.version>1.5.3</jgrapht.version>
<guava.version>33.7.1-jre</guava.version>
<!-- Guava's nullness-annotation transitive. Bump it together with guava.version, and
keep it equal to the value in that Guava release's guava-parent pom - never above.
It is pinned because JUnit 6 also declares org.jspecify:jspecify, at a nearer depth
than Guava, so without the managed entry below the daemon (lib) and worker
(lib-common) classpaths of the binary distribution mediate to different versions
and dedup-libs.py refuses to assemble the tarball. -->
<jspecify.version>1.0.1</jspecify.version>
<auto-service.version>1.1.1</auto-service.version>
<netty-tcnative.version>2.0.82.Final</netty-tcnative.version>
<netty.version>4.2.17.Final</netty.version>
<sysout-over-slf4j.version>1.0.2</sysout-over-slf4j.version>
<log4j.version>2.26.1</log4j.version>
<slf4j.version>2.0.18</slf4j.version>
<metrics.version>4.2.40</metrics.version>
<mockito.version>5.23.0</mockito.version>
<zookeeper.version>3.9.5</zookeeper.version>
<snappy.version>1.1.10.8</snappy.version>
<jline.version>2.14.6</jline.version>
<hikari.version>7.1.0</hikari.version>
<hadoop.version>3.5.0</hadoop.version>
<hbase.version>2.6.6-hadoop3</hbase.version>
<!-- Pinned deliberately: storm-iceberg must stay buildable against the Java baseline
above, so this is bumped explicitly rather than tracking the newest release. -->
<iceberg.version>1.11.0</iceberg.version>
<kryo.version>5.6.2</kryo.version>
<objensis.version>3.6</objensis.version>
<jakarta.servlet.version>6.1.0</jakarta.servlet.version>
<thrift.version>0.24.0</thrift.version>
<junit.jupiter.version>6.1.3</junit.jupiter.version>
<surefire.version>3.5.6</surefire.version>
<awaitility.version>4.3.0</awaitility.version>
<hdrhistogram.version>2.2.2</hdrhistogram.version>
<hamcrest.version>3.0</hamcrest.version>
<jedis.version>8.0.1</jedis.version>
<activemq.version>6.3.1</activemq.version>
<commons-logging.version>1.4.0</commons-logging.version>
<jackson.version>2.22.2</jackson.version>
<jackson.databind.version>2.22.2</jackson.databind.version>
<storm.kafka.client.version>4.3.1</storm.kafka.client.version>
<testcontainers.version>1.21.4</testcontainers.version>
<java.unit.test.exclude.groups>PerformanceTest</java.unit.test.exclude.groups>
<skipITs>true</skipITs>
<maven-resolver.version>1.9.27</maven-resolver.version>
<maven.version>3.9.16</maven.version>
<jersey.version>3.1.11</jersey.version>
<dropwizard.version>5.0.2</dropwizard.version>
<j2html.version>1.6.0</j2html.version>
<caffeine.version>3.2.4</caffeine.version>
<jakarta-jaxb-version>4.0.5</jakarta-jaxb-version>
<jakarta-activation-version>2.0.1</jakarta-activation-version>
<jakarta-jaxws-version>4.0.0</jakarta-jaxws-version>
<jaxb-version>2.3.1</jaxb-version>
<rocksdb-jni-version>10.10.1.1</rocksdb-jni-version>
<json-smart.version>2.6.0</json-smart.version>
<byte-buddy.version>1.18.12</byte-buddy.version>
<gson.version>2.14.0</gson.version>
<!-- see intellij profile below... This fixes an annoyance with intellij -->
<provided.scope>provided</provided.scope>
<asm.version>9.10.1</asm.version>
<error_prone_annotations.version>2.50.0</error_prone_annotations.version>
<bouncycastle.version>1.85</bouncycastle.version>
</properties>
<modules>
<module>storm-shaded-deps</module>
<module>storm-checkstyle</module>
<module>storm-multilang</module>
<module>storm-client</module>
<module>storm-server</module>
<module>storm-core</module>
<module>storm-webapp</module>
<module>storm-submit-tools</module>
</modules>
<dependencies>
<!-- The JUnit dependency is required for submodules by the maven-surefire-plugin <excludedGroups> configuration -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!--
Hack to make intellij behave.
If you use intellij, enable this profile in your IDE.
It should make life easier.
-->
<profile>
<id>intellij</id>
<properties>
<provided.scope>compile</provided.scope>
</properties>
</profile>
<profile>
<id>rat</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<consoleOutput>true</consoleOutput>
<excludes>
<!-- exclude maven artifacts -->
<exclude>**/target/**</exclude>
<exclude>**/target/rat.txt</exclude>
<!-- exclude intellij projects -->
<exclude>**/*.iml</exclude>
<exclude>**/.idea/**</exclude>
<!-- exclude eclipse projects -->
<exclude>**/*.classpath</exclude>
<exclude>**/.project</exclude>
<exclude>**/.settings/**</exclude>
<!-- module specific testing artifacts -->
<exclude>**/metastore_db/**</exclude>
<!-- anything written into build should be ignored -->
<exclude>**/build/**</exclude>
<!-- logs generated during test -->
<exclude>**/logs/**</exclude>
<!-- exclude CHANGELOG, VERSION, AND TODO files -->
<exclude>**/CHANGELOG.md</exclude>
<exclude>**/README.md</exclude>
<exclude>**/AGENTS.md</exclude>
<exclude>**/README.markdown</exclude>
<exclude>**/DEVELOPER.md</exclude>
<exclude>**/RELEASING.md</exclude>
<exclude>**/BYLAWS.md</exclude>
<exclude>**/STORM-UI-REST-API.md</exclude>
<exclude>SECURITY.md</exclude>
<exclude>VERSION</exclude>
<exclude>TODO</exclude>
<exclude>DEPENDENCY-LICENSES</exclude>
<exclude>LICENSE-binary</exclude>
<exclude>NOTICE-binary</exclude>
<!-- Exclude dependency license files -->
<exclude>licenses/**</exclude>
<!-- thrift-generated code -->
<exclude>**/src/py/**</exclude>
<!-- Used as part of GitHub action build -->
<exclude>install.txt</exclude>
<exclude>storm-shaded-deps/install-shade.txt</exclude>
<!-- storm-webapp static assets and frontend build artifacts -->
<exclude>**/src/main/java/org/apache/storm/daemon/ui/WEB-INF/images/*
</exclude>
<!-- npm / webpack artifacts -->
<exclude>**/node_modules/**</exclude>
<exclude>**/package-lock.json</exclude>
<exclude>**/storm-webapp/node/**</exclude>
<exclude>**/src/main/resources/Audit.50.csv</exclude>
<exclude>
**/src/main/resources/KNIME_PMML_4.1_Examples_single_audit_logreg.xml
</exclude>
<exclude>**/src/main/sampledata/**</exclude>
<!-- generated by shade plugin -->
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/docs/**</exclude>
<exclude>**/.git/**</exclude>
<exclude>**/.github/**</exclude>
<exclude>**/derby.log</exclude>
<exclude>**/src/dev/**</exclude>
<!-- webapp test resources -->
<exclude>**/src/test/resources/test-3072.log.test</exclude>
<exclude>**/src/test/resources/small-worker.log.test</exclude>
<exclude>**/src/test/resources/test-worker.log.test</exclude>
<exclude>**/src/test/resources/logviewer-search-context-tests.log.test
</exclude>
<exclude>**/dev-tools/cluster/grafana/dashboards/*.json</exclude>
<!-- StormSQL -->
<exclude>**/src/codegen/config.fmpp</exclude>
<exclude>**/src/codegen/data/Parser.tdd</exclude>
<!-- Avro Serializer Test Resource -->
<exclude>**/src/test/resources/FixedAvroSerializer.config</exclude>
<!-- Vagrant related files -->
<exclude>integration-test/config/.vagrant/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sign</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>dist</id>
<modules>
<module>storm-dist</module>
</modules>
<build>
<plugins>
<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.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/javadoc</outputDirectory>
<reportOutputDirectory>./docs/javadoc</reportOutputDirectory>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>javadoc</goal>
</goals>
</execution>
<execution>
<id>aggregate</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>site</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>all-tests</id>
<properties>
<!-- add perf tests back in -->
<java.unit.test.exclude.groups>nothing</java.unit.test.exclude.groups>
<skipITs>false</skipITs>
</properties>
</profile>
<profile>
<id>performance-tests</id>
<properties>
<!-- add perf tests back in -->
<java.unit.test.exclude.groups>nothing</java.unit.test.exclude.groups>
</properties>
</profile>
<profile>
<id>integration-tests-only</id>
<properties>
<skipITs>false</skipITs>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>no-tests</id>
<properties>
<skipITs>true</skipITs>
</properties>
<build>
<pluginManagement>
<plugins>
<!-- Unit tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!-- Integration tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<skipITs>true</skipITs>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>externals</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>external</module>
<module>integration-test</module>
<!-- The following modules have dependencies on external modules. -->
<module>flux</module>
</modules>
</profile>
<profile>
<id>examples</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>examples</module>
</modules>
</profile>
</profiles>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>jakarta.activation</artifactId>
<version>${jakarta-activation-version}</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>${jakarta-activation-version}</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jakarta-jaxb-version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
<version>${hdrhistogram.version}</version>
</dependency>
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>${kryo.version}</version>
</dependency>
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>${objensis.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${commons-cli.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons-compress.version}</version>
</dependency>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>${zstd-jni.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>${commons-exec.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${commons-collections.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${commons-text.version}</version>
</dependency>
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>${jline.version}</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
<exclusions>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper-jute</artifactId>
<version>${zookeeper.version}</version>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy.version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${jakarta.servlet.version}</version>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${jakarta-jaxws-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>${curator.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>${curator.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>${curator.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-test</artifactId>
<version>${curator.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>${json-smart.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-bom</artifactId>
<version>${jetty.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</dependency>
<dependency>
<groupId>org.jctools</groupId>
<artifactId>jctools-core</artifactId>
<version>${jctools.version}</version>
</dependency>
<dependency>
<groupId>org.jgrapht</groupId>
<artifactId>jgrapht-core</artifactId>
<version>${jgrapht.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- Not declared by any module: managed so every module resolves the same jspecify
whether it arrives via Guava or, at a nearer depth, via JUnit. The binary
distribution's dedup-libs check requires the daemon and worker classpaths to
agree on every shared jar. -->
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
<version>${jspecify.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>${auto-service.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${hikari.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${netty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-graphite</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jvm</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jmx</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-annotation</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-json</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-healthchecks</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jersey3</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jetty12</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-logback</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jakarta-servlets</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${awaitility.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>${thrift.version}</version>
<scope>compile</scope>
</dependency>
<!-- used by examples/storm-starter -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.jupiter.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${storm.kafka.client.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>uk.org.lidalia</groupId>
<artifactId>sysout-over-slf4j</artifactId>
<version>${sysout-over-slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>${caffeine.version}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>${rocksdb-jni-version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>${activemq.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>${activemq.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<!-- Iceberg dependencies. Versions are managed here so a project-wide dependency bump
sees the pin; storm-iceberg declares the artifacts without versions. The catalog
implementations (iceberg-aws, -gcp, -hive, -nessie, ...) are deliberately absent:
they are supplied by the topology, not pulled in transitively. -->
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-api</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-core</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-data</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-parquet</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-orc</artifactId>
<version>${iceberg.version}</version>
</dependency>
<!-- Hadoop dependencies. Specified here so HDFS/HBase don't import older versions of these jars in their projects-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>${httpclient.core.version}</version>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.12.2</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${error_prone_annotations.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
<version>7.2.2</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.15.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
</repository>
<repository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>clojars</id>
<url>https://clojars.org/repo/</url>
</repository>
</repositories>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.15.0</version>
<configuration>
<generatedSourcesDirectory>${project.build.directory}/generated-sources
</generatedSourcesDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<excludedGroups>IntegrationTest | ${java.unit.test.exclude.groups}</excludedGroups>
<argLine>-Xmx3g -XX:+HeapDumpOnOutOfMemoryError</argLine>
<trimStackTrace>false</trimStackTrace>
<forkCount>1.0C</forkCount>
<reuseForks>false</reuseForks>
<systemPropertyVariables>
<storm.home>${project.basedir}/target/testhome</storm.home>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${surefire.version}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<includes>
<include>**/*.java</include>
</includes>
<groups>IntegrationTest</groups>
<argLine>-Xmx1536m</argLine>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!--To support checkstyle goals. For example: "mvn checkstyle:checkstyle"-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.6.0</version>
<dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-checkstyle</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<!-- If you change this, you should also update the storm_checkstyle.xml file to be
based on the google_checks.xml from the version of checkstyle you are choosing. -->
<version>14.0.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>storm/storm_checkstyle.xml</configLocation>
<propertyExpansion>org.checkstyle.google.severity=error</propertyExpansion>
<encoding>UTF-8</encoding>
<failOnViolation>true</failOnViolation>
<logViolationsToConsole>true</logViolationsToConsole>
<consoleOutput>true</consoleOutput>
<outputFile>target/checkstyle-violation.xml</outputFile>
<violationSeverity>error</violationSeverity>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.28.0</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
<rulesets>
<ruleset>storm/pmd-ruleset.xml</ruleset>
</rulesets>
<includeTests>true</includeTests>
<printFailingErrors>true</printFailingErrors>
<excludes>
<exclude>org/apache/storm/generated/**</exclude>
<exclude>org/apache/storm/sql/parser/impl/**</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>pmd-check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-checkstyle</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>cleanup</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>./logs/</directory>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.6.3</version>
</plugin>
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<version>10.0.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<useMissingFile>true</useMissingFile>
<failOnMissing>true</failOnMissing>
<includeTransitiveDependencies>true</includeTransitiveDependencies>
<fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByMultiLicense.ftl
</fileTemplate>
<excludedScopes>system,test</excludedScopes>
<excludedGroups>${project.groupId}</excludedGroups>
<licenseMerges>
<licenseMerge>
Apache License, Version 2.0 |
Apache License, version 2.0 |
Apache License Version 2 |
Apache License Version 2.0 |
Apache License version 2.0 |
Apache 2 |
Apache 2.0 |
Apache-2.0 |
Apache 2.0 License |
Apache License, 2.0 |
Apache License 2 |
Apache License 2.0 |
Apache Public License 2.0 |
Apache Software License - Version 2.0 |
Apache v2 |
ASL, version 2 |
The Apache License, Version 2.0 |
The Apache Software License, Version 2.0
</licenseMerge>
<licenseMerge>
Apache License |
Apache Software Licenses
</licenseMerge>
<licenseMerge>
BSD License |
BSD license |
BSD licence |
BSD |
The BSD License
</licenseMerge>
<licenseMerge>
BSD 2-Clause License |
BSD 2-Clause license |
</licenseMerge>
<licenseMerge>
BSD 3-Clause License |
BSD 3-Clause |
BSD 3-clause |
BSD-3-Clause |
The BSD 3-Clause License |
New BSD License |
New BSD license
</licenseMerge>
<licenseMerge>
Common Development and Distribution License (CDDL) v1.0 |
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 |
CDDL 1.0
</licenseMerge>
<licenseMerge>
Common Development and Distribution License (CDDL) v1.1 |
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 |
CDDL 1.1 |
Common Development and Distribution License (CDDL), Version 1.1
</licenseMerge>
<licenseMerge>
Common Development and Distribution License |
<!-- Multilicense, choosing CDDL -->
CDDL+GPL |
CDDL+GPL License |
CDDL + GPLv2 with classpath exception
</licenseMerge>
<licenseMerge>
Eclipse Public License, Version 1.0 |
Eclipse Public License 1.0 |
Eclipse Public License - v 1.0
</licenseMerge>
<licenseMerge>
Eclipse Public License, Version 2.0 |
EPL-2.0 |
EPL 2.0
</licenseMerge>
<licenseMerge>
Eclipse Distribution License, Version 1.0 |
Eclipse Distribution License - v 1.0 |
EDL 1.0
</licenseMerge>
<licenseMerge>
MIT License |
The MIT License |
MIT license |
MIT X11 License |
MIT
</licenseMerge>
<licenseMerge>
The GNU General Public License (GPL), Version 2, With Classpath Exception |
GPL2 w/ CPE
</licenseMerge>
<licenseMerge>
GNU Lesser General Public License (LGPL), Version 2.1 |
LGPL, version 2.1 |
GNU Lesser General Public License Version 2.1 |
GNU Lesser General Public License, version 2.1
</licenseMerge>
<licenseMerge>
Common Public License Version 1.0 |
Common Public License - v 1.0
</licenseMerge>
</licenseMerges>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<tagNameFormat>v@{project.version}</tagNameFormat>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.5</version>
</requireMavenVersion>
<bannedDependencies>
<excludes>
<!-- STORM-3114 -->
<exclude>jdk.tools:jdk.tools:*</exclude>
</excludes>
</bannedDependencies>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<missingFile>${project.basedir}/THIRD-PARTY.properties</missingFile>
<aggregateMissingLicensesFile>${project.basedir}/THIRD-PARTY.properties
</aggregateMissingLicensesFile>
</configuration>
<executions>
<execution>
<id>generate-and-check-licenses</id>
<goals>
<goal>aggregate-add-third-party</goal>
</goals>
</execution>
<execution>
<id>download-licenses</id>
<goals>
<goal>aggregate-download-licenses</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>3.6.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>3.5.6</version>
<configuration>
<reportsDirectories>
<file>${project.build.directory}/test-reports</file>
<file>${project.build.directory}/surefire-reports</file>
</reportsDirectories>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>Todo Work</displayName>
<tags>
<tag>
<matchString>TODO</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>FIXME</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
</plugins>
</reporting>
</project>