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

    <artifactId>org.eclipse.osbp.dependencies.bundle.vaadin.addon.popupbutton</artifactId>

    <packaging>bundle</packaging>

    <version>2.5.0-SNAPSHOT</version>

    <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.vaadin.addons</groupId>
            <artifactId>popupbutton</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-client</artifactId>
            <version>${vaadin.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-shared</artifactId>
            <version>${vaadin.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin.external.flute</groupId>
            <artifactId>flute</artifactId>
            <version>1.3.0.gg2</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin.external.streamhtmlparser</groupId>
            <artifactId>streamhtmlparser-jsilver</artifactId>
            <version>0.0.10.vaadin1</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>OSBP: Popupbutton Addon for Vaadin</Bundle-Name>
                        <Bundle-Version>2.5.0.${osgi-version-qualifier}</Bundle-Version>
                        <Bundle-SymbolicName>popupbutton.osgi</Bundle-SymbolicName>
                        <Embed-Dependency>
                            groupId=org.vaadin.addons;artifactId=popupbutton;version=2.5.0;scope=compile;inline=true
                        </Embed-Dependency>
                        <Export-Package>
                            org.vaadin.hene.popupbutton*;version=2.5.0
                        </Export-Package>
                        <Require-Bundle>
                            com.vaadin.client;bundle-version="[7.5.7,7.7.0)",
                            com.vaadin.client-compiled;bundle-version="[7.5.7,7.7.0)",
                            com.vaadin.themes;bundle-version="[7.5.7,7.7.0)",
                            com.vaadin.server;bundle-version="[7.5.7,7.7.0)",
                            com.vaadin.shared;bundle-version="[7.5.7,7.7.0)"
                        </Require-Bundle>
                        <Import-Package>
                        </Import-Package>
                        <Vaadin-Package-Version>1</Vaadin-Package-Version>
                        <Vaadin-Widgetsets>org.vaadin.hene.popupbutton.widgetset.PopupbuttonWidgetset</Vaadin-Widgetsets>
						<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>

    <repositories>
        <repository>
            <id>vaadin-addons</id>
            <url>http://maven.vaadin.com/vaadin-addons</url>
        </repository>
    </repositories>
    <groupId>org.eclipse.osbp.dependencies</groupId>
</project>
