<?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.0.0.0-SNAPSHOT</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>
    <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>.github/</exclude>
            <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>ambari-metrics/ambari-metrics-host-monitoring/conf/unix/metric_groups.conf</exclude>
            <exclude>stack-advisor/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst</exclude>
            <exclude>stack-advisor/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst</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>
            <!--Coilmq Mock library (Apache license)-->
            <exclude>ambari-common/src/test/python/coilmq/**</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>
            <!--Stomp library (Apache license)-->
            <exclude>ambari-common/src/main/python/ambari_stomp/**</exclude>
            <!--ws4py library (BSD 3-Clause)-->
            <exclude>ambari-common/src/main/python/ambari_ws4py/**</exclude>

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

            <!--Contributions-->
            <exclude>contrib/management-packs/hdf-ambari-mpack/src/main/resources/stacks/HDF/2.0/hooks/before-START/files/fast-hdfs-resource.jar</exclude>
            <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>
            <exclude>ambari-utility/target/**</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-serviceadvisor</module>
        <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>
        <module>ambari-infra</module>
      </modules>
    </profile>
    <profile>
      <id>example-views</id>
      <activation>
        <property>
          <name>exampleViews</name>
        </property>
      </activation>
      <modules>
        <module>ambari-serviceadvisor</module>
        <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>
        <module>ambari-infra</module>
        <module>ambari-serviceadvisor</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>
        <module>ambari-infra</module>
        <module>ambari-serviceadvisor</module>
        </modules>
    </profile>
    <profile>
      <id>ambari-metrics</id>
      <modules>
        <module>ambari-metrics</module>
      </modules>
    </profile>
    <profile>
      <id>ambari-serviceadvisor</id>
      <modules>
        <module>ambari-serviceadvisor</module>
      </modules>
    </profile>
    <profile>
      <id>windows</id>
      <activation>
        <os>
          <family>win</family>
        </os>
      </activation>
      <modules>
        <module>ambari-serviceadvisor</module>
        <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>
