<?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=12591 -->
    <groupId>org.eclipse.osbp.dependencies</groupId>
    <artifactId>org.eclipse.osbp.dependencies.bundle.java-cup.osgi</artifactId>
    <version>0.11a-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>net.sf.squirrel-sql.thirdparty-non-maven</groupId>
            <artifactId>java-cup</artifactId>
            <version>0.11a</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>java-cup.osgi</Bundle-Name>
                        <Bundle-Version>0.11.0.${osgi-version-qualifier}</Bundle-Version>
                        <Bundle-SymbolicName>java-cup.osgi</Bundle-SymbolicName>
                        <Embed-Dependency>
                            groupId=net.sf.squirrel-sql.thirdparty-non-maven;artifactId=java-cup;scope=compile;inline=true
                        </Embed-Dependency>
                        <Import-Package>
                            org.osgi.framework;version="1.3.0",
                            org.apache.tools.ant
                        </Import-Package>
                        <Export-Package>
                            !DefaultRules.xml,!DefaultRulesSchema.xml,!README.txt,!THIRD-PARTY.txt,
                            !VERSION.txt,
                            java_cup*;version="0.11.0.a"
                        </Export-Package>
                        <Require-Bundle>
                        </Require-Bundle>
						<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>
