storm
Used in: 
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
    <groupId>org.apache.storm</groupId>
    <artifactId>storm</artifactId>
    <version>2.8.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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>35</version>
    </parent>
    <groupId>org.apache.storm</groupId>
    <artifactId>storm</artifactId>
    <version>2.8.2</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>v2.8.2</tag>
    </scm>
    <issueManagement>
        <system>github</system>
        <url>https://github.com/apache/storm/issues</url>
    </issueManagement>
    <properties>
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.source>${maven.compiler.target}</maven.compiler.source>
        <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 -->
        <clojure.version>1.12.1</clojure.version>
        <commons-compress.version>1.27.1</commons-compress.version>
        <commons-io.version>2.20.0</commons-io.version>
        <commons-lang.version>2.6</commons-lang.version>
        <commons-lang3.version>3.18.0</commons-lang3.version>
        <commons-exec.version>1.5.0</commons-exec.version>
        <commons-collections.version>4.5.0</commons-collections.version>
        <commons-fileupload.version>1.6.0</commons-fileupload.version>
        <commons-codec.version>1.18.0</commons-codec.version>
        <commons-text.version>1.13.1</commons-text.version>
        <commons-cli.version>1.9.0</commons-cli.version>
        <curator.version>5.8.0</curator.version>
        <jetty.version>11.0.25</jetty.version>
        <clojure.tools.logging.version>1.3.0</clojure.tools.logging.version>
        <carbonite.version>1.6.0</carbonite.version>
        <snakeyaml.version>2.2</snakeyaml.version>
        <httpclient.version>4.5.14</httpclient.version>
        <httpclient.core.version>4.4.16</httpclient.core.version>
        <jctools.version>4.0.5</jctools.version>
        <jgrapht.version>0.9.0</jgrapht.version>
        <guava.version>33.4.8-jre</guava.version>
        <auto-service.version>1.1.1</auto-service.version>
        <netty-tcnative.version>2.0.72.Final</netty-tcnative.version>
        <netty.version>4.2.3.Final</netty.version>
        <sysout-over-slf4j.version>1.0.2</sysout-over-slf4j.version>
        <log4j.version>2.25.1</log4j.version>
        <slf4j.version>2.0.17</slf4j.version>
        <metrics.version>4.2.33</metrics.version>
        <mockito.version>5.14.2</mockito.version>
        <zookeeper.version>3.9.3</zookeeper.version>
        <snappy.version>1.1.10.8</snappy.version>
        <jline.version>2.14.6</jline.version>
        <hikari.version>6.3.1</hikari.version>
        <hadoop.version>3.4.1</hadoop.version>
        <hdfs.version>${hadoop.version}</hdfs.version>
        <hbase.version>2.6.3-hadoop3</hbase.version>
        <kryo.version>5.6.2</kryo.version>
        <objensis.version>3.4</objensis.version>
        <jakarta.servlet.version>5.0.0</jakarta.servlet.version>
        <joda-time.version>2.14.0</joda-time.version>
        <thrift.version>0.22.0</thrift.version>
        <junit.jupiter.version>5.13.4</junit.jupiter.version>
        <surefire.version>3.5.3</surefire.version>
        <awaitility.version>4.3.0</awaitility.version>
        <hdrhistogram.version>2.2.2</hdrhistogram.version>
        <hamcrest.version>3.0</hamcrest.version>
        <calcite.version>1.16.0</calcite.version>
        <jedis.version>5.2.0</jedis.version>
        <activemq.version>6.1.7</activemq.version>
        <jackson.version>2.19.2</jackson.version>
        <jackson.databind.version>2.19.2</jackson.databind.version>
        <storm.kafka.client.version>3.9.0</storm.kafka.client.version>
        <testcontainers.version>1.21.3</testcontainers.version>
        <!-- Java and clojure build lifecycle test properties are defined here to avoid having to create a default profile -->
        <java.unit.test.exclude.groups>PerformanceTest</java.unit.test.exclude.groups>
        <!-- by default the clojure test set are all clojure tests that are not integration tests. This property is overridden in the profiles -->
        <clojure.test.set>!integration.*</clojure.test.set>
        <skipITs>true</skipITs>
        <maven-resolver.version>1.9.24</maven-resolver.version>
        <maven.version>3.9.11</maven.version>
        <azure-eventhubs.version>0.13.1</azure-eventhubs.version>
        <jersey.version>3.1.10</jersey.version>
        <dropwizard.version>4.0.14</dropwizard.version>
        <j2html.version>1.6.0</j2html.version>
        <caffeine.version>3.2.2</caffeine.version>
        <jakarta-jaxb-version>2.3.2</jakarta-jaxb-version>
        <jakarta-activation-version>1.2.1</jakarta-activation-version>
        <jakarta-jaxws-version>3.1.0</jakarta-jaxws-version>
        <jaxb-version>2.3.1</jaxb-version>
        <activation-version>1.1.1</activation-version>
        <rocksdb-jni-version>10.2.1</rocksdb-jni-version>
        <json-smart.version>2.5.2</json-smart.version>
        <byte-buddy.version>1.17.6</byte-buddy.version>
        <gson.version>2.13.1</gson.version>
        <!-- see intellij profile below... This fixes an annoyance with intellij -->
        <provided.scope>provided</provided.scope>
        <jakarta-el.version>3.0.1-b12</jakarta-el.version>
        <asm.version>9.8</asm.version>
        <checker-qual.version>3.49.5</checker-qual.version>
        <error_prone_annotations.version>2.40.0</error_prone_annotations.version>
        <bouncycastle.version>1.81</bouncycastle.version>
    </properties>
    <modules>
        <module>storm-shaded-deps</module>
        <module>storm-checkstyle</module>
        <module>storm-multilang/javascript</module>
        <module>storm-multilang/python</module>
        <module>storm-multilang/ruby</module>
        <module>storm-buildtools/maven-shade-clojure-transformer</module>
        <module>storm-buildtools/storm-maven-plugins</module>
        <module>storm-client</module>
        <module>storm-server</module>
        <module>storm-core</module>
        <module>storm-webapp</module>
        <module>storm-clojure</module>
        <module>storm-clojure-test</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>**/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>
                                <!-- the following are in the LICENSE file -->
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/jquery.dataTables.1.10.4.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/css/jquery.dataTables.1.10.4.min.css
                                </exclude>
                                <exclude>**/src/main/java/org/apache/storm/daemon/ui/WEB-INF/images/*
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/bootstrap-3.3.1.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/css/bootstrap-3.3.1.min.css
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/dataTables.bootstrap.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/css/dataTables.bootstrap.css
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/jsonFormatter.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/css/jsonFormatter.min.css
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/jquery-3.5.1.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/jquery.cookies.2.2.0.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/moment.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/jquery.blockUI.min.js
                                </exclude>
                                <exclude>**/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/url.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/jquery.mustache.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/typeahead.jquery.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/cytoscape-dagre.js
                                </exclude>
                                <exclude>**/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/dagre.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/esprima.min.js
                                </exclude>
                                <exclude>
                                    **/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/js-yaml.min.js
                                </exclude>
                                <exclude>**/src/main/java/org/apache/storm/daemon/ui/WEB-INF/js/vis.min.js
                                </exclude>
                                <exclude>**/src/main/java/org/apache/storm/daemon/ui/WEB-INF/css/vis.min.css
                                </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>
                                <!-- 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/binary</module>
                <module>storm-dist/source</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>
                <clojure.test.set>*.*</clojure.test.set>
                <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>
                <!--Java-->
                <skipITs>false</skipITs>
                <!--Clojure-->
                <clojure.test.set>integration.*</clojure.test.set>
                <clojure.test.declared.namespace.only>true</clojure.test.declared.namespace.only>
            </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>externals</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>external/storm-autocreds</module>
                <module>external/storm-hdfs</module>
                <module>external/storm-hdfs-blobstore</module>
                <module>external/storm-hdfs-oci</module>
                <module>external/storm-jdbc</module>
                <module>external/storm-redis</module>
                <module>external/storm-metrics</module>
                <module>external/storm-metrics-prometheus</module>
                <module>external/storm-kafka-client</module>
                <module>external/storm-kafka-migration</module>
                <module>external/storm-kafka-monitor</module>
                <module>external/storm-jms</module>
                <module>external/storm-blobstore-migration</module>
                <module>integration-test</module>
                <!-- The following modules have dependencies on external modules. -->
                <module>flux</module>
                <module>sql</module>
            </modules>
        </profile>
        <profile>
            <id>examples</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>examples/storm-starter</module>
                <module>examples/storm-loadgen</module>
                <module>examples/storm-redis-examples</module>
                <module>examples/storm-kafka-client-examples</module>
                <module>examples/storm-jdbc-examples</module>
                <module>examples/storm-hdfs-examples</module>
                <module>examples/storm-jms-examples</module>
                <module>examples/storm-perf</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>org.clojure</groupId>
                <artifactId>clojure</artifactId>
                <version>${clojure.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>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>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.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>org.glassfish</groupId>
                <artifactId>javax.el</artifactId>
                <version>${jakarta-el.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>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.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>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</groupId>
                <artifactId>jetty-bom</artifactId>
                <version>${jetty.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>tools.logging</artifactId>
                <version>${clojure.tools.logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.clojars.bipinprasad</groupId>
                <artifactId>carbonite</artifactId>
                <version>${carbonite.version}</version>
            </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>
            <dependency>
                <groupId>org.checkerframework</groupId>
                <artifactId>checker-qual</artifactId>
                <version>${checker-qual.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>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>ch.qos.reload4j</groupId>
                        <artifactId>reload4j</artifactId>
                    </exclusion>
                </exclusions>
            </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-jetty11</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.calcite</groupId>
                <artifactId>calcite-core</artifactId>
                <version>${calcite.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.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-broker</artifactId>
                <version>${activemq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-mqtt</artifactId>
                <version>${activemq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-kahadb-store</artifactId>
                <version>${activemq.version}</version>
            </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>
            <!-- 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-hdfs</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.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-core</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>
                    <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-yarn-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-yarn-server-resourcemanager</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-yarn-server-applicationhistoryservice</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-yarn-server-web-proxy</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-yarn-registry</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-archives</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.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.0</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>org.ow2.asm</groupId>
                <artifactId>asm-commons</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-tree</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-util</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-analysis</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.1.1</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.12.0</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.11.0</version>
                    <configuration>
                        <source>${maven.compiler.source}</source>
                        <target>${maven.compiler.target}</target>
                        <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>8.2</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>validate</id>
                            <phase>validate</phase>
                            <configuration>
                                <configLocation>storm/storm_checkstyle.xml</configLocation>
                                <encoding>UTF-8</encoding>
                                <failOnViolation>true</failOnViolation>
                                <logViolationsToConsole>true</logViolationsToConsole>
                                <consoleOutput>true</consoleOutput>
                                <outputFile>target/checkstyle-violation.xml</outputFile>
                                <violationSeverity>warning</violationSeverity>
                            </configuration>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>3.27.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>com.theoryinpractise</groupId>
                    <artifactId>clojure-maven-plugin</artifactId>
                    <version>1.9.3</version>
                    <extensions>true</extensions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>3.5.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>2.6.0</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>com.theoryinpractise</groupId>
                <artifactId>clojure-maven-plugin</artifactId>
                <extensions>true</extensions>
            </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.11.2</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.3</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.1</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>