<project>
  <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>
  <name>Apache Felix HTTP Service</name>
  <artifactId>org.apache.felix.http.jetty</artifactId>
  <dependencies>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>${pom.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>${pom.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>tomcat</groupId>
      <artifactId>servlet-api</artifactId>
      <version>5.0.16</version>
    </dependency>
    <dependency>
      <groupId>jetty</groupId>
      <artifactId>org.mortbay.jetty-jdk1.2</artifactId>
      <version>4.2.25</version>
    </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>HTTP Service</bundleName>
            <bundleDescription>An implementation of the OSGi HTTP Service using Jetty.</bundleDescription>
            <bundleActivator>${pom.artifactId}.Activator</bundleActivator>
            <bundleDocUrl>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/</bundleDocUrl>
            <bundleUrl>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/${pom.artifactId}-${pom.version}.jar</bundleUrl>
            <bundleSource>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/${pom.artifactId}-${pom.version}-src.jar</bundleSource>
            <bundleSymbolicName>${pom.artifactId}</bundleSymbolicName>
            <importPackage>org.osgi.framework</importPackage>
            <dynamicImportPackage>javax.net.ssl</dynamicImportPackage>
            <exportPackage>org.osgi.service.http; version=1.1,javax.servlet;javax.servlet.http;version=2.4.0</exportPackage>
            <exportService>org.osgi.service.http.HttpService</exportService>
          </osgiManifest>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
