<?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>
    <parent>
        <groupId>org.apache.brooklyn</groupId>
        <artifactId>brooklyn</artifactId>
        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
    </parent>

    <artifactId>brooklyn-parent</artifactId>
    <packaging>pom</packaging>
    <name>Brooklyn Parent Project</name>
    <description>
        Brooklyn parent project, serving as the ancestor POM for all Apache Brooklyn modules
    </description>

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

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

      brooklyn.deployTo={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 )
    -->

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

        <!-- Testing -->
        <cobertura.plugin.version>2.7</cobertura.plugin.version>
        <surefire.version>2.18.1</surefire.version>
        <plantuml.version>6121</plantuml.version>
        <ant.version>1.8.4</ant.version>
        <includedTestGroups />
        <excludedTestGroups>Integration,Acceptance,Live,WIP</excludedTestGroups>
        <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests>

        <!-- Dependencies -->
        <brooklyn.version>0.8.0-incubating</brooklyn.version>  <!-- BROOKLYN_VERSION -->
        <jclouds.groupId>org.apache.jclouds</jclouds.groupId> <!-- JCLOUDS_GROUPID_VERSION -->

        <!-- These dependencies also appear in usage/downstream-parent/pom.xml -
           - please synchronise versions between these two pom files -->
        <jclouds.version>1.9.1</jclouds.version> <!-- JCLOUDS_VERSION -->
        <logback.version>1.0.7</logback.version>
        <slf4j.version>1.6.6</slf4j.version>  <!-- used for java.util.logging jul-to-slf4j interception -->
        <guava.version>17.0</guava.version>
        <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>
        <httpclient.version>4.4.1</httpclient.version>
        <commons-lang3.version>3.1</commons-lang3.version>
        <groovy.version>2.3.4</groovy.version> <!-- Version supported by https://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-2.9.0-Release-Notes -->
        <jsr305.version>2.0.1</jsr305.version>
        <snakeyaml.version>1.11</snakeyaml.version>

        <!-- Ordinary dependencies -->
        <testng.version>6.8.8</testng.version>
        <mockito.version>1.10.8</mockito.version>
        <swagger.version>1.0.1</swagger.version>
        <jansi.version>1.2.1</jansi.version>
        <gson.version>2.3</gson.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.17.v20150415</jetty.version>
        <airline.version>0.6</airline.version>
        <mockwebserver.version>20121111</mockwebserver.version>
        <freemarker.version>2.3.22</freemarker.version>
        <commons-io.version>2.4</commons-io.version>
        <hazelcast.version>3.0</hazelcast.version>
        <jsonPath.version>2.0.0</jsonPath.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>
        <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.10.0</activemq.version>
        <rabbitmq-version>2.8.7</rabbitmq-version>
        <kafka.version>0.8.2.1</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>
        <winrm4j.version>0.1.0</winrm4j.version>
        <coverage.target>${working.dir}</coverage.target>

        <!-- Transitive dependencies, declared explicitly to avoid version mismatch -->
        <clojure.version>1.4.0</clojure.version>
        <zookeeper.version>3.3.4</zookeeper.version>
        <ring-core.version>1.1.5</ring-core.version>
        <clj-time.version>0.4.1</clj-time.version>
        <commons-codec.version>1.9</commons-codec.version>
        <log4j.version>1.2.17</log4j.version>
        <commons-logging.version>1.2</commons-logging.version>
    </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-antrun-plugin</artifactId>
                    <version>1.8</version>
                </plugin>
                <plugin>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.3</version>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.5.4</version>
                    <configuration>
                        <tarLongFileMode>gnu</tarLongFileMode>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.6.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</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-eclipse-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <additionalProjectnatures>
                            <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
                        </additionalProjectnatures>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>1.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.18.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <!-- version 2.4+ seems to break eclipse integration as per https://github.com/tesla/m2eclipse-extras/issues/10
                         but cannot find issue on GitHub any more - 404 error -->
                    <!-- XXX if this version is changed, update the MavenArtifactTest -->
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.3</version>
                    <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>
                        <failOnError>false</failOnError>
                        <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-resources-plugin</artifactId>
                    <version>2.7</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>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.4</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </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>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>2.5.4</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>3.0.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.9.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                    <version>${cobertura.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.google.code.maven-replacer-plugin</groupId>
                    <artifactId>maven-replacer-plugin</artifactId>
                    <version>1.4.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>1.3</version>
                    <configuration>
                        <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <configuration>
                        <excludes combine.children="append">
                            <!-- Exclude sandbox because not part of distribution: not in tgz, and not uploaded to maven-central -->
                            <exclude>sandbox/**</exclude>
                            <!-- Exclude release because not part of distribution: not in tgz, and not uploaded to maven-central -->
                            <exclude>release/**</exclude>
                            <!-- Exclude netbeans config files (not part of the project, but often on users' drives -->
                            <exclude>**/nbactions.xml</exclude>
                            <exclude>**/nb-configuration.xml</exclude>
                        </excludes>
                    </configuration>
                </plugin>

                <!-- This 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>
<!-- This is suggested if Eclipse runs too many incremental maven plugins, but it also seems to cause NPE's in maven build.
                                <pluginExecution>
                                  <action>
                                    <execute>
                                      <runOnIncremental>false</runOnIncremental>
                                    </execute>
                                  </action>
                                </pluginExecution>
-->
                                <pluginExecution>
                                  <pluginExecutionFilter>
                                    <groupId>
                                      org.apache.felix
                                    </groupId>
                                    <artifactId>
                                      maven-bundle-plugin
                                    </artifactId>
                                    <versionRange>
                                      [2.3.4,)
                                    </versionRange>
                                    <goals>
                                      <goal>manifest</goal>
                                    </goals>
                                  </pluginExecutionFilter>
                                  <action>
                                    <ignore></ignore>
                                  </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </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 name="TreeWalker">
                                <module name="IllegalImport">
                                    <property name="illegalPkgs" value="com.google.api.client.repackaged"/>
                                </module>
                            </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>
                                <dependencyConvergence/>
                            </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>
                    <fork>true</fork>
                    <verbose>false</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-compiler</artifactId>
                        <version>2.9.0-01</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-batch</artifactId>
                        <version>2.3.4-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>**/src/main/license/**</exclude>
                  <exclude>**/src/test/license/**</exclude>
                  <exclude>**/MANIFEST.MF</exclude>
                  <exclude>**/test-output/**</exclude>
                  <exclude>**/*.pem.pub</exclude>
                  <exclude>**/*.pem</exclude>
                  <exclude>**/*_rsa.pub</exclude>
                  <exclude>**/*_rsa</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>**/src/test/resources/org/apache/brooklyn/entity/software/base/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>

            <!-- Add off-the-schelf LICENSE, NOTICE and DISCLAIMER to each jar. Where off-the-shelf isn't suitable
               - for submodules, they can disable this processing and intergrate their own files. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <resourceBundles>
                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                                <resourceBundle>org.apache:apache-incubator-disclaimer-resource-bundle:1.1</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </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/downstream-parent</module>
                <module>usage/archetypes/quickstart</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>
                <module>sandbox/cassandra-multicloud-snitch</module>
                <module>sandbox/mobile-app</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.*,org.apache.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>org.apache.brooklyn.test.support.LoggingVerboseReporter,org.apache.brooklyn.test.support.BrooklynLeakListener,org.apache.brooklyn.test.support.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>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                    <version>${cobertura.plugin.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/main/java" />
                                                    <fileset erroronmissingdir="false" dir="target/cobertura/dependency-sources" />
                                                </cobertura-report>
                                                <cobertura-report format="html" destdir="target/site/cobertura" datafile="target/cobertura/cobertura.ser">
                                                    <fileset erroronmissingdir="false" dir="src/main/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>org.codehaus.mojo</groupId>
                                <artifactId>cobertura-maven-plugin</artifactId>
                                <version>${cobertura.plugin.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>
        <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>
        <profile>
            <id>eclipse-compiler</id>
            <build>
                <plugins>
                    <plugin>
                       <groupId>org.apache.maven.plugins</groupId>
                       <artifactId>maven-compiler-plugin</artifactId>
                       <configuration>
                           <compilerId>eclipse</compilerId>
                           <optimize>true</optimize>
                       </configuration>
                       <dependencies>
                               <dependency>
                                   <groupId>org.codehaus.plexus</groupId>
                                   <artifactId>plexus-compiler-eclipse</artifactId>
                                   <version>2.4</version>
                               </dependency>
                       </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
