<?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.ee11.osgi</groupId>
    <artifactId>jetty-ee11-osgi</artifactId>
    <version>12.1.9</version>
  </parent>
  <artifactId>jetty-ee11-osgi-boot-jsp</artifactId>
  <name>EE11 :: 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.ee11.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.ee11</groupId>
      <artifactId>jetty-ee11-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.ee11.osgi</groupId>
      <artifactId>jetty-ee11-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/>
            <Fragment-Host>org.eclipse.jetty.ee11.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="[6.0,7.0)",
              jakarta.servlet;version="[$(version;==;${servletApi.osgiVersion}),$(version;+;${servletApi.osgiVersion}))",
              jakarta.servlet.resources;version="[$(version;==;${servletApi.osgiVersion}),$(version;+;${servletApi.osgiVersion}))",
              jakarta.servlet.jsp.resources;version="[$(version;==;${jspApi.osgiVersion}),$(version;+;${jspApi.osgiVersion}))",
              jakarta.servlet.jsp;version="[$(version;==;${jspApi.osgiVersion}),$(version;+;${jspApi.osgiVersion}))",
              jakarta.servlet.jsp.el;version="[$(version;==;${jspApi.osgiVersion}),$(version;+;${jspApi.osgiVersion}))",
              jakarta.servlet.jsp.tagext;version="[$(version;==;${jspApi.osgiVersion}),$(version;+;${jspApi.osgiVersion}))",
              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.glassfish.wasp.taglibs.standard;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.extra.spath;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.functions;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.lang.jstl;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.lang.jstl.parser;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.lang.jstl.test;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.lang.jstl.test.beans;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.lang.support;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.resources;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.common.core;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.common.fmt;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.common.sql;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.common.xml;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.el.core;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.el.fmt;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.el.sql;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.el.xml;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.rt.core;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.rt.fmt;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.rt.sql;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tag.rt.xml;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tei;resolution:=optional,
              org.glassfish.wasp.taglibs.standard.tlv;resolution:=optional,
              org.apache.tomcat;version="[$(version;==;${jspImpl.osgiVersion}),$(version;+;${jspImpl.osgiVersion}))";resolution:=optional,,
              org.eclipse.jetty.ee11.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.ee11.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>${ee11.jakarta.servlet.jsp.api.version}</versionString>
              <propertyPrefix>jspApi</propertyPrefix>
            </configuration>
          </execution>
          <execution>
            <id>set-jsp-impl-version</id>
            <goals>
              <goal>parse-version</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <versionString>${ee11.jsp.impl.version}</versionString>
              <propertyPrefix>jspImpl</propertyPrefix>
            </configuration>
          </execution>
          <execution>
            <id>set-servlet-api-version</id>
            <goals>
              <goal>parse-version</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <versionString>${ee11.jakarta.servlet.api.version}</versionString>
              <propertyPrefix>servletApi</propertyPrefix>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
