<?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.6.0-SNAPSHOT</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.6.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://localhost:9000</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>
        <JAVA_HOME>${java.home}</JAVA_HOME>
    </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.6.0</version>
    <artifactId>chukwa</artifactId>
    <packaging>jar</packaging>

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

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/chukwa</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/chukwa</developerConnection>
        <tag></tag>
    </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>com.josephoconnell.html</groupId>
            <artifactId>html-filter</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/html-filter-1.0.jar</systemPath>
          </dependency>
          <dependency>
            <groupId>edu.berkeley.confspell</groupId>
            <artifactId>confspellcheck</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/confspellcheck.jar</systemPath>
          </dependency>
          <dependency>
            <groupId>com.rubiconproject.oss</groupId>
            <artifactId>jchronic</artifactId>
            <version>0.2.6</version>
          </dependency>
          <dependency>
            <groupId>org.apache.log4j</groupId>
            <artifactId>NagiosAppender</artifactId>
            <version>1.5.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/NagiosAppender-1.5.0.jar</systemPath>
          </dependency>
          <dependency>
            <groupId>org.fusesource</groupId>
            <artifactId>sigar</artifactId>
            <version>1.6.4</version>
          </dependency>
          <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20090211</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>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.4</version>
          </dependency>
          <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1</version>
          </dependency>
          <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.4</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>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.hadoop</groupId>
            <artifactId>libthrift</artifactId>
            <version>0.5.0</version>
          </dependency>
          <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.5</version>
          </dependency>
          <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.4</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>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>1.2.1</version>
            <exclusions>
              <exclusion>
                <groupId>tomcat</groupId>
                <artifactId>jasper-compiler</artifactId>
              </exclusion>
              <exclusion>
                <groupId>tomcat</groupId>
                <artifactId>jasper-runtime</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-test</artifactId>
            <version>1.2.1</version>
            <scope>test</scope>
          </dependency>
          <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-solrj</artifactId>
            <version>4.7.2</version>
            <type>jar</type>
          </dependency>
          <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-test-framework</artifactId>
            <version>4.7.2</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>
    </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>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
                <executions>
                    <execution>
                        <id>copy-configuration</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/conf</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>conf</directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.3.1</version>
                <executions>
                    <execution>
                        <id>core</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test</id>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>client</id>
                        <configuration>
                            <classifier>client</classifier>
                            <includes>
                                <include>**/inputtools/log4j/**/*</include>
                                <include>**/datacollection/client/**/*</include>
                                <include>**/chukwa/util/**/*</include>
                                <include>**/chukwa/datacollection/controller/**/*</include>
                            </includes>
                        </configuration>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <executions>
                  <execution>
                    <id>default-compile</id>
                    <phase>compile</phase>
                    <configuration>
                      <goals>
                        <goal>compile</goal>
                      </goals>
                      <!--<compilerArgument>-Xlint:unchecked</compilerArgument>
                      <compilerArgument>-Xlint:deprecation</compilerArgument>-->
                      <compilerVersion>1.6</compilerVersion>
                      <source>1.6</source>
                      <target>1.6</target>
                      <excludes>
                        <exclude>**/ChukwaJobTrackerInstrumentation.java</exclude>
                      </excludes>
                    </configuration>
                  </execution>
                  <execution>
                    <id>default-testCompile</id>
                    <phase>test-compile</phase>
                    <configuration>
                      <goals>
                        <goal>testCompile</goal>
                      </goals>
                      <!--<compilerArgument>-Xlint:unchecked</compilerArgument>
                      <compilerArgument>-Xlint:deprecation</compilerArgument>-->
                      <compilerVersion>1.6</compilerVersion>
                      <source>1.6</source>
                      <target>1.6</target>
                      <testExcludes>
                        <exclude>**/ChukwaJobTrackerInstrumentation.java</exclude>
                      </testExcludes>
                    </configuration>
                  </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.1</version>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <skip>false</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>default-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <argLine>-Xmx1024m -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=${basedir}/target/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=${basedir}/target/conf/jmxremote.access -Dcom.sun.management.jmxremote.port=10100</argLine>
                            <reportsDirectory>${project.build.directory}/test-reports</reportsDirectory>
                            <forkMode>pertest</forkMode>
                            <redirectTestOutputToFile>true</redirectTestOutputToFile>
                            <includes>
                                <include>**/Test*.java</include>
                            </includes>
                            <excludes>
                                <exclude>**/TestFSMBuilder.java</exclude>
                                <exclude>**/TestDatabase*.java</exclude>
                                <exclude>**/TestArchive.java</exclude>
                                <exclude>**/TestJobLogEntry.java</exclude>
                                <exclude>**/*$*</exclude>
                            </excludes>
                            <systemPropertyVariables>
                                <test.build.dir>${project.build.directory}/test</test.build.dir>
                                <test.build.data>${project.build.directory}/test/var</test.build.data>
                                <test.cache.data>${project.build.directory}/test/var/cache</test.cache.data>
                                <test.debug.data>${project.build.directory}/test/var/debug</test.debug.data>
                                <test.log.dir>${project.build.directory}/test/var/log</test.log.dir>
                                <test.build.classes>${project.build.directory}/test/classes</test.build.classes>
                                <CHUKWA_LOG_DIR>${project.build.directory}/test/var/log</CHUKWA_LOG_DIR>
                                <CHUKWA_CONF_DIR>${project.build.directory}/test/conf</CHUKWA_CONF_DIR>
                                <CHUKWA_DATA_DIR>${project.build.directory}/test/var</CHUKWA_DATA_DIR>
                                <CHUKWA_PID_DIR>${project.build.directory}/test/var/pid</CHUKWA_PID_DIR>
                                <CHUKWA_HDFS>/chukwa</CHUKWA_HDFS>
                                <CHUKWA_HOME>${project.build.directory}/test</CHUKWA_HOME>
                            </systemPropertyVariables>
                            <environmentVariables>
                                <CHUKWA_LOG_DIR>${project.build.directory}/test/var/log</CHUKWA_LOG_DIR>
                                <CHUKWA_CONF_DIR>${project.build.directory}/test/conf</CHUKWA_CONF_DIR>
                                <CHUKWA_DATA_DIR>${project.build.directory}/test/var</CHUKWA_DATA_DIR>
                                <CHUKWA_PID_DIR>${project.build.directory}/test/var/pid</CHUKWA_PID_DIR>
                                <CHUKWA_HDFS>/chukwa</CHUKWA_HDFS>
                                <CHUKWA_HOME>${project.build.directory}/test</CHUKWA_HOME>
                            </environmentVariables>
                            <workingDirectory>${project.build.directory}/test/classes</workingDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skip>false</skip>
                            <argLine>-Xmx1024m</argLine>
                            <reportsDirectory>${project.build.directory}/test-reports</reportsDirectory>
                            <forkMode>pertest</forkMode>
                            <redirectTestOutputToFile>true</redirectTestOutputToFile>
                            <includes>
                                <include>**/TestFSMBuilder.java</include>
                            </includes>
                            <excludes>
                                <exclude>**/TestDatabase*.java</exclude>
                                <exclude>**/TestArchive.java</exclude>
                                <exclude>**/*$*</exclude>
                            </excludes>
                            <systemPropertyVariables>
                                <test.build.data>${project.build.directory}/test/var</test.build.data>
                                <CHUKWA_LOG_DIR>${project.build.directory}/test/var/log</CHUKWA_LOG_DIR>
                                <CHUKWA_CONF_DIR>${project.build.directory}/test/conf</CHUKWA_CONF_DIR>
                                <CHUKWA_DATA_DIR>${project.build.directory}/test/var</CHUKWA_DATA_DIR>
                                <CHUKWA_PID_DIR>${project.build.directory}/test/var/pid</CHUKWA_PID_DIR>
                                <CHUKWA_HDFS>/chukwa</CHUKWA_HDFS>
                                <CHUKWA_HOME>${basedir}/target</CHUKWA_HOME>
                            </systemPropertyVariables>
                            <environmentVariables>
                                <CHUKWA_LOG_DIR>${project.build.directory}/test/var/log</CHUKWA_LOG_DIR>
                                <CHUKWA_CONF_DIR>${project.build.directory}/test/conf</CHUKWA_CONF_DIR>
                                <CHUKWA_DATA_DIR>${project.build.directory}/test/var</CHUKWA_DATA_DIR>
                                <CHUKWA_PID_DIR>${project.build.directory}/test/var/pid</CHUKWA_PID_DIR>
                                <CHUKWA_HDFS>/chukwa</CHUKWA_HDFS>
                                <CHUKWA_HOME>${basedir}/target</CHUKWA_HOME>
                            </environmentVariables>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <phase>package</phase>
                    <warName>hicc</warName>
                    <warSourceDirectory>src/main/web/hicc</warSourceDirectory>
                    <webappDirectory>${project.build.directory}/hicc</webappDirectory>
                </configuration>
                <executions>
                    <execution>
                        <id>build-hicc</id>
                        <phase>package</phase>
                        <goals>
                            <goal>war</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>build-tarball</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <finalName>${final.name}</finalName>
                            <tarLongFileMode>gnu</tarLongFileMode>
                            <descriptors>
                                <descriptor>src/packages/tarball/all.xml</descriptor>
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>setup</id>
                        <phase>validate</phase>
                        <configuration>
                            <target>
                                <mkdir dir="${basedir}/target"/>
                                <echo message="${VERSION}" file="${basedir}/target/VERSION"/>
                                <mkdir dir="${basedir}/target/clover"/>
                                <chmod dir="${basedir}/target/clover" perm="a+w" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>chmod-jmx-file</id>
                        <phase>process-resources</phase>
                        <configuration>
                            <target>
                                <chmod file="${project.build.directory}/conf/jmxremote.password" perm="600" />
                                <chmod file="${project.build.directory}/conf/jmxremote.access" perm="600" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-setup</id>
                        <phase>generate-test-resources</phase>
                        <configuration>
                            <target>
                                <delete dir="${project.build.directory}/test" />
                                <mkdir dir="${project.build.directory}/test/conf" />
                                <mkdir dir="${project.build.directory}/test/var" />
                                <mkdir dir="${project.build.directory}/test/var/log" />
                                <mkdir dir="${project.build.directory}/test/var/run" />
                                <copy todir="${project.build.directory}/test/var/log">
                                    <fileset dir="${basedir}/test/samples/">
                                        <include name="*.log" />
                                    </fileset>
                                </copy>
                                <echo message="localhost" file="${project.build.directory}/test/conf/collectors"/>
                                <copy file="${basedir}/conf/chukwa-common.xml" tofile="${project.build.directory}/test/conf/chukwa-common.xml">
                                    <filterchain>
                                        <expandproperties/>
                                    </filterchain>
                                </copy>
                                <copy file="${basedir}/conf/chukwa-agent-conf.xml" tofile="${project.build.directory}/test/conf/chukwa-agent-conf.xml">
                                    <filterchain>
                                        <expandproperties/>
                                    </filterchain>
                                </copy>
                                <copy file="${basedir}/conf/chukwa-demux-conf.xml" tofile="${project.build.directory}/test/conf/chukwa-demux-conf.xml">
                                    <filterchain>
                                        <expandproperties/>
                                    </filterchain>
                                </copy>
                                <copy file="${basedir}/conf/jmxremote.password" tofile="${project.build.directory}/test/conf/jmxremote.password">
                                    <filterchain>
                                        <expandproperties/>
                                    </filterchain>
                                </copy>
                                <copy file="${basedir}/conf/jmxremote.password" tofile="${project.build.directory}/test/conf/jmxremote.access">
                                    <filterchain>
                                        <expandproperties/>
                                    </filterchain>
                                </copy>
                                <copy file="${basedir}/conf/log4j.properties" tofile="${project.build.directory}/test/conf/log4j.properties"></copy>
                                <copy file="${basedir}/conf/auth.conf" tofile="${project.build.directory}/test/conf/auth.conf"></copy>
                                <chmod file="${project.build.directory}/test/conf/jmxremote.password" perm="600" />
                                <chmod file="${project.build.directory}/test/conf/jmxremote.access" perm="600" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>pre-site</id>
                        <phase>pre-site</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <mkdir dir="${project.build.directory}/site" />
                                <mkdir dir="${basedir}/target/site/apidocs"/>
                                <exec executable="perl" input="CHANGES.txt" output="${project.build.directory}/site/changes.html" failonerror="true">
                                    <arg value="src/site/resources/scripts/changes2html.pl" />
                                </exec>
                                <copy todir="${project.build.directory}/site">
                                    <fileset dir="src/site/resources/css" includes="*.css" />
                                </copy>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>0.10</version>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <numUnapprovedLicenses>0</numUnapprovedLicenses>
                    <excludes>
			            <!-- notice files -->
			            <exclude>CHANGES.txt</exclude>

			            <!-- generated files -->
			            <exclude>bin/VERSION</exclude>
			            <exclude>**/target/**</exclude>
			            <exclude>**/.classpath</exclude>
			            <exclude>**/.project</exclude>
			            <exclude>**/.settings/**</exclude>

			            <!-- Data files -->
			            <exclude>conf/agents</exclude>
			            <exclude>conf/alert</exclude>
			            <exclude>conf/auth.conf</exclude>
			            <exclude>conf/collectors</exclude>
			            <exclude>conf/hbase.schema</exclude>
			            <exclude>conf/initial_adaptors</exclude>
			            <exclude>conf/jmxremote.access</exclude>
			            <exclude>conf/jmxremote.password</exclude>
			            <exclude>contrib/solr/logs/conf/_schema_analysis_stopwords_english.json</exclude>
			            <exclude>contrib/solr/logs/conf/_schema_analysis_synonyms_english.json</exclude>
			            <exclude>src/main/web/hicc/descriptors/**</exclude>
			            <exclude>src/main/web/hicc/views/**</exclude>

			            <!-- Test samples -->
			            <exclude>src/test/resources/Hadoop18JobHistoryLog.txt</exclude>
			            <exclude>src/test/resources/TestJobLog.txt</exclude>
			            <exclude>test/samples/ClientTrace.log</exclude>
			            <exclude>test/samples/Iostat.log</exclude>
			            <exclude>test/samples/JobHistory.log</exclude>

			            <!-- bsd licensed files -->
			            <exclude>contrib/solr/logs/conf/lang/stopwords_da.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_de.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_es.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_fa.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_fi.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_fr.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_hi.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_hu.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_it.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_nl.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_no.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_pt.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_ru.txt</exclude>
			            <exclude>contrib/solr/logs/conf/lang/stopwords_sv.txt</exclude>
			            <exclude>src/main/web/hicc/js/jquery-*</exclude>
			            <exclude>src/main/web/hicc/css/iui.css</exclude>
			            <exclude>src/main/web/hicc/js/behaviour.js</exclude>
			            <exclude>src/main/web/hicc/js/heatmap.js</exclude>
			            <exclude>src/main/web/hicc/js/iui.js</exclude>
			            <exclude>src/main/web/hicc/js/yahoo-dom-event.js</exclude>
			            <exclude>src/main/web/hicc/js/treeview-min.js</exclude>

			            <!-- MIT licensed files -->
			            <exclude>contrib/solr/logs/conf/velocity/jquery.autocomplete.js</exclude>
			            <exclude>src/main/web/hicc/css/flexigrid/flexigrid.css</exclude>
			            <exclude>src/main/web/hicc/css/timeline.css</exclude>
			            <exclude>src/main/web/hicc/lib/timeline/**</exclude>
			            <exclude>lib/agent.dict</exclude>
			            <exclude>lib/collector.dict</exclude>
			            <exclude>lib/confspellcheck-README</exclude>
			            <exclude>lib/json-README.txt</exclude>
			            <exclude>src/main/web/hicc/js/ajaxtree.js</exclude>
			            <exclude>src/main/web/hicc/js/flexigrid.js</exclude>
			            <exclude>src/main/web/hicc/js/flexigrid.pack.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/builder.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/controls.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/dragdrop.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/effects.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/scriptaculous.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/slider.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/sound.js</exclude>
			            <exclude>src/main/web/hicc/js/org/tool-man/*</exclude>
			            <exclude>src/main/web/hicc/js/timeframe.js</exclude>
			            <exclude>src/main/web/hicc/js/workspace/prototype.js</exclude>
			            <exclude>src/main/web/hicc/js/jquery.flot.pack.js</exclude>
			            <exclude>src/main/web/hicc/js/gsv.js</exclude>

			            <!-- Creative Commons licensed files -->
			            <exclude>src/main/web/hicc/js/autoHeight.js</exclude>

			            <!-- Public Domain -->
			            <exclude>src/main/web/hicc/js/base64.js</exclude>
			            <exclude>src/main/web/hicc/js/canvas2image.js</exclude>
			            <exclude>src/main/web/hicc/js/json.js</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
        <extensions>
          <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh-external</artifactId>
            <version>1.0</version>
          </extension>
        </extensions>
    </build>

    <profiles>
        <profile>
            <id>hudson</id>
            <activation>
                <property>
                    <name>!env.BUILD_NUMBER</name>
                </property>
            </activation>
            <properties>
                <BUILD_NUMBER>0</BUILD_NUMBER>
            </properties>
        </profile>
        <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>
        <profile>
            <id>hbase-0.96</id>
            <activation>
                <property>
                    <name>!hbase.profile</name>
                </property>
            </activation>
            <properties>
                <hbase.version>0.96.2-hadoop1</hbase.version>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase-common</artifactId>
                    <version>${hbase.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-server</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-json</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-compiler</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-runtime</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase-server</artifactId>
                    <version>${hbase.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-server</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-json</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-compiler</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-runtime</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase-common</artifactId>
                    <classifier>tests</classifier>
                    <version>${hbase.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase-server</artifactId>
                    <classifier>tests</classifier>
                    <version>${hbase.version}</version>
                    <scope>test</scope>
                    <exclusions>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-server</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-json</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-compiler</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-runtime</artifactId>
                        </exclusion>
                   </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase-hadoop-compat</artifactId>
                    <classifier>tests</classifier>
                    <version>${hbase.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase-hadoop1-compat</artifactId>
                    <classifier>tests</classifier>
                    <version>${hbase.version}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>hbase-0.94</id>
            <properties>
                <hbase.version>0.94.9</hbase.version>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase</artifactId>
                    <version>${hbase.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-server</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.sun.jersey</groupId>
                            <artifactId>jersey-json</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-compiler</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-runtime</artifactId>
                        </exclusion>
                    </exclusions>   
                </dependency>
                <dependency>
                    <groupId>org.apache.hbase</groupId>
                    <artifactId>hbase</artifactId>
                    <classifier>tests</classifier>
                    <version>${hbase.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-compiler</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>tomcat</groupId>
                            <artifactId>jasper-runtime</artifactId>
                        </exclusion>
                    </exclusions>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>jspc</id>
            <activation>
                <property>
                    <name>jspc</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                      <groupId>org.mortbay.jetty</groupId>
                      <artifactId>maven-jetty-jspc-plugin</artifactId>
                      <version>6.1.26</version>
                      <executions>
                        <execution>
                          <id>jspc</id>
                          <goals>
                             <goal>jspc</goal>
                          </goals>
                          <configuration>
                             <webAppSourceDirectory>
                             src/main/web/hicc
                             </webAppSourceDirectory>
                             <generatedClasses>
                             ${basedir}/target/web
                             </generatedClasses>
                             <verbose>true</verbose>
                             <keepSources>false</keepSources>
                             <packageRoot>org.apache.jsp</packageRoot>
                             <ignoreJspFragmentErrors>true</ignoreJspFragmentErrors>
                          </configuration>
                        </execution>
                      </executions>
                    </plugin>
                </plugins>
            </build>
        </profile> 
        <profile>
          <id>docs</id>
          <activation>
            <file>
              <exists>/usr/bin/xsltproc</exists>
            </file>
          </activation>
          <build>
            <plugins>
              <!--  Generate HTML version of REST API document  -->
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.3</version>
                <dependencies>
                  <dependency><!-- add support for ssh/scp -->
                    <groupId>org.apache.maven.wagon</groupId>
                    <artifactId>wagon-ssh</artifactId>
                    <version>1.0</version>
                  </dependency>
                </dependencies>
              </plugin>
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                  <execution>
                    <id>agent-public-api</id>
                    <goals>
                      <goal>javadoc</goal>
                    </goals>
                    <phase>compile</phase>
                    <configuration>
                      <encoding>UTF-8</encoding>
                      <verbose>false</verbose>
                      <show>public</show>
                      <subpackages>org.apache.hadoop.chukwa.datacollection.agent.rest</subpackages>
                      <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDocletJSON</doclet>
                      <!-- <docletPath>${path.separator}${project.build.outputDirectory}</docletPath> -->
                      <docletArtifacts>
                        <docletArtifact>
                          <groupId>com.atlassian.plugins.rest</groupId>
                          <artifactId>atlassian-rest-doclet</artifactId>
                          <version>2.8.0-m3</version>
                        </docletArtifact>
                      </docletArtifacts>
                      <useStandardDocletOptions>false</useStandardDocletOptions>
                      <additionalparam>-output ${project.build.outputDirectory}/agent-rest.xml</additionalparam>
                    </configuration>
                  </execution>
                </executions>
              </plugin>
              <plugin>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>maven-wadl-plugin</artifactId>
                <version>1.8</version>
                <executions>
                  <execution>
                    <id>generate</id>
                    <goals>
                      <goal>generate</goal>
                    </goals>
                    <phase>compile</phase>
                  </execution>
                </executions>
                <configuration>
                  <wadlFile>${project.build.outputDirectory}/application.wadl</wadlFile>
                  <formatWadlFile>true</formatWadlFile>
                  <baseUri>http://[host]:[port]/rest/v2</baseUri>
                  <packagesResourceConfig>
                    <param>org.apache.hadoop.chukwa.datacollection.agent.rest</param>
                  </packagesResourceConfig>
                  <wadlGenerators>
                    <wadlGeneratorDescription>
                      <className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc</className>
                      <properties>
                        <property>
                          <name>applicationDocsFile</name>
                          <value>${basedir}/src/main/resources/agent-rest.xml</value>
                        </property>
                      </properties>
                    </wadlGeneratorDescription>
                    <wadlGeneratorDescription>
                      <className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport</className>
                      <properties>
                        <property>
                          <name>grammarsFile</name>
                          <value>${basedir}/src/main/resources/application-grammars.xml</value>
                        </property>
                      </properties>
                    </wadlGeneratorDescription>
                    <wadlGeneratorDescription>
                      <className>com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport</className>
                      <properties>
                        <property>
                          <name>resourceDocFile</name>
                          <value>${project.build.outputDirectory}/agent-rest.xml</value>
                        </property>
                      </properties>
                    </wadlGeneratorDescription>
                  </wadlGenerators>
                </configuration>
                <dependencies>
                  <dependency>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                    <version>2.5</version>
                  </dependency>
                </dependencies>
              </plugin>
              <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                  <execution>
                    <id>exec-xsltproc: target/application.html</id>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                    <phase>package</phase>
                    <configuration>
                      <executable>xsltproc</executable>
                      <commandlineArgs>-o ${project.build.directory}/site/apidocs/agent-rest.html src/main/webapps/wadl.xsl target/classes/application.wadl</commandlineArgs>
                    </configuration>
                  </execution>
                </executions>
              </plugin>
            </plugins>
          </build>
          <dependencies>
            <dependency>
              <groupId>com.sun.jersey.contribs</groupId>
              <artifactId>maven-wadl-plugin</artifactId>
              <version>1.8</version>
              <exclusions>
                <exclusion>
                  <groupId>org.apache.maven</groupId>
                  <artifactId>apache-maven</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.maven</groupId>
                  <artifactId>maven-artifact</artifactId>
                </exclusion>
              </exclusions>
            </dependency>
            <dependency>
              <groupId>com.sun.jersey.contribs</groupId>
              <artifactId>wadl-resourcedoc-doclet</artifactId>
              <version>1.8</version>
            </dependency>
          </dependencies>
        </profile>
    </profiles>

    <repositories>
        <repository>
            <id>codehaus</id>
            <url>http://repository.codehaus.org/</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>opencast</id>
            <url>http://repository.opencastproject.org/nexus/content/repositories/public/</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>2.6</version>
            <reportSets>
                <reportSet>
                    <reports>
                        <report>pmd</report>
                        <report>cpd</report>
                    </reports>
                </reportSet>
            </reportSets>
            <configuration>
                <targetJdk>1.6</targetJdk>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3</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.4</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>
              </configuration>
              <reports>
                <report>javadoc</report>
              </reports>
            </reportSet>
<!--            <reportSet>
              <id>restdoc</id>
              <configuration>
                <encoding>UTF-8</encoding>
                <verbose>false</verbose>
                <show>public</show>
                <subpackages>org.apache.hadoop.chukwa.datacollection.agent.rest</subpackages>
                <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet>
                <docletPath>${path.separator}${project.build.outputDirectory}</docletPath>
                <docletArtifacts>
                  <docletArtifact>
                    <groupId>com.sun.jersey.contribs</groupId>
                    <artifactId>wadl-resourcedoc-doclet</artifactId>
                    <version>1.8</version>
                  </docletArtifact>
                  <docletArtifact>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                    <version>2.6.1</version>
                  </docletArtifact>
                </docletArtifacts>
                <useStandardDocletOptions>false</useStandardDocletOptions>
                <additionalparam>-output ${project.build.outputDirectory}/agent-rest.xml</additionalparam>
              </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>

