<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
  ~
  ~ WSO2 Inc. 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.wso2</groupId>
        <artifactId>wso2</artifactId>
        <version>5</version>
    </parent>

    <groupId>org.wso2.messaging</groupId> 
    <artifactId>message-broker</artifactId>
    <packaging>pom</packaging>
    <version>4.0.15</version>
    <name>Message Broker</name>
    <description>A high performing, lightweight broker component</description>

    <scm>
        <connection>scm:https://github.com/wso2/message-broker.git</connection>
        <developerConnection>scm:git:https://github.com/wso2/message-broker.git</developerConnection>
        <url>https://github.com/wso2/message-broker.git</url>
        <tag>v4.0.15</tag>
    </scm>

    <modules>
        <module>modules/broker-common</module>
        <module>modules/broker-rest-runner</module>
        <module>modules/broker-core</module>
        <module>modules/broker-amqp</module>
        <module>modules/broker-coordination</module>
        <module>modules/launcher</module>
        <module>modules/integration</module>
        <module>modules/coverage-report</module>
        <module>modules/features</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wso2.messaging</groupId>
                <artifactId>broker-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.messaging</groupId>
                <artifactId>broker-amqp</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.messaging</groupId>
                <artifactId>broker-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.messaging</groupId>
                <artifactId>broker-coordination</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.messaging</groupId>
                <artifactId>integration</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.messaging</groupId>
                <artifactId>broker-rest-runner</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-buffer</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-http</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-http2</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-socks</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler-proxy</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>${findbugs.annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.andes.wso2</groupId>
                <artifactId>andes-client</artifactId>
                <version>${andes.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs.wso2</groupId>
                <artifactId>geronimo-jms_1.1_spec</artifactId>
                <version>${geronimo-jms_1.1_spec.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.config</groupId>
                <artifactId>org.wso2.carbon.config</artifactId>
                <version>${carbon.config.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.wso2.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.wso2.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi.services</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${hikari.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>${jaxrs.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derby.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.media</groupId>
                <artifactId>jersey-media-json-jackson</artifactId>
                <version>${json.jackson.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.ibatis</groupId>
                <artifactId>ibatis2-common</artifactId>
                <version>${com.ibatis.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${lmax.disruptor.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.msf4j</groupId>
                <artifactId>msf4j-core</artifactId>
                <version>${msf4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.wso2.carbon</groupId>
                        <artifactId>org.wso2.carbon.launcher</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.wso2.carbon</groupId>
                        <artifactId>org.wso2.carbon.core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.wso2.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.wso2.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi.services</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.annotations.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${javax.validation-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.annotations.version}</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.plugin.version}</version>
            </plugin>
        </plugins>
    </build>

    <properties>
        <broker.package.import.range.version>[4.0.0,5.0.0)</broker.package.import.range.version>
        <netty.version>4.1.17.Final</netty.version>
        <netty.import.package.range.version>(4,5]</netty.import.package.range.version>
        <slf4j.version>1.7.25</slf4j.version>
        <testng.version>6.11</testng.version>
        <mockito.version>2.12.0</mockito.version>
        <maven.checkstyleplugin.version>2.17</maven.checkstyleplugin.version>
        <guava.version>23.0</guava.version>
        <snakeyaml.version>1.19</snakeyaml.version>
        <maven.findbugsplugin.version>3.0.3</maven.findbugsplugin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.scm.id>wso2-scm-server</project.scm.id>
        <jacoco.plugin.version>0.7.9</jacoco.plugin.version>
        <andes.version>3.2.40</andes.version>
        <geronimo-jms_1.1_spec.version>1.1.0.wso2v1</geronimo-jms_1.1_spec.version>
        <javacc.plugin.version>2.6</javacc.plugin.version>
        <maven.checkstyleplugin.excludes>
            **org/wso2/broker/core/selector/generated/*,
            **/gen/**/*
        </maven.checkstyleplugin.excludes>
        <carbon.config.version>2.1.5</carbon.config.version>
        <findbugs.annotations.version>3.0.1</findbugs.annotations.version>
        <hikari.version>2.7.4</hikari.version>
        <derby.version>10.14.1.0</derby.version>
        <msf4j.version>2.5.2</msf4j.version>
        <msf4j.package.import.version.range>[2.5.0, 2.6.0)</msf4j.package.import.version.range>
        <com.ibatis.version>2.1.7.597</com.ibatis.version>
        <lmax.disruptor.version>3.3.7.wso2v1</lmax.disruptor.version>
        <lmax.disruptor.package.import.version.range>[3.3.7,3.4.0)</lmax.disruptor.package.import.version.range>
        <swagger.annotations.version>1.5.3</swagger.annotations.version>
        <jackson.annotations.version>2.9.3</jackson.annotations.version>
        <javax.validation-api.version>1.1.0.Final</javax.validation-api.version>
        <httpclient.version>4.5.4</httpclient.version>
        <jaxrs.api.version>2.0</jaxrs.api.version>
        <jaxrs.api.package.import.version.range>[2.0,3.0)</jaxrs.api.package.import.version.range>
        <json.jackson.version>2.26</json.jackson.version>
        <build.helper.maven.plugin.version>3.0.0</build.helper.maven.plugin.version>
        <carbon.feature.plugin.version>3.1.3</carbon.feature.plugin.version>
        <h2.version>1.4.192</h2.version>
        <slf4j.logging.package.import.version.range>[1.7.1, 2.0.0)</slf4j.logging.package.import.version.range>
        <guava.package.import.version.range>[20.0,30.0)</guava.package.import.version.range>
    </properties>
</project>
