<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 Tester</name>
  <artifactId>org.apache.felix.upnp.tester</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>0.1.0-SNAPSHOT</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>UPnPTester</bundleName>
            <bundleVendor>Apache Software Foundation</bundleVendor>
            <bundleVersion>0.1.0</bundleVersion>
            <bundleDescription>
               	OSGi Generic Control Point to control UPnPDevice services
            </bundleDescription>
            <bundleSymbolicName>org.apache.felix.upnp.tester</bundleSymbolicName>
		<bundleActivator>org.apache.felix.upnp.tester.Activator</bundleActivator>
            <importPackage>
			javax.swing,javax.swing.event,javax.swing.tree,javax.swing.table,javax.swing.text,org.osgi.framework;specification-version=1.3,org.osgi.service.upnp;specification-version=1.1,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>
