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


    <groupId>org.apache.storm</groupId>
    <artifactId>storm</artifactId>
    <version>1.2.2</version>
    <packaging>pom</packaging>
    <name>Storm</name>
    <description>Distributed and fault-tolerant realtime computation</description>
    <url>http://storm.apache.org</url>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://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>http://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>http://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>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>
    </developers>


    <prerequisites>
        <maven>3.0.0</maven>
    </prerequisites>

    <scm>
        <connection>scm:git:https://git-wip-us.apache.org/repos/asf/storm.git</connection>
        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/storm.git</developerConnection>
        <tag>v1.2.2</tag>
        <url>https://git-wip-us.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>

        <!-- dependency versions -->
        <clojure.version>1.7.0</clojure.version>
        <java_jmx.version>0.3.1</java_jmx.version>
        <compojure.version>1.1.9</compojure.version>
        <hiccup.version>0.3.6</hiccup.version>
        <commons-compress.version>1.4.1</commons-compress.version>
        <commons-io.version>2.5</commons-io.version>
        <commons-lang.version>2.5</commons-lang.version>
        <commons-exec.version>1.1</commons-exec.version>
        <commons-collections.version>3.2.2</commons-collections.version>
        <commons-fileupload.version>1.3.2</commons-fileupload.version>
        <commons-codec.version>1.6</commons-codec.version>
        <commons-cli.version>1.3.1</commons-cli.version>
        <clj-time.version>0.8.0</clj-time.version>
        <curator.version>4.0.1</curator.version>
        <curator-test.version>2.12.0</curator-test.version>
        <json-simple.version>1.1</json-simple.version>
        <ring.version>1.3.1</ring.version>
        <ring-json.version>0.3.1</ring-json.version>
        <ring-cors.version>0.1.5</ring-cors.version>
        <jetty.version>7.6.13.v20130916</jetty.version>
        <clojure.tools.logging.version>0.2.3</clojure.tools.logging.version>
        <clojure.math.numeric-tower.version>0.0.1</clojure.math.numeric-tower.version>
        <carbonite.version>1.5.0</carbonite.version>
        <snakeyaml.version>1.11</snakeyaml.version>
        <httpclient.version>4.3.3</httpclient.version>
        <clojure.tools.cli.version>0.2.4</clojure.tools.cli.version>
        <disruptor.version>3.3.2</disruptor.version>
        <jgrapht.version>0.9.0</jgrapht.version>
        <guava.version>16.0.1</guava.version>
        <netty.version>3.9.9.Final</netty.version>
        <log4j-over-slf4j.version>1.6.6</log4j-over-slf4j.version>
        <log4j.version>2.8.2</log4j.version>
        <slf4j.version>1.7.21</slf4j.version>
        <metrics.version>3.1.0</metrics.version>
        <clojure.tools.nrepl.version>0.2.3</clojure.tools.nrepl.version>
        <clojure-complete.version>0.2.3</clojure-complete.version>
        <mockito.version>1.9.5</mockito.version>
        <conjure.version>2.1.3</conjure.version>
        <zookeeper.version>3.4.6</zookeeper.version>
        <clojure-data-codec.version>0.1.0</clojure-data-codec.version>
        <clojure-contrib.version>1.2.0</clojure-contrib.version>
        <hive.version>0.14.0</hive.version>
        <hadoop.version>2.6.1</hadoop.version>
        <hbase.version>1.1.0</hbase.version>
        <kryo.version>3.0.3</kryo.version>
        <servlet.version>2.5</servlet.version>
        <joda-time.version>2.3</joda-time.version>
        <thrift.version>0.9.3</thrift.version>
        <junit.version>4.11</junit.version>
        <metrics-clojure.version>2.5.1</metrics-clojure.version>
        <hdrhistogram.version>2.1.7</hdrhistogram.version>
        <hamcrest.version>1.3</hamcrest.version>

        <calcite.version>1.11.0</calcite.version>

        <jackson.version>2.9.4</jackson.version>
        <maven-surefire.version>2.18.1</maven-surefire.version>
        <!-- Kafka version used by old storm-kafka spout code -->
        <storm.kafka.version>0.8.2.1</storm.kafka.version>
        <storm.kafka.artifact.id>kafka_2.10</storm.kafka.artifact.id>

        <!-- kafka version used by new storm-kafka-client spout code -->
        <storm.kafka.client.version>0.10.1.0</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>org.apache.storm.testing.IntegrationTest</java.unit.test.exclude>
        <java.unit.test.include>**/Test*.java, **/*Test.java, **/*TestCase.java</java.unit.test.include>    <!--maven surefire plugin default test list-->
        <java.integration.test.include>no.tests</java.integration.test.include>
        <!-- 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>

        <aetherVersion>1.1.0</aetherVersion>
        <mavenVersion>3.1.0</mavenVersion>
        <wagonVersion>1.0</wagonVersion>
        <qpid.version>0.32</qpid.version>
        <eventhubs.client.version>1.0.1</eventhubs.client.version>

        <!-- see intellij profile below... This fixes an annoyance with intellij -->
        <provided.scope>provided</provided.scope>
    </properties>

    <modules>
        <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-core</module>
        <module>storm-rename-hack</module>

        <!-- externals -->
        <module>external/storm-autocreds</module>
        <module>external/storm-kafka</module>
        <module>external/storm-hdfs</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/flux</module>
        <module>external/sql</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-kinesis</module>
        <module>external/storm-druid</module>
        <module>external/storm-submit-tools</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-jms</module>
        <module>external/storm-pmml</module>

        <!-- examples -->
        <module>examples/storm-starter</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-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-perf</module>
    </modules>

    <dependencies>
        <!-- The JUnit dependency is required for submodules by the maven-surefire-plugin <excludedGroups> configuration -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</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>
                        <version>0.12</version>
                        <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>**/BYLAWS.md</exclude>
                                <exclude>**/STORM-UI-REST-API.md</exclude>
                                <exclude>SECURITY.md</exclude>
                                <exclude>VERSION</exclude>
                                <exclude>TODO</exclude>
                                <!-- thrift-generated code -->
                                <exclude>**/src/py/**</exclude>

                                <!-- the following are in the LICENSE file -->
                                <exclude>**/src/ui/public/js/jquery.dataTables.1.10.4.min.js</exclude>
                                <exclude>**/src/ui/public/css/jquery.dataTables.1.10.4.min.css</exclude>
                                <exclude>**/src/ui/public/images/*</exclude>
                                <exclude>**/src/ui/public/js/bootstrap-3.3.1.min.js</exclude>
                                <exclude>**/src/ui/public/css/bootstrap-3.3.1.min.css</exclude>
                                <exclude>**/src/ui/public/js/dataTables.bootstrap.min.js</exclude>
                                <exclude>**/src/ui/public/css/dataTables.bootstrap.css</exclude>
                                <exclude>**/src/ui/public/js/jsonFormatter.min.js</exclude>
                                <exclude>**/src/ui/public/css/jsonFormatter.min.css</exclude>
                                <exclude>**/src/ui/public/js/jquery-1.11.1.min.js</exclude>
                                <exclude>**/src/ui/public/js/jquery.cookies.2.2.0.min.js</exclude>
                                <exclude>**/src/ui/public/js/moment.min.js</exclude>
                                <exclude>**/src/ui/public/js/jquery.blockUI.min.js</exclude>
                                <exclude>**/src/ui/public/js/url.min.js</exclude>
                                <exclude>**/src/ui/public/js/arbor.js</exclude>
                                <exclude>**/src/ui/public/js/arbor-graphics.js</exclude>
                                <exclude>**/src/ui/public/js/arbor-tween.js</exclude>
                                <exclude>**/src/ui/public/js/jquery.mustache.js</exclude>
                                <exclude>**/src/ui/public/js/typeahead.jquery.min.js</exclude>
                                <exclude>**/src/ui/public/js/cytoscape-dagre.js</exclude>
                                <exclude>**/src/ui/public/js/dagre.min.js</exclude>
                                <exclude>**/src/ui/public/js/esprima.min.js</exclude>
                                <exclude>**/src/ui/public/js/js-yaml.min.js</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>**/derby.log</exclude>
                                <exclude>**/src/dev/**</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</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>jar</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>
                <java.integration.test.include>**/*.java</java.integration.test.include>
                <clojure.test.set>*.*</clojure.test.set>
            </properties>
        </profile>
        <profile>
            <id>integration-tests-only</id>
            <properties>
                <!--Java-->
                <java.unit.test.include>no.unit.tests</java.unit.test.include>
                <java.integration.test.include>**/*.java</java.integration.test.include>
                <!--Clojure-->
                <clojure.test.set>integration.*</clojure.test.set>
                <clojure.test.declared.namespace.only>true</clojure.test.declared.namespace.only>
            </properties>
        </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.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>clj-time</groupId>
                <artifactId>clj-time</artifactId>
                <version>${clj-time.version}</version>
            </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>javax.servlet</groupId>
                <artifactId>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.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-smile</artifactId>
                <version>${jackson.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>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.netty</groupId>
                        <artifactId>netty</artifactId>
                    </exclusion>
                </exclusions>
            </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>
                <exclusions>
                    <!-- Curator depends on Zookeeper 3.5.x, since it is still in beta we should exclude it and depend on Zookeeper 3.4.x.-->
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-test</artifactId>
                <!-- curator-test is not compatible with Zookeeper 3.4.x.
                Curator works around this by using an older curator-test jar.
                See https://github.com/apache/curator/tree/6ba4de36d4e8b2b65d45c005a6a92dd85c3c497f/curator-test-zk34-->
                <version>${curator-test.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>compojure</groupId>
                <artifactId>compojure</artifactId>
                <version>${compojure.version}</version>
            </dependency>
            <dependency>
                <groupId>hiccup</groupId>
                <artifactId>hiccup</artifactId>
                <version>${hiccup.version}</version>
            </dependency>
            <dependency>
                <groupId>ring</groupId>
                <artifactId>ring-core</artifactId>
                <version>${ring.version}</version>
            </dependency>
            <dependency>
                <groupId>ring</groupId>
                <artifactId>ring-devel</artifactId>
                <version>${ring.version}</version>
            </dependency>
            <dependency>
                <groupId>ring</groupId>
                <artifactId>ring-jetty-adapter</artifactId>
                <version>${ring.version}</version>
            </dependency>
            <dependency>
                <groupId>ring</groupId>
                <artifactId>ring-json</artifactId>
                <version>${ring-json.version}</version>
            </dependency>
            <dependency>
                <groupId>ring-cors</groupId>
                <artifactId>ring-cors</artifactId>
                <version>${ring-cors.version}</version>
                <exclusions>
                  <exclusion>
                    <groupId>ring</groupId>
                    <artifactId>ring-core</artifactId>
                  </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlets</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${jetty.version}</version>
            </dependency>

            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>tools.logging</artifactId>
                <version>${clojure.tools.logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>math.numeric-tower</artifactId>
                <version>${clojure.math.numeric-tower.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</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.clojure</groupId>
                <artifactId>tools.cli</artifactId>
                <version>${clojure.tools.cli.version}</version>
            </dependency>
            <dependency>
                <groupId>com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.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.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${log4j-over-slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
                <version>${log4j-over-slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty</artifactId>
                <version>${netty.version}</version>
            </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-ganglia</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>metrics-clojure</groupId>
                <artifactId>metrics-clojure</artifactId>
                <version>${metrics-clojure.version}</version>
            </dependency>
            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>clojure-contrib</artifactId>
                <version>${clojure-contrib.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>data.codec</artifactId>
                <version>${clojure-data-codec.version}</version>
            </dependency>
            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>tools.nrepl</artifactId>
                <version>${clojure.tools.nrepl.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>clojure</artifactId>
                        <groupId>org.clojure</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>clojure-complete</groupId>
                <artifactId>clojure-complete</artifactId>
                <version>${clojure-complete.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>clojure</artifactId>
                        <groupId>org.clojure</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-library</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.clojars.runa</groupId>
                <artifactId>conjure</artifactId>
                <version>${conjure.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>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.calcite</groupId>
                <artifactId>calcite-core</artifactId>
                <version>${calcite.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>${storm.kafka.artifact.id}</artifactId>
                <version>${storm.kafka.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>${storm.kafka.client.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <repositories>
        <repository>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>central</id>
            <url>http://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>${maven-surefire.version}</version>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <excludedGroups>${java.unit.test.exclude}</excludedGroups>
                        <includes>
                            <include>${java.unit.test.include}</include>
                        </includes>
                        <argLine>-Xmx1536m</argLine>
                        <forkCount>1.0C</forkCount>
                        <reuseForks>true</reuseForks>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven-surefire.version}</version>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <includes>
                            <include>${java.integration.test.include}</include>
                        </includes>
                        <groups>org.apache.storm.testing.IntegrationTest</groups>
                        <argLine>-Xmx1536m</argLine>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5</version>
                </plugin>
                <plugin>
                    <groupId>com.theoryinpractise</groupId>
                    <artifactId>clojure-maven-plugin</artifactId>
                    <version>1.7.1</version>
                    <extensions>true</extensions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>2.16</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.4.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.3</version>
                </plugin>
            </plugins>
        </pluginManagement>


        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</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>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.11</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>checkstyle</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.0.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <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>
