<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.

 Licensed 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>
    <packaging>pom</packaging>
    <groupId>org.wso2.carbon.transport</groupId>
    <artifactId>org.wso2.carbon.transport.parent</artifactId>
    <version>6.0.47</version>
    <name>WSO2 Carbon Transport Parent</name>

    <modules>
        <module>connector-framework</module>
        <module>http</module>
        <module>jms</module>
        <module>file</module>
        <module>email</module>
        <module>features</module>
    </modules>

    <scm>
        <url>https://github.com/wso2/carbon-transports.git</url>
        <developerConnection>scm:git:https://github.com/wso2/carbon-transports.git</developerConnection>
        <connection>scm:git:https://github.com/wso2/carbon-transports.git</connection>
        <tag>v6.0.47</tag>
    </scm>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wso2.eclipse.osgi</groupId>
                <artifactId>org.eclipse.osgi</artifactId>
                <version>${equinox.osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.osgi</groupId>
                <artifactId>org.eclipse.osgi.services</artifactId>
                <version>${equinox.osgi.services.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-common</artifactId>
                <version>${netty.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-handler</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-handler-proxy</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-resolver</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.core</artifactId>
                <version>${org.wso2.carbon.core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${org.snakeyaml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.transport</groupId>
                <artifactId>org.wso2.carbon.transport.http.netty</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.transport</groupId>
                <artifactId>org.wso2.carbon.connector.framework</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.transport</groupId>
                <artifactId>org.wso2.carbon.transport.jms</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.transport</groupId>
                <artifactId>org.wso2.carbon.transport.file</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.transport</groupId>
                <artifactId>org.wso2.carbon.transport.email</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.messaging</groupId>
                <artifactId>org.wso2.carbon.messaging</artifactId>
                <version>${carbon.messaging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-pool.wso2</groupId>
                <artifactId>commons-pool</artifactId>
                <version>${commons.pool.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-api</artifactId>
                <version>${javax.websocket.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io.wso2</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.wso2.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons.wso2</groupId>
                <artifactId>commons-vfs2</artifactId>
                <version>${commons-vfs2.wso2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.jcraft</groupId>
                <artifactId>jsch</artifactId>
                <version>${jsch.version}</version>
            </dependency>

            <!-- Carbon Metrics Dependency -->
            <dependency>
                <groupId>org.wso2.carbon.transport</groupId>
                <artifactId>org.wso2.carbon.transport.http.netty.statistics</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.core</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockftpserver</groupId>
                <artifactId>MockFtpServer</artifactId>
                <version>${mock.ftp.server.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.jms</groupId>
                <artifactId>javax.jms-api</artifactId>
                <version>${javax.jms.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-broker</artifactId>
                <version>${activemq.broker.vesion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-kahadb-store</artifactId>
                <version>${activemq.broker.vesion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>${org.apache.commons.pool2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-jaas</artifactId>
                <version>${activemq.broker.vesion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>${javax.transaction.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.atomikos.wso2</groupId>
                <artifactId>atomikos</artifactId>
                <version>${org.atomikos.wso2.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>javax.mail</artifactId>
                <version>${com.sun.mail.version}</version>
            </dependency>
            <dependency>
                <groupId>com.icegreen</groupId>
                <artifactId>greenmail</artifactId>
                <version>${com.icegreen.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>${maven.wagon.ssh.version}</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>org.wso2.carbon.controller.POCController</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${maven.checkstyle.plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>${maven.findbugs.plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <preparationGoals>clean install</preparationGoals>
                    <autoVersionSubmodules>false</autoVersionSubmodules>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>docs</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>javadoc</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <properties>
        <!-- Maven plugins -->
        <maven.wagon.ssh.version>2.1</maven.wagon.ssh.version>

        <!-- Dependencies -->
        <org.wso2.carbon.core.version>5.1.0</org.wso2.carbon.core.version>
        <carbon.kernel.package.import.version.range>[5.0.0, 6.0.0)</carbon.kernel.package.import.version.range>

        <netty.version>4.1.16.Final</netty.version>
        <netty.package.import.version.range>[4.0.30, 5.0.0)</netty.package.import.version.range>
        <equinox.osgi.version>3.10.2.v20150203-1939</equinox.osgi.version>
        <equinox.osgi.services.version>3.4.0.v20140312-2051</equinox.osgi.services.version>
        <osgi.framework.import.version.range>[1.8.0, 2.0.0)</osgi.framework.import.version.range>
        <osgi.service.tracker.import.version.range>[1.5.1, 2.0.0)</osgi.service.tracker.import.version.range>
        <org.xml.sax.import.version.range>[0.0.0, 1.0.0)</org.xml.sax.import.version.range>
        <javax.xml.bind.import.version.range>[0.0.0, 1.0.0)</javax.xml.bind.import.version.range>
        <javax.xml.transform.import.version.range>[0.0.0, 1.0.0)</javax.xml.transform.import.version.range>
        <javax.xml.validation.import.version.range>[0.0.0, 1.0.0)</javax.xml.validation.import.version.range>
        <javax.net.ssl.import.version.range>[0.0.0, 1.0.0)</javax.net.ssl.import.version.range>
        <disruptor.version>3.3.2.wso2v2</disruptor.version>
        <disruptor.package.import.version.range>[3.3.2, 3.5.0)</disruptor.package.import.version.range>

        <commons.pool.version>1.5.6.wso2v1</commons.pool.version>
        <commons.pool.package.import.version.range>[1.5.6, 2.0.0)</commons.pool.package.import.version.range>
        <commons-io.wso2.version>2.4.0.wso2v1</commons-io.wso2.version>
        <commons-io.version.range>[2.4.0, 2.5)</commons-io.version.range>
        <guava.version>18.0</guava.version>
        <guava.version.range>[18.0,19.0)</guava.version.range>
        <javax.websocket.version>1.1</javax.websocket.version>
        <javax.websocket.version.range>[1.1, 1.2)</javax.websocket.version.range>
        <commons-vfs2.wso2.version>2.0-wso2v15</commons-vfs2.wso2.version>
        <commons-vfs2.wso2.version.range>[2.0.0, 3.0.0)</commons-vfs2.wso2.version.range>
        <org.apache.commons.pool2.version>2.4.2</org.apache.commons.pool2.version>
        <quartz.version>2.3.0.wso2v2</quartz.version>
        <quartz.version.range>[2.3.0, 3.0.0)</quartz.version.range>
        <commons-net.version>3.6</commons-net.version>

        <carbon.messaging.version>2.3.7</carbon.messaging.version>
        <carbon.messaging.package.import.version.range>[2.0.0, 3.0.0)</carbon.messaging.package.import.version.range>
        <slf4j.version>1.7.5</slf4j.version>
        <!--Logging API version range-->
        <slf4j.logging.package.import.version.range>[1.7.1, 2.0.0)</slf4j.logging.package.import.version.range>

        <carbon.p2.plugin.version>2.0.1</carbon.p2.plugin.version>
        <org.snakeyaml.version>1.16.0.wso2v1</org.snakeyaml.version>
        <org.snakeyaml.package.import.version.range>[1.16.0, 2.0.0)</org.snakeyaml.package.import.version.range>
        <javax.jms.import.version.range>[2.0.1, 3.0.0)</javax.jms.import.version.range>
        <com.sun.mail.import.version.range>[1.5.0, 1.6.0-rc2)</com.sun.mail.import.version.range>
        <file.transport.package.export.version>${project.version}</file.transport.package.export.version>

        <!-- Package exports -->
        <netty.transport.package.export.version>${project.version}</netty.transport.package.export.version>
        <connector.framework.package.export.version>${project.version}
        </connector.framework.package.export.version>
        <jms.transport.package.export.version>${project.version}</jms.transport.package.export.version>
        <email.transport.package.export.version>${project.version}</email.transport.package.export.version>

        <!-- Following two properties should be removed once the versions are added the wso2 parent pom CARBON-15729 -->
        <maven.checkstyle.plugin.version>2.17</maven.checkstyle.plugin.version>
        <maven.findbugs.plugin.version>3.0.3</maven.findbugs.plugin.version>

        <carbon.metrics.version>2.0.0</carbon.metrics.version>
        <metrics.version>3.1.2</metrics.version>

        <testng.version>6.9.10</testng.version>
        <activemq.broker.vesion>5.14.3</activemq.broker.vesion>

        <javax.jms.version>2.0.1</javax.jms.version>
        <jsch.version>0.1.51.wso2v1</jsch.version>
        <mock.ftp.server.version>2.7.1</mock.ftp.server.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <javax.transaction.version>1.2</javax.transaction.version>
        <org.atomikos.wso2.version>3.8.0.wso2v1</org.atomikos.wso2.version>

        <com.icegreen.version>1.5.5</com.icegreen.version>
        <com.sun.mail.version>1.6.0-rc2</com.sun.mail.version>
    </properties>

</project>

