<?xml version="1.0" encoding="UTF-8"?>
<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.eclipse.jetty.ee10.osgi</groupId>
    <artifactId>jetty-ee10-osgi</artifactId>
    <version>12.0.18</version>
  </parent>
  <artifactId>jetty-ee10-osgi-boot-jsp</artifactId>
  <name>EE10 :: OSGi :: Boot JSP</name>
  <description>Jetty OSGi Boot JSP bundle</description>
  <properties>
    <bundle-symbolic-name>${project.groupId}.boot.jsp</bundle-symbolic-name>
    <spotbugs.onlyAnalyze>org.eclipse.jetty.ee10.osgi.boot.jsp.*</spotbugs.onlyAnalyze>
  </properties>
  <dependencies>
    <!-- Servlet Deps -->
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-deploy</artifactId>
    </dependency>
    <!-- JSP Deps -->
    <dependency>
      <groupId>org.eclipse.jetty.ee10</groupId>
      <artifactId>jetty-ee10-apache-jsp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.platform</groupId>
      <artifactId>org.eclipse.osgi</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.platform</groupId>
      <artifactId>org.eclipse.osgi.services</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty.ee10.osgi</groupId>
      <artifactId>jetty-ee10-osgi-boot</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>

      <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></Bundle-Classpath>
            <Fragment-Host>org.eclipse.jetty.ee10.osgi.boot</Fragment-Host>
            <Import-Package>${osgi.slf4j.import.packages},
              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,
              jakarta.el;version="[5.0,6.0)",
              jakarta.servlet;version="[$(version;==;${jakarta.servlet.api.version}),$(version;+;${jakarta.servlet.api.version}))",
              jakarta.servlet.resources;version="[$(version;==;${jakarta.servlet.api.version}),$(version;+;${jakarta.servlet.api.version}))",
              jakarta.servlet.jsp.resources;version="[$(version;==;${jakarta.servlet.jsp.api.version}),$(version;+;${jakarta.servlet.jsp.api.version}))",
              jakarta.servlet.jsp;version="[$(version;==;${jakarta.servlet.jsp.api.version}),$(version;+;${jakarta.servlet.jsp.api.version}))",
              jakarta.servlet.jsp.el;version="[$(version;==;${jakarta.servlet.jsp.api.version}),$(version;+;${jakarta.servlet.jsp.api.version}))",
              jakarta.servlet.jsp.tagext;version="[$(version;==;${jakarta.servlet.jsp.api.version}),$(version;+;${jakarta.servlet.jsp.api.version}))",
              jakarta.servlet.jsp.jstl.core;version="2.0";resolution:=optional,
              jakarta.servlet.jsp.jstl.fmt;version="2.0";resolution:=optional,
              jakarta.servlet.jsp.jstl.sql;version="2.0";resolution:=optional,
              jakarta.servlet.jsp.jstl.tlv;version="2.0";resolution:=optional,
              org.apache.el;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.el.lang;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.el.stream;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.el.util;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.el.parser;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.compiler;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.compiler.util;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.compiler.tagplugin;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.runtime;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.security;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.servlet;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.tagplugins.jstl;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.util;version="[$(version;===;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.jasper.xmlparser;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,
              org.apache.taglibs.standard;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.extra.spath;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.functions;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.lang.jstl;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.lang.jstl.parser;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.lang.jstl.test;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.lang.jstl.test.beans;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.lang.support;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.resources;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.common.core;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.common.fmt;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.common.sql;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.common.xml;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.el.core;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.el.fmt;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.el.sql;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.el.xml;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.rt.core;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.rt.fmt;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.rt.sql;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tag.rt.xml;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tei;version="2.0";resolution:=optional,
              org.apache.taglibs.standard.tlv;version="2.0";resolution:=optional,
              org.apache.tomcat;version="[10,11)";resolution:=optional,
              org.eclipse.jetty.ee10.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.ee10.jsp.*;version="[$(version;===;${parsedVersion.osgiVersion}),$(version;==+;${parsedVersion.osgiVersion}))",
                org.apache.jasper.*;version="[$(version;===;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))",
                org.apache.el.*;version="[$(version;===;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))"</DynamicImport-Package>
          </instructions>
        </configuration>
      </plugin>
      <!-- necessary because 10.0.0-M5 is not a valid osgi version -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>set-jsp-api-version</id>
            <goals>
              <goal>parse-version</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <versionString>${jsp.impl.version}</versionString>
              <propertyPrefix>jspImpl</propertyPrefix>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
