<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.microsoft.azure.sre.datahub</groupId>
  <artifactId>StorageTopology</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>StorageTopology</name>
  <url>http://maven.apache.org</url>
  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <storm.version>1.1.0</storm.version>
  </properties>
  <dependencies>
    <!-- Storm -->
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-core</artifactId>
        <version>${storm.version}</version>
        <scope>provided</scope>
    </dependency>
    <!-- Flux -->
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>flux-core</artifactId>
        <version>${storm.version}</version>
    </dependency>
    <!-- Flux Wrappers include -->
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>flux-wrappers</artifactId>
        <version>${storm.version}</version>
    </dependency>
    <!-- Log4J -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.8.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.8.1</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
          <source>1.8</source>
          <target>1.8</target>
          </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.4.0</version>
        <executions>
          <execution>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <executable>java</executable>
          <argument>-Xms1024m</argument>
          <argument>-Xmx4096m</argument>
          <includeProjectDependencies>true</includeProjectDependencies>
          <includePluginDependencies>false</includePluginDependencies>
          <classpathScope>compile</classpathScope>
          <mainClass>org.apache.storm.flux.Flux</mainClass>
          <cleanupDaemonThreads>false</cleanupDaemonThreads> 
        </configuration>
      </plugin>
      <!-- create a fat jar that includes all dependencies -->
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>1.4</version>
          <configuration>
              <createDependencyReducedPom>true</createDependencyReducedPom>
          </configuration>
          <executions>
              <execution>
                  <phase>package</phase>
                  <goals>
                      <goal>shade</goal>
                  </goals>
                  <configuration>
                      <transformers>
                          <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                              <mainClass>org.apache.storm.flux.Flux</mainClass>
                          </transformer>
                      </transformers>
                  </configuration>
              </execution>
          </executions>
      </plugin>
    </plugins>
    <resources>
      <resource>
          <directory>${basedir}/resources</directory>
          <filtering>false</filtering>
          <includes>
              <include>topology.yaml</include>
          </includes>
      </resource>
      <resource>
          <directory>${basedir}/../common/resources</directory>
          <filtering>false</filtering>
          <includes>
              <include>log4j2.xml</include>
          </includes>
      </resource>
      <resource>
          <directory>${basedir}/multilang</directory>
      </resource>
    </resources>
  </build>
</project>
