<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/maven-v4_0_0.xsd">
  <parent>
    <groupId>org.apache.felix</groupId>
    <artifactId>felix</artifactId>
    <version>0.8.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <packaging>osgi-bundle</packaging>
  <groupId>org.apache.felix</groupId>
  <name>Apache Felix UPnP Base Driver</name>
  <artifactId>org.apache.felix.upnp.basedriver</artifactId>
  <version>0.1.0-SNAPSHOT</version>
  <!-- <url>http://maven.apache.org</url> -->
  <dependencies>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>4.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>4.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.upnp.extra</artifactId>
      <version>1.0-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.cybergarage</groupId>
      <artifactId>cyberlink-patched-release</artifactId>
      <version>1.7</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix.plugins</groupId>
        <artifactId>maven-osgi-plugin</artifactId>
        <!-- <version>${pom.version}</version> -->
        <extensions>true</extensions>
        <configuration>
          <osgiManifest>
            <bundleName>UPnPBaseDriver</bundleName>
            <bundleVendor>Apache Software Foundation</bundleVendor>
            <bundleVersion>1.0.0</bundleVersion>
            <bundleDescription>
               	A Bundle implementation of the UPnP Service Specification R4 (not yet)
            </bundleDescription>
            <bundleSymbolicName>org.apache.felix.upnp.basedriver</bundleSymbolicName>
		<!-- <bundleClassPath>.,lib/cyberlink-1.7-patched-release.jar</bundleClassPath> -->
		<bundleActivator>org.apache.felix.upnp.basedriver.Activator</bundleActivator>
            <importPackage>
			org.osgi.framework;specification-version=1.3,org.osgi.service.device;specification-version=1.1,org.osgi.service.upnp;specification-version=1.1,org.osgi.service.log;specification-version=1.3,org.apache.felix.upnp.extra.util;specification-version=1.0,org.apache.felix.upnp.extra.controller;specification-version=1.0
            </importPackage>
          </osgiManifest>
          <manifestFile>src/main/resources/META-INF/Manifest.mf</manifestFile>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
	  <directory>src/main/resources</directory>
      </resource>
    </resources>
  </build>
</project>
