<?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</groupId>
        <artifactId>apache</artifactId>
        <version>17</version>
        <relativePath></relativePath> <!-- prevent loading of ../pom.xml as the "parent" -->
    </parent>

    <groupId>org.apache.brooklyn</groupId>
    <artifactId>brooklyn-server</artifactId>
    <version>0.9.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
    <packaging>pom</packaging>

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

    <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 Developer List</name>
            <subscribe>dev-subscribe@brooklyn.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@brooklyn.apache.org</unsubscribe>
            <post>dev@brooklyn.apache.org</post>
            <archive>
                http://mail-archives.apache.org/mod_mbox/brooklyn-dev/
            </archive>
        </mailingList>
    </mailingLists>

    <properties>
        <brooklyn.version>0.9.0-SNAPSHOT</brooklyn.version>  <!-- BROOKLYN_VERSION -->

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

        <!-- Dependency Configuration -->
        <jclouds.groupId>org.apache.jclouds</jclouds.groupId> <!-- JCLOUDS_GROUPID_VERSION -->

        <!-- Testing Configuration -->
        <includedTestGroups />
        <excludedTestGroups>Integration,Acceptance,Live,WIP,Broken</excludedTestGroups>
        <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests>
        <coverage.target>${working.dir}</coverage.target>

		<!-- Dependency Versions -->
        <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.5</fasterxml.jackson.version>  <!-- more recent jackson, but not compatible with old annotations! -->
        <jersey.version>1.19</jersey.version>
        <httpclient.version>4.4.1</httpclient.version>
        <commons-lang3.version>3.1</commons-lang3.version>
        <groovy.version>2.3.7</groovy.version> <!-- Version supported by https://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-2.9.1-Release-Notes -->
        <jsr305.version>2.0.1</jsr305.version>
        <snakeyaml.version>1.11</snakeyaml.version>
        <swagger.version>1.5.3</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>9.2.13.v20150730</jetty.version>
        <jetty-schemas.version>3.1.M0</jetty-schemas.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>
        <jsonPath.version>2.0.0</jsonPath.version>
        <commons-compress.version>1.4</commons-compress.version>
        <validation-api.version>1.1.0.Final</validation-api.version>
        <geronimo-jms_1.1_spec.version>1.1.1</geronimo-jms_1.1_spec.version>
        <geronimo-jta_1.1_spec.version>1.1.1</geronimo-jta_1.1_spec.version>
        <sleepycat-je.version>5.0.34</sleepycat-je.version>
        <commons-cli.version>1.2</commons-cli.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>
        <jopt.version>4.3</jopt.version>
        <concurrentlinkedhashmap.version>1.0_jdk5</concurrentlinkedhashmap.version>
        <javax-servlet.version>3.1.0</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>
        
        <!-- 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>
        <jline.version>2.12</jline.version>
        <jsonSmart.version>2.1.1</jsonSmart.version>
        <minidev.asm.version>1.0.2</minidev.asm.version>
        <commons-beanutils.version>1.9.1</commons-beanutils.version>
        <commons-collections.version>3.2.1</commons-collections.version>

        <!-- Testing Dependency Versions -->
        <testng.version>6.8.8</testng.version>
        <mockito.version>1.10.8</mockito.version>
        <assertj.version>2.2.0</assertj.version> <!-- v 2.2.0 is being used as v 3.20 introduces Java8 dependencies-->
        <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>

        <!-- Build Tool Versions -->
        <maven-war-plugin.version>2.4</maven-war-plugin.version>
        <maven-dependency-plugin.version>2.8</maven-dependency-plugin.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>

    </properties>

    <modules>
        <module>parent</module>

        <module>api</module>
        <module>camp</module>
        <module>core</module>
        <module>policy</module>

        <module>locations/jclouds</module>

        <module>software/base</module>
        <module>software/winrm</module>

        <module>storage/hazelcast</module>

        <module>server-cli</module>
        <module>launcher</module>
        <module>logging/logback-includes</module>
        <module>logging/logback-xml</module>
        <module>rest/rest-api</module>
        <module>rest/rest-client</module>
        <module>rest/rest-server</module>
        <module>test-framework</module>
        <module>test-support</module>

        <module>utils/common</module>
        <module>utils/groovy</module>
        <module>utils/jmx/jmxmp-ssl-agent</module>
        <module>utils/jmx/jmxrmi-agent</module>
        <module>utils/test-support</module>
        <module>utils/rest-swagger</module>

        <module>karaf</module>

        <module>utils/rt-osgi</module>
        <module>utils/rt-felix</module>

    </modules>

</project>
