<?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>

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

  <groupId>org.apache.samza</groupId>
  <artifactId>hello-samza</artifactId>
  <version>1.5.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>Samza Example</name>
  <description>
    Samza is a stream processing system. Think of it as Map-Reduce for streams.
  </description>
  <url>https://samza.apache.org/</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-api</artifactId>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-azure_2.11</artifactId>
      <version>${samza.version}</version>
      <exclusions>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-core_2.12</artifactId>
       </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-core_2.11</artifactId>
      <version>${samza.version}</version>
      <exclusions>
        <!-- zookeeper dependency pulls in log4j1; exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-test_2.11</artifactId>
      <version>${samza.version}</version>
      <exclusions>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-core_2.12</artifactId>
       </exclusion>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-log4j</artifactId>
       </exclusion>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-log4j2</artifactId>
       </exclusion>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-kv-inmemory_2.12</artifactId>
       </exclusion>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-kv-rocksdb_2.12</artifactId>
       </exclusion>
       <exclusion>
        <groupId>org.apache.samza</groupId>
        <artifactId>samza-kafka_2.12</artifactId>
       </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-log4j2_2.11</artifactId>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-shell</artifactId>
      <classifier>dist</classifier>
      <type>tgz</type>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-yarn_2.11</artifactId>
      <version>${samza.version}</version>
      <exclusions>
        <!-- zookeeper dependency pulls in log4j1; exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-kv_2.11</artifactId>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-kv-rocksdb_2.11</artifactId>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-kafka_2.11</artifactId>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.samza</groupId>
      <artifactId>samza-aws_2.11</artifactId>
      <version>${samza.version}</version>
    </dependency>
    <dependency>
      <groupId>org.schwering</groupId>
      <artifactId>irclib</artifactId>
      <version>1.10</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.2</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-jaxrs</artifactId>
      <version>1.9.13</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
      <version>4.4.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-annotations</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-auth</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdfs</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-yarn-api</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-yarn-client</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-yarn-common</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <!-- exclude log4j1 components since we want to use log4j2 components -->
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>23.0</version>
    </dependency>
  </dependencies>

  <properties>
    <!-- maven specific properties -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <samza.version>1.5.0-SNAPSHOT</samza.version>
    <hadoop.version>2.6.1</hadoop.version>
  </properties>

  <developers>
    <developer>
      <name>Chris Riccomini</name>
      <email>criccomini@gmail.com</email>
      <timezone>-8</timezone>
    </developer>
  </developers>

  <licenses>
    <license>
      <name>Apache License 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <scm>
    <connection>scm:git:git://github.com/linkedin/hello-samza.git</connection>
    <developerConnection>scm:git:git@github.com:linkedin/hello-samza.git</developerConnection>
    <url>http://github.com/linkedin/hello-samza/</url>
  </scm>

  <issueManagement>
    <system>github</system>
    <url>http://github.com/linkedin/hello-samza/issues</url>
  </issueManagement>

  <repositories>
    <repository>
      <id>my-local-repo</id>
      <url>file://${user.home}/.m2/repository</url>
    </repository>
    <repository>
      <id>apache-releases</id>
      <url>https://repository.apache.org/content/groups/public</url>
    </repository>
    <repository>
      <id>scala-tools.org</id>
      <name>Scala-tools Maven2 Repository</name>
      <url>https://oss.sonatype.org/content/groups/scala-tools</url>
    </repository>
    <repository>
      <id>cloudera-repos</id>
      <name>Cloudera Repos</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>scala-tools.org</id>
      <name>Scala-tools Maven2 Repository</name>
      <url>http://scala-tools.org/repo-releases</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.9</version>
          <configuration>
            <excludes>
              <exclude>**/*.patch</exclude>
              <exclude>**/*.txt</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/*.json</exclude>
              <exclude>**/*.sql</exclude>
              <exclude>.vagrant/**</exclude>
              <exclude>.git/**</exclude>
              <exclude>*.md</exclude>
              <exclude>docs/**</exclude>
              <exclude>out/**</exclude>
              <exclude>config/**</exclude>
              <exclude>bin/**</exclude>
              <exclude>.gitignore</exclude>
              <exclude>**/.cache/**</exclude>
              <exclude>deploy/**</exclude>
              <exclude>**/.project</exclude>
              <exclude>**/.gradle/**</exclude>
              <exclude>**/gradle/**</exclude>
              <exclude>**/gradlew*</exclude>
              <exclude>**/build/**</exclude>
              <exclude>**/src/test/resources/**</exclude>
            </excludes>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>0.9</version>
        <executions>
          <execution>
            <phase>test</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- plugin to build the tar.gz file filled with examples -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*txt</include>
        </includes>
      </resource>
    </resources>
  </build>

  <profiles>
    <!-- CDH compatible build: mvn clean package -Denv=cdh5.4.0 -->
    <profile>
      <id>cdh5.4.0</id>
      <activation>
        <property>
          <name>env</name>
          <value>cdh5.4.0</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>2.6.0-cdh5.4.0</hadoop.version>
      </properties>
    </profile>
  </profiles>
</project>
