<!--

    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>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>11</version>
  </parent>

  <groupId>org.apache.cloudstack</groupId>
  <artifactId>cloudstack</artifactId>
  <version>4.10.0.0</version>
  <packaging>pom</packaging>
  <name>Apache CloudStack</name>
  <description>Apache CloudStack is an IaaS (“Infrastructure as a Service”) cloud orchestration platform.</description>
  <url>http://www.cloudstack.org</url>
  <scm>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/cloudstack.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/cloudstack.git</developerConnection>
  </scm>
  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/CLOUDSTACK</url>
  </issueManagement>

  <properties>
    <cs.jdk.version>1.8</cs.jdk.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <cs.log4j.version>1.2.17</cs.log4j.version>
    <cs.log4j.extras.version>1.2.17</cs.log4j.extras.version>
    <cs.cglib.version>3.2.4</cs.cglib.version>
    <cs.dbcp.version>1.4</cs.dbcp.version>
    <cs.pool.version>1.6</cs.pool.version>
    <cs.codec.version>1.10</cs.codec.version>
    <cs.configuration.version>1.10</cs.configuration.version>
    <cs.collections.version>3.2.2</cs.collections.version>
    <cs.logging.version>1.1.1</cs.logging.version>
    <cs.discovery.version>0.5</cs.discovery.version>
    <cs.ejb.version>3.0</cs.ejb.version>
    <!-- do not forget to also upgrade hamcrest library with junit -->
    <cs.junit.version>4.12</cs.junit.version>
    <cs.hamcrest.version>1.3</cs.hamcrest.version>
    <cs.junit.dataprovider.version>1.12.0</cs.junit.dataprovider.version>
    <cs.bcprov.version>1.55</cs.bcprov.version>
    <cs.jsch.version>0.1.54</cs.jsch.version>
    <cs.jpa.version>2.1.1</cs.jpa.version>
    <cs.jasypt.version>1.9.2</cs.jasypt.version>
    <cs.trilead.version>1.0.0-build220</cs.trilead.version>
    <cs.ehcache.version>2.6.11</cs.ehcache.version>
    <cs.gson.version>1.7.2</cs.gson.version>
    <cs.guava-testlib.version>18.0</cs.guava-testlib.version>
    <cs.guava.version>20.0</cs.guava.version>
    <cs.xapi.version>6.2.0-3.1</cs.xapi.version>
    <cs.httpclient.version>4.5.2</cs.httpclient.version>
    <cs.httpcore.version>4.4.5</cs.httpcore.version>
    <cs.commons-httpclient.version>3.1</cs.commons-httpclient.version>
    <cs.mysql.version>5.1.34</cs.mysql.version>
    <cs.xstream.version>1.4.9</cs.xstream.version>
    <cs.xmlrpc.version>3.1.3</cs.xmlrpc.version>
    <cs.mail.version>1.5.0-b01</cs.mail.version>
    <cs.axis.version>1.4</cs.axis.version>
    <cs.axis2.version>1.5.6</cs.axis2.version>
    <cs.rampart.version>1.5.1</cs.rampart.version>
    <cs.axiom.version>1.2.8</cs.axiom.version>
    <cs.neethi.version>2.0.4</cs.neethi.version>
    <cs.servlet.version>3.1.0</cs.servlet.version>
    <cs.jstl.version>1.2</cs.jstl.version>
    <cs.jstl-api.version>1.2.1</cs.jstl-api.version>
    <cs.selenium.server.version>1.0-20081010.060147</cs.selenium.server.version>
    <cs.vmware.api.version>6.0</cs.vmware.api.version>
    <org.springframework.version>4.3.4.RELEASE</org.springframework.version>
    <cs.mockito.version>1.10.19</cs.mockito.version>
    <cs.powermock.version>1.6.4</cs.powermock.version>
    <cs.aws.sdk.version>1.11.61</cs.aws.sdk.version>
    <cs.jackson.version>2.7.1</cs.jackson.version>
    <cs.lang.version>2.6</cs.lang.version>
    <cs.commons-lang3.version>3.4</cs.commons-lang3.version>
    <cs.commons-io.version>2.5</cs.commons-io.version>
    <cs.commons-fileupload.version>1.3.2</cs.commons-fileupload.version>
    <cs.commons-collections.version>3.2.2</cs.commons-collections.version>
    <cs.commons-validator.version>1.5.1</cs.commons-validator.version>
    <cs.reflections.version>0.9.10</cs.reflections.version>
    <cs.javassist.version>3.18.2-GA</cs.javassist.version>
    <cs.java-ipv6.version>0.16</cs.java-ipv6.version>
    <cs.replace.properties>build/replace.properties</cs.replace.properties>
    <cs.libvirt-java.version>0.5.1</cs.libvirt-java.version>
    <cs.rados-java.version>0.2.0</cs.rados-java.version>
    <cs.target.dir>target</cs.target.dir>
    <cs.daemon.version>1.0.15</cs.daemon.version>
    <cs.jna.version>4.0.0</cs.jna.version>
    <cs.checkstyle.version>2.17</cs.checkstyle.version>
    <cs.mycila.license.version>2.11</cs.mycila.license.version>
    <cs.findbugs.version>3.0.3</cs.findbugs.version>
    <cs.javadoc.version>2.10.3</cs.javadoc.version>
    <cs.opensaml.version>2.6.4</cs.opensaml.version>
    <cs.xml-apis.version>1.4.01</cs.xml-apis.version>
    <cs.joda-time.version>2.8.1</cs.joda-time.version>
    <cs.batik.version>1.8</cs.batik.version>
    <cs.servicemix.version>2.3.4_1</cs.servicemix.version>
    <cs.jetty.version>9.2.20.v20161216</cs.jetty.version>
    <cs.cxf.version>3.1.4</cs.cxf.version>
    <cs.groovy.version>2.4.7</cs.groovy.version>
    <cs.nitro.version>10.1</cs.nitro.version>
  </properties>

  <distributionManagement>
    <site>
      <id>apache.cloudstack.site</id>
      <url>${site.deploy.url}</url>
    </site>
  </distributionManagement>

  <inceptionYear>2012</inceptionYear>

  <mailingLists>
    <mailingList>
      <name>Apache CloudStack User List</name>
      <subscribe>users-subscribe@cloudstack.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@cloudstack.apache.org</unsubscribe>
      <post>users@cloudstack.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/cloudstack-users</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-users</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Apache CloudStack Developer List</name>
      <subscribe>dev-subscribe@cloudstack.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@cloudstack.apache.org</unsubscribe>
      <post>dev@cloudstack.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/cloudstack-dev</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Apache CloudStack Commits List</name>
      <subscribe>commits-subscribe@cloudstack.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@cloudstack.apache.org</unsubscribe>
      <post>commits@cloudstack.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/cloudstack-commits</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-commits</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <name>The Apache CloudStack Team</name>
      <email>dev@cloudstack.apache.org</email>
      <url>http://cloudstack.apache.org/</url>
      <organization>Apache Software Foundation</organization>
      <organizationUrl>http://apache.org/</organizationUrl>
    </developer>
  </developers>

  <ciManagement>
    <system>Jenkins</system>
    <url>http://builds.apache.org/</url>
  </ciManagement>

  <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>The Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>

  <modules>
    <module>tools/checkstyle</module>
    <module>api</module>
    <module>agent</module>
    <module>core</module>
    <module>server</module>
    <module>usage</module>
    <module>utils</module>
    <module>engine</module>
    <module>plugins</module>
    <module>framework</module>
    <module>client</module>
    <module>services</module>
    <module>maven-standard</module>
    <module>quickcloud</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${cs.groovy.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>${cs.bcprov.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-css</artifactId>
        <version>${cs.batik.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-ext</artifactId>
        <version>${cs.batik.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-util</artifactId>
        <version>${cs.batik.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${cs.commons-collections.version}</version>
      </dependency>
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${cs.mysql.version}</version>
        <scope>provided,test</scope>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${cs.log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib-nodep</artifactId>
        <version>${cs.cglib.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>${cs.dbcp.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>commons-pool</artifactId>
            <groupId>commons-pool</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>${cs.ehcache.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${cs.codec.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${cs.commons-fileupload.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-pool</groupId>
        <artifactId>commons-pool</artifactId>
        <version>${cs.pool.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>${cs.commons-validator.version}</version>
      </dependency>
      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>${cs.jsch.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jasypt</groupId>
        <artifactId>jasypt</artifactId>
        <version>${cs.jasypt.version}</version>
      </dependency>
      <dependency>
        <groupId>com.trilead</groupId>
        <artifactId>trilead-ssh2</artifactId>
        <version>${cs.trilead.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>${cs.aws.sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>apache-log4j-extras</artifactId>
        <version>${cs.log4j.extras.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.ejb</groupId>
        <artifactId>ejb-api</artifactId>
        <version>${cs.ejb.version}</version>
      </dependency>
      <dependency>
        <groupId>com.googlecode.java-ipv6</groupId>
        <artifactId>java-ipv6</artifactId>
        <version>${cs.java-ipv6.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${cs.configuration.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${cs.commons-io.version}</version>
      </dependency>
      <!-- Test dependency in mysql for db tests -->
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${cs.reflections.version}</version>
      </dependency>
      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${cs.javassist.version}</version>
      </dependency>
      <dependency>
        <groupId>org.owasp.esapi</groupId>
        <artifactId>esapi</artifactId>
        <version>2.1.0.1</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>${cs.jpa.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${cs.servlet.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${cs.httpcore.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${cs.httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>${cs.xstream.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>${cs.mail.version}</version>
      </dependency>
      <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>${cs.jstl.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${cs.gson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${cs.guava.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.servicemix.bundles</groupId>
        <artifactId>org.apache.servicemix.bundles.snmp4j</artifactId>
        <version>${cs.servicemix.version}</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjtools</artifactId>
        <version>1.8.10</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.10</version>
      </dependency>
      <dependency>
        <groupId>org.apache.axis</groupId>
        <artifactId>axis</artifactId>
        <version>${cs.axis.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-daemon</groupId>
        <artifactId>commons-daemon</artifactId>
        <version>${cs.daemon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.axis</groupId>
        <artifactId>axis-jaxrpc</artifactId>
        <version>${cs.axis.version}</version>
      </dependency>
      <dependency>
        <groupId>wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>1.6.3</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.22</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.22</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-all</artifactId>
      <version>${cs.hamcrest.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>${cs.mockito.version}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>hamcrest-core</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${cs.junit.version}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>hamcrest-core</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.tngtech.java</groupId>
      <artifactId>junit-dataprovider</artifactId>
      <version>${cs.junit.dataprovider.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>${cs.powermock.version}</version>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>${cs.powermock.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${org.springframework.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>

  <build>
    <defaultGoal>install</defaultGoal>
    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>
    <resources>
      <resource>
        <directory>${basedir}/resources</directory>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>test/resources</directory>
      </testResource>
    </testResources>
    <outputDirectory>${basedir}/${cs.target.dir}/classes</outputDirectory>
    <testOutputDirectory>${basedir}/${cs.target.dir}/test-classes</testOutputDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <executions>
          <execution>
            <id>cloudstack-checkstyle</id>
            <phase>none</phase>
            <inherited>false</inherited>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>cloudstack-checklicence</id>
            <phase>none</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>cloudstack-findbugs</id>
            <phase>none</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${cs.checkstyle.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.cloudstack</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
          <executions>
            <execution>
              <id>cloudstack-checkstyle</id>
              <phase>validate</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <failsOnError>true</failsOnError>
            <configLocation>cloud-style.xml</configLocation>
            <consoleOutput>true</consoleOutput>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
            <sourceDirectory>${project.basedir}</sourceDirectory>
            <includes>**\/*.java</includes>
            <excludes>**\/deps\/,**\/test\/,**\/target\/,**\/bin\/,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/apidoc\/</excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${cs.mycila.license.version}</version>
          <executions>
            <execution>
              <id>cloudstack-checklicence</id>
              <phase>process-classes</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <strictCheck>true</strictCheck>
            <aggregate>true</aggregate>
            <header>LICENSE.header</header>
            <mapping>
              <xml>XML_STYLE</xml>
              <java>DOUBLESLASH_STYLE</java>
              <clj>SEMICOLON_STYLE</clj>
            </mapping>
            <useDefaultExcludes>false</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>.settings/**</exclude>
              <exclude>.checkstyle</exclude>
              <exclude>.project</exclude>
              <exclude>.classpath</exclude>
              <exclude>.pmd*</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <configuration>
            <excludeDefaultDirectories>true</excludeDefaultDirectories>
            <filesets>
              <fileset>
                <directory>${cs.target.dir}</directory>
                <includes>
                  <include>**/*</include>
                </includes>
              </fileset>
              <fileset>
                <directory>dist</directory>
                <includes>
                  <include>**/*</include>
                </includes>
              </fileset>
              <fileset>
                <directory>${basedir}</directory>
                <includes>
                  <include>${cs.target.dir}</include>
                  <include>dist</include>
                </includes>
              </fileset>
            </filesets>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.1</version>
          <executions>
            <execution>
              <id>default</id>
              <goals>
                <goal>perform</goal>
              </goals>
              <configuration>
                <pomFileName>pom.xml</pomFileName>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build
          itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.7,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore/>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.0,)</versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore/>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <versionRange>[2.5,)</versionRange>
                    <goals>
                      <goal>format</goal>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <versionRange>[1.3,)</versionRange>
                    <goals>
                      <goal>compile</goal>
                      <goal>testCompile</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
			<pluginExecutionFilter>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<versionRange>[2.11,)</versionRange>
				<goals>
					<goal>check</goal>
				</goals>
			</pluginExecutionFilter>
			<action>
				<ignore></ignore>
			</action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <numUnapprovedLicenses>0</numUnapprovedLicenses>
            <excludeSubProjects>false</excludeSubProjects>
            <excludes>
              <exclude>CHANGES.md</exclude>
              <exclude>README.md</exclude>
              <exclude>INSTALL.md</exclude>
              <exclude>CONTRIBUTING.md</exclude>
              <exclude>tools/docker/Dockerfile</exclude>
              <exclude>tools/docker/supervisord.conf</exclude>
              <exclude>.java-version</exclude>
              <exclude>.python-version</exclude>
              <exclude>.idea/</exclude>
              <exclude>**/*.log</exclude>
              <exclude>**/*.patch</exclude>
              <exclude>**/.classpath</exclude>
              <exclude>**/.project</exclude>
              <exclude>**/.idea/**</exclude>
              <exclude>**/*.iml</exclude>
              <exclude>**/.settings/**</exclude>
              <exclude>.metadata/**</exclude>
              <exclude>.git/**</exclude>
              <exclude>.gitignore</exclude>
              <exclude>**/*.crt</exclude>
              <exclude>**/*.csr</exclude>
              <exclude>**/*.key</exclude>
              <exclude>**/authorized_keys</exclude>
              <exclude>**/*.war</exclude>
              <exclude>**/*.mar</exclude>
              <exclude>**/*.jar</exclude>
              <exclude>**/*.iso</exclude>
              <exclude>**/*.tgz</exclude>
              <exclude>**/*.zip</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/.vagrant</exclude>
              <exclude>**/*.json</exclude>
              <exclude>build/build.number</exclude>
              <exclude>services/console-proxy/server/js/jquery.js</exclude>
              <exclude>debian/cloudstack-usage.dirs</exclude>
              <exclude>debian/cloudstack-agent.dirs</exclude>
              <exclude>debian/compat</exclude>
              <exclude>debian/control</exclude>
              <exclude>debian/dirs</exclude>
              <exclude>debian/rules</exclude>
              <exclude>debian/source/format</exclude>
              <exclude>dist/console-proxy/js/jquery.js</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.sln</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/packages/**</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/.nuget/**</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**/obj/**</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**/bin/**</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**/packages.config</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**/App.config</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**/*.csproj</exclude>
              <exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**/*.settings</exclude>
              <exclude>plugins/hypervisors/hyperv/conf/agent.properties</exclude>
              <exclude>scripts/vm/systemvm/id_rsa.cloud</exclude>
              <exclude>services/console-proxy/server/conf/agent.properties</exclude>
              <exclude>services/console-proxy/server/conf/environment.properties</exclude>
              <exclude>services/secondary-storage/conf/agent.properties</exclude>
              <exclude>services/secondary-storage/conf/environment.properties</exclude>
              <exclude>test/systemvm/README.md</exclude>
              <exclude>tools/appliance/.ruby-version</exclude>
              <exclude>tools/vagrant/systemvm/vagrant.pub</exclude>
              <exclude>tools/vagrant/systemvm/.ruby-version</exclude>
              <exclude>tools/devcloud/basebuild/puppet-devcloudinitial/files/network.conf</exclude>
              <exclude>tools/appliance/definitions/devcloud/*</exclude>
              <exclude>tools/appliance/definitions/systemvmtemplate/*</exclude>
              <exclude>tools/appliance/definitions/systemvm64template/*</exclude>
              <exclude>tools/appliance/definitions/builtin/*</exclude>
              <exclude>tools/cli/cloudmonkey.egg-info/*</exclude>
              <exclude>tools/devcloud/src/deps/boxes/basebox-build/definition.rb</exclude>
              <exclude>tools/devcloud/src/deps/boxes/basebox-build/preseed.cfg</exclude>
              <exclude>tools/marvin/Marvin.egg-info/*</exclude>
              <exclude>ui/css/token-input-facebook.css</exclude>
              <exclude>ui/l10n/*</exclude>
              <exclude>ui/lib/flot/jquery.colorhelpers.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.crosshair.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.fillbetween.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.image.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.navigate.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.pie.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.resize.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.selection.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.stack.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.symbol.js</exclude>
              <exclude>ui/lib/flot/jquery.flot.threshold.js</exclude>
              <exclude>ui/lib/jquery-ui/css/jquery-ui.css</exclude>
              <exclude>ui/lib/jquery-ui/index.html</exclude>
              <exclude>ui/lib/jquery-ui/js/jquery-ui.js</exclude>
              <exclude>ui/lib/jquery.cookies.js</exclude>
              <exclude>ui/lib/jquery.easing.js</exclude>
              <exclude>ui/lib/jquery.js</exclude>
              <exclude>ui/lib/jquery.md5.js</exclude>
              <exclude>ui/lib/jquery.validate.js</exclude>
              <exclude>ui/lib/jquery.tokeninput.js</exclude>
              <exclude>ui/lib/qunit/qunit.css</exclude>
              <exclude>ui/lib/qunit/qunit.js</exclude>
              <exclude>ui/lib/reset.css</exclude>
              <exclude>ui/lib/require.js</exclude>
              <exclude>utils/testsmallfileinactive</exclude>
              <exclude>systemvm/conf/agent.properties</exclude>
              <exclude>systemvm/conf/environment.properties</exclude>
              <exclude>systemvm/js/jquery.js</exclude>
              <exclude>systemvm/patches/debian/systemvm.vmx</exclude>
              <exclude>systemvm/patches/debian/config/root/.ssh/authorized_keys</exclude>
              <exclude>systemvm/patches/debian/config/etc/apache2/httpd.conf</exclude>
              <exclude>systemvm/patches/debian/config/etc/apache2/vhost.template</exclude>
              <exclude>systemvm/patches/debian/config/etc/dnsmasq.conf.tmpl</exclude>
              <exclude>systemvm/patches/debian/config/etc/vpcdnsmasq.conf</exclude>
              <exclude>systemvm/patches/debian/config/etc/ssh/sshd_config</exclude>
              <exclude>systemvm/patches/debian/config/etc/rsyslog.conf</exclude>
              <exclude>systemvm/patches/debian/config/etc/logrotate.conf</exclude>
              <exclude>systemvm/patches/debian/config/etc/logrotate.d/*</exclude>
              <exclude>systemvm/patches/debian/config/etc/sysctl.conf</exclude>
              <exclude>systemvm/patches/debian/config/root/redundant_router/keepalived.conf.templ</exclude>
              <exclude>systemvm/patches/debian/config/root/redundant_router/arping_gateways.sh.templ</exclude>
              <exclude>systemvm/patches/debian/config/root/redundant_router/conntrackd.conf.templ</exclude>
              <exclude>systemvm/patches/debian/vpn/etc/ipsec.conf</exclude>
              <exclude>systemvm/patches/debian/vpn/etc/ppp/options.xl2tpd</exclude>
              <exclude>systemvm/patches/debian/vpn/etc/xl2tpd/xl2tpd.conf</exclude>
              <exclude>systemvm/patches/debian/vpn/etc/ipsec.secrets</exclude>
              <exclude>systemvm/patches/debian/config/etc/haproxy/haproxy.cfg</exclude>
              <exclude>systemvm/patches/debian/config/etc/cloud-nic.rules</exclude>
              <exclude>systemvm/patches/debian/config/etc/modprobe.d/aesni_intel</exclude>
              <exclude>systemvm/patches/debian/config/etc/rc.local</exclude>
              <exclude>systemvm/patches/debian/config/var/www/html/userdata/.htaccess</exclude>
              <exclude>systemvm/patches/debian/config/var/www/html/latest/.htaccess</exclude>
              <exclude>systemvm/patches/debian/vpn/etc/ipsec.d/l2tp.conf</exclude>
              <exclude>tools/transifex/.tx/config</exclude>
              <exclude>tools/logo/apache_cloudstack.png</exclude>
              <exclude>tools/marvin/marvin/sandbox/advanced/sandbox.cfg</exclude>
              <exclude>tools/ngui/static/bootstrap/*</exclude>
              <exclude>tools/ngui/static/js/lib/*</exclude>
              <exclude>**/.checkstyle</exclude>
              <exclude>scripts/installer/windows/acs_license.rtf</exclude>
              <exclude>**/*.md</exclude>
              <exclude>test/integration/component/test_host_ha.sh</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.2</version>
          <configuration>
            <source>${cs.jdk.version}</source>
            <target>${cs.jdk.version}</target>
            <fork>true</fork>
            <meminitial>128m</meminitial>
            <maxmem>512m</maxmem>
            <compilerArgument>-XDignore.symbol.file=true</compilerArgument>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.5</version>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.9.1</version>
          <executions>
            <execution>
              <id>remove-old-installers</id>
              <goals>
                <goal>remove-project-artifact</goal>
              </goals>
              <configuration>
                <removeAll>true</removeAll>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.9</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <configuration>
            <formats>
              <format>html</format>
              <format>xml</format>
            </formats>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${cs.findbugs.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.cloudstack</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <effort>Max</effort>
            <threshold>High</threshold>
            <xmlOutput>true</xmlOutput>
            <failOnError>false</failOnError>
            <maxHeap>2048</maxHeap>
            <excludeFilterFile>findbugsExcludeFilter.xml</excludeFilterFile>
          </configuration>
          <executions>
            <execution>
              <id>cloudstack-findbugs</id>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.3</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.cloudstack</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <failOnViolation>false</failOnViolation>
            <rulesets>
              <ruleset>cloud-pmd.xml</ruleset>
            </rulesets>
          </configuration>
          <executions>
            <execution>
              <id>cloudstack-pmd</id>
              <goals>
                <goal>check</goal>
                <goal>cpd-check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.18.1</version>
          <configuration>
            <argLine>-Djava.security.egd=file:/dev/./urandom -noverify</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.18.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>${cs.findbugs.version}</version>
        <configuration>
          <threshold>Low</threshold><!-- High|Normal|Low|Exp|Ignore -->
          <effort>Default</effort><!-- Min|Default|Max -->
          <excludeFilterFile>${basedir}/findbugsExcludeFilter.xml</excludeFilterFile>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${cs.javadoc.version}</version>
        <configuration>
          <minmemory>128m</minmemory>
          <maxmemory>1g</maxmemory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.7</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.6</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.4</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.7</version>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <profile>
      <id>systemvm</id>
      <activation>
        <property>
          <name>systemvm</name>
        </property>
      </activation>
      <modules>
        <module>systemvm</module>
      </modules>
    </profile>
    <profile>
      <id>eclipse</id>
      <properties>
        <cs.target.dir>target-eclipse</cs.target.dir>
      </properties>
    </profile>
    <profile>
      <id>developer</id>
      <properties>
        <marvin.config>tools/devcloud/devcloud.cfg</marvin.config>
      </properties>
      <modules>
        <module>test</module>
        <module>developer</module>
        <module>tools</module>
      </modules>
    </profile>
    <profile>
      <id>impatient</id>
      <properties>
        <marvin.config>tools/devcloud/devcloud.cfg</marvin.config>
      </properties>
      <modules>
        <module>developer</module>
      </modules>
    </profile>
    <profile>
      <id>vmware</id>
      <activation>
        <property>
          <name>noredist</name>
        </property>
      </activation>
      <modules>
        <module>vmware-base</module>
      </modules>
    </profile>
    <profile>
      <id>disablecheckstyle</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
              <execution>
                <id>cloudstack-checkstyle</id>
                <phase>none</phase>
                <inherited>true</inherited>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>enablefindbugs</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>cloudstack-findbugs</id>
                <phase>process-classes</phase>
                <inherited>true</inherited>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>buildw</id>
      <activation>
        <property>
          <name>buildw</name>
        </property>
      </activation>
      <modules>
        <module>tools/wix-cloudstack-maven-plugin</module>
      </modules>
    </profile>
  </profiles>
</project>
