<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.9.0-incubator-SNAPSHOT</version>
    <relativePath>../pom/pom.xml</relativePath>
  </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-incubator-SNAPSHOT</version>
  <repositories>
    <!-- For snapshots (no release jars or non-apache jars)           -->
    <repository>
      <id>domoware.isti.cnr.it</id>
      <name>DomoWare Repository for Missing Artifacts</name>
      <url>http://domoware.isti.cnr.it/maven2</url>
    </repository>
  </repositories>   <!-- <url>http://maven.apache.org</url> -->
  <dependencies>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>0.9.0-incubator-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>0.9.0-incubator-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.upnp.extra</artifactId>
      <version>0.1.0-incubator-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org-cybergarage</groupId>
      <artifactId>cyberlink-upnp-patched</artifactId>
      <version>1.7.2</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>0.1.0</bundleVersion>
            <bundleDescription>
               	A Bundle implementation of the UPnP Service Specification R4
            </bundleDescription>
            <bundleSymbolicName>org.apache.felix.upnp.basedriver</bundleSymbolicName>
		    <bundleActivator>org.apache.felix.upnp.basedriver.Activator</bundleActivator>
          </osgiManifest>
          <manifestFile>src/main/resources/release/META-INF/Manifest.mf</manifestFile>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
	  <directory>src/main/resources/release</directory>
      </resource>
    </resources>
  </build>
</project>
