<?xml version="1.0"?>
<!-- Licensed 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.
  See accompanying LICENSE file. -->
<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 https://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
    <groupId>org.apache.ambari</groupId>
    <artifactId>ambari-project</artifactId>
    <version>2.7.4.0.0</version>
    <relativePath>../ambari-project</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.ambari</groupId>
  <artifactId>ambari-server</artifactId>
  <packaging>${packagingFormat}</packaging>
  <name>Ambari Server</name>
  <version>2.7.4.0.0</version>
  <description>Ambari Server</description>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <python.ver>python &gt;= 2.6</python.ver>
    <!-- On centos the python xml's are inside python package -->
    <deb.architecture>amd64</deb.architecture>
    <custom.tests>false</custom.tests>
    <python.test.mask>[Tt]est*.py</python.test.mask>
    <hdpUrlForCentos6>https://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.1.1.0</hdpUrlForCentos6>
    <hdpLatestUrl>https://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json</hdpLatestUrl>
    <ambari_commons.install.dir>/usr/lib/ambari-server/lib/ambari_commons</ambari_commons.install.dir>
    <resource_management.install.dir>/usr/lib/ambari-server/lib/resource_management</resource_management.install.dir>
    <jinja.install.dir>/usr/lib/ambari-server/lib/ambari_jinja2</jinja.install.dir>
    <simplejson.install.dir>/usr/lib/ambari-server/lib/ambari_simplejson</simplejson.install.dir>
    <swagger.spec.dir>${basedir}/docs/api/generated/</swagger.spec.dir>
    <swagger.generated.resources.dir>${project.build.directory}/generated-sources/swagger/</swagger.generated.resources.dir>
    <ambari-web-dir>${basedir}/../ambari-web/public</ambari-web-dir>
    <ambari-admin-dir>${basedir}/../ambari-admin</ambari-admin-dir>
    <contrib-views-dir>${basedir}/../contrib/views</contrib-views-dir>
    <resourceManagementSrcLocation>${project.basedir}/../ambari-common/src/main/python/resource_management</resourceManagementSrcLocation>
    <customActionsRoot>src/main/resources/custom_actions</customActionsRoot>
    <ambariProperties>conf/unix/ambari.properties</ambariProperties>
    <commonServicesSrcLocation>src/main/resources/common-services</commonServicesSrcLocation>
    <stackHooksLocation>src/main/resources/stack-hooks</stackHooksLocation>
    <stacksSrcLocation>src/main/resources/stacks/${stack.distribution}</stacksSrcLocation>
    <tarballResourcesFolder>src/main/resources</tarballResourcesFolder>
    <skipPythonTests>false</skipPythonTests>
    <hadoop.version>2.7.2</hadoop.version>
    <empty.dir>src/main/package</empty.dir> <!-- any directory in project with not very big amount of files (not to waste-load them) -->
    <el.log>ALL</el.log> <!-- log level for EclipseLink eclipselink-staticweave-maven-plugin -->
    <xlint>none</xlint> <!-- passed to Java compiler -Xlint: flag -->
    <jdk.version>1.8</jdk.version>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>parse-version</id>
            <phase>validate</phase>
            <goals>
              <goal>parse-version</goal>
            </goals>
          </execution>
          <execution>
            <id>regex-property</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>ambariVersion</name>
              <value>${project.version}</value>
              <regex>^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)(\.|-).*</regex>
              <replacement>$1.$2.$3.$4</replacement>
              <failIfNoMatch>false</failIfNoMatch>
            </configuration>
          </execution>
          <execution>
            <id>full-version</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>ambariFullVersion</name>
              <value>${project.version}</value>
              <regex>^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)(\.|-)([0-9]+).*</regex>
              <replacement>$1.$2.$3.$4-$6</replacement>
              <failIfNoMatch>false</failIfNoMatch>
            </configuration>
          </execution>
          <execution>
            <id>regex-schema-version</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>ambariSchemaVersion</name>
              <value>${project.version}</value>
              <regex>^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)(\.|-).*</regex>
              <replacement>$1.$2.$3</replacement>
              <failIfNoMatch>false</failIfNoMatch>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>${jdk.version}</source>
          <target>${jdk.version}</target>
          <useIncrementalCompilation>false</useIncrementalCompilation>
          <compilerArgs>
            <arg>-Xlint:${xlint}</arg>
            <arg>-Xmaxwarns</arg>
            <arg>50000</arg>
          </compilerArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <phase>package</phase>
            <configuration>
              <tasks>
                <jar destfile="target/DBConnectionVerification.jar">
                  <fileset dir="${basedir}/target/classes/"
                    includes="**/DBConnectionVerification.class" />
                  <manifest>
                    <attribute name="Main-Class"
                      value="org.apache.ambari.server.DBConnectionVerification" />
                  </manifest>
                </jar>
                <jar destfile="target/CredentialUtil.jar">
                  <fileset dir="${basedir}/target/classes/">
                    <include name="**/CredentialUtil*.class" />
                  </fileset>
                  <manifest>
                    <attribute name="Main-Class"
                               value="org.apache.ambari.server.credentialapi.CredentialUtil" />
                  </manifest>
                </jar>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
          <!-- Copies compiled views into known location for RPM builds -->
          <execution>
            <id>copy-view-jars</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <copy todir="${ambari-admin-dir}/target" flatten="true">
                  <fileset dir="${contrib-views-dir}">
                    <include name="*/target/*jar" />
                    <exclude name="**/ambari-views-utils*jar" />
                    <exclude name="**/ambari-views-commons*jar" />
                  </fileset>
                </copy>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>clean-sample-upgrade-check-jar</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <delete dir="target/test-classes/checks" includeemptydirs="true"/>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>generate-test-oozie2-checks-dir</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <mkdir dir="target/test-classes/extensions/EXT/0.1/services/OOZIE2/checks/tmp"/>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>generate-test-oozie2-server-actions-dir</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <mkdir dir="target/test-classes/extensions/EXT/0.1/services/OOZIE2/server_actions/tmp"/>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>${assemblydescriptor}</descriptor>
          </descriptors>
          <tarLongFileMode>gnu</tarLongFileMode>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>${assemblyPhase}</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/../</directory>
                  <includes>
                    <include>version</include>
                  </includes>
                  <filtering>true</filtering>
                </resource>
                <resource>
                  <directory>${basedir}/sbin/</directory>
                  <includes>
                    <include>ambari-server</include>
                  </includes>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>copy-repo-resources</id>
            <phase>${assemblyPhase}</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/repo</outputDirectory>
              <resources>
                <resource>
                  <directory>${project.basedir}/../ambari-common/src/main/repo</directory>
                </resource>
                <resource>
                  <directory>${project.build.directory}</directory>
                  <includes>
                    <include>${project.artifactId}-${project.version}-dist.tar.gz</include>
                  </includes>
                </resource>
                <resource>
                  <directory>${basedir}/src/main/package/deb/control</directory>
                </resource>
                <resource>
                  <directory>${basedir}/src/main/package</directory>
                  <includes>
                    <include>dependencies.properties</include>
                  </includes>
                </resource>
                <resource>
                  <directory>${project.basedir}/../ambari-common/src/main/python/ambari_commons</directory>
                  <includes>
                    <include>os_check.py</include>
                    <include>resources/os_family.json</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>copy-swagger-spec</id>
            <phase>compile</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${ambari-web-dir}/api-docs</outputDirectory>
              <resources>
                <resource>
                  <directory>${swagger.generated.resources.dir}</directory>
                  <includes>
                    <include>swagger.json</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.coderplus.maven.plugins</groupId>
        <artifactId>copy-rename-maven-plugin</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <id>rename-file</id>
            <phase>${assemblyPhase}</phase>
            <goals>
              <goal>rename</goal>
            </goals>
            <configuration>
              <sourceFile>${basedir}/target/repo/${project.artifactId}-${project.version}-dist.tar.gz</sourceFile>
              <destinationFile>${basedir}/target/repo/${project.artifactId}.tar.gz</destinationFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>pass.txt</exclude>
            <exclude>src/test/resources/version</exclude>
            <exclude>src/test/resources/users.ldif</exclude>
            <exclude>src/test/resources/temporal_ganglia_data.txt</exclude>
            <exclude>src/test/resources/users.ldif</exclude>
            <exclude>src/test/resources/mpacks_replay.log</exclude>
            <exclude>src/test/python/stacks/2.5/HIVE/*.txt</exclude>
            <exclude>src/test/python/mpacks/mystack-ambari-mpack-1.0.0.1/stacks/MYSTACK/3.0/services/SERVICEC/dashboards/service-metrics/STORM.txt</exclude>
            <exclude>src/test/python/uninstall/dashboards/files/STORM.txt</exclude>
            <exclude>src/main/resources/hive-schema-0.10.0.oracle.sql</exclude>
            <exclude>src/main/resources/hive-schema-0.12.0.oracle.sql</exclude>
            <exclude>src/main/resources/db/serial</exclude>
            <exclude>src/main/resources/db/index.txt</exclude>
            <exclude>src/main/resources/stacks/HDP/2.1.GlusterFS/services/YARN/package/templates/exclude_hosts_list.j2</exclude>
            <exclude>src/main/windows/ambari-server.cmd</exclude>
            <exclude>src/main/windows/ambari-server.ps1</exclude>
            <exclude>src/main/package/choco/ambari-server.nuspec</exclude>
            <exclude>**/smoketest_metrics.json.j2</exclude>
            <exclude>**/service-metrics/*.txt</exclude>
            <exclude>**/balancer.log</exclude>
            <exclude>**/balancer-err.log</exclude>
            <exclude>${swagger.spec.dir}/**</exclude>
            <exclude>**/SMARTSENSE/**</exclude>
            <exclude>conf/unix/ca.config</exclude>
            <exclude>conf/unix/krb5JAASLogin.conf</exclude>
            <exclude>conf/windows/ca.config</exclude>
            <exclude>conf/windows/krb5JAASLogin.conf</exclude>
            <exclude>**/*.json</exclude>
            <exclude>**/*.sql</exclude>
            <exclude>**/repo_suse_rhel.j2</exclude>
            <exclude>**/repo_debian.j2</exclude>
            <exclude>**/cluster.properties.j2</exclude>
            <exclude>**/repo_ubuntu.j2</exclude>
            <exclude>**/.pydev*</exclude>
            <exclude>**/.hash</exclude>
            <!--gitignore content -->
            <exclude>src/main/resources/db/newcerts/**</exclude>

            <!-- Stack definitions -->
            <exclude>src/main/resources/stacks/HDP/2.0._/services/HBASE/package/templates/regionservers.j2</exclude>
            <exclude>src/main/resources/stacks/HDPWIN/2.1/services/*/configuration*/*</exclude>

            <!--test samples -->
            <exclude>src/test/resources/TestAmbaryServer.samples/**</exclude>
            <exclude>src/test/resources/*.txt</exclude>
            <exclude>src/test/resources/users_for_dn_with_space.ldif</exclude>
            <exclude>src/test/resources/users_with_duplicate_uid.ldif</exclude>

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

            <!-- generated DDL-->
            <exclude>**/createDDL.jdbc</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <phase>test</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <phase>validate</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.3.9,)</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.github.kongchen</groupId>
        <artifactId>swagger-maven-plugin</artifactId>
        <configuration>
          <apiSources>
            <apiSource>
              <swaggerApiReader>org.apache.ambari.swagger.AmbariSwaggerReader</swaggerApiReader>
              <springmvc>false</springmvc>
              <locations>org.apache.ambari.server.api.services</locations>
              <schemes></schemes>
              <basePath>/api/v1</basePath>
              <info>
                <title>Swagger spec for Ambari REST API</title>
                <version>v1</version>
                <description>Ambari REST APIs has inherent support for querying, sorting and pagination</description>
                <license>
                  <url>http://www.apache.org/licenses/LICENSE-2.0</url>
                  <name>Apache License, Version 2.0</name>
                </license>
              </info>
              <swaggerDirectory>${swagger.generated.resources.dir}</swaggerDirectory>
            </apiSource>
          </apiSources>
          <skipSwaggerGeneration>${swagger.skip}</skipSwaggerGeneration>
        </configuration>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-codegen-maven-plugin</artifactId>
        <version>2.2.2</version>
        <executions>
          <execution>
            <id>generate-swagger-html2</id>
            <phase>process-classes</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <inputSpec>${swagger.spec.dir}/swagger.json</inputSpec>
              <language>html2</language>
              <output>${swagger.generated.resources.dir}</output>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>eclipselink-staticweave-maven-plugin</artifactId>
        <groupId>au.com.alderaan</groupId>
        <version>1.0.4</version>
        <executions>
          <execution>
            <goals>
              <goal>weave</goal>
            </goals>
            <phase>process-classes</phase>
            <configuration>
              <logLevel>${el.log}</logLevel>
              <includeProjectClasspath>true</includeProjectClasspath>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>${eclipselink.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
            <configuration>
              <files>
                <file>${basedir}/src/main/package/dependencies.properties</file>
              </files>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rpm-maven-plugin</artifactId>
        <version>2.1.4</version>
        <executions>
          <execution>
            <!-- unbinds rpm creation from maven lifecycle -->
            <phase>none</phase>
            <goals>
              <goal>rpm</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <copyright>2012, Apache Software Foundation</copyright>
          <group>Development</group>
          <description>Maven Recipe: RPM Package.</description>
          <autoRequires>no</autoRequires>
          <prefix>/</prefix>
          <requires>
            <require>${rpm.dependency.list}</require>
          </requires>
          <postinstallScriptlet>
            <scriptFile>src/main/package/rpm/postinstall.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </postinstallScriptlet>
          <preinstallScriptlet>
            <scriptFile>src/main/package/rpm/preinstall.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </preinstallScriptlet>
          <preremoveScriptlet>
            <scriptFile>src/main/package/rpm/preremove.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </preremoveScriptlet>
          <posttransScriptlet>
            <scriptFile>src/main/package/rpm/posttrans_server.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </posttransScriptlet>
          <postremoveScriptlet>
            <scriptFile>src/main/package/rpm/postremove.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </postremoveScriptlet>
          <needarch>x86_64</needarch>
          <mappings>
            <mapping>
              <directory>/etc</directory>
              <username>root</username>
              <groupname>root</groupname>
              <directoryIncluded>false</directoryIncluded> <!-- avoid managing /etc/init.d -->
              <sources>
                <source>
                  <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}-dist/etc</location>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/sbin</directory>
              <username>root</username>
              <groupname>root</groupname>
              <directoryIncluded>false</directoryIncluded> <!-- avoid managing /usr/sbin -->
              <sources>
                <source>
                  <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}-dist/usr/sbin</location>
                </source>
              </sources>
            </mapping>
      			<mapping>
              <directory>/usr/lib/ambari-server</directory>
              <username>root</username>
              <groupname>root</groupname>
              <sources>
                <source>
                  <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}-dist/usr/lib/ambari-server</location>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/var/lib/ambari-server</directory>
              <username>root</username>
              <groupname>root</groupname>
              <sources>
                <source>
                  <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}-dist/var/lib/ambari-server</location>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/var/log/ambari-server</directory>
              <username>root</username>
              <groupname>root</groupname>
              <sources>
                <source>
                  <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}-dist/var/log/ambari-server</location>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/var/run/ambari-server</directory>
              <username>root</username>
              <groupname>root</groupname>
              <sources>
                <source>
                  <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}-dist/var/run/ambari-server</location>
                </source>
              </sources>
            </mapping>
          </mappings>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.vafer</groupId>
        <artifactId>jdeb</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <!-- unbinds rpm creation from maven lifecycle -->
            <phase>none</phase>
            <goals>
              <goal>jdeb</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <controlDir>${basedir}/src/main/package/deb/control</controlDir>
          <deb>${basedir}/target/${project.artifactId}_${package-version}-${package-release}-dist.deb</deb>
          <skip>false</skip>
          <skipPOMs>false</skipPOMs>
          <dataSet>
            <data>
              <src>${project.build.directory}/${project.artifactId}-${project.version}-dist.tar.gz</src>
              <type>archive</type>
              <mapper>
                <type>perm</type>
                <user>root</user>
                <group>root</group>
              </mapper>
            </data>
          </dataSet>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>3.0.5</version>
        <configuration>
          <failOnError>false</failOnError>
          <threshold>Low</threshold>
          <findbugsXmlOutputDirectory>${project.basedir}/target/findbugs</findbugsXmlOutputDirectory>
          <excludeFilterFile>${project.basedir}/findbugs.exclude.xml</excludeFilterFile>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>transform</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <transformationSets>
            <transformationSet>
              <dir>${project.basedir}/target/findbugs</dir>
              <includes>
                <include>*.xml</include>
              </includes>
              <excludes>
                <exclude>findbugs.exclude.xml</exclude>
              </excludes>
              <outputDir>${project.basedir}/target/findbugs</outputDir>
              <stylesheet>fancy-hist.xsl</stylesheet>
              <fileMappers>
                <fileMapper
                        implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                  <targetExtension>.html</targetExtension>
                </fileMapper>
              </fileMappers>
            </transformationSet>
          </transformationSets>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>findbugs</artifactId>
            <version>2.0.0</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>${skipSurefireTests}</skip>
          <argLine>${surefire.argLine}</argLine>

          <!-- Each profile in the top-level pom.xml defines which test group categories to run. -->
          <groups>${testcase.groups}</groups>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
          <execution>
            <id>create-sample-upgrade-check-jar</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <outputDirectory>target/test-classes/checks</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <configuration>
              <executable>${executable.python}</executable>
              <workingDirectory>src/test/python</workingDirectory>
              <arguments>
                <argument>unitTests.py</argument>
                <argument>${custom.tests}</argument>
                <argument>${python.test.mask}</argument>
              </arguments>
              <environmentVariables>
                  <PYTHONPATH>${path.python.1}${pathsep}$PYTHONPATH</PYTHONPATH>
              </environmentVariables>
              <skip>${skipPythonTests}</skip>
            </configuration>
            <id>python-test</id>
            <phase>test</phase>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
          <execution>
            <configuration>
              <executable>${project.basedir}/src/main/sh/azuredb_create_generator.sh</executable>
              <arguments>
                <argument>${project.basedir}</argument>
              </arguments>
            </configuration>
            <id>azuredb-gen</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
          <execution>
            <id>configuration-markdown</id>
            <phase>site</phase>
            <goals>
              <goal>java</goal>
            </goals>
            <configuration>
              <mainClass>org.apache.ambari.server.configuration.Configuration</mainClass>
              <arguments>
                <argument>-output</argument>
                <argument>${basedir}/../ambari-server/docs/configuration/index.md</argument>
              </arguments>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-clover2-plugin</artifactId>
        <version>3.1.11</version>
        <!-- <configuration> <licenseLocation>/path/to/clover.license</licenseLocation>
          </configuration> -->
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>${buildnumber-maven-plugin-version}</version>
        <configuration>
          <urlScm>scm:git:https://gitbox.apache.org/repos/asf/ambari.git</urlScm>
        </configuration>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>${jetty.version}</version>
      </plugin>
      <!-- Checkstyle binds to phase "validate" by default.
      Run independently as, cd ambari-server ; mvn checkstyle:checkstyle
      Or can skip as, mvn ... -Dcheckstyle.skip
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
          <exclude>stacks/**</exclude>
          <exclude>common-services/**</exclude>
        </excludes>
      </resource>
    </resources>
  </build>
  <profiles>
    <profile>
      <id>replaceurl</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
              <execution>
                <id>set-hdp-url-classes</id>
                <phase>process-classes</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target name="ambari-server-compile">
                    <exec dir="${basedir}" executable="bash"
                      failonerror="true">
                      <arg value="${basedir}/set-hdp-repo-url.sh" />
                      <arg value="${hdpUrlForCentos6}" />
                      <arg value="${hdpLatestUrl}" />
                      <arg value="${basedir}" />
                    </exec>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>skipTestRun</id>
      <activation>
        <property>
          <name>skipTests</name>
        </property>
      </activation>
      <properties>
        <skipPythonTests>true</skipPythonTests>
      </properties>
    </profile>
    <profile>
      <id>copy-swagger-generated-resources</id>
      <activation>
        <property><name>generate.swagger.resources</name></property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
            <executions>
              <execution>
                <id>copy-swagger-generated-html</id>
                <phase>process-classes</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${swagger.spec.dir}</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${swagger.generated.resources.dir}/</directory>
                      <includes>
                        <include>index.html</include>
                        <include>swagger.json</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>windows</id>
      <activation>
        <os>
          <family>win</family>
        </os>
      </activation>
      <properties>
        <envClassifier>win</envClassifier>
        <dirsep>\</dirsep>
        <pathsep>;</pathsep>
        <executable.python>python</executable.python>
        <executable.shell>cmd</executable.shell>
        <fileextension.shell>cmd</fileextension.shell>
        <fileextension.dot.shell-default>.cmd</fileextension.dot.shell-default>
        <path.python.1>${project.basedir}\..\ambari-common\src\main\python;${project.basedir}\..\ambari-agent\src\main\python;${project.basedir}\..\ambari-common\src\main\python\ambari_jinja2;${project.basedir}\..\ambari-common\src\main\python\ambari_commons;${project.basedir}\..\ambari-common\src\test\python;${project.basedir}\src\main\python;${project.basedir}\src\main\python\ambari-server-state;${project.basedir}\src\main\resources\custom_actions\scripts;${project.basedir}\src\main\resources\scripts;${project.basedir}\src\test\python</path.python.1>
        <assemblydescriptor>src/main/assemblies/server-windows.xml</assemblydescriptor>
        <assemblybootstrap>src/main/assemblies/bootstrap-windows.xml</assemblybootstrap>
        <assemblychocodescriptor>src/main/assemblies/server-windows-choco.xml</assemblychocodescriptor>
        <packagingFormat>jar</packagingFormat>
      </properties>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
              <descriptors>
                <descriptor>../ambari-project/src/main/assemblies/empty.xml</descriptor>
              </descriptors>
            </configuration>
            <executions>
              <execution>
                <id>bootstrap-zip</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <finalName>bootstrap</finalName>
                  <appendAssemblyId>false</appendAssemblyId>
                  <tarLongFileMode>gnu</tarLongFileMode>
                  <descriptors>
                    <descriptor>${assemblybootstrap}</descriptor>
                  </descriptors>
                </configuration>
              </execution>
              <execution>
                <id>build-tarball</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <appendAssemblyId>true</appendAssemblyId>
                  <tarLongFileMode>gnu</tarLongFileMode>
                  <descriptors>
                    <descriptor>${assemblydescriptor}</descriptor>
                  </descriptors>
                </configuration>
              </execution>
              <execution>
                <id>build-choco-dir</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <appendAssemblyId>true</appendAssemblyId>
                  <tarLongFileMode>gnu</tarLongFileMode>
                  <descriptors>
                    <descriptor>${assemblychocodescriptor}</descriptor>
                  </descriptors>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>build-choco-package</id>
                <phase>package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>choco.exe</executable>
                  <arguments>
                    <argument>pack</argument>
                    <argument>--version=${project.version}</argument>
                    <argument>${basedir}/target/ambari-server-${project.version}-choco/ambari-server.nuspec</argument>
                  </arguments>
                  <workingDirectory>target/ambari-server-${project.version}-choco</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>linux</id>
      <activation>
        <os>
          <family>unix</family>
        </os>
      </activation>
      <properties>
        <envClassifier>linux</envClassifier>
        <dirsep>/</dirsep>
        <pathsep>:</pathsep>
        <executable.python>${project.basedir}/../ambari-common/src/main/unix/ambari-python-wrap</executable.python>
        <executable.shell>sh</executable.shell>
        <fileextension.shell>sh</fileextension.shell>
        <fileextension.dot.shell-default></fileextension.dot.shell-default>
        <path.python.1>${project.basedir}/../ambari-common/src/main/python:${project.basedir}/../ambari-agent/src/main/python:${project.basedir}/../ambari-common/src/main/python/ambari_jinja2:${project.basedir}/../ambari-common/src/main/python/ambari_commons:${project.basedir}/../ambari-common/src/test/python:${project.basedir}/src/main/python:${project.basedir}/src/main/python/ambari-server-state:${project.basedir}/src/main/resources/custom_actions:${project.basedir}/src/main/resources/scripts:${project.basedir}/src/test/python</path.python.1>
        <assemblydescriptor>src/main/assemblies/server.xml</assemblydescriptor>
        <packagingFormat>jar</packagingFormat>
      </properties>
    </profile>
    <profile>
      <id>suse11</id>
      <properties>
        <rpm.dependency.list>${rpm.dependency.list.suse}</rpm.dependency.list>
      </properties>
    </profile>
    <profile>
      <id>pluggable-stack-definition</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>pluggableStackDefinitionConfig</name>
        </property>
      </activation>
      <properties>
        <customActionsRoot>target/pluggable-stack-definition/custom_actions</customActionsRoot>
        <ambariProperties>target/pluggable-stack-definition/conf/unix/ambari.properties</ambariProperties>
        <resourceManagementSrcLocation>target/pluggable-stack-definition/python/resource_management</resourceManagementSrcLocation>
        <commonServicesSrcLocation>target/pluggable-stack-definition/common-services</commonServicesSrcLocation>
        <stackHooksLocation>target/pluggable-stack-definition/stack-hooks</stackHooksLocation>
        <stacksSrcLocation>target/pluggable-stack-definition/stacks/${stack.distribution}</stacksSrcLocation>
        <resourcesSrcLocation>src/main/resources</resourcesSrcLocation>
        <tarballResourcesFolder>target/pluggable-stack-definition</tarballResourcesFolder>
        <pluggableStackDefinitionScriptLocation>${project.basedir}/../ambari-common/src/main/python/pluggable_stack_definition/GenerateStackDefinition.py</pluggableStackDefinitionScriptLocation>
        <pluggableStackDefinitionConfig>${project.basedir}/../ambari-common/src/main/python/pluggable_stack_definition/configs/${stack.distribution}.json</pluggableStackDefinitionConfig>
        <pluggableStackDefinitionOutput>target/pluggable-stack-definition</pluggableStackDefinitionOutput>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <configuration>
                  <executable>${executable.python}</executable>
                  <arguments>
                    <argument>${pluggableStackDefinitionScriptLocation}</argument>
                    <argument>-c</argument>
                    <argument>${pluggableStackDefinitionConfig}</argument>
                    <argument>-r</argument>
                    <argument>${resourcesSrcLocation}</argument>
                    <argument>-o</argument>
                    <argument>${pluggableStackDefinitionOutput}</argument>
                  </arguments>
                </configuration>
                <id>pluggable-stack-definition-generate</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>replaceBaseUrl</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>urlInfoPath</name>
        </property>
      </activation>
      <properties>
        <urlinfo_processor_script_location>${project.basedir}/../ambari-common/src/main/python/urlinfo_processor/urlinfo_processor.py</urlinfo_processor_script_location>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <configuration>
                  <executable>${executable.python}</executable>
                  <arguments>
                    <argument>${urlinfo_processor_script_location}</argument>
                    <argument>-u</argument>
                    <argument>${urlInfoPath}</argument>
                    <argument>-s</argument>
                    <argument>${stacksSrcLocation}</argument>
                  </arguments>
                </configuration>
                <id>replace-base-url</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <dependencies>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>ambari-views</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-csv</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-compress</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>uk.com.robust-it</groupId>
      <artifactId>cloning</artifactId>
      <version>1.9.2</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.inject.extensions</groupId>
      <artifactId>guice-assistedinject</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.inject.extensions</groupId>
      <artifactId>guice-multibindings</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.inject.extensions</groupId>
      <artifactId>guice-persist</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.inject.extensions</groupId>
      <artifactId>guice-servlet</artifactId>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.4.193</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-config</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security.kerberos</groupId>
      <artifactId>spring-security-kerberos-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-ldap</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.ldap</groupId>
      <artifactId>spring-ldap-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jul-to-slf4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>apache-log4j-extras</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>eclipselink</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.awaitility</groupId>
      <artifactId>awaitility</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-security</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlet</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlets</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-util-ajax</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jsp-api-2.1-glassfish</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jsp-2.1-glassfish</artifactId>
      <exclusions>
        <exclusion>
          <groupId>ant</groupId>
          <artifactId>ant</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant-launcher</artifactId>
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty.websocket</groupId>
      <artifactId>websocket-servlet</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty.websocket</groupId>
      <artifactId>websocket-server</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.6</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.9</version>
    </dependency>
    <dependency>
      <groupId>commons-net</groupId>
      <artifactId>commons-net</artifactId>
      <version>1.4.1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-json</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-xc</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.codehaus.jettison</groupId>
          <artifactId>jettison</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-client</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-multipart</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-guice</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-jaxrs</artifactId>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-core</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-jaxrs</artifactId>
      <exclusions>
        <exclusion>
          <!-- Because it is already in the jersey one and causes the shade plugin to be confused -->
          <groupId>javax.ws.rs</groupId>
          <artifactId>jsr311-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-models</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-xc</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey.jersey-test-framework</groupId>
      <artifactId>jersey-test-framework-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-websocket</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-messaging</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
    </dependency>

    <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-spring</artifactId>
      <version>1.19</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey.jersey-test-framework</groupId>
      <artifactId>jersey-test-framework-grizzly2</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jettison</groupId>
      <artifactId>jettison</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-easymock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-reflect</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>nl.jqno.equalsverifier</groupId>
      <artifactId>equalsverifier</artifactId>
      <version>1.7.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.objenesis</groupId>
      <artifactId>objenesis-tck</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
      <version>3.2.4</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.2.2</version>
    </dependency>
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>1.3.9</version>
    </dependency>
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <version>2.2.1</version>
      <exclusions>
        <exclusion>
          <groupId>c3p0</groupId>
          <artifactId>c3p0</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz-jobs</artifactId>
      <version>2.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity</artifactId>
      <version>1.7</version>
      <exclusions>
        <exclusion>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
          </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>mailapi</artifactId>
      <version>1.5.2</version>
    </dependency>
    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>smtp</artifactId>
      <version>1.5.2</version>
    </dependency>
    <dependency>
      <groupId>org.snmp4j</groupId>
      <artifactId>snmp4j</artifactId>
      <version>1.10.1</version>
    </dependency>
    <dependency>
      <groupId>com.esotericsoftware.yamlbeans</groupId>
      <artifactId>yamlbeans</artifactId>
      <version>1.13</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ambari</groupId>
      <artifactId>ambari-metrics-common</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.curator</groupId>
          <artifactId>curator-framework</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>net.sf.ehcache</groupId>
      <artifactId>ehcache</artifactId>
      <version>2.10.0</version>
    </dependency>
    <dependency>
      <groupId>com.nimbusds</groupId>
      <artifactId>nimbus-jose-jwt</artifactId>
      <version>5.9</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>org.bouncycastle</groupId>
          <artifactId>bcprov-jdk15on</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-auth</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.directory.server</groupId>
          <artifactId>apacheds-kerberos-codec</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.zookeeper</groupId>
          <artifactId>zookeeper</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
      <version>${hadoop.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-beanutils</groupId>
          <artifactId>commons-beanutils</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-beanutils</groupId>
          <artifactId>commons-beanutils-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
         <exclusion>
          <groupId>commons-httpclient</groupId>
          <artifactId>commons-httpclient</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-util</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.zookeeper</groupId>
          <artifactId>zookeeper</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.jcraft</groupId>
          <artifactId>jsch</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jsch</artifactId>
      <version>0.1.54</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-util</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
    </dependency>
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>[0.9.5.4]</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.dropwizard.metrics</groupId>
      <artifactId>metrics-core</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard.metrics</groupId>
      <artifactId>metrics-jvm</artifactId>
      <version>3.1.0</version>
    </dependency>

    <dependency>
      <groupId>org.apache.ambari</groupId>
      <artifactId>ambari-serviceadvisor</artifactId>
      <version>1.0.0.0-SNAPSHOT</version>
      <exclusions>
        <exclusion>
          <groupId>commons-httpclient</groupId>
          <artifactId>commons-httpclient</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Dependency in order to annotate unit tests with a category. -->
    <dependency>
      <groupId>org.apache.ambari</groupId>
      <artifactId>ambari-utility</artifactId>
      <version>1.0.0.0-SNAPSHOT</version>
      <scope>provided</scope> <!-- for @ApiIgnore -->
      <exclusions>
        <exclusion>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-beanutils</groupId>
          <artifactId>commons-beanutils</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>libpam4j</artifactId>
      <version>1.10</version>
    </dependency>
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna</artifactId>
      <version>4.2.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-model</artifactId>
      <version>2.0.0.AM1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-client-api</artifactId>
      <version>2.0.0.AM1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-kerberos-codec</artifactId>
      <version>2.0.0-M24</version>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>kerberos-client</artifactId>
      <version>2.0.0-M24</version>
      <exclusions>
        <exclusion>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.directory.api</groupId>
          <artifactId>api-ldap-model</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.networknt</groupId>
      <artifactId>json-schema-validator</artifactId>
      <version>0.1.10</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

  <pluginRepositories>
    <pluginRepository>
      <id>oss.sonatype.org</id>
      <name>OSS Sonatype Staging</name>
      <url>https://oss.sonatype.org/content/groups/staging</url>
    </pluginRepository>
  </pluginRepositories>

</project>
