<?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.transport.http</groupId>
    <artifactId>http-parent</artifactId>
    <version>6.0.163</version>
    <name>WSO2 Carbon Transport Parent</name>

    <modules>
        <module>components/org.wso2.transport.http.netty</module>
        <module>components/org.wso2.transport.http.netty.statistics</module>
        <module>features/org.wso2.transport.http.netty.feature</module>
        <module>features/org.wso2.transport.http.netty.statistics.feature</module>
    </modules>

    <scm>
        <url>https://github.com/wso2/transport-http.git</url>
        <developerConnection>scm:git:https://github.com/wso2/transport-http.git</developerConnection>
        <connection>scm:git:https://github.com/wso2/transport-http.git</connection>
        <tag>v6.0.163</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.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.transport.http</groupId>
                <artifactId>org.wso2.transport.http.netty</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>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>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.transport.http</groupId>
                <artifactId>org.wso2.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.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>${org.apache.commons.pool2.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <dependency>
                <groupId>org.atomikos.wso2</groupId>
                <artifactId>atomikos</artifactId>
                <version>${org.atomikos.wso2.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bcprov-jdk15on.version}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk15on</artifactId>
                <version>${bcpkix-jdk15on.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-tcnative-boringssl-static</artifactId>
                <version>${netty-tcnative-boringssl-static.version}</version>
            </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 -->
        <carbon.kernel.package.import.version.range>[5.0.0, 6.0.0)</carbon.kernel.package.import.version.range>

        <netty.version>4.1.19.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.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>
        <org.apache.commons.pool2.version>2.4.2</org.apache.commons.pool2.version>
        <commons-net.version>3.6</commons-net.version>

        <carbon.messaging.version>3.0.2</carbon.messaging.version>
        <carbon.messaging.package.import.version.range>[3.0.0, 4.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>

        <!-- Package exports -->
        <netty.transport.package.export.version>${project.version}</netty.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>

        <jsch.version>0.1.51.wso2v1</jsch.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <org.atomikos.wso2.version>3.8.0.wso2v1</org.atomikos.wso2.version>
        <bcprov-jdk15on.version>1.59</bcprov-jdk15on.version>
        <bcpkix-jdk15on.version>1.59</bcpkix-jdk15on.version>
        <netty-tcnative-boringssl-static.version>2.0.7.Final</netty-tcnative-boringssl-static.version>
    </properties>

</project>

