<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<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">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.felix</groupId>
    <artifactId>felix-parent</artifactId>
    <version>2</version>
    <relativePath>../pom/pom.xml</relativePath>
  </parent>

  <artifactId>org.apache.felix.devicemanager</artifactId>
  <version>0.9.0-SNAPSHOT</version>
  <packaging>bundle</packaging>

  <name>Apache Felix Device Manager</name>

  <description>
      Implementation of the OSGi Device Access Specification 1.1
  </description>

	 <dependencies>
	   <dependency>
	       <groupId>org.osgi</groupId>
	       <artifactId>org.osgi.core</artifactId>
	         <version>4.2.0</version>
	       <scope>provided</scope>
	   </dependency>
	   <dependency>
	       <groupId>org.osgi</groupId>
	       <artifactId>org.osgi.compendium</artifactId>
	         <version>4.2.0</version>
	       <scope>provided</scope>
	   </dependency>
	   <dependency>
	     <groupId>${pom.groupId}</groupId>
	     <artifactId>org.apache.felix.framework</artifactId>
	     <version>1.6.0</version>
	     <scope>test</scope>
	   </dependency>
	   <dependency>
	     <groupId>${pom.groupId}</groupId>
	     <artifactId>org.apache.felix.dependencymanager</artifactId>
	     <version>3.0.0</version>
	     <scope>provided</scope>
	   </dependency>
	 </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>1.4.0</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>org.apache.felix.das</Bundle-SymbolicName>
            <Bundle-Name>Apache Felix Device Manager</Bundle-Name>
            <Bundle-Description>A bundle that provides a run-time device manager.</Bundle-Description>
            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
            <Bundle-Activator>org.apache.felix.das.Activator</Bundle-Activator>
            <Private-Package>org.apache.felix.das, org.apache.felix.das.util</Private-Package>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
             <source>1.5</source>
             <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
