<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
     http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>14</version>
    </parent>

    <groupId>org.apache.brooklyn</groupId>
    <artifactId>brooklyn-parent</artifactId>
    <version>0.7.0-M2-incubating</version>  <!-- BROOKLYN_VERSION -->

    <name>Brooklyn Parent Project</name>
    <description>
        Brooklyn parent / project root,
        serving as the ancestor POM for all projects --
        declaring versions, profiles, and the modules to build
    </description>
    <url>https://brooklyn.incubator.apache.org/</url>
    <inceptionYear>2012</inceptionYear>

    <!-- useful custom properties/defines to specify to control the build:

      brooklyn.explicitModules :: only builds explicit modules (instead of default modules)

      brooklyn.deployTo={cloudsoftFilesystem,cloudsoftArtifactory,sonatype,apache} ::
            :: required when deploying; specify the deployment target

      javadoc :: build javadoc (adds a minute or two; enabled automatically for target deploy)

      skipSources :: don't make the -sources.jar (saves a second or two, not much)

      skipTests :: does the usual thing (saves a lot of time, but at some cost of build quality!)

      simply activate with -Dbrooklyn.theCustomProperty on the mvn build line
      (some of these are used to trigger profile selection, since maven activeByDefault
      only works if _no_ profiles are triggered, see suggestion/background at:
      http://stackoverflow.com/questions/5309379/how-to-keep-maven-profiles-which-are-activebydefault-active-even-if-another-prof )
    -->

    <developers>
        <!-- TODO update with PMC members and committers -->
    </developers>

    <scm>
        <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git</connection>
        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git</developerConnection>
        <url>https://git-wip-us.apache.org/repos/asf?p=incubator-brooklyn.git</url>
      <tag>HEAD</tag>
  </scm>
    <issueManagement>
        <system>JIRA</system>
        <url>https://issues.apache.org/jira/browse/BROOKLYN</url>
    </issueManagement>
    <ciManagement>
        <system>Jenkins</system>
        <url>https://builds.apache.org/job/incubator-brooklyn-master-build/</url>
    </ciManagement>
    <mailingLists>
        <mailingList>
            <name>Brooklyn Incubator Developer List</name>
            <subscribe>dev-subscribe@brooklyn.incubator.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@brooklyn.incubator.apache.org</unsubscribe>
            <post>dev@brooklyn.incubator.apache.org</post>
            <archive>
                http://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/
            </archive>
        </mailingList>
    </mailingLists>

    <repositories>
        <!-- enable sonatype snapshots repo (only for snapshots) -->
        <repository>
            <id>sonatype-nexus-snapshots</id>
            <name>Sonatype Nexus Snapshots</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <releases> <enabled>false</enabled> </releases>
            <snapshots> <enabled>true</enabled> </snapshots>
        </repository>
        <repository>
            <id>apache-nexus-snapshots</id>
            <name>Apache Nexus Snapshots</name>
            <url>https://repository.apache.org/content/repositories/snapshots</url>
            <releases> <enabled>false</enabled> </releases>
            <snapshots> <enabled>true</enabled> </snapshots>
        </repository>
    </repositories>

    <properties>
        <!-- Compilation -->
        <java.version>1.6</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- Testing -->
        <cobertura.version>1.9.4.1</cobertura.version>
        <surefire.version>2.17</surefire.version>
        <plantuml.version>6121</plantuml.version>
        <ant.version>1.8.4</ant.version>
        <includedTestGroups />
        <excludedTestGroups>Integration,Acceptance,Live,WIP</excludedTestGroups>

        <!-- Dependencies -->
        <brooklyn.version>0.7.0-M2-incubating</brooklyn.version>  <!-- BROOKLYN_VERSION -->
        <jclouds.groupId>org.apache.jclouds</jclouds.groupId>
        <jclouds.version>1.8.0</jclouds.version>
        <guava.version>17.0</guava.version>
        <groovy.version>1.8.6</groovy.version>
        <logback.version>1.0.7</logback.version>
        <testng.version>6.8</testng.version>
        <mockito.version>1.9.5</mockito.version>
        <slf4j.version>1.6.6</slf4j.version>  <!-- used for java.util.logging jul-to-slf4j interception -->
        <xstream.version>1.4.7</xstream.version>
        <jackson.version>1.9.13</jackson.version>  <!-- codehaus jackson, used by brooklyn rest server -->
        <fasterxml.jackson.version>2.4.2</fasterxml.jackson.version>  <!-- more recent jackson, but not compatible with old annotations! -->
        <jersey.version>1.18.1</jersey.version>
        <swagger.version>1.0.1</swagger.version>
        <jansi.version>1.2.1</jansi.version>
        <gson.version>2.2.2</gson.version>
        <jsr305.version>2.0.1</jsr305.version>
        <ivy.version>2.2.0</ivy.version>
        <mx4j.version>3.0.1</mx4j.version>
        <bouncycastle.version>1.49</bouncycastle.version>
        <sshj.version>0.8.1</sshj.version>
        <felix.framework.version>4.4.0</felix.framework.version>
        <reflections.version>0.9.9-RC1</reflections.version>
        <jetty.version>8.1.4.v20120524</jetty.version>
        <airline.version>0.6</airline.version>
        <mockwebserver.version>20121111</mockwebserver.version>
        <httpclient.version>4.2.5</httpclient.version>
        <freemarker.version>2.3.19</freemarker.version>
        <commons-io.version>2.4</commons-io.version>
        <hazelcast.version>3.0</hazelcast.version>
        <jsonPath.version>0.9.1</jsonPath.version>
        <commons-lang3.version>3.1</commons-lang3.version>
        <commons-compress.version>1.4</commons-compress.version>
        <qpid.version>0.20</qpid.version>
        <mongodb.version>2.11.4</mongodb.version>
        <riak.version>1.4.0</riak.version>
        <maven-war-plugin.version>2.4</maven-war-plugin.version>
        <snakeyaml.version>1.11</snakeyaml.version>
        <validation-api.version>1.0.0.GA</validation-api.version>
        <geronimo-jms_1.1_spec.version>1.1.1</geronimo-jms_1.1_spec.version>
        <sleepycat-je.version>5.0.34</sleepycat-je.version>
        <org.marre.smsj.version>1.0.0-20051126</org.marre.smsj.version>
        <mysql-connector-java.version>5.1.18</mysql-connector-java.version>
        <hadoop.version>1.0.2</hadoop.version>
        <commons-cli.version>1.2</commons-cli.version>
        <postgresql.version>9.1-901.jdbc4</postgresql.version>
        <activemq.version>5.7.0</activemq.version>
        <rabbitmq-version>2.8.7</rabbitmq-version>
        <kafka.version>0.7.0-incubating</kafka.version>
        <storm.version>0.8.2</storm.version>
        <redis.version>1.5.2</redis.version>
        <astyanax.version>1.56.24</astyanax.version>
        <jcouchdb.version>0.11.0-1</jcouchdb.version>
        <solr.version>4.7.0</solr.version>
        <jtidy.version>r8-20060801</jtidy.version>
        <opendmk_jmxremote_optional_jar.version>1.0-b01-ea</opendmk_jmxremote_optional_jar.version>
        <resteasy.version>3.0.8.Final</resteasy.version>
        <maven-dependency-plugin.version>2.8</maven-dependency-plugin.version>
        <jopt.version>4.3</jopt.version>
        <concurrentlinkedhashmap.version>1.0_jdk5</concurrentlinkedhashmap.version>
        <maven-replacer-plugin.version>1.5.2</maven-replacer-plugin.version>
        <nodejs-maven-plugin.version>1.0.3</nodejs-maven-plugin.version>
        <nodejs-maven-binaries.version>0.10.25</nodejs-maven-binaries.version>
        <jasmine-maven-plugin.version>1.3.1.5</jasmine-maven-plugin.version>
        <requirejs-maven-plugin.version>2.0.0</requirejs-maven-plugin.version>
        <maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
        <jetty-orbit-javax-servlet.version>3.0.0.v201112011016</jetty-orbit-javax-servlet.version>
        <jcommander.version>1.27</jcommander.version>
        <xml-apis.version>1.0.b2</xml-apis.version>
        <jsr250-api.version>1.0</jsr250-api.version>
        <guice.version>3.0</guice.version>
        <javax-inject.version>1</javax-inject.version>
        <aopalliance.version>1.0</aopalliance.version>
        <commons-configuration.version>1.7</commons-configuration.version>
        <commons-lang.version>2.4</commons-lang.version>
        <hamcrest.version>1.1</hamcrest.version>
        <jsr311-api.version>1.1.1</jsr311-api.version>
        <maxmind.version>0.8.1</maxmind.version>
        <jna.version>4.0.0</jna.version>

        <!-- Release -->
        <!-- no passphrase by default, so we can do automated deploy builds;
             you can still supply your own passphrase with -Dgpg.passphrase=XXX -->
        <gpg.passphrase />
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ivy</groupId>
                <artifactId>ivy</artifactId>
                <version>${ivy.version}</version>
            </dependency>
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>${xstream.version}</version>
            </dependency>
            <dependency>
                <groupId>org.fusesource.jansi</groupId>
                <artifactId>jansi</artifactId>
                <version>${jansi.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>${jsr305.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
            </dependency>
            <dependency>
                <groupId>${jclouds.groupId}</groupId>
                <artifactId>jclouds-allcompute</artifactId>
                <version>${jclouds.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>${jclouds.groupId}.driver</groupId>
                <artifactId>jclouds-sshj</artifactId>
                <version>${jclouds.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant-launcher</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.plantuml</groupId>
                <artifactId>plantuml</artifactId>
                <version>${plantuml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-multipart</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.jersey-test-framework</groupId>
                <artifactId>jersey-test-framework-inmemory</artifactId>
                <version>${jersey.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-json-provider</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.wordnik</groupId>
                <artifactId>swagger-core_2.9.1</artifactId>
                <version>${swagger.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.wordnik</groupId>
                <artifactId>swagger-jaxrs_2.9.1</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.orbit</groupId>
                <artifactId>javax.servlet</artifactId>
                <version>${jetty-orbit-javax-servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-security</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>com.beust</groupId>
                <artifactId>jcommander</artifactId>
                <version>${jcommander.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>${xml-apis.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>jsr250-api</artifactId>
                <version>${jsr250-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax-inject.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <classifier>tests</classifier>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>aopalliance</groupId>
                <artifactId>aopalliance</artifactId>
                <version>${aopalliance.version}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-ext-jdk15on</artifactId>
                <version>${bouncycastle.version}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk15on</artifactId>
                <version>${bouncycastle.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-configuration</groupId>
                <artifactId>commons-configuration</artifactId>
                <version>${commons-configuration.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${hamcrest.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflections.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-webapp</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${felix.framework.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-servlet</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>${jsr311-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.external</groupId>
                <artifactId>opendmk_jmxremote_optional_jar</artifactId>
                <version>${opendmk_jmxremote_optional_jar.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson-provider</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>jaxrs-api</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${validation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.jopt-simple</groupId>
                <artifactId>jopt-simple</artifactId>
                <version>${jopt.version}</version>
            </dependency>
            <dependency>
                <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
                <artifactId>concurrentlinkedhashmap-lru</artifactId>
                <version>${concurrentlinkedhashmap.version}</version>
            </dependency>
            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>airline</artifactId>
                <version>${airline.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.whirr</groupId>
                <artifactId>whirr-hadoop</artifactId>
                <version>${whirr.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.whirr</groupId>
                <artifactId>whirr-core</artifactId>
                <version>${whirr.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.whirr</groupId>
                <artifactId>whirr-cli</artifactId>
                <version>${whirr.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.whirr</groupId>
                <artifactId>whirr-elasticsearch</artifactId>
                <version>${whirr.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${commons-compress.version}</version>
            </dependency>
            <dependency>
                <groupId>net.schmizz</groupId>
                <artifactId>sshj</artifactId>
                <version>${sshj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>
            <dependency>
                <groupId>mx4j</groupId>
                <artifactId>mx4j-tools</artifactId>
                <version>${mx4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.mockwebserver</groupId>
                <artifactId>mockwebserver</artifactId>
                <version>${mockwebserver.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>com.jayway.jsonpath</groupId>
                <artifactId>json-path</artifactId>
                <version>${jsonPath.version}</version>
            </dependency>
            <dependency>
                <groupId>com.maxmind.geoip2</groupId>
                <artifactId>geoip2</artifactId>
                <version>${maxmind.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>${jna.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna-platform</artifactId>
                <version>${jna.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>

        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.4.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.5</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>1.3.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.17</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <!-- NB: if this version is changed, update the MavenArtifactTest.
                         v2.4+ seems to break eclipse integration as per https://github.com/tesla/m2eclipse-extras/issues/10 -->
                    <version>2.3.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.3</version>
                    <inherited>true</inherited>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9.1</version>
                    <inherited>true</inherited>
                    <configuration>
                        <!-- disabling use because of NPE deploying to sonatype:
                             http://stackoverflow.com/questions/888199/why-does-maven-install-fail-during-javadoc-generation
                             http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=ac084ab7f47c4e7f1df2117cecd?bug_id=5101868
                        -->
                        <use>false</use>
                        <links>
                            <link>http://download.oracle.com/javaee/6/api</link>
                        </links>
                        <keywords>true</keywords>
                        <author>false</author>
                        <quiet>true</quiet>
                        <aggregate>false</aggregate>
                        <detectLinks />
                        <tags>
                            <tag>
                                <name>todo</name>
                                <placement>a</placement>
                                <head>To-do:</head>
                            </tag>
                        </tags>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.5</version>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!-- 'release' is not used; easier just to checkout, tag, `mvn deploy` manually
                         with -Dbrooklyn.deployTo=TARGET ... and note we need to update docs and examples,
                         which is a non-maven task!) -->
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <mavenExecutorId>forked-path</mavenExecutorId>
                        <useReleaseProfile>false</useReleaseProfile>
                        <arguments>-Dbrooklyn.deployTo=sonatype</arguments>
                        <goals>deploy</goals>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.3</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <shadedArtifactAttached>true</shadedArtifactAttached>
                                <shadedClassifierName>with-dependencies</shadedClassifierName>
                                <filters>
                                    <filter>
                                        <artifact>*:*</artifact>
                                        <excludes>
                                            <exclude>META-INF/*.SF</exclude>
                                            <exclude>META-INF/*.DSA</exclude>
                                            <exclude>META-INF/*.RSA</exclude>
                                        </excludes>
                                    </filter>
                                </filters>
                                <transformers>
                                    <!-- whirr, among others, uses services which need careful attention -->
                                    <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                                </transformers>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                     <artifactId>maven-surefire-plugin</artifactId>
                     <version>${surefire.version}</version>
                     <configuration>
                         <argLine>-Xms768m -Xmx768m -XX:MaxPermSize=256m -verbose:gc</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.9</version>
                    <configuration>
                        <additionalProjectnatures>
                            <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
                        </additionalProjectnatures>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>2.3.4</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>2.3.2</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <groupId>net.sourceforge.cobertura</groupId>
                    <artifactId>cobertura</artifactId>
                    <version>${cobertura.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.google.code.maven-replacer-plugin</groupId>
                    <artifactId>maven-replacer-plugin</artifactId>
                    <version>1.4.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>1.3</version>
                    <configuration>
                        <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                    </configuration>
                </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-dependency-plugin</artifactId>
                                        <versionRange>[2.8,)</versionRange>
                                        <goals>
                                            <goal>copy-dependencies</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-assembly-plugin</artifactId>
                                        <versionRange>[2.4.1,)</versionRange>
                                        <goals>
                                            <goal>single</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>build-helper-maven-plugin</artifactId>
                                        <versionRange>[1.7,)</versionRange>
                                        <goals>
                                            <goal>attach-artifact</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-enforcer-plugin</artifactId>
                                        <versionRange>[1.3.1,)</versionRange>
                                        <goals>
                                            <goal>enforce</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-remote-resources-plugin</artifactId>
                                        <versionRange>[1.5,)</versionRange>
                                        <goals>
                                            <goal>process</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.8,)</versionRange>
                                        <goals>
                                            <goal>unpack</goal>
                                            <goal>copy</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.github.skwakman.nodejs-maven-plugin</groupId>
                                        <artifactId>nodejs-maven-plugin</artifactId>
                                        <versionRange>[1.0.3,)</versionRange>
                                        <goals>
                                            <goal>extract</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-war-plugin</artifactId>
                                        <versionRange>[2.4,)</versionRange>
                                        <goals>
                                            <goal>exploded</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                  <pluginExecutionFilter>
                                    <groupId>
                                      org.apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                      maven-checkstyle-plugin
                                    </artifactId>
                                    <versionRange>[2.13,)</versionRange>
                                    <goals>
                                      <goal>check</goal>
                                    </goals>
                                  </pluginExecutionFilter>
                                  <action>
                                    <ignore />
                                  </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <configuration>
                        <excludes combine.children="append">
                            <!--
                                Excluding sandbox because not part of distribution: not in tgz, and not uploaded to maven-central.
                            -->
                            <exclude>sandbox/**</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>.</directory>
                            <includes>
                                <include>brooklyn*.log</include>
                                <include>brooklyn*.log.*</include>
                                <include>stacktrace.log</include>
                                <include>test-output</include>
                                <include>prodDb.*</include>
                            </includes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.13</version>
                <executions>
                    <execution>
                        <id>verify-style</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <logViolationsToConsole>true</logViolationsToConsole>
                    <checkstyleRules>
                        <module name="Checker">
                            <!-- Checks for whitespace                               -->
                            <!-- See http://checkstyle.sf.net/config_whitespace.html -->
                            <module name="FileTabCharacter">
                                <property name="eachLine" value="true" />
                            </module>
                        </module>
                    </checkstyleRules>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce</id>
                        <phase>none</phase>
                    </execution>
                    <execution>
                        <id>brooklyn-build-req</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <inherited>true</inherited>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>${java.version}.0</version>
                                </requireJavaVersion>
                                <requireMavenVersion>
                                    <version>[3.0.0,)</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <compilerId>groovy-eclipse-compiler</compilerId>
                    <fork>true</fork>
                    <verbose>false</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-compiler</artifactId>
                        <version>2.7.0-01</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-batch</artifactId>
                        <version>1.8.6-01</version>
                    </dependency>
                </dependencies>
            </plugin>
            <!--  workaround for src/main/resources excluding all in eclipse, as per
                  https://issues.sonatype.org/browse/MNGECLIPSE-864
            -->
            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>maven-replacer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>fix-eclipse-dot-classpath-mangling</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>replace</goal>
                        </goals>
                        <configuration>
                            <ignoreMissingFile>true</ignoreMissingFile>
                            <file>.classpath</file>
                            <regex>false</regex>
                            <replacements>
                                <replacement>
                                    <xpath>/classpath/classpathentry[@path='src/main/resources' and @kind='src' and @excluding='**']/@excluding</xpath>
                                    <token>**</token>
                                    <value />
                                </replacement>
                                <replacement>
                                    <xpath>/classpath/classpathentry[@path='src/test/resources' and @kind='src' and @excluding='**']/@excluding</xpath>
                                    <token>**</token>
                                    <value />
                                </replacement>
                            </replacements>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn apache-rat:check -->
            <plugin>
              <groupId>org.apache.rat</groupId>
              <artifactId>apache-rat-plugin</artifactId>
              <version>0.10</version>
              <executions>
                <execution>
                  <phase>verify</phase>
                  <goals>
                    <goal>check</goal>
                  </goals>
                </execution> 
              </executions>
              <configuration>
                <!--
                     If you wish to override this list in the component (child) pom, ensure you use
                         <excludes combine.children="merge">
                     so that the child pom entries replace the parent entries
                 -->
                <excludes combine.children="append">
                  <!-- git and IDE project files -->
                  <!-- see https://issues.apache.org/jira/browse/RAT-107 -->
                  <exclude>**/.git/**</exclude>
                  <exclude>**/.gitignore</exclude>
                  <exclude>**/.repository/**</exclude>
                  <exclude>**/.idea/**</exclude>
                  <exclude>**/*.iml</exclude>
                  <exclude>**/.classpath/**</exclude>
                  <exclude>**/.project</exclude>
                  <exclude>**/.settings/**</exclude>
                  <exclude>**/*.log</exclude>
                  <exclude>**/brooklyn*.log.*</exclude>
                  <exclude>**/target/**</exclude>
                  <!-- files not requiring licence -->
                  <exclude>ignored/**</exclude>
                  <exclude>LICENSE.md</exclude>
                  <exclude>**/MANIFEST.MF</exclude>
                  <exclude>**/test-output/**</exclude>
                  <exclude>**/*.pem.pub</exclude>
                  <exclude>**/*.svg</exclude>
                  <exclude>**/*.crt</exclude>
                  <exclude>**/*.csr</exclude>
                  <exclude>**/*.key</exclude>
                  <exclude>**/*.key.org</exclude>
                  <exclude>**/*.psd</exclude>
                  <exclude>**/*.json</exclude>
                  <exclude>**/*.plxarc</exclude>
                  <exclude>**/services/brooklyn.location.LocationResolver</exclude>
                  <exclude>**/src/test/resources/brooklyn/entity/basic/template_with_extra_substitutions.txt</exclude>
                  <exclude>**/src/main/resources/banner.txt</exclude>
                  <exclude>**/src/test/resources/ssl/certs/localhost/info.txt</exclude>
                  <exclude>**/sandbox/examples/src/main/scripts/amis.txt</exclude>
                  <!-- see notes in https://issues.apache.org/jira/browse/BROOKLYN-18 -->
                  
                  <!--
                      docs are not part of the distribution: they are just used to populate 
                      https://brooklyn.incubator.apache.org
                  -->
                  <exclude>docs/**</exclude>

                </excludes>
              </configuration>
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh-external</artifactId>
                <version>1.0</version>
            </extension>
            <extension>
                <groupId>org.apache.maven.archetype</groupId>
                <artifactId>archetype-packaging</artifactId>
                <version>2.2</version>
            </extension>
        </extensions>
    </build>

    <profiles>
        <profile>
            <id>Essentials</id>
            <activation> <property><name> !brooklyn.explicitModules </name></property> </activation>
            <modules>
                <module>utils/test-support</module>
                <module>utils/common</module>
                <module>utils/groovy</module>
                <module>api</module>
                <module>usage/test-support</module>
                <module>camp</module>
                <module>core</module>
                <module>policy</module>
                <module>storage/hazelcast</module>
            </modules>
        </profile>
        <profile>
            <id>Locations</id>
            <activation> <property><name> !brooklyn.explicitModules </name></property> </activation>
            <modules>
                <module>locations/jclouds</module>
            </modules>
        </profile>
        <profile>
            <id>Entities</id>
            <activation> <property><name> !brooklyn.explicitModules </name></property> </activation>
            <modules>
                <module>utils/jmx/jmxmp-ssl-agent</module>
                <module>utils/jmx/jmxrmi-agent</module>
                <module>software/base</module>
                <module>software/network</module>
                <module>software/osgi</module>
                <module>software/webapp</module>
                <module>software/messaging</module>
                <module>software/nosql</module>
                <module>software/database</module>
                <module>software/monitoring</module>
            </modules>
        </profile>
        <profile>
            <id>Usage</id>
            <activation> <property><name> !brooklyn.explicitModules </name></property> </activation>
            <modules>
                <module>usage/logback-includes</module>
                <module>usage/logback-xml</module>
                <module>utils/rest-swagger</module>
                <module>usage/camp</module>
                <module>usage/rest-api</module>
                <module>usage/rest-server</module>
                <module>usage/rest-client</module>
                <module>usage/jsgui</module>
                <module>usage/launcher</module>
                <module>usage/cli</module>
                <module>usage/all</module>
                <module>usage/dist</module>
                <module>usage/archetypes/quickstart</module>
                <module>usage/downstream-parent</module>
            </modules>
        </profile>
        <profile>
            <id>Examples</id>
            <activation> <property><name> !brooklyn.explicitModules </name></property> </activation>
            <modules>
                <module>examples</module>
            </modules>
        </profile>
        <profile>
            <id>QA</id>
            <activation> <property><name> !brooklyn.explicitModules </name></property> </activation>
            <modules>
                <module>usage/qa</module>
            </modules>
        </profile>
        <profile>
            <id>Sandbox</id>
            <modules>
                <module>sandbox/extra</module>
                <module>sandbox/database</module>
                <module>sandbox/web-acceptance</module>
                <module>sandbox/nosql</module>
                <module>sandbox/monitoring</module>
                <module>sandbox/examples/simple-open-loop-policy</module>
            </modules>
        </profile>

        <profile>
            <id>Documentation</id>
            <reporting>
                <excludeDefaults>true</excludeDefaults>
                <plugins>
                    <plugin>
                        <artifactId>maven-project-info-reports-plugin</artifactId>
                        <version>2.4</version>
                        <reportSets>
                            <reportSet>
                                <reports>
                                    <report>index</report>
                                    <report>modules</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.8</version>
                        <configuration>
                            <links>
                                <link>http://download.oracle.com/javaee/6/api</link>
                            </links>
                            <keywords>true</keywords>
                            <author>false</author>
                            <quiet>true</quiet>
                            <aggregate>false</aggregate>
                            <detectLinks />
                            <tags>
                                <tag>
                                    <name>todo</name>
                                    <placement>a</placement>
                                    <head>To-do:</head>
                                </tag>
                            </tags>
                        </configuration>
                        <reportSets>
                            <reportSet>
                                <id>javadoc</id>
                                <reports>
                                    <report>javadoc</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                </plugins>
            </reporting>
        </profile>
        <profile>
            <id>Bundle</id>
            <activation>
                <file>
                    <!-- NB - this is all the leaf projects, including logback-* (with no src);
                         the archetype project neatly ignores this however -->
                    <exists>${basedir}/src</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-bundle-plugin</artifactId>
                        <extensions>true</extensions>
                        <!-- configure plugin to generate MANIFEST.MF
                             adapted from http://blog.knowhowlab.org/2010/06/osgi-tutorial-from-project-structure-to.html -->
                        <executions>
                            <execution>
                                <id>bundle-manifest</id>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>manifest</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <supportedProjectTypes>
                                <supportedProjectType>jar</supportedProjectType>
                            </supportedProjectTypes>
                            <instructions>
                                <!-- OSGi specific instruction -->
                                <!--
                                    By default packages containing impl and internal
                                    are not included in the export list. Setting an
                                    explicit wildcard will include all packages
                                    regardless of name.
                                    In time we should minimize our export lists to
                                    what is really needed.
                                -->
                                <Export-Package>brooklyn.*</Export-Package>
                                <Implementation-SHA-1>${buildNumber}</Implementation-SHA-1>
                                <Implementation-Branch>${scmBranch}</Implementation-Branch>
                            </instructions>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <configuration>
                            <archive>
                                <manifestFile> ${project.build.outputDirectory}/META-INF/MANIFEST.MF </manifestFile>
                            </archive>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>Tests</id>
            <activation>
                <file> <exists>${basedir}/src/test</exists> </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>${surefire.version}</version>
                        <configuration>
                            <properties>
                                <property>
                                    <name>listener</name>
                                    <value>brooklyn.test.LoggingVerboseReporter,brooklyn.test.BrooklynLeakListener,brooklyn.test.PlatformTestSelectorListener</value>
                                </property>
                            </properties>
                            <enableAssertions>true</enableAssertions>
                            <groups>${includedTestGroups}</groups>
                            <excludedGroups>${excludedTestGroups}</excludedGroups>
                            <testFailureIgnore>false</testFailureIgnore>
                            <systemPropertyVariables>
                                <verbose>-1</verbose>
                                <net.sourceforge.cobertura.datafile>${project.build.directory}/cobertura/cobertura.ser</net.sourceforge.cobertura.datafile>
                                <cobertura.user.java.nio>false</cobertura.user.java.nio>
                            </systemPropertyVariables>
                            <printSummary>true</printSummary>
                        </configuration>
                    </plugin>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>test-jar-creation</id>
                                <goals>
                                    <goal>test-jar</goal>
                                </goals>
                                <configuration>
                                    <forceCreation>true</forceCreation>
                                    <archive combine.self="override" />
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>Integration</id>
            <properties>
                <includedTestGroups>Integration</includedTestGroups>
                <excludedTestGroups>Acceptance,Live,WIP</excludedTestGroups>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>run-tests</id>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <phase>integration-test</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>test-jar-creation</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>Acceptance</id>
            <properties>
                <includedTestGroups>Acceptance</includedTestGroups>
                <excludedTestGroups>Integration,Live,WIP</excludedTestGroups>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>run-tests</id>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <phase>integration-test</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>test-jar-creation</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>Live</id>
            <properties>
                <includedTestGroups>Live</includedTestGroups>
                <excludedTestGroups>Acceptance,WIP</excludedTestGroups>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>test-jar-creation</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>Live-sanity</id>
            <properties>
                <includedTestGroups>Live-sanity</includedTestGroups>
                <excludedTestGroups>Acceptance,WIP</excludedTestGroups>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>test-jar-creation</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>CI</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>findbugs-maven-plugin</artifactId>
                        <configuration>
                            <xmlOutput>true</xmlOutput>
                            <xmlOutputDirectory>target/site</xmlOutputDirectory>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>findbugs</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-source-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <artifactId>maven-pmd-plugin</artifactId>
                        <version>2.5</version>
                        <inherited>true</inherited>
                        <configuration>
                            <failOnViolation>false</failOnViolation>
                            <linkXref>true</linkXref>
                            <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                            <minimumTokens>100</minimumTokens>
                            <targetJdk>${java.version}</targetJdk>
                            <excludes>
                                <exclude>**/*Test.java</exclude>
                                <exclude>**/tests/**/*.java</exclude>
                                <!-- add any more generated source code directories here -->
                            </excludes>
                            <excludeRoots>
                                <excludeRoot>
                                    ${pom.basedir}/target/generated-sources/groovy-stubs/main
                                </excludeRoot>
                            </excludeRoots>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>check</goal>
                                    <goal>cpd-check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>Coverage</id>
            <dependencies>
                <dependency>
                    <groupId>net.sourceforge.cobertura</groupId>
                    <artifactId>cobertura</artifactId>
                    <version>${cobertura.version}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-source-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>run-tests</id>
                            </execution>
                            <execution>
                                <id>instrument classes</id>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <phase>process-test-classes</phase>
                                <configuration>
                                    <target>
                                        <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath" />
                                        <taskdef resource="tasks.properties" classpathref="maven.plugin.classpath" />
                                        <if>
                                            <available property="gogocobertura" file="target/test-classes" />
                                            <then>
                                                <echo message="INSTRUMENTING CLASSES FOR COBERTURA" />
                                                <!-- Ensure any and all bits of our project are copied in first -->
                                                <copy todir="target/cobertura/coverage-classes">
                                                    <fileset erroronmissingdir="false" dir="target/classes" />
                                                </copy>
                                                <cobertura-instrument datafile="target/cobertura/cobertura.ser" todir="target/test-classes">
                                                    <fileset erroronmissingdir="false" dir="target/classes">
                                                        <include name="brooklyn/**/*.class" />
                                                        <exclude name="brooklyn/**/*Test.class" />
                                                    </fileset>
                                                    <fileset erroronmissingdir="false" dir="target/cobertura/dependency-classes">
                                                        <include name="brooklyn/**/*.class" />
                                                        <exclude name="brooklyn/**/*Test.class" />
                                                    </fileset>
                                                </cobertura-instrument>
                                            </then>
                                        </if>
                                    </target>
                                </configuration>
                            </execution>
                            <execution>
                                <id>coverage report</id>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <phase>post-integration-test</phase>
                                <configuration>
                                    <target>
                                        <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath" />
                                        <taskdef resource="tasks.properties" classpathref="maven.plugin.classpath" />
                                        <if>
                                            <available property="gogocobertura" file="target/cobertura/cobertura.ser" />
                                            <then>
                                                <echo message="GENERATING COBERTURA COVERAGE REPORT" />
                                                <cobertura-report format="xml" destdir="target/site/cobertura" datafile="target/cobertura/cobertura.ser">
                                                    <fileset erroronmissingdir="false" dir="src/java" />
                                                    <fileset erroronmissingdir="false" dir="target/cobertura/dependency-sources" />
                                                </cobertura-report>
                                            </then>
                                        </if>
                                    </target>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>ant-contrib</groupId>
                                <artifactId>ant-contrib</artifactId>
                                <version>1.0b3</version>
                                <exclusions>
                                    <exclusion>
                                        <groupId>ant</groupId>
                                        <artifactId>ant</artifactId>
                                    </exclusion>
                                </exclusions>
                            </dependency>
                            <dependency>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant-launcher</artifactId>
                                <version>${ant.version}</version>
                            </dependency>
                            <dependency>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant</artifactId>
                                <version>${ant.version}</version>
                            </dependency>
                            <dependency>
                                <groupId>org.testng</groupId>
                                <artifactId>testng</artifactId>
                                <version>${testng.version}</version>
                            </dependency>
                            <dependency>
                                <groupId>net.sourceforge.cobertura</groupId>
                                <artifactId>cobertura</artifactId>
                                <version>${cobertura.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-coverage-sources</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>unpack-dependencies</goal>
                                </goals>
                                <configuration>
                                    <classifier>sources</classifier>
                                    <includeScope>compile</includeScope>
                                    <includeGroupIds>brooklyn</includeGroupIds>
                                    <outputDirectory>
                                        ${project.build.directory}/cobertura/dependency-sources
                                    </outputDirectory>
                                    <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
                                </configuration>
                            </execution>
                            <execution>
                                <id>unpack-coverage-classes</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>unpack-dependencies</goal>
                                </goals>
                                <configuration>
                                    <type>jar</type>
                                    <includeScope>compile</includeScope>
                                    <includeGroupIds>brooklyn</includeGroupIds>
                                    <outputDirectory>
                                        ${project.build.directory}/cobertura/dependency-classes
                                    </outputDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>${surefire.version}</version>
                        <inherited>true</inherited>
                        <configuration>
                            <reportFormat>xml</reportFormat>
                            <classesDirectory>${project.build.directory}/cobertura/coverage-classes</classesDirectory>
                            <systemProperties>
                                <property>
                                    <name>net.sourceforge.cobertura.datafile</name>
                                    <value>${project.build.directory}/cobertura/cobertura.ser
                                    </value>
                                </property>
                                <property>
                                    <name>cobertura.user.java.nio</name>
                                    <value>false</value>
                                </property>
                            </systemProperties>
                        </configuration>
                    </plugin>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>test-jar-creation</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- build sources jars by default, it's quick -->
        <profile>
            <id>make-sources-jar</id>
            <activation> <property><name>!skipSources</name></property> </activation>
            <build><plugins><plugin>
                <artifactId>maven-source-plugin</artifactId>
            </plugin></plugins></build>
        </profile>

        <!-- only build javadoc if asked, or if deploying (it's slow) -->
        <profile>
            <id>make-javadoc-jar</id>
            <activation> <property><name>javadoc</name></property> </activation>
            <build><plugins><plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin></plugins></build>
        </profile>

        <!-- sign and make javadoc when deploying; note, this means you'll need gpg set up to deploy -->
        <profile>
            <id>make-more-things-when-deploying</id>
            <activation> <property><name>brooklyn.deployTo</name></property> </activation>
            <build><plugins>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                </plugin>
                <plugin>
                    <artifactId>maven-gpg-plugin</artifactId>
                </plugin>
            </plugins></build>
        </profile>

        <!-- different properties used to deploy to different locations depending on profiles;
             default is cloudsoft filesystem repo, but some sources still use cloudsoft artifactory as source
             (and soon we will support artifactory) -->
        <profile>
            <id>cloudsoft-filesystem-repo</id>
            <activation> <property><name>brooklyn.deployTo</name><value>cloudsoftFilesystem</value></property> </activation>
            <distributionManagement>
                <repository>
                    <id>cloudsoft-deploy-cloudfront-origin-releases</id>
                    <name>Cloudsoft Release Filesystem repo (used as origin for cloudfront)</name>
                    <url>scpexe://root@developers-origin.cloudsoftcorp.com/var/www/developers/maven/releases/</url>
                </repository>
                <snapshotRepository>
                    <id>cloudsoft-deploy-cloudfront-origin-snapshots</id>
                    <name>Cloudsoft Snapshot Filesystem repo (used as origin for cloudfront)</name>
                    <url>scpexe://root@developers-origin.cloudsoftcorp.com/var/www/developers/maven/snapshots/</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
        <profile>
            <id>cloudsoft-artifactory-repo</id>
            <activation> <property><name>brooklyn.deployTo</name><value>cloudsoftArtifactory</value></property> </activation>
            <distributionManagement>
                <repository>
                    <id>cloudsoft-deploy-artifactory-release</id>
                    <name>Cloudsoft Artifactory libs-release-local repo</name>
                    <url>http://ccweb.cloudsoftcorp.com/maven/libs-release-local/</url>
                </repository>
                <snapshotRepository>
                    <id>cloudsoft-deploy-artifactory-snapshot</id>
                    <name>Cloudsoft Artifactory libs-snapshot-local repo</name>
                    <url>http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
        <profile>
            <id>sonatype-nexus-repo</id>
            <activation> <property><name>brooklyn.deployTo</name><value>sonatype</value></property> </activation>
            <distributionManagement>
                <repository>
                    <id>sonatype-nexus-staging</id>
                    <name>Nexus Release Repository</name>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
                <snapshotRepository>
                    <id>sonatype-nexus-snapshots</id>
                    <name>Sonatype Nexus Snapshots</name>
                    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
        <profile>
            <id>apache-repo</id>
            <activation> <property><name>brooklyn.deployTo</name><value>apache</value></property> </activation>
            <!-- distributionManagement configured by the parent Apache POM -->
        </profile>
        <profile>
            <id>rat-check</id>
            <build>
                <plugins>
                    <plugin>
                      <groupId>org.apache.rat</groupId>
                      <artifactId>apache-rat-plugin</artifactId>
                      <executions>
                        <execution>
                          <id>rat-check</id>
                          <phase>verify</phase>
                          <goals>
                            <goal>check</goal>
                          </goals>
                        </execution>
                      </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
