<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>9.1.5.v20140505</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>jetty-osgi-boot-jsp</artifactId>
  <name>Jetty :: OSGi :: Boot JSP</name>
  <description>Jetty OSGi Boot JSP bundle</description>
  <url>http://www.eclipse.org/jetty</url>
  <properties>
    <bundle-symbolic-name>${project.groupId}.boot.jsp</bundle-symbolic-name>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-deploy</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty.osgi</groupId>
      <artifactId>jetty-osgi-boot</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </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>
    <!-- Orbit Servlet Deps -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
    </dependency>
    <!-- Orbit JSP Deps -->
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-jsp</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <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-Name>Jetty-OSGi-Jasper Integration</Bundle-Name>
                <Bundle-Classpath />
                <Fragment-Host>org.eclipse.jetty.osgi.boot</Fragment-Host>
                <Export-Package>!org.eclipse.jetty.osgi.boot.*</Export-Package>
                <Import-Package>org.eclipse.jdt.*;resolution:=optional,
                com.sun.el;resolution:=optional,
 com.sun.el.lang;resolution:=optional,
 com.sun.el.parser;resolution:=optional,
 com.sun.el.util;resolution:=optional,
 javax.el;version="[3.0,3.1)",
 javax.servlet;version="[3.1,3.2)",
 javax.servlet.resources;version="[3.1,3.2)",
 javax.servlet.jsp.resources;version="[3.1,3.2)",
 javax.servlet.jsp;version="[2.3,2.4)",
 javax.servlet.jsp.el;version="[2.3,2.4)",
 javax.servlet.jsp.tagext;version="[2.3,2.4)",
 javax.servlet.jsp.jstl.core;version="1.2";resolution:=optional,
 javax.servlet.jsp.jstl.fmt;version="1.2";resolution:=optional,
 javax.servlet.jsp.jstl.sql;version="1.2";resolution:=optional,
 javax.servlet.jsp.jstl.tlv;version="1.2";resolution:=optional,
 org.apache.jasper;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.compiler;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.compiler.tagplugin;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.runtime;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.security;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.servlet;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.tagplugins.jstl;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.util;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.jasper.xmlparser;version="[2.3.2,2.4)";resolution:=optional,
 org.glassfish.jsp.api;version="[2.3.2,2.4)";resolution:=optional,
 org.apache.taglibs.standard;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.extra.spath;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.functions;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.lang.jstl;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.lang.jstl.parser;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.lang.jstl.test;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.lang.jstl.test.beans;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.lang.support;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.resources;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.common.core;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.common.fmt;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.common.sql;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.common.xml;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.el.core;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.el.fmt;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.el.sql;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.el.xml;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.rt.core;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.rt.fmt;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.rt.sql;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tag.rt.xml;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tei;version="1.2";resolution:=optional,
 org.apache.taglibs.standard.tlv;version="1.2";resolution:=optional,
 org.osgi.*,
 org.xml.*;resolution:=optional,
 org.xml.sax.*;resolution:=optional,
 javax.xml.*;resolution:=optional,
 org.w3c.dom;resolution:=optional,
 org.w3c.dom.ls;resolution:=optional,
 javax.xml.parser;resolution:=optional
 </Import-Package>
                <_nouses>true</_nouses>
                <DynamicImport-Package>org.apache.jasper.*;version="2.3"</DynamicImport-Package>
              </instructions>
          </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <configuration>
          <onlyAnalyze>org.eclipse.jetty.osgi.boot.jasper.*,org.eclipse.jetty.osgi.boot.jsp.*</onlyAnalyze>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
