<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (c) 2016, WSO2 Inc. (http://wso2.com) 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/maven-v4_0_0.xsd">

    <parent>
        <groupId>org.wso2.msf4j</groupId>
        <artifactId>msf4j-parent</artifactId>
        <version>2.5.0-beta2</version>
        <relativePath>../../poms/parent/pom.xml</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>org.wso2.msf4j.feature</artifactId>
    <packaging>carbon-feature</packaging>
    <name>WSO2 MSF4J Feature</name>
    <url>http://wso2.org</url>
    <description>This feature contains the core bundles required by the MSF4J feature
    </description>

    <dependencies>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.commons-beanutils</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.msf4j</groupId>
            <artifactId>msf4j-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.msf4j</groupId>
            <artifactId>msf4j-analytics</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.msf4j</groupId>
            <artifactId>jaxrs-delegates</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.msf4j</groupId>
            <artifactId>msf4j-swagger</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-core</artifactId>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-jaxrs</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>javax.ws.rs</groupId>
                    <artifactId>jsr311-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.orbit.org.reflections</groupId>
            <artifactId>reflections</artifactId>
        </dependency>
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.websocket</groupId>
            <artifactId>javax.websocket-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.transport.http</groupId>
            <artifactId>org.wso2.transport.http.netty</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-common</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-buffer</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-handler</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-http</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-http2</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-resolver</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-pool.wso2</groupId>
            <artifactId>commons-pool</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-handler-proxy</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-socks</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon.messaging</groupId>
            <artifactId>org.wso2.carbon.messaging</artifactId>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>resources</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.wso2.carbon.maven</groupId>
                <artifactId>carbon-feature-plugin</artifactId>
                <version>${carbon.feature.plugin.version}</version>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>1-p2-feature-generation</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <propertyFile>../etc/feature.properties</propertyFile>
                            <adviceFileContents>
                                <advice>
                                    <name>org.wso2.carbon.p2.category.type</name>
                                    <value>server</value>
                                </advice>
                                <advice>
                                    <name>org.eclipse.equinox.p2.type.group</name>
                                    <value>false</value>
                                </advice>
                            </adviceFileContents>
                            <bundles>
                                <bundle>
                                    <symbolicName>msf4j-core</symbolicName>
                                    <version>${msf4j.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>msf4j-analytics</symbolicName>
                                    <version>${msf4j.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>jaxrs-delegates</symbolicName>
                                    <version>${msf4j.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>msf4j-swagger</symbolicName>
                                    <version>${msf4j.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>com.google.guava</symbolicName>
                                    <version>${guava.version}.0</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>javax.ws.rs-api</symbolicName>
                                    <version>${rs-api.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>com.google.gson</symbolicName>
                                    <version>${gson.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>org.apache.servicemix.bundles.commons-beanutils</symbolicName>
                                    <version>${beanutils.osgi.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.swagger.core</symbolicName>
                                    <version>${io.swagger.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.swagger.annotations</symbolicName>
                                    <version>${io.swagger.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.swagger.jaxrs</symbolicName>
                                    <version>${io.swagger.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.swagger.models</symbolicName>
                                    <version>${io.swagger.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>com.fasterxml.jackson.core.jackson-databind</symbolicName>
                                    <version>${com.fasterxml.jackson.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>com.fasterxml.jackson.core.jackson-annotations</symbolicName>
                                    <version>${com.fasterxml.jackson.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>com.fasterxml.jackson.core.jackson-core</symbolicName>
                                    <version>${com.fasterxml.jackson.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>com.fasterxml.jackson.dataformat.jackson-dataformat-yaml
                                    </symbolicName>
                                    <version>${com.fasterxml.jackson.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>javax.validation.api</symbolicName>
                                    <version>${javax.validation.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>org.apache.commons.lang3</symbolicName>
                                    <version>${apache.commons.lang3.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>javax.servlet-api</symbolicName>
                                    <version>${javax.servlet-api.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>reflections</symbolicName>
                                    <version>${reflections.orbit.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>javassist</symbolicName>
                                    <version>${javassist.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>commons-io</symbolicName>
                                    <version>${commons-io.wso2.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>javax.websocket-api</symbolicName>
                                    <version>${javax.websocket.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.common</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.transport</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.codec</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.codec-http</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.handler</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.buffer</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.codec-http2</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.resolver</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>

                                <bundle>
                                    <symbolicName>commons-pool</symbolicName>
                                    <version>${commons.pool.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>org.wso2.transport.http.netty</symbolicName>
                                    <version>${org.wso2.transport.http.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.handler-proxy</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>io.netty.codec-socks</symbolicName>
                                    <version>${netty.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>org.wso2.carbon.messaging</symbolicName>
                                    <version>${carbon.messaging.version}</version>
                                </bundle>
                            </bundles>
                            <importFeatures>
                                <feature>
                                    <id>org.wso2.carbon.metrics.jdbc.core.feature</id>
                                    <version>${carbon.metrics.version}</version>
                                </feature>
                                <feature>
                                    <id>org.wso2.carbon.metrics.das.core.feature</id>
                                    <version>${carbon.metrics.version}</version>
                                </feature>
                                <feature>
                                    <id>org.wso2.carbon.deployment.engine.feature</id>
                                    <version>${carbon.deployment.version}</version>
                                </feature>
                            </importFeatures>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
