<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.3.19.v20170502</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>apache-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>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>
          <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,
                                org.eclipse.jdt.core.compiler.*;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="[2.3,4)",
 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.el;version="[8.0.23,9)";resolution:=optional,
 org.apache.el.lang;version="[8.0.23,9)";resolution:=optional,
 org.apache.el.stream;version="[8.0.23,9)";resolution:=optional,
 org.apache.el.util;version="[8.0.23,9)";resolution:=optional,
 org.apache.el.parser;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.compiler;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.compiler.tagplugin;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.runtime;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.security;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.servlet;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.tagplugins.jstl;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.util;version="[8.0.23,9)";resolution:=optional,
 org.apache.jasper.xmlparser;version="[8.0.23,9)";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.apache.tomcat;version="[8.0.23,9)";resolution:=optional,
 org.eclipse.jetty.jsp;version="[$(version;===;${parsedVersion.osgiVersion}),$(version;==+;${parsedVersion.osgiVersion}))";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>
               <DynamicImport-Package>org.eclipse.jetty.jsp.*;version="[$(version;===;${parsedVersion.osgiVersion}),$(version;==+;${parsedVersion.osgiVersion}))",org.apache.jasper.*;version="8.0.23",org.apache.el.*;version="8.0.23"</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>
