<?xml version="1.0" encoding="UTF-8"?>
<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">

    <!--

        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.
    -->

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.servicemix.bundles</groupId>
        <artifactId>bundles-pom</artifactId>
        <version>14</version>
        <relativePath>../bundles-pom/pom.xml</relativePath>
    </parent>

    <groupId>org.apache.servicemix.bundles</groupId>
    <artifactId>org.apache.servicemix.bundles.spring-webflux</artifactId>
    <version>5.3.15_2-SNAPSHOT</version>
    <packaging>bundle</packaging>
    <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/servicemix-bundles.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/servicemix-bundles.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf?p=servicemix-bundles.git</url>
    <tag>HEAD</tag>
  </scm>

    <properties>
        <pkgGroupId>org.springframework</pkgGroupId>
        <pkgArtifactId>spring-webflux</pkgArtifactId>
        <pkgVersion>5.3.15</pkgVersion>
        <servicemix.osgi.export.pkg>
            org.springframework
        </servicemix.osgi.export.pkg>
        <servicemix.osgi.import.pkg>
            freemarker.cache;resolution:=optional,
	freemarker.core;resolution:=optional,
	freemarker.template;resolution:=optional,
	io.netty.buffer;resolution:=optional,
	io.netty.channel;resolution:=optional,
	io.netty.handler.codec.http;resolution:=optional,
	io.netty.handler.codec.http.websocketx;resolution:=optional,
	io.undertow.connector;resolution:=optional,
	io.undertow.server;resolution:=optional,
	io.undertow.websockets;resolution:=optional,
	io.undertow.websockets.client;resolution:=optional,
	io.undertow.websockets.core;resolution:=optional,
	io.undertow.websockets.core.protocol.version13;resolution:=optional,
	io.undertow.websockets.spi;resolution:=optional,
	javax.script,
	javax.servlet,
	javax.servlet.http,
	javax.websocket,
	javax.websocket.server,
	kotlin;resolution:=optional,
	kotlin.coroutines;resolution:=optional,
	kotlin.coroutines.intrinsics;resolution:=optional,
	kotlin.coroutines.jvm.internal;resolution:=optional,
	kotlin.jvm;resolution:=optional,
	kotlin.jvm.functions;resolution:=optional,
	kotlin.jvm.internal;resolution:=optional,
	kotlin.reflect;resolution:=optional,
	kotlinx.coroutines;resolution:=optional,
	kotlinx.coroutines.flow;resolution:=optional,
	kotlinx.coroutines.reactive;resolution:=optional,
	kotlinx.coroutines.reactor;resolution:=optional,
	org.aopalliance.aop,
	org.aopalliance.intercept,
	org.apache.commons.logging,
	org.apache.tomcat.websocket;resolution:=optional,
	org.apache.tomcat.websocket.server;resolution:=optional,
	org.eclipse.jetty.websocket.api;resolution:=optional,
	org.eclipse.jetty.websocket.api.annotations;resolution:=optional,
	org.eclipse.jetty.websocket.api.extensions;resolution:=optional,
	org.eclipse.jetty.websocket.client;resolution:=optional,
	org.eclipse.jetty.websocket.client.io;resolution:=optional,
	org.eclipse.jetty.websocket.server;resolution:=optional,
	org.eclipse.jetty.websocket.servlet;resolution:=optional,
	org.reactivestreams;version="[1.0,2)";resolution:=optional,
	org.springframework.aop.framework;version="[${pkgVersion},5.4)",
	org.springframework.aop.support;version="[${pkgVersion},5.4)",
	org.springframework.aop.target;version="[${pkgVersion},5.4)",
	org.springframework.beans;version="[${pkgVersion},5.4)",
	org.springframework.beans.factory;version="[${pkgVersion},5.4)",
	org.springframework.beans.factory.annotation;version="[${pkgVersion},5.4)",
	org.springframework.beans.factory.config;version="[${pkgVersion},5.4)",
	org.springframework.cache;version="[${pkgVersion},5.4)",
	org.springframework.cache.concurrent;version="[${pkgVersion},5.4)",
	org.springframework.context;version="[${pkgVersion},5.4)",
	org.springframework.context.annotation;version="[${pkgVersion},5.4)",
	org.springframework.context.event;version="[${pkgVersion},5.4)",
	org.springframework.context.i18n;version="[${pkgVersion},5.4)",
	org.springframework.context.support;version="[${pkgVersion},5.4)",
	org.springframework.core;version="[${pkgVersion},5.4)",
	org.springframework.core.annotation;version="[${pkgVersion},5.4)",
	org.springframework.core.codec;version="[${pkgVersion},5.4)",
	org.springframework.core.convert;version="[${pkgVersion},5.4)",
	org.springframework.core.io;version="[${pkgVersion},5.4)",
	org.springframework.core.io.buffer;version="[${pkgVersion},5.4)",
	org.springframework.core.log;version="[${pkgVersion},5.4)",
	org.springframework.format;version="[${pkgVersion},5.4)",
	org.springframework.format.support;version="[${pkgVersion},5.4)",
	org.springframework.http;version="[${pkgVersion},5.4)",
	org.springframework.http.client;version="[${pkgVersion},5.4)",
	org.springframework.http.client.reactive;version="[${pkgVersion},5.4)",
	org.springframework.http.codec;version="[${pkgVersion},5.4)",
	org.springframework.http.codec.multipart;version="[${pkgVersion},5.4)",
	org.springframework.http.converter;version="[${pkgVersion},5.4)",
	org.springframework.http.server;version="[${pkgVersion},5.4)",
	org.springframework.http.server.reactive;version="[${pkgVersion},5.4)",
	org.springframework.lang;version="[${pkgVersion},5.4)",
	org.springframework.scripting.support;version="[${pkgVersion},5.4)",
	org.springframework.stereotype;version="[${pkgVersion},5.4)",
	org.springframework.ui;version="[${pkgVersion},5.4)",
	org.springframework.ui.freemarker;version="[${pkgVersion},5.4)";resolution:=optional,
	org.springframework.util;version="[${pkgVersion},5.4)",
	org.springframework.validation;version="[${pkgVersion},5.4)",
	org.springframework.validation.annotation;version="[${pkgVersion},5.4)",
	org.springframework.validation.support;version="[${pkgVersion},5.4)",
	org.springframework.web.bind;version="[${pkgVersion},5.4)",
	org.springframework.web.bind.annotation;version="[${pkgVersion},5.4)",
	org.springframework.web.bind.support;version="[${pkgVersion},5.4)",
	org.springframework.web.cors;version="[${pkgVersion},5.4)",
	org.springframework.web.cors.reactive;version="[${pkgVersion},5.4)",
	org.springframework.web.method;version="[${pkgVersion},5.4)",
	org.springframework.web.method.annotation;version="[${pkgVersion},5.4)",
	org.springframework.web.server;version="[${pkgVersion},5.4)",
	org.springframework.web.server.adapter;version="[${pkgVersion},5.4)",
	org.springframework.web.server.handler;version="[${pkgVersion},5.4)",
	org.springframework.web.server.i18n;version="[${pkgVersion},5.4)",
	org.springframework.web.util;version="[${pkgVersion},5.4)",
	org.springframework.web.util.pattern;version="[${pkgVersion},5.4)",
	org.webjars;resolution:=optional,
	org.xnio;resolution:=optional,
	reactor.core;version="[3.4,4)";resolution:=optional,
	reactor.core.publisher;version="[3.4,4)";resolution:=optional,
	reactor.core.scheduler;version="[3.4,4)";resolution:=optional,
	reactor.netty;resolution:=optional,
	reactor.netty.channel;resolution:=optional,
	reactor.netty.http.client;resolution:=optional,
	reactor.netty.http.server;resolution:=optional,
	reactor.netty.http.websocket;resolution:=optional,
	reactor.util.concurrent;version="[3.4,4)";resolution:=optional,
	reactor.util.context;version="[3.4,4)";resolution:=optional,
	reactor.util.function;version="[3.4,4)";resolution:=optional    
        </servicemix.osgi.import.pkg>
    </properties>

    <dependencies>
        <dependency>
            <groupId>${pkgGroupId}</groupId>
            <artifactId>${pkgArtifactId}</artifactId>
            <version>${pkgVersion}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-aop</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-beans</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-expression</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context-support</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- sources -->
        <dependency>
            <groupId>${pkgGroupId}</groupId>
            <artifactId>${pkgArtifactId}</artifactId>
            <version>${pkgVersion}</version>
            <classifier>sources</classifier>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-aop</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-beans</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-expression</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context-support</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <artifactSet>
                                <includes>
                                    <include>${pkgGroupId}:${pkgArtifactId}</include>
                                </includes>
                            </artifactSet>
                            <filters>
                                <filter>
                                    <artifact>${pkgGroupId}:${pkgArtifactId}</artifact>
                                    <includes>
                                        <include>**/*.properties</include>
                                        <include>**/*.ftl</include>
                                        <include>**/*.vm</include>
                                        <include>**/*.gif</include>
                                        <include>**/*.xsd</include>
                                        <include>META-INF/spring*</include>
                                    </includes>
                                </filter>
                            </filters>
                            <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
                            <createDependencyReducedPom>true</createDependencyReducedPom>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
