<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.eclipse.jetty.osgi</groupId>
    <artifactId>jetty-osgi-project</artifactId>
    <version>7.6.7.v20120910</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>jetty-osgi-boot</artifactId>
  <name>Jetty :: OSGi :: Boot</name>
  <description>Jetty OSGi Boot bundle</description>
  <properties>
    <bundle-symbolic-name>${project.groupId}.boot</bundle-symbolic-name>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-deploy</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-jmx</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-nested</artifactId>
    </dependency>
    <dependency>
    	<groupId>org.eclipse.osgi</groupId>
    	<artifactId>org.eclipse.osgi</artifactId>
    </dependency>
    <dependency>
        <groupId>org.eclipse.osgi</groupId>
        <artifactId>org.eclipse.osgi.services</artifactId>
    </dependency>
  </dependencies>

      <build> 
        <plugins> 
            <plugin> 
                <artifactId>maven-antrun-plugin</artifactId> 
                <executions> 
                    <execution> 
                        <phase>process-resources</phase> 
                        <configuration> 
                            <tasks>
                                <!--delete file="target/classes/META-INF/MANIFEST.MF" /-->
                                <copy todir="target/classes/jettyhome"> 
                                    <fileset dir="jettyhome"> 
                                        <exclude name="**/*.log" /> 
                                    </fileset> 
                                </copy> 
                            </tasks> 
                        </configuration> 
                        <goals> 
                            <goal>run</goal> 
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-jar-plugin</artifactId> 
                <executions>
                    <execution>
                        <id>artifact-jar</id> 
                        <goals>
                            <goal>jar</goal> 
                        </goals>
                    </execution>
                    <execution>
                        <id>test-jar</id> 
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifestFile>target/classes/META-INF/MANIFEST.MF</manifestFile> 
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>bundle-manifest</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>manifest</goal> 
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>org.eclipse.jetty.osgi.boot;singleton:=true</Bundle-SymbolicName>
                        <Bundle-Name>Jetty OSGi Boot</Bundle-Name>
                        <Bundle-Activator>org.eclipse.jetty.osgi.boot.JettyBootstrapActivator</Bundle-Activator>
                        <Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
                        <Export-Package>org.eclipse.jetty.osgi.boot;version="${parsedVersion.osgiVersion}",org.eclipse.jetty.osgi.boot.utils,org.eclipse.jetty.osgi.nested;version="${parsedVersion.osgiVersion}"</Export-Package> 
                        <!-- disable the uses directive: jetty will accomodate pretty much any versions
                        of the packages it uses; no need to reflect some tight dependency determined at
                        compilation time. --> 
                        <_nouses>true</_nouses>
                        <Import-Package>javax.mail;version="1.4.0";resolution:=optional,
 javax.mail.event;version="1.4.0";resolution:=optional,
 javax.mail.internet;version="1.4.0";resolution:=optional,
 javax.mail.search;version="1.4.0";resolution:=optional,
 javax.mail.util;version="1.4.0";resolution:=optional,
 javax.servlet;version="2.5.0",
 javax.servlet.http;version="2.5.0",
 javax.transaction;version="1.1.0";resolution:=optional,
 javax.transaction.xa;version="1.1.0";resolution:=optional,
 org.osgi.framework,
 org.osgi.service.cm;version="1.2.0",
 org.osgi.service.packageadmin,
 org.osgi.service.startlevel;version="1.0.o",
 org.osgi.service.url;version="1.0.0",
 org.osgi.util.tracker;version="1.3.0",
 org.slf4j;resolution:=optional,
 org.slf4j.spi;resolution:=optional, 
 org.slf4j.helpers;resolution:=optional,
 org.xml.sax,
 org.xml.sax.helpers,
 org.eclipse.jetty.nested;resolution:=optional,
 *
                        </Import-Package>
                        <DynamicImport-Package>org.eclipse.jetty.*;version="[7.6,8)"</DynamicImport-Package>
                        <!--Require-Bundle/-->
                        <!-- Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment --> 
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <configuration>
                    <onlyAnalyze>org.eclipse.jetty.osgi.boot.*</onlyAnalyze>
                </configuration>
            </plugin> 
        </plugins>
    </build>
  
</project>
