<?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>21</version>
    </parent>

    <groupId>org.apache.storm</groupId>
    <artifactId>storm</artifactId>
    <version>2.5.0-SNAPSHOT</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>

    <developers>
        <developer>
            <id>nathanmarz</id>
            <name>Nathan Marz</name>
            <email>nathan@nathanmarz.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>ptgoetz</id>
            <name>P. Taylor Goetz</name>
            <email>ptgoetz@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-5</timezone>
        </developer>
        <developer>
            <id>xumingming</id>
            <name>James Xu</name>
            <email>xumingming@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone />
        </developer>
        <developer>
            <id>afeng</id>
            <name>Andy Feng</name>
            <email>afeng@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>davidlao</id>
            <name>David Lao</name>
            <email>davidlao@microsoft.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>mrflip</id>
            <name>Flip Kromer</name>
            <email>mrflip@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone />
        </developer>
        <developer>
            <id>jjackson</id>
            <name>Jason Jackson</name>
            <email>jasonjckn@gmail.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>bobby</id>
            <name>Robert Evans</name>
            <email>evans@yahoo-inc.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>dagit</id>
            <name>Derek Dagit</name>
            <email>derekd@yahoo-inc.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>miguno</id>
            <name>Michael G. Noll</name>
            <email>michael@michael-noll.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>+1</timezone>
        </developer>
        <developer>
            <id>dossett</id>
            <name>Aaron Dossett</name>
            <email>dossett@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>jerrypeng</id>
            <name>Boyang Jerry Peng</name>
            <email>jerrypeng@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>longda</id>
            <name>Longda Feng</name>
            <email>longda@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>+8</timezone>
        </developer>
        <developer>
            <id>abhishek</id>
            <name>Abhishek Agarwal</name>
            <email>abhishek@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>+5.5</timezone>
        </developer>
        <developer>
            <id>satishd</id>
            <name>Satish Duggana</name>
            <email>satishd@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>+5.5</timezone>
        </developer>
        <developer>
            <id>vesense</id>
            <name>Xin Wang</name>
            <email>xinwang@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>+8</timezone>
        </developer>
        <developer>
            <id>hmclouro</id>
            <name>Hugo da Cruz Louro</name>
            <email>hmclouro@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>roshannaik</id>
            <name>Roshan Naik</name>
            <email>roshannaik@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>Ethanlm</id>
            <name>Ethan Li</name>
            <email>ethanli@apache.org</email>
            <roles>	
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>govind-menon</id>
            <name>Govind Menon</name>
            <email>govind@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>agresch</id>
            <name>Aaron Gresch</name>
            <email>agresch@gmail.com</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>ruili</id>
            <name>Rui Li</name>
            <email>ruili@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>bipinprasad</id>
            <name>Bipin Prasad</name>
            <email>bipinprasad@apache.org</email>
            <roles>
                <role>Committer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>

    </developers>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/storm.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/storm.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf/storm</url>
    </scm>

    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/STORM</url>
    </issueManagement>

    <properties>
        <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.10.0</clojure.version>
        <commons-compress.version>1.21</commons-compress.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons-lang.version>2.6</commons-lang.version>
        <commons-exec.version>1.3</commons-exec.version>
        <commons-collections.version>3.2.2</commons-collections.version>
        <commons-fileupload.version>1.5</commons-fileupload.version>
        <commons-codec.version>1.11</commons-codec.version>
        <commons-cli.version>1.4</commons-cli.version>
        <curator.version>4.3.0</curator.version>
        <json-simple.version>1.1</json-simple.version>
        <jetty.version>9.4.45.v20220203</jetty.version>
        <clojure.tools.logging.version>0.2.3</clojure.tools.logging.version>
        <carbonite.version>1.6.0</carbonite.version>
        <snakeyaml.version>2.0</snakeyaml.version>
        <httpclient.version>4.5.13</httpclient.version>
        <jctools.version>2.0.1</jctools.version>
        <jgrapht.version>0.9.0</jgrapht.version>
        <guava.version>27.0.1-jre</guava.version>
        <auto-service.version>1.0-rc4</auto-service.version>
        <netty.version>4.1.30.Final</netty.version>
        <sysout-over-slf4j.version>1.0.2</sysout-over-slf4j.version>
        <log4j.version>2.17.1</log4j.version>
        <slf4j.version>1.7.36</slf4j.version>
        <metrics.version>3.2.6</metrics.version>
        <mockito.version>4.11.0</mockito.version>
        <zookeeper.version>3.5.9</zookeeper.version>
        <jline.version>0.9.94</jline.version>
        <hive.version>2.3.9</hive.version>
        <hadoop.version>2.10.1</hadoop.version>
        <hdfs.version>${hadoop.version}</hdfs.version>
        <hbase.version>2.1.3</hbase.version>
        <kryo.version>4.0.2</kryo.version>
        <servlet.version>3.1.0</servlet.version>
        <joda-time.version>2.3</joda-time.version>
        <thrift.version>0.13.0</thrift.version>
        <junit.jupiter.version>5.5.1</junit.jupiter.version>
        <surefire.version>3.0.0-M5</surefire.version>
        <awaitility.version>3.1.0</awaitility.version>
        <hdrhistogram.version>2.1.10</hdrhistogram.version>
        <hamcrest.version>2.2</hamcrest.version>
        <cassandra.version>2.1.7</cassandra.version>
        <elasticsearch.version>5.2.2</elasticsearch.version>
        <calcite.version>1.14.0</calcite.version>
        <mongodb.version>3.2.0</mongodb.version>
        <solr.version>5.2.1</solr.version>
        <jpmml.version>1.0.22</jpmml.version>
        <jedis.version>2.9.0</jedis.version>
        <activemq.version>5.16.5</activemq.version>
        <rocketmq.version>4.2.0</rocketmq.version>

        <jackson.version>2.10.5</jackson.version>
        <jackson.databind.version>2.10.5.1</jackson.databind.version>
        
        <storm.kafka.client.version>0.11.0.3</storm.kafka.client.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.3.3</maven-resolver.version>
        <maven.version>3.6.0</maven.version>
        <azure-eventhubs.version>0.13.1</azure-eventhubs.version>
        <jersey.version>2.29</jersey.version>
        <dropwizard.version>1.3.19</dropwizard.version>
        <j2html.version>1.0.0</j2html.version>
        <jool.version>0.9.12</jool.version>
        <caffeine.version>2.3.5</caffeine.version>
        <jakarta-jaxb-version>2.3.2</jakarta-jaxb-version>
        <jakarta-activation-version>1.2.1</jakarta-activation-version>
        <jaxb-version>2.3.0</jaxb-version>
        <activation-version>1.1.1</activation-version>
        <rocksdb-version>8.1.1</rocksdb-version>
        <json-smart.version>2.3</json-smart.version>

        <!-- see intellij profile below... This fixes an annoyance with intellij -->
        <provided.scope>provided</provided.scope>
    </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 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-hbase</module>
                <module>external/storm-hive</module>
                <module>external/storm-jdbc</module>
                <module>external/storm-redis</module>
                <module>external/storm-eventhubs</module>
                <module>external/storm-elasticsearch</module>
                <module>external/storm-solr</module>
                <module>external/storm-metrics</module>
                <module>external/storm-cassandra</module>
                <module>external/storm-mqtt</module>
                <module>external/storm-mongodb</module>
                <module>external/storm-kafka-client</module>
                <module>external/storm-kafka-migration</module>
                <module>external/storm-opentsdb</module>
                <module>external/storm-kafka-monitor</module>
                <module>external/storm-kinesis</module>
                <module>external/storm-jms</module>
                <module>external/storm-pmml</module>
                <module>external/storm-rocketmq</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-mongodb-examples</module>
                <module>examples/storm-redis-examples</module>
                <module>examples/storm-opentsdb-examples</module>
                <module>examples/storm-solr-examples</module>
                <module>examples/storm-kafka-client-examples</module>
                <module>examples/storm-jdbc-examples</module>
                <module>examples/storm-hdfs-examples</module>
                <module>examples/storm-hbase-examples</module>
                <module>examples/storm-hive-examples</module>
                <module>examples/storm-elasticsearch-examples</module>
                <module>examples/storm-mqtt-examples</module>
                <module>examples/storm-pmml-examples</module>
                <module>examples/storm-jms-examples</module>
                <module>examples/storm-rocketmq-examples</module>
                <module>examples/storm-perf</module>
            </modules>
        </profile>
    </profiles>

    <distributionManagement>
        <site>
            <id>storm.maven.website</id>
            <name>Storm Website</name>
            <url>file:///tmp/site</url>
        </site>
    </distributionManagement>

    <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>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>${activation-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>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>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commons-collections.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.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>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper-jute</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet.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>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>com.googlecode.json-simple</groupId>
                <artifactId>json-simple</artifactId>
                <version>${json-simple.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.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.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>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>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
                <version>${slf4j.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>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>
            </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-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>
           <!-- 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>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-hdfs</artifactId>
               <version>${hadoop.version}</version>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-common</artifactId>
               <version>${hadoop.version}</version>
           </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>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-yarn-common</artifactId>
               <version>${hadoop.version}</version>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
               <version>${hadoop.version}</version>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-yarn-server-applicationhistoryservice</artifactId>
               <version>${hadoop.version}</version>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-yarn-server-web-proxy</artifactId>
               <version>${hadoop.version}</version>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-yarn-registry</artifactId>
               <version>${hadoop.version}</version>
           </dependency>
           <dependency>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-archives</artifactId>
               <version>${hadoop.version}</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-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>true</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.0.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.16.0</version>
                    <configuration>
                        <targetJdk>1.8</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>2.5</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.8.4</version>
                    <extensions>true</extensions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>2.0.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 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 |
                                The BSD License
                            </licenseMerge>
                            <licenseMerge>
                                BSD 3-Clause License |
                                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>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </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>
                <configuration>
                    <doclet>ch.raffael.doclets.pegdown.PegdownDoclet</doclet>
                    <docletArtifact>
                        <groupId>ch.raffael.pegdown-doclet</groupId>
                        <artifactId>pegdown-doclet</artifactId>
                        <version>1.1</version>
                    </docletArtifact>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                </configuration>
            </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>2.10.4</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>3.2.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.19.1</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>2.4</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>
