<?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/maven-v4_0_0.xsd">
    <properties>
        <buildtype>test</buildtype>
        <BUILD_NUMBER>${env.BUILD_NUMBER}</BUILD_NUMBER>
        <VERSION>0.8.0</VERSION>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <package.prefix>/usr</package.prefix>
        <package.conf.dir>/etc/chukwa</package.conf.dir>
        <package.log.dir>/var/log/chukwa</package.log.dir>
        <package.pid.dir>/var/run/chukwa</package.pid.dir>
        <package.release>1</package.release>
        <package.version>0.8.0</package.version>
        <final.name>${project.artifactId}-${package.version}</final.name>
        <TODO_ALERT_EMAIL>user@example.com</TODO_ALERT_EMAIL>
        <TODO_CLUSTER_NAME>chukwa</TODO_CLUSTER_NAME>
        <TODO_COLLECTORS_LOCAL_OUTPUT_DIR>/tmp/chukwa/dataSink/</TODO_COLLECTORS_LOCAL_OUTPUT_DIR>
        <TODO_COLLECTORS_NAMENODE>hdfs:///</TODO_COLLECTORS_NAMENODE>
        <TODO_COLLECTORS_ROTATEINTERVAL>300000</TODO_COLLECTORS_ROTATEINTERVAL>
        <TODO_COLLECTORS_PORT>8080</TODO_COLLECTORS_PORT>
        <TODO_COLLECTORS_ISFIXEDTIMEROTATORSCHEME>false</TODO_COLLECTORS_ISFIXEDTIMEROTATORSCHEME>
        <TODO_COLLECTORS_FIXEDTIMEINTERVALOFFSET>30000</TODO_COLLECTORS_FIXEDTIMEINTERVALOFFSET>
        <TODO_CHUKWA_PID_DIR>/tmp/chukwa/pidDir</TODO_CHUKWA_PID_DIR>
        <TODO_CHUKWA_LOG_DIR>/tmp/chukwa/log</TODO_CHUKWA_LOG_DIR>
        <TODO_AGENTS_INSTANCE_NAME>chukwa</TODO_AGENTS_INSTANCE_NAME>
        <TODO_NAGIOS_SERVER>localhost</TODO_NAGIOS_SERVER>
        <TODO_DEMUX_IO_SORT_MB>64</TODO_DEMUX_IO_SORT_MB>
        <TODO_DEMUX_FS_INMEMORY_SIZE_MB>64</TODO_DEMUX_FS_INMEMORY_SIZE_MB>
        <TODO_DEMUX_IO_SORT_FACTOR>10</TODO_DEMUX_IO_SORT_FACTOR>
        <CHUKWA_DIR>/chukwa</CHUKWA_DIR>
        <json-simpleVersion>1.1</json-simpleVersion>
        <zookeeperVersion>3.4.5</zookeeperVersion>
        <hbaseVersion>1.2.0</hbaseVersion>
        <hadoopVersion>2.7.2</hadoopVersion>
        <solrVersion>5.5.0</solrVersion>
        <javaVersion>1.8</javaVersion>
        <!-- <JAVA_HOME>${java.home}</JAVA_HOME> -->
        <gora.version>0.6</gora.version>
    </properties>

    <name>Apache Chukwa</name>
    <description>Chukwa is an open source data collection system for monitoring large distributed systems. 
    Chukwa is built on top of the Hadoop Distributed File System (HDFS) and Map/Reduce framework and 
    inherits Hadoop’s scalability and robustness. Chukwa also includes a ﬂexible and powerful toolkit 
    for displaying, monitoring and analyzing results to make the best use of the collected data.</description>

    <url>http://chukwa.apache.org/</url>
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.apache.chukwa</groupId>
    <version>0.8.0</version>
    <artifactId>chukwa</artifactId>
    <packaging>pom</packaging>

    <issueManagement>
        <system>Chukwa JIRA</system>
        <url>http://issues.apache.org/jira/browse/CHUKWA</url>
    </issueManagement>

    <scm>
      <connection>scm:git:git://git.apache.org/chukwa.git</connection>
      <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/chukwa.git</developerConnection>
      <url>https://git-wip-us.apache.org/repos/asf?p=chukwa.git</url>
    </scm>

    <mailingLists>
        <mailingList>
            <name>User list</name>
            <subscribe>mailto:user-subscribe@chukwa.apache.org</subscribe>
            <unsubscribe>mailto:user-unsubscribe@chukwa.apache.org</unsubscribe>
            <post>mailto:user@chukwa.apache.org</post>
            <archive></archive>
        </mailingList>
        <mailingList>
            <name>Development list</name>
            <subscribe>mailto:dev-subscribe@chukwa.apache.org</subscribe>
            <unsubscribe>mailto:dev-unsubscribe@chukwa.apache.org</unsubscribe>
            <post>mailto:dev@chukwa.apache.org</post>
            <archive></archive>
        </mailingList>
        <mailingList>
            <name>Commit list</name>
            <subscribe>mailto:commits-subscribe@chukwa.apache.org</subscribe>
            <unsubscribe>mailto:commits-unsubscribe@chukwa.apache.org</unsubscribe>
            <post>mailto:commits@chukwa.apache.org</post>
            <archive></archive>
        </mailingList>
    </mailingLists>

    <dependencies>
          <dependency>
            <groupId>org.owasp.esapi</groupId>
            <artifactId>esapi</artifactId>
	    <version>2.1.0</version>
          </dependency>
          <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
	    <version>1.8.3</version>
          </dependency>
          <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
          </dependency>
          <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-tools</artifactId>
            <version>2.0</version>
            <exclusions>
              <exclusion>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts-tiles</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts-taglib</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts-core</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>com.rubiconproject.oss</groupId>
            <artifactId>jchronic</artifactId>
            <version>0.2.6</version>
          </dependency>
          <dependency>
            <groupId>com.github.jsendnsca</groupId>
            <artifactId>jsendnsca</artifactId>
            <version>2.1.1</version>
          </dependency>
          <dependency>
            <groupId>org.fusesource</groupId>
            <artifactId>sigar</artifactId>
            <version>1.6.4</version>
          </dependency>
          <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>${json-simpleVersion}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-core</artifactId>
            <version>5.5.1</version>
          </dependency>
          <dependency>
            <groupId>org.prefuse</groupId>
            <artifactId>prefuse</artifactId>
            <version>beta-20071021</version>
          </dependency>
          <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>1.7</version>
          </dependency>
          <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2</version>
          </dependency>
          <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
          </dependency>
          <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
          </dependency>
          <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1</version>
          </dependency>
          <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
          </dependency>
          <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.1</version>
          </dependency>
          <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>1.4.1</version>
          </dependency>
          <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
            <version>1.1</version>
          </dependency>
          <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.8.0</version>
          </dependency>
          <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty</artifactId>
            <version>6.1.26</version>
          </dependency>
          <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-util</artifactId>
            <version>6.1.26</version>
          </dependency>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
          </dependency>
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.1</version>
          </dependency>
          <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-mock</artifactId>
            <version>2.0.8</version>
          </dependency>
          <dependency>
            <groupId>asm</groupId>
            <artifactId>asm-commons</artifactId>
            <version>3.3.1</version>
          </dependency>
          <dependency>
            <groupId>jdiff</groupId>
            <artifactId>jdiff</artifactId>
            <version>1.0.9</version>
          </dependency>
          <dependency>
            <groupId>xmlenc</groupId>
            <artifactId>xmlenc</artifactId>
            <version>0.52</version>
          </dependency>
          <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>2.10.0</version>
          </dependency>
          <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>${zookeeperVersion}</version>
          </dependency>
          <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.9</version>
          </dependency>
          <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>12.0.1</version>
            <exclusions>
              <exclusion>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-solrj</artifactId>
            <version>${solrVersion}</version>
            <type>jar</type>
          </dependency>
          <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-test-framework</artifactId>
            <version>${solrVersion}</version>
            <type>jar</type>
            <scope>test</scope>
            <exclusions>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-auth</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>1.2.3</version>
          </dependency>
          <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
            <version>1.2.3</version>
          </dependency>
          <dependency>
            <groupId>org.apache.parquet</groupId>
            <artifactId>parquet-avro</artifactId>
            <version>1.7.0</version>
          </dependency>
          <!-- BEGINNING OF GORA DEPENDENCIES -->
          <dependency>
            <groupId>org.apache.gora</groupId>
            <artifactId>gora-core</artifactId>
            <version>${gora.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.gora</groupId>
            <artifactId>gora-hbase</artifactId>
            <version>${gora.version}</version>
          </dependency>
          <!--dependency>
            <groupId>org.apache.gora</groupId>
            <artifactId>gora-cassandra</artifactId>
            <version>${gora.version}</version>
          </dependency-->
          <!--dependency>
            <groupId>org.apache.gora</groupId>
            <artifactId>gora-mongodb</artifactId>
            <version>${gora.version}</version>
          </dependency-->
          <!--dependency>
            <groupId>org.apache.gora</groupId>
            <artifactId>gora-solr</artifactId>
            <version>${gora.version}</version>
          </dependency-->
          <!--dependency>
            <groupId>org.apache.gora</groupId>
            <artifactId>gora-accumulo</artifactId>
            <version>${gora.version}</version>
          </dependency-->
          
          <!-- END OF GORA DEPENDENCIES -->
    </dependencies>

    <developers>
        <developer>
            <id>eyang</id>
            <name>Eric Yang</name>
            <email>eyang@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role></role>
            </roles>
        </developer>
        <developer>
            <id>asrabkin</id>
            <name>Ariel Rabkin</name>
            <email>asrabkin@apache.org</email>
            <timezone>-5</timezone>
            <roles>
                <role></role>
            </roles>
        </developer>
        <developer>
            <id>billgraham</id>
            <name>Bill Graham</name>
            <email>billgraham@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role></role>
            </roles>
        </developer>
        <developer>
            <id>jboulon</id>
            <name>Jerome Boulon</name>
            <email>jboulon@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role></role>
            </roles>
        </developer>
    </developers>

    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
    </organization>

    <modules>
        <module>core</module>
        <module>docker</module>
        <module>analyzer</module>
    </modules>

    <profiles>
        <profile>
            <id>src</id>
            <activation>
                <property>
                    <name>release</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>build-release-tarball</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <finalName>chukwa-src-${VERSION}</finalName>
                                    <tarLongFileMode>gnu</tarLongFileMode>
                                    <descriptors>
                                        <descriptor>src/packages/tarball/src.xml</descriptor>
                                    </descriptors>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin> 
                        <groupId>org.apache.maven.plugins</groupId> 
                        <artifactId>maven-install-plugin</artifactId> 
                        <configuration> 
                            <createChecksum>true</createChecksum> 
                        </configuration> 
                    </plugin> 
                </plugins>
            </build>
        </profile>
    </profiles>

    <repositories>
        <repository>
            <id>maven-central</id>
            <url>https://repo.maven.apache.org/maven2/</url>
        </repository>
        <repository>
            <id>clojars</id>
            <url>http://clojars.org/repo/</url>
        </repository>
        <repository>
            <id>Apache</id>
            <url>http://repo.maven.apache.org/maven2/</url>
        </repository>
        <repository>
            <id>pentaho</id>
            <url>http://repository.pentaho.org/artifactory/repo/</url>
        </repository>
    </repositories>

    <dependencyManagement>
        <dependencies>
        </dependencies>
    </dependencyManagement>

    <reporting>
      <plugins>
        <plugin>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.3</version>
        </plugin>
        <plugin>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.4</version>
            <reportSets>
                <reportSet>
                    <reports>
                        <report>pmd</report>
                        <report>cpd</report>
                    </reports>
                </reportSet>
            </reportSets>
            <configuration>
                <targetJdk>1.7</targetJdk>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
                <threshold>Normal</threshold>
                <effort>Max</effort>
            </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.9</version>
          <configuration>
            <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
          </configuration>
          <reportSets>
            <reportSet>
              <reports>
                <report>dependencies</report>
              </reports>
            </reportSet>
          </reportSets>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.8</version>
          <reportSets>
            <reportSet>
              <id>javadoc</id>
              <configuration>
                <aggregate>true</aggregate>
                <doctitle>${project.name} API ${project.version}</doctitle>
                <show>public</show>
                <tags>
                  <tag>
                    <name>response.representation.200.doc</name>
                    <placement>a</placement>
                    <head>response.representation.200.doc</head>
                  </tag>
                  <tag>
                    <name>response.representation.200.mediaType</name>
                    <placement>a</placement>
                    <head>response.representation.200.mediaType</head>
                  </tag>
                  <tag>
                    <name>response.representation.200.example</name>
                    <placement>a</placement>
                    <head>response.representation.200.example</head>
                  </tag>
                  <tag>
                    <name>response.representation.400.doc</name>
                    <placement>a</placement>
                    <head>response.representation.400.doc</head>
                  </tag>
                  <tag>
                    <name>response.representation.400.mediaType</name>
                    <placement>a</placement>
                    <head>response.representation.400.mediaType</head>
                  </tag>
                  <tag>
                    <name>response.representation.400.example</name>
                    <placement>a</placement>
                    <head>response.representation.400.example</head>
                  </tag>
                  <tag>
                    <name>response.representation.403.doc</name>
                    <placement>a</placement>
                    <head>response.representation.403.doc</head>
                  </tag>
                  <tag>
                    <name>response.representation.403.mediaType</name>
                    <placement>a</placement>
                    <head>response.representation.403.mediaType</head>
                  </tag>
                  <tag>
                    <name>response.representation.403.example</name>
                    <placement>a</placement>
                    <head>response.representation.403.example</head>
                  </tag>
                  <tag>
                    <name>request.representation.example</name>
                    <placement>a</placement>
                    <head>request.representation.example</head>
                  </tag>
                </tags>
              </configuration>
              <reports>
                <report>javadoc</report>
              </reports>
            </reportSet>
          </reportSets>
        </plugin>
      </plugins>
    </reporting>

    <distributionManagement>
      <site>
        <id>apache-website</id>
        <name>Apache Website</name>
        <url>scp://people.apache.org/www/chukwa.apache.org/content/docs/r${project.version}</url>
      </site>
      <repository>
        <id>apache-repository</id>
        <url>scpexe://people.apache.org//www/www.apache.org/dist/chukwa</url>
      </repository>
    </distributionManagement>

</project>

