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