<?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 v1.0 -->
<!--# which accompanies this distribution, and is available at -->
<!--# http://www.eclipse.org/legal/epl-v10.html -->
<!--# -->
<!--# 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=12607 -->
    <groupId>org.eclipse.osbp.dependencies</groupId>
    <artifactId>org.eclipse.osbp.dependencies.bundle.javax.ws.rs.api</artifactId>
    <version>2.0-m10-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>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0-m10</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>javax.ws.rs.api</Bundle-Name>
                        <Bundle-Version>2.0-m10</Bundle-Version>
                        <Bundle-SymbolicName>javax.ws.rs.javax.ws.rs-api</Bundle-SymbolicName>
                        <Embed-Dependency>
                            groupId=javax.ws.rs;artifactId=javax.ws.rs-api;version=2.0-m10;scope=compile;inline=true
                        </Embed-Dependency>
                        <Import-Package>
                            *
                        </Import-Package>
                        <Export-Package>
                            !LICENSE,!LICENSE.txt,!THIRD-PARTY.txt,!NOTICE,!README.txt,!VERSION.txt,!build.properties,
                            javax.ws.rs;uses:="javax.ws.rs.core,javax.ws.rs.ext";version="2.0.0.m10",
                            javax.ws.rs.client;uses:="javax.ws.rs.core,javax.ws.rs";version="2.0.0.m10",
                            javax.ws.rs.container;uses:="javax.ws.rs.core";version="2.0.0.m10",
                            javax.ws.rs.core;uses:="javax.ws.rs.ext,javax.xml.bind.annotation.adapters,javax.xml.namespace,javax.xml.bind.annotation,javax.ws.rs";version="2.0.0.m10",
                            javax.ws.rs.ext;uses:="javax.ws.rs.core,javax.ws.rs";version="2.0.0.m10"
                        </Export-Package>
                        <Bundle-License>http://glassfish.java.net/public/CDDL+GPL_1_1.html</Bundle-License>
						<Include-Resource>{maven-resources},LICENSE.txt,about_files/=about_files,META-INF/=META-INF/,about.html,about.ini,about.mappings,about.properties</Include-Resource>
                        <_nouses>true</_nouses>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
