<?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>
        <artifactId>storm</artifactId>
        <groupId>org.apache.storm</groupId>
        <version>0.10.0-beta1</version>
        <relativePath>..</relativePath>
    </parent>
    <groupId>org.apache.storm</groupId>
    <artifactId>storm-core</artifactId>
    <packaging>jar</packaging>
    <name>Storm Core</name>
    <description>Storm Core Java API and Clojure implementation.</description>

    <properties>
        <worker-launcher.conf.dir>/etc/storm</worker-launcher.conf.dir>
        <worker-launcher.additional_cflags />
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.esotericsoftware.kryo</groupId>
            <artifactId>kryo</artifactId>
        </dependency>
        <!--clojure-->
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>clojure</artifactId>
        </dependency>
        <dependency>
            <groupId>clj-time</groupId>
            <artifactId>clj-time</artifactId>
        </dependency>
        <dependency>
            <groupId>compojure</groupId>
            <artifactId>compojure</artifactId>
        </dependency>
        <dependency>
            <groupId>hiccup</groupId>
            <artifactId>hiccup</artifactId>
        </dependency>
        <dependency>
            <groupId>ring</groupId>
            <artifactId>ring-devel</artifactId>
        </dependency>
        <dependency>
            <groupId>ring</groupId>
            <artifactId>ring-jetty-adapter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>ring</groupId>
            <artifactId>ring-json</artifactId>
            <version>0.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-servlet</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-servlets</artifactId>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>tools.logging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>math.numeric-tower</artifactId>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>tools.cli</artifactId>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>tools.nrepl</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>clojure-complete</groupId>
            <artifactId>clojure-complete</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.clojars.runa</groupId>
            <artifactId>conjure</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>clojure-contrib</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>data.codec</artifactId>
            <scope>test</scope>
        </dependency>

        <!--java-->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-exec</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.thrift</groupId>
            <artifactId>libthrift</artifactId>
            <version>0.9.2</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <scope>compile</scope>
        </dependency>


        <dependency>
            <groupId>com.twitter</groupId>
            <artifactId>carbonite</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.googlecode.disruptor</groupId>
            <artifactId>disruptor</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jgrapht</groupId>
            <artifactId>jgrapht-core</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
	  <groupId>org.apache.hadoop</groupId>
	  <artifactId>hadoop-auth</artifactId>
	  <version>2.4.0</version>
          <exclusions>
             <exclusion>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.mockito</groupId>
               <artifactId>mockito-all</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.mortbay.jetty</groupId>
               <artifactId>jetty-util</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.mortbay.jetty</groupId>
               <artifactId>jetty</artifactId>
             </exclusion>
             <exclusion>
               <groupId>javax.servlet</groupId>
               <artifactId>servlet-api</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-api</artifactId>
             </exclusion>
             <exclusion>
               <groupId>commons-codec</groupId>
               <artifactId>commons-codec</artifactId>
             </exclusion>
             <exclusion>
               <groupId>log4j</groupId>
               <artifactId>log4j</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-log4j12</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>hadoop-minikdc</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.apache.directory.server</groupId>
               <artifactId>apacheds-kerberos-codec</artifactId>
             </exclusion>
             <exclusion>
               <groupId>log4j</groupId>
               <artifactId>log4j</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-log4j12</artifactId>
             </exclusion>
             <exclusion>
               <groupId>org.apache.httpcomponents</groupId>
               <artifactId>httpclient</artifactId>
             </exclusion>
          </exclusions>
        </dependency>
        <dependency>
        	<groupId>junit</groupId>
        	<artifactId>junit</artifactId>
        	<version>4.11</version>
        	<scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <sourceDirectory>src/jvm</sourceDirectory>
         <testSourceDirectory>test/jvm</testSourceDirectory>
        <resources>
            <resource>
                <directory>../conf</directory>
            </resource>
            <resource>
                <directory>../</directory>
                <targetPath>META-INF</targetPath>
                <includes>
                    <!--
                    storm-core doesn't package jquery, etc. so the stock
                    apache LICENSE file is okay. We do want our version
                    of the NOTICE file, however
                    -->
                    <include>NOTICE</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/src/resources</directory>
                <excludes>
                  <exclude>storm-core-version-info.properties</exclude>
                </excludes>
                <filtering>false</filtering>
           </resource>
           <resource>
              <directory>${basedir}/src/resources</directory>
              <includes>
                <include>storm-core-version-info.properties</include>
             </includes>
             <filtering>true</filtering>
         </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/dev</directory>
            </testResource>
            <testResource>
                <directory>test/resources</directory>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>com.theoryinpractise</groupId>
                <artifactId>clojure-maven-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <sourceDirectories>
                        <sourceDirectory>src/clj</sourceDirectory>
                    </sourceDirectories>
                    <testSourceDirectories>
                        <testSourceDirectory>test/clj</testSourceDirectory>
                    </testSourceDirectories>
                    <warnOnReflection>false</warnOnReflection>
                    <copyDeclaredNamespaceOnly>true</copyDeclaredNamespaceOnly>
                    <copiedNamespaces>
                        <copiedNamespace>none</copiedNamespace>
                    </copiedNamespaces>
                </configuration>
                <executions>
                    <execution>
                        <id>compile-clojure</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-clojure</id>
                        <phase>test</phase>
                        <goals>
                            <goal>test-with-junit</goal>
                        </goals>
                        <configuration>
                            <!-- argLine is set by JaCoCo for code coverage -->
                            <vmargs>${argLine} ${test.extra.args}</vmargs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <configuration>
                    <reportsDirectories>
                        <file>${project.build.directory}/test-reports</file>
                    </reportsDirectories>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.2</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <keepDependenciesWithProvidedScope>false</keepDependenciesWithProvidedScope>
                    <promoteTransitiveDependencies>false</promoteTransitiveDependencies>
                    <createDependencyReducedPom>true</createDependencyReducedPom>
                    <minimizeJar>false</minimizeJar>
                    <artifactSet>
                        <includes>
                            <include>org.apache.thrift:*</include>
                            <include>io.netty:netty</include>
                            <include>com.google.guava:guava</include>
                            <include>org.apache.httpcomponents:http*</include>
                            <include>org.apache.zookeeper:zookeeper</include>
                            <include>org.apache.curator:*</include>
                            <include>org.apache.httpcomponents:http*</include>
                            <include>org.apache.zookeeper:zookeeper</include>
                            <include>org.apache.curator:*</include>
                            <include>com.twitter:carbonite</include>
                            <include>com.twitter:chill-java</include>
                            <include>org.objenesis:objenesis</include>
                            <include>org.tukaani:xz</include>
                            <include>org.yaml:snakeyaml</include>
                            <include>org.jgrapht:jgrapht-core</include>
                            <include>commons-httpclient:commons-httpclient</include>
                            <include>org.apache.commons:commons-compress</include>
                            <include>org.apache.commons:commons-exec</include>
                            <include>commons-io:commons-io</include>
                            <include>commons-codec:commons-codec</include>
                            <include>commons-fileupload:commons-fileupload</include>
                            <include>commons-lang:commons-lang</include>
                            <include>com.googlecode.json-simple:json-simple</include>
                            <include>org.clojure:math.numeric-tower</include>
                            <include>org.clojure:tools.cli</include>
                            <include>org.clojure:tools.macro</include>
                            <include>joda-time:joda-time</include>
                            <include>org.eclipse.jetty:*</include>
                        </includes>
                    </artifactSet>

                    <relocations>
                        <relocation>
                            <pattern>org.apache.thrift</pattern>
                            <shadedPattern>org.apache.thrift7</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.jboss.netty</pattern>
                            <shadedPattern>org.apache.storm.netty</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>com.google.common</pattern>
                            <shadedPattern>org.apache.storm.guava</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>com.google.thirdparty</pattern>
                            <shadedPattern>org.apache.storm.guava.thirdparty</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.http</pattern>
                            <shadedPattern>org.apache.storm.http</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.zookeeper</pattern>
                            <shadedPattern>org.apache.storm.zookeeper</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.curator</pattern>
                            <shadedPattern>org.apache.storm.curator</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.jboss.netty</pattern>
                            <shadedPattern>org.apache.storm.netty</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>com.google.common</pattern>
                            <shadedPattern>org.apache.storm.guava</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>com.google.thirdparty</pattern>
                            <shadedPattern>org.apache.storm.guava.thirdparty</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.http</pattern>
                            <shadedPattern>org.apache.storm.http</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.zookeeper</pattern>
                            <shadedPattern>org.apache.storm.zookeeper</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.jute</pattern>
                            <shadedPattern>org.apache.storm.jute</shadedPattern>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.curator</pattern>
                            <shadedPattern>org.apache.storm.curator</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>carbonite</pattern>
                          <shadedPattern>org.apache.storm.carbonite</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>com.twitter.chill</pattern>
                          <shadedPattern>org.apache.storm.chill</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.objenesis</pattern>
                          <shadedPattern>org.apache.storm.objenesis</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.tukaani.xz</pattern>
                          <shadedPattern>org.apache.storm.xz</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.yaml.snakeyaml</pattern>
                          <shadedPattern>org.apache.storm.snakeyaml</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.jgrapht</pattern>
                          <shadedPattern>org.apache.storm.jgrapht</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.fusesource</pattern>
                          <shadedPattern>org.apache.storm.fusesource</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>com.metamx.http.client</pattern>
                          <shadedPattern>org.apache.storm.metamx.http.client</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.apache.commons.io</pattern>
                          <shadedPattern>org.apache.storm.commons.io</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.apache.commons.codec</pattern>
                          <shadedPattern>org.apache.storm.commons.codec</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.apache.commons.fileupload</pattern>
                          <shadedPattern>org.apache.storm.commons.fileupload</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.apache.commons.compress</pattern>
                          <shadedPattern>org.apache.storm.commons.compress</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.apache.commons.exec</pattern>
                          <shadedPattern>org.apache.storm.commons.exec</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.apache.commons.lang</pattern>
                          <shadedPattern>org.apache.storm.commons.lang</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.json.simple</pattern>
                          <shadedPattern>org.apache.storm.json.simple</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>clojure.math</pattern>
                          <shadedPattern>org.apache.storm.clojure.math</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>clojure.tools.cli</pattern>
                          <shadedPattern>org.apache.storm.clojure.tools.cli</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>cljs.tools.cli</pattern>
                          <shadedPattern>org.apache.storm.cljs.tools.cli</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>clojure.tools.macro</pattern>
                          <shadedPattern>org.apache.storm.clojure.tools.macro</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.joda.time</pattern>
                          <shadedPattern>org.apache.storm.joda.time</shadedPattern>
                        </relocation>
                        <relocation>
                          <pattern>org.eclipse.jetty</pattern>
                          <shadedPattern>org.apache.storm.jetty</shadedPattern>
                        </relocation>
                    </relocations>
                    <transformers>
                        <transformer implementation="org.apache.storm.maven.shade.clojure.ClojureTransformer" />
                    </transformers>
                    <filters>
                        <filter>
                            <artifact>org.apache.thrift:*</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>io.netty:netty</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>commons-httpclient:commons-httpclient</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                                <exclude>META-INF/README.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>org.apache.zookeeper:zookeeper</artifact>
                            <excludes>
                                <exclude>LICENSE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>commons-httpclient:commons-httpclient</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                                <exclude>META-INF/README.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>org.apache.zookeeper:zookeeper</artifact>
                            <excludes>
                                <exclude>LICENSE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>org.objenesis:objenesis</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>org.apache.commons:commons-compress</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>org.apache.commons:commons-exec</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>commons-io:commons-io</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>commons-codec:commons-codec</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>commons-fileupload:commons-fileupload</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>commons-lang:commons-lang</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>joda-time:joda-time</artifact>
                            <excludes>
                                <exclude>META-INF/LICENSE.txt</exclude>
                                <exclude>META-INF/NOTICE.txt</exclude>
                            </excludes>
                        </filter>
                    </filters>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.storm</groupId>
                        <artifactId>maven-shade-clojure-transformer</artifactId>
                        <version>${project.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
               <groupId>org.apache.storm</groupId>
               <artifactId>storm-maven-plugins</artifactId>
               <version>${project.version}</version>
               <executions>
                 <execution>
                   <id>version-info</id>
                   <phase>generate-resources</phase>
                   <goals>
                     <goal>version-info</goal>
                   </goals>
                   <configuration>
                   <source>
                      <directory>${basedir}/src/</directory>
                      <includes>
                        <include>jvm/**/*.java</include>
                        <include>clj/**/*.clj</include>
                      </includes>
                  </source>
                 </configuration>
               </execution>
             </executions>
          </plugin>
          <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                    <!-- multi-lang resources -->
                               <execution>
                                 <id>unpack</id>
                                 <phase>process-test-resources</phase>
                                 <goals>
                                   <goal>unpack</goal>
                                 </goals>
                                 <configuration>
                                   <artifactItems>
                                     <artifactItem>
                                       <groupId>org.apache.storm</groupId>
                                       <artifactId>multilang-ruby</artifactId>
                                       <version>${project.version}</version>
                                     </artifactItem>
                                     <artifactItem>
                                        <groupId>org.apache.storm</groupId>
                                        <artifactId>multilang-python</artifactId>
                                        <version>${project.version}</version>
                                      </artifactItem>
                                      <artifactItem>
                                         <groupId>org.apache.storm</groupId>
                                         <artifactId>multilang-javascript</artifactId>
                                         <version>${project.version}</version>
                                       </artifactItem>
                                   </artifactItems>
                                   <outputDirectory>${project.build.directory}/test-classes</outputDirectory>
                                 </configuration>
                               </execution>

                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <!-- avoid warning about recursion -->
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>coverage</id>
            <activation><activeByDefault>true</activeByDefault></activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <version>1.7</version>
                        <executions>
                            <execution>
                                <id>add-source</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>add-source</goal>
                                </goals>
                                <configuration>
                                    <sources><!-- Allows JaCoCo to find the clojure source code -->
                                        <source>src/clj</source>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.7</version>
                        <executions>
                            <execution>
                                <id>pre-test-jacoco-clean</id>
                                <phase>process-test-classes</phase>
                                <configuration>
                                    <tasks>
                                        <delete file="target\jacoco.exec" />
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>0.7.2.201409121644</version>
                        <executions>
                            <execution>
                                <id>prepare-agent</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <append>true</append>
                                    <excludes>
                                        <exclude>backtype/storm/metric/api/IMetricsConsumer$DataPointFieldAccess</exclude>
                                        <exclude>backtype/storm/metric/api/IMetricsConsumer$TaskInfoFieldAccess</exclude>
                                        <exclude>backtype/storm/testing/TestSerObjectFieldAccess</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                            <execution>
                                <id>report</id>
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                                <configuration>
                                    <excludes>
                                        <exclude>backtype/storm/generated/*</exclude> <!--Thrift generated code-->
                                    </excludes>
                                    <includes>
                                        <include>backtype/*/*/*/*</include>
                                        <include>backtype/*/*/*</include>
                                        <include>backtype/*/*</include>
                                        <include>backtype/*</include>
                                        <include>zilch/*</include>
                                        <include>storm/*/*/*/*</include>
                                        <include>storm/*/*/*</include>
                                        <include>storm/*/*</include>
                                        <include>storm/*</include>
                                    </includes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>native</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <version>1.2.1</version>
                        <executions>
                            <execution>
                                <phase>generate-sources</phase>
                                <goals><goal>exec</goal></goals>
                            </execution>
                        </executions>
                        <configuration>
                            <executable>sh</executable>
                            <arguments>
                                <argument>-c</argument>
                                <argument>mkdir -p ${project.build.directory}/; cp -rufv ${basedir}/src/native/ ${project.build.directory}/</argument>
                            </arguments>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>make-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>compile</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>autoreconf</goal>
                                    <goal>configure</goal>
                                    <goal>make-install</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>test</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <!-- autoreconf settings -->
                            <workDir>${project.build.directory}/native/worker-launcher</workDir>
                            <arguments>
                                <argument>-i</argument>
                            </arguments>

                            <!-- configure settings -->
                            <configureEnvironment>
                                <property>
                                    <name>CFLAGS</name>
                                    <value>-DEXEC_CONF_DIR=${worker-launcher.conf.dir} ${worker-launcher.additional_cflags}</value>
                                </property>
                            </configureEnvironment>
                            <configureWorkDir>${project.build.directory}/native/worker-launcher</configureWorkDir>
                            <prefix>/usr/local</prefix>

                            <!-- configure & make settings -->
                            <destDir>${project.build.directory}/native/target</destDir>

                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
    </profiles>

</project>
