<?xml version="1.0"?>
<!--
   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">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.ambari</groupId>
  <artifactId>ambari</artifactId>
  <packaging>pom</packaging>
  <name>Ambari Main</name>
  <version>2.6.1.0.0</version>
  <description>Ambari</description>
  <url>http://ambari.apache.org/</url>
  <scm>
    <url>https://github.com/apache/ambari</url>
    <connection>https://git-wip-us.apache.org/repos/asf/ambari.git</connection>
  </scm>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org</url>
  </organization>
  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/AMBARI</url>
  </issueManagement>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <clover.license>${user.home}/clover.license</clover.license>
    <buildnumber-maven-plugin-version>1.2</buildnumber-maven-plugin-version>
    <deb.publisher>Hortonworks</deb.publisher>
    <deb.section>universe/admin</deb.section>
    <deb.architecture>i386 amd64</deb.architecture>
    <deb.priority>extra</deb.priority>
    <stack.distribution>HDP</stack.distribution>

    <!-- Default supplement distribution is BigInsights for Ambari 2.5.2 and higher. -->
    <supplemental.distribution>BigInsights</supplemental.distribution>

    <ambari.dir>${project.basedir}</ambari.dir>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <distMgmtSnapshotsId>apache.snapshots.https</distMgmtSnapshotsId>
    <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
    <distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
    <distMgmtStagingId>apache.staging.https</distMgmtStagingId>
    <distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName>
    <distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl>
    <assemblyPhase>package</assemblyPhase> <!-- use -DassemblyPhase=none to skip building tarball, useful when you want purely compile jar -->
  </properties>
  <pluginRepositories>
    <pluginRepository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
    </pluginRepository>
    <pluginRepository>
      <id>maven2-glassfish-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/glassfish/</url>
    </pluginRepository>
    <pluginRepository>
      <id>maven2-repository.atlassian</id>
      <name>Atlassian Maven Repository</name>
      <url>https://maven.atlassian.com/repository/public</url>
      <layout>default</layout>
    </pluginRepository>
    <pluginRepository>
      <id>${distMgmtSnapshotsId}</id>
      <name>${distMgmtSnapshotsName}</name>
      <url>${distMgmtSnapshotsUrl}</url>
      <layout>default</layout>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>${distMgmtStagingId}</id>
      <name>${distMgmtStagingName}</name>
      <url>${distMgmtStagingUrl}</url>
    </repository>
    <snapshotRepository>
      <id>${distMgmtSnapshotsId}</id>
      <name>${distMgmtSnapshotsName}</name>
      <url>${distMgmtSnapshotsUrl}</url>
    </snapshotRepository>
  </distributionManagement>

  <repositories>
    <repository>
      <id>oss.sonatype.org</id>
      <name>OSS Sonatype Staging</name>
      <url>https://oss.sonatype.org/content/groups/staging</url>
    </repository>
    <repository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>http://repo.spring.io/milestone</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>ASF Staging</id>
      <url>https://repository.apache.org/content/groups/staging/</url>
    </repository>
    <repository>
      <id>ASF Snapshots</id>
      <url>https://repository.apache.org/content/repositories/snapshots/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.11</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>rpm-maven-plugin</artifactId>
          <version>2.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.vafer</groupId>
          <artifactId>jdeb</artifactId>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>2.5</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-5</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>parse-package-version</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>package-version</name>
              <value>${project.version}</value>
              <regex>^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)((\.|-).*)?</regex>
              <replacement>$1.$2.$3.$4</replacement>
              <failIfNoMatch>true</failIfNoMatch>
            </configuration>
          </execution>
          <execution>
            <id>parse-package-release</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>package-release</name>
              <value>${project.version}</value>
              <regex>^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)((\.|-)(([0-9]+)|(SNAPSHOT)|(techwin)).*)?</regex>
              <replacement>$7</replacement>
              <failIfNoMatch>true</failIfNoMatch>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>${ambari.dir}/ambari-project/src/main/assemblies/empty.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rpm-maven-plugin</artifactId>
        <version>2.0.1</version>
        <executions>
          <execution>
            <!-- unbinds rpm creation from maven lifecycle -->
            <phase>none</phase>
            <goals>
              <goal>attached-rpm</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <copyright>2012, Apache Software Foundation</copyright>
          <group>Development</group>
          <description>Maven Recipe: RPM Package.</description>
          <release>${package-release}</release>
          <version>${package-version}</version>
          <mappings/>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/repo_*.j2</exclude>
            <exclude>**/ambari-log4j.spec</exclude>
            <exclude>**/version.txt</exclude>
            <exclude>**/release.txt</exclude>
            <exclude>**/*.list</exclude>
            <exclude>**/hdp_mon_nagios_addons.conf</exclude>
            <exclude>**/*.json</exclude>
            <exclude>**/*.svg</exclude>
            <exclude>derby.log</exclude>
            <exclude>CHANGES.txt</exclude>
            <exclude>pass.txt</exclude>
            <exclude>ambari-metrics/ambari-metrics-host-monitoring/conf/unix/metric_groups.conf</exclude>
            <exclude>ambari-metrics/ambari-metrics-host-monitoring/conf/windows/metric_groups.conf</exclude>
            <exclude>contrib/addons/test/dataServices/jmx/data/cluster_configuration.json.nohbase</exclude>
            <exclude>contrib/ambari-scom/msi/src/GUI_Ambari.sln</exclude>
            <exclude>contrib/fast-hdfs-resource/dependency-reduced-pom.xml</exclude>
            <exclude>contrib/agent-simulator/docker_image/package_list.txt</exclude>
            <exclude>contrib/agent-simulator/config/cluster.txt</exclude>
            <exclude>version</exclude>
            <exclude>**/target/surefire-reports/</exclude>
            <!--IDE and GIT files-->
            <exclude>**/.idea/</exclude>
            <exclude>**/.classpath/</exclude>
            <exclude>**/.project/</exclude>
            <exclude>**/.settings/</exclude>
            <exclude>.git/</exclude>
            <exclude>.pydevproject</exclude>
            <exclude>**/.gitignore</exclude>
            <exclude>**/.gitattributes</exclude>
            <exclude>**/.gitkeep</exclude>
            <exclude>**/.jshintrc</exclude>
            <exclude>**/.editorconfig</exclude>
            <!--gitignore content-->
            <exclude>.DS_Store</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>*.pyc</exclude>
            <exclude>*.py~</exclude>
            <exclude>.hg</exclude>
            <exclude>.hgignore</exclude>
            <exclude>.hgtags</exclude>
            <exclude>**/.bowerrc</exclude>
            <exclude>**/robots.txt</exclude>
            <exclude>**/rat.txt</exclude>

            <!--Python Mock library (BSD license)-->
            <exclude>ambari-common/src/test/python/mock/**</exclude>
            <!--Jinja2 library (BSD license)-->
            <exclude>ambari-common/src/main/python/ambari_jinja2/**</exclude>
            <exclude>ambari-common/src/main/python/jinja2/**</exclude>
            <!--Simplejson library (MIT license)-->
            <exclude>ambari-common/src/main/python/ambari_simplejson/**</exclude>

            <exclude>ambari-web/node_modules/**</exclude>

            <!--Contributions-->
            <exclude>contrib/ambari-scom/management-pack/Hadoop_MP/**</exclude>
            <exclude>contrib/addons/test/dataServices/jmx/data/cluster_configuration.json.nohbase</exclude>
            <exclude>contrib/ambari-scom/msi/src/GUI_Ambari.sln</exclude>
            <exclude>contrib/ambari-scom/ambari-scom-server/pass.txt</exclude>
            <exclude>contrib/ambari-scom/*/rat.txt</exclude>
            <exclude>contrib/ambari-scom/metrics-sink/target/**</exclude>
            <exclude>contrib/views/*/target/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/.bowerrc</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/bower_components/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/node/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/node_modules/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/public/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/vendor/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/tests/**/public/**</exclude>
            <exclude>contrib/views/commons/src/main/resources/ui/*/tests/**/vendor/**</exclude>
            <exclude>contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/codemirror/**</exclude>
            <exclude>contrib/views/hive-next/src/main/resources/ui/hive-web/.bowerrc</exclude>
            <exclude>contrib/views/hive20/src/main/resources/ui/vendor/codemirror/**</exclude>
            <exclude>contrib/views/hive20/src/main/resources/ui/.bowerrc</exclude>
            <exclude>contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/.bowerrc</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/bower_components/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/node/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/node_modules/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/public/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/vendor/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/runner.js</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/app/assets/stylesheets/**</exclude>
            <exclude>contrib/views/files/src/main/resources/ui/app/assets/javascripts/**</exclude>
            <exclude>contrib/views/jobs/src/main/resources/ui/.tmp/**</exclude>
            <exclude>contrib/views/jobs/src/main/resources/ui/**/bower_components/**</exclude>
            <exclude>contrib/views/jobs/src/main/resources/ui/dist/**</exclude>
            <exclude>contrib/views/jobs/src/main/resources/ui/node/**</exclude>
            <exclude>contrib/views/jobs/src/main/resources/ui/node_modules/**</exclude>
            <exclude>contrib/views/jobs/src/main/resources/ui/**/.bowerrc</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/public/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/node_modules/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/node/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/bower_components/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/vendor/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/app/assets/static/stylesheets/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/app/assets/static/javascripts/**</exclude>
            <exclude>contrib/views/pig/src/main/resources/ui/pig-web/runner.js</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/public/**</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/node_modules/**</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/vendor/**</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/app/assets/stylesheets/**</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/app/assets/javascripts/**</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/bower_components/**</exclude>
            <exclude>contrib/views/slider/src/main/resources/ui/runner.js</exclude>
            <exclude>contrib/views/storm/src/main/resources/ui/.*</exclude>
            <exclude>contrib/views/storm/src/main/resources/ui/node_modules/**</exclude>
            <exclude>contrib/views/storm/src/main/resources/ui/public/**</exclude>
            <exclude>contrib/views/storm/src/main/resources/ui/app/styles/**</exclude>
            <exclude>contrib/addons/package/deb/nagios_addon_deb_control</exclude>
            <exclude>contrib/addons/src/addOns/nagios/conf.d/hdp_mon_nagios_addons.conf</exclude>
            <exclude>contrib/views/*/.classpath</exclude>
            <exclude>contrib/views/*/.project</exclude>
            <exclude>contrib/views/*/.settings/**</exclude>
            <exclude>contrib/views/capacity-scheduler/src/main/resources/ui/app/**</exclude>
            <exclude>contrib/views/capacity-scheduler/src/main/resources/ui/runner.js</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.bowerrc</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/bower_components/**</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/node/**</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/node_modules/**</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/public/**</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/vendor/**</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/runner.js</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/assets/stylesheets/**</exclude>
            <exclude>contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/assets/javascripts/**</exclude>

            <exclude>contrib/ambari-scom/ambari-scom-server/pass.txt</exclude>
            <exclude>contrib/ambari-scom/ambari-scom-server/target/**</exclude>
            <exclude>contrib/ambari-scom/*/rat.txt</exclude>
            <exclude>contrib/ambari-scom/metrics-sink/target/**</exclude>

            <!--Velocity log -->
            <exclude>**/velocity.log*</exclude>

            <!-- Metrics module -->
            <!-- grafana -->
            <exclude>ambari-metrics/ambari-metrics-grafana/conf/unix/ams-grafana.ini</exclude>
            <!-- psutil : external lib, Apache 2.0 license included as a source file -->
            <exclude>ambari-metrics/target/**</exclude>
            <exclude>ambari-metrics/ambari-metrics-host-monitoring/src/main/python/psutil/**</exclude>
            <exclude>ambari-metrics/target/rpm/ambari-metrics/SPECS/ambari-metrics.spec</exclude>
            <exclude>ambari-metrics/ambari-metrics-timelineservice/src/test/resources/lib/org/apache/phoenix/phoenix-core-tests/4.2.0/phoenix-core-tests-4.2.0.pom</exclude>
            <exclude>ambari-metrics/ambari-metrics-timelineservice/src/test/resources/lib/org/apache/phoenix/phoenix-core-tests/maven-metadata-local.xml</exclude>
            <exclude>ambari-metrics/*/target/**</exclude>
            <!-- ignore .settings and .project  -->
            <exclude>ambari-metrics/**/.*/**</exclude>
            <!-- generated DDL-->
            <exclude>**/createDDL.jdbc</exclude>
            <exclude>**/yarn.lock</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <phase>test</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.vafer</groupId>
        <artifactId>jdeb</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <phase>none</phase>
            <goals>
              <goal>jdeb</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <skip>true</skip>
          <attach>false</attach>
          <submodules>true</submodules>
          <controlDir>${basedir}/ambari-project/src/main/package/deb/control</controlDir>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <configuration>
          <filesets>
            <fileset>
              <directory>${basedir}</directory>
              <followSymlinks>false</followSymlinks>
               <includes>
                <include>**/*.pyc</include>
              </includes>
             </fileset>
          </filesets>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>default-views</id>
      <activation>
        <property>
          <name>views</name>
        </property>
      </activation>
      <modules>
        <module>ambari-web</module>
        <module>ambari-project</module>
        <module>ambari-views</module>
        <module>ambari-admin</module>
        <module>contrib/views</module>
        <module>ambari-metrics</module>
        <module>ambari-server</module>
        <module>ambari-funtest</module>
        <module>ambari-agent</module>
        <module>ambari-client</module>
        <module>ambari-shell</module>
        <module>ambari-logsearch</module>
      </modules>
    </profile>
    <profile>
      <id>example-views</id>
      <activation>
        <property>
          <name>exampleViews</name>
        </property>
      </activation>
      <modules>
        <module>ambari-web</module>
        <module>ambari-project</module>
        <module>ambari-views</module>
        <module>ambari-admin</module>
        <module>ambari-views/examples</module>
        <module>ambari-metrics</module>
        <module>ambari-server</module>
        <module>ambari-funtest</module>
        <module>ambari-agent</module>
        <module>ambari-client</module>
        <module>ambari-shell</module>
      </modules>
    </profile>
    <profile>
      <id>static-web</id>
      <modules>
        <module>ambari-project</module>
        <module>ambari-views</module>
        <module>ambari-admin</module>
        <module>ambari-metrics</module>
        <module>ambari-server</module>
        <module>ambari-funtest</module>
        <module>ambari-agent</module>
        <module>ambari-client</module>
        <module>ambari-shell</module>
        <module>ambari-logsearch</module>
      </modules>
    </profile>
    <profile>
      <id>linux</id>
      <activation>
        <os>
          <family>unix</family>
        </os>
      </activation>
      <modules>
        <module>ambari-web</module>
        <module>ambari-project</module>
        <module>ambari-views</module>
        <module>ambari-admin</module>
        <module>ambari-metrics</module>
        <module>ambari-server</module>
        <module>ambari-funtest</module>
        <module>ambari-agent</module>
        <module>ambari-client</module>
        <module>ambari-shell</module>
        <module>ambari-logsearch</module>
        </modules>
    </profile>
    <profile>
      <id>ambari-metrics</id>
      <modules>
        <module>ambari-metrics</module>
      </modules>
    </profile>
    <profile>
      <id>windows</id>
      <activation>
        <os>
          <family>win</family>
        </os>
      </activation>
      <modules>
        <module>ambari-web</module>
        <module>ambari-project</module>
        <module>ambari-views</module>
        <module>ambari-admin</module>
        <module>ambari-metrics</module>
        <module>ambari-server</module>
        <module>ambari-funtest</module>
        <module>ambari-agent</module>
        <module>ambari-client</module>
        <module>ambari-shell</module>
        </modules>
    </profile>
    <profile>
      <id>clover</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>clover</name>
        </property>
      </activation>
      <properties>
        <maven.clover.licenseLocation>${clover.license}</maven.clover.licenseLocation>
        <clover.version>3.1.11</clover.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-clover2-plugin</artifactId>
            <version>${clover.version}</version>
            <configuration>
              <includesAllSourceRoots>true</includesAllSourceRoots>
              <includesTestSourceRoots>true</includesTestSourceRoots>
              <targetPercentage>50%</targetPercentage>
              <generateHtml>true</generateHtml>
              <generateXml>true</generateXml>
              <excludes>
                <exclude>**/generated/**</exclude>
              </excludes>
            </configuration>
            <executions>
              <execution>
                <id>clover-setup</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>setup</goal>
                </goals>
              </execution>
              <execution>
                <id>clover</id>
                <phase>test</phase>
                <goals>
                  <goal>clover</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>sources</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>javadoc</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <docfilessubdirs>true</docfilessubdirs>
            </configuration>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- This profile exists to only sign the build artifacts when making a release candidate
instead of a SNAPSHOT. -->
    <profile>
      <id>sign-artifacts</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Start of profiles for running unit tests.
     The category names are Java interfaces in utility/src/main/java/category/
     The testcase.groups property contains a csv list of these categories (including the Java package name).

     To run a suite of all test cases annotated with a list of categories, run the command
     mvn test -P $PROFILE_ID

     E.g.,
     mvn test -P FastTests
     -->

    <!-- Tests are are explicitly fast. -->
    <profile>
      <id>FastTests</id>
      <properties>
        <testcase.groups>category.FastTest</testcase.groups>
      </properties>
    </profile>

    <!-- Tests are are explicitly slow. -->
    <profile>
      <id>SlowTests</id>
      <properties>
        <testcase.groups>category.SlowTest</testcase.groups>
      </properties>
    </profile>

    <!-- Slow tests, or tests that are not annotated. -->
    <profile>
      <id>NonFastTests</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <excludedGroups>org.apache.ambari.server.FastTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Unit test Profiles based on features. -->
    <profile>
      <id>AlertTests</id>
      <properties>
        <testcase.groups>category.AlertTest</testcase.groups>
      </properties>
    </profile>
    <profile>
      <id>AmbariUpgradeTests</id>
      <properties>
        <testcase.groups>category.AmbariUpgradeTest</testcase.groups>
      </properties>
    </profile>
    <profile>
      <id>BlueprintTests</id>
      <properties>
        <testcase.groups>category.BlueprintTest</testcase.groups>
      </properties>
    </profile>
    <profile>
      <id>KerberosTests</id>
      <properties>
        <testcase.groups>category.KerberosTest</testcase.groups>
      </properties>
    </profile>
    <profile>
      <id>MetricsTests</id>
      <properties>
        <testcase.groups>category.MetricsTest</testcase.groups>
      </properties>
    </profile>
    <profile>
      <id>StackUpgradeTests</id>
      <properties>
        <testcase.groups>category.StackUpgradeTest</testcase.groups>
      </properties>
    </profile>
  </profiles>
  <!-- End of profiles for running unit tests. -->
</project>
