<?xml version="1.0" encoding="UTF-8"?>
<!--#======================================================================= -->
<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
<!--# All rights reserved. This program and the accompanying materials -->
<!--# are made available under the terms of the Eclipse Public License 2.0  -->
<!--# which accompanies this distribution, and is available at -->
<!--# https://www.eclipse.org/legal/epl-2.0/    -->
<!--#                                           -->
<!--# SPDX-License-Identifier: EPL-2.0          -->
<!--# -->
<!--# Contributors: -->
<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
<!--#======================================================================= -->
<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.eclipse.osbp.releng.maven</groupId>
        <artifactId>org.eclipse.osbp.releng.maven.parent.mbp2</artifactId>
        <version>0.9.0-SNAPSHOT</version>
        <relativePath/>
    </parent>

	<!-- CQ: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12095 -->
    <groupId>org.eclipse.osbp.dependencies</groupId>
    <artifactId>org.eclipse.osbp.dependencies.bundle.activemq.all.osgi</artifactId>
    <version>5.14.5-SNAPSHOT</version>
    <packaging>bundle</packaging>

    <properties>
        <osbp.build.ignore.baseline>true</osbp.build.ignore.baseline>
    </properties>

    <scm>
        <connection>${osbp.scm.connection}</connection>
        <developerConnection>${osbp.scm.connection.dev}</developerConnection>
        <tag>HEAD</tag>
    </scm>

    <dependencies>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
            <version>5.14.5</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>${mbp.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-Name>activemq-all-osgi</Bundle-Name>
                        <Bundle-Version>5.14.5.${osgi-version-qualifier}</Bundle-Version>
                        <Bundle-SymbolicName>activemq-all-osgi</Bundle-SymbolicName>
                        <Embed-Dependency>
                            groupId=org.apache.activemq;artifactId=activemq-all;version=5.14.5;scope=compile;inline=true
                        </Embed-Dependency>
                        <Require-Bundle>
                            javax.jms;bundle-version="1.1.0"
                        </Require-Bundle>
                        <Import-Package>
                        </Import-Package>
                        <Main-Class>org.apache.activemq.console.command.ShellCommand</Main-Class>
						<Include-Resource>{maven-resources},LICENSE.txt,about_files/=about_files,META-INF/=META-INF/,about.html,about.ini,about.mappings,about.properties</Include-Resource>
						<Export-Package>
                            !THIRD-PARTY.txt,!NOTICE,!README.txt,!VERSION.txt,
                            !javax.annotation*,!javax.jms*,!javax.transaction*,!org.slf4j.*,!org.apache.log4j*,
                            org.apache.activemq*;version="5.14.5",
                            org.fusesource*,
                            org.jasypt*,
                            activemq*
                        </Export-Package>
                        <_nouses>true</_nouses>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
