<?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">
	
	<!-- 
	
	Licensed under the Apache License, Version 2.0 (the "License");
	you may not use this file except in compliance with the License.
	You may obtain a copy of the License at
	 
	    http://www.apache.org/licenses/LICENSE-2.0
	 
	Unless required by applicable law or agreed to in writing, software
	distributed under the License is distributed on an "AS IS" BASIS,
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	See the License for the specific language governing permissions and
	limitations under the License.
	
	 -->
	
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<relativePath>../pom.xml</relativePath>
		<groupId>org.ops4j.pax</groupId>
		<artifactId>web</artifactId>
		<version>7.2.23</version>
	</parent>

	<groupId>org.ops4j.pax.web</groupId>
	<artifactId>pax-web-jsp</artifactId>
	<packaging>bundle</packaging>

	<name>OPS4J Pax Web - Jsp Support</name>
	<description>
    Pax Web Jsp Support via Tomcat Jasper 2.
    Detailed information to be found at http://wiki.ops4j.org/confluence/x/CgNN.
  </description>

	<properties>
		<bundle.symbolicName>org.ops4j.pax.web.pax-web-jsp</bundle.symbolicName>
		<bundle.namespace>org.ops4j.pax.web.jsp</bundle.namespace>
		<sonar.jacoco.itReportPath>${project.basedir}/../target/jacoco-it.exec</sonar.jacoco.itReportPath>
	</properties>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>target/dependency</directory>
				<excludes>
					<exclude>org/apache/jasper/compiler/TldCache.java</exclude>
					<exclude>org/apache/jasper/compiler/JspConfig.java</exclude>
					<exclude>org/apache/jasper/JspCompilationContext.java</exclude>
					<exclude>org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.java</exclude>
				</excludes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<configuration>
					<instructions>
						<Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
						<Import-Package>
							org.ops4j.pax.web.service.spi.util; version="${pax-web.osgi.version}",
							${bundle.namespace}; version="${pax-web.osgi.version}",
							javax.servlet; version="[2.3.0,4.0.0)",
							javax.servlet.http; version="[2.3.0,4.0.0)",
							javax.servlet.descriptor;version="[2.3.0,4.0.0)",
							javax.naming,
							org.w3c.dom,
							org.w3c.dom.ls; resolution:=optional,
							org.w3c.dom.traversal; resolution:=optional,
							org.xml.sax.*,
							org.slf4j; version="[1.5,2.0)",
							org.apache.tools.ant.*; resolution:=optional,
							org.eclipse.*; resolution:=optional,
							org.eclipse.jdt.internal.compiler.parser; resolution:=optional,
							org.osgi.service.http,
							org.osgi.framework; version="[1.0.0,2.0.0)",
							org.osgi.service.packageadmin; resolution:=optional,
							org.osgi.framework.wiring, 
							org.ops4j.pax.web.utils,
							javax.sql; resolution:=optional,
							javax.xml.parsers,
							javax.xml.stream,
							javax.xml.validation; resolution:=optional,
							javax.xml.namespace; resolution:=optional,
							javax.xml.transform.*; resolution:=optional,
							javax.xml.xpath; resolution:=optional,
							javax.annotation.*,
							javax.tools,
							org.osgi.util.tracker,
							javax.el.*; version="[3.0, 4.0)",
							javax.servlet.jsp; version="2.3.1",
							javax.servlet.jsp.el; version="2.3.1",
							javax.servlet.jsp.tagext; version="2.3.1",
							javax.servlet.jsp.jstl.core; version="1.2.1",
							javax.servlet.jsp.jstl.fmt; version="1.2.1",
							javax.servlet.jsp.jstl.sql; version="1.2.1",
							javax.servlet.jsp.jstl.tlv; version="1.2.1",
							javax.servlet.jsp.resources; version="2.2",
							org.apache.tomcat;resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util; resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util.scan; resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util.res; resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util.file; resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util.digester;resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util.descriptor.tld;resolution:=optional; -split-package:="merge-last",
							org.apache.tomcat.util.security;resolution:=optional; -split-package:="merge-last",
							org.apache.catalina.loader;resolution:=optional,
							org.apache.juli.logging,
							!org.eclipse.jdt.core.index,
							!org.eclipse.jdt.core.util,
							!com.sun.tools.javac,
							!sun.tools.javac,
							!com.sun.org.apache.*,
							!javax.management.*,
							!javax.naming.directory,
							!org.apache.env,
							!org.apache.geronimo.osgi.registry.api,
							!sun.rmi.rmic,
							!org.ops4j.pax.web.jsp
						</Import-Package>
						<Private-Package>
							org.ops4j.pax.web.jsp.*,
							javax.servlet.resources,
							org.apache.el.*; version="2.2",
							org.apache.jasper; version="2.2",
							org.apache.jasper.compiler;	version="2.2",
							org.apache.jasper.compiler.tagplugin; version="2.2",
							org.apache.jasper.el; version="2.2",
							org.apache.jasper.resources; version="2.2",
							org.apache.jasper.runtime; version="2.2",
							org.apache.jasper.security; version="2.2",
							org.apache.jasper.servlet; version="2.2",
							org.apache.jasper.tagplugins.jstl; version="2.2",
							org.apache.jasper.xmlparser; version="2.2",
							org.apache.taglibs.standard,
							org.apache.taglibs.standard.extra.spath,
							org.apache.taglibs.standard.functions,
							org.apache.taglibs.standard.lang.jstl,
							org.apache.taglibs.standard.lang.jstl.parser,
							org.apache.taglibs.standard.lang.jstl.test,
							org.apache.taglibs.standard.lang.jstl.test.beans,
							org.apache.taglibs.standard.lang.support,
							org.apache.taglibs.standard.resources,
							org.apache.taglibs.standard.tag.common.core,
							org.apache.taglibs.standard.tag.common.fmt,
							org.apache.taglibs.standard.tag.common.sql,
							org.apache.taglibs.standard.tag.common.xml,
							org.apache.taglibs.standard.tag.el.core,
							org.apache.taglibs.standard.tag.el.fmt,
							org.apache.taglibs.standard.tag.el.sql,
							org.apache.taglibs.standard.tag.el.xml,
							org.apache.taglibs.standard.tag.rt.core,
							org.apache.taglibs.standard.tag.rt.fmt,
							org.apache.taglibs.standard.tag.rt.sql,
							org.apache.taglibs.standard.tag.rt.xml,
							org.apache.taglibs.standard.tei,
							org.apache.taglibs.standard.tlv,
							org.apache.tomcat,
							org.apache.tomcat.util,
							org.apache.tomcat.util.scan,
							org.apache.tomcat.util.res,
							org.apache.tomcat.util.file,
							org.apache.tomcat.util.digester,
							org.apache.tomcat.util.descriptor,
							org.apache.tomcat.util.descriptor.tagplugin,
							org.apache.tomcat.util.security,
							org.apache.juli.logging
						</Private-Package>
						<Export-Package>
							${bundle.namespace}; version="${pax-web.osgi.version}",
							javax.servlet.jsp; version="2.3.1",
							javax.servlet.jsp.el; version="2.3.1",
							javax.servlet.jsp.tagext; version="2.3.1",
							javax.servlet.jsp.jstl.core; version="1.2.1",
							javax.servlet.jsp.jstl.fmt; version="1.2.1",
							javax.servlet.jsp.jstl.sql; version="1.2.1",
							javax.servlet.jsp.jstl.tlv; version="1.2.1",
							javax.servlet.jsp.resources; version="2.2",
							org.apache.el; version="2.2",
							org.apache.el.lang; version="2.2",
							org.apache.el.parser; version="2.2",
							org.apache.el.stream; version="2.2",
							org.apache.el.util; version="2.2",
							org.apache.jasper; version="2.2"; -split-package:="merge-first",
							org.apache.jasper.compiler; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.compiler.tagplugin; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.el; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.resources; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.runtime; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.security; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.servlet; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.tagplugins.jstl; version="2.2"; -split-package:=merge-first,
							org.apache.jasper.xmlparser; version="2.2"; -split-package:=merge-first,
							org.apache.taglibs.standard,
							org.apache.taglibs.standard.extra.spath,
							org.apache.taglibs.standard.functions,
							org.apache.taglibs.standard.lang.jstl,
							org.apache.taglibs.standard.lang.jstl.parser,
							org.apache.taglibs.standard.lang.jstl.test,
							org.apache.taglibs.standard.lang.jstl.test.beans,
							org.apache.taglibs.standard.lang.support,
							org.apache.taglibs.standard.resources,
							org.apache.taglibs.standard.tag.common.core,
							org.apache.taglibs.standard.tag.common.fmt,
							org.apache.taglibs.standard.tag.common.sql,
							org.apache.taglibs.standard.tag.common.xml,
							org.apache.taglibs.standard.tag.el.core,
							org.apache.taglibs.standard.tag.el.fmt,
							org.apache.taglibs.standard.tag.el.sql,
							org.apache.taglibs.standard.tag.el.xml,
							org.apache.taglibs.standard.tag.rt.core,
							org.apache.taglibs.standard.tag.rt.fmt,
							org.apache.taglibs.standard.tag.rt.sql,
							org.apache.taglibs.standard.tag.rt.xml,
							org.apache.taglibs.standard.tei,
							org.apache.taglibs.standard.tlv,
                            !org.apache.tomcat,
							org.apache.tomcat.util.descriptor.tld
						</Export-Package>
						<Include-Resource> {maven-dependencies},
							{maven-resources},
							org/apache/jasper/compiler/TldCache.class=target/classes/org/apache/jasper/compiler/TldCache.class,
							org/apache/jasper/JspCompilationContext.class=target/classes/org/apache/jasper/JspCompilationContext.class,
							org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.class=target/classes/org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.class
						</Include-Resource>
						<Embed-Dependency>*; scope=compile; type=!pom;
							inline=**/*.class|**/*.ico|**/*.dtd|**/*.xml|**/*.properties|**/*.map|**/*.default|**/*.providers|**/*.tld|**/*.rsc</Embed-Dependency>
						<Embed-Transitive>true</Embed-Transitive>
						<_removeheaders>
							Include-Resource,
							Private-Package,
							Embed-Dependency,
							Embed-Transitive
						</_removeheaders>
						<_nouses>true</_nouses>
					</instructions>
				</configuration>
				<executions>
					<execution>
						<id>baseline</id>
						<goals>
							<goal>baseline</goal>
						</goals>
						<configuration>
							<comparisonVersion>${baseline.version}</comparisonVersion>
							<failOnWarning>false</failOnWarning>
							<failOnError>false</failOnError>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>**/JspConfig.java</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>

		<dependency>
			<groupId>org.ops4j.base</groupId>
			<artifactId>ops4j-base-util-xml</artifactId>
		</dependency>

		<dependency>
			<groupId>org.ops4j.pax.web</groupId>
			<artifactId>pax-web-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.ops4j.pax.web</groupId>
			<artifactId>pax-web-spi</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- Embeded dependencies (not transitive) -->
		<dependency>
			<groupId>org.ops4j.pax.swissbox</groupId>
			<artifactId>pax-swissbox-core</artifactId>
			<scope>compile</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.ops4j.pax.swissbox</groupId>
			<artifactId>pax-swissbox-optional-jcl</artifactId>
			<scope>compile</scope>
			<optional>true</optional>
		</dependency>

		<!--
			PAXWEB-1188:
			I wasn't able to use org.apache.taglibs:taglibs-standard-*:1.2.5, because it lacks
			org.apache.taglibs.standard.extra.spath package.
			However org.jboss.spec.javax.servlet.jstl:jboss-jstl-api_1.2_spec:1.1.4.Final is based on
			Apache taglibs 1.2.5 - check its org.apache.taglibs.standard.Version class
		-->
		<dependency>
			<groupId>org.jboss.spec.javax.servlet.jstl</groupId>
			<artifactId>jboss-jstl-api_1.2_spec</artifactId>
			<version>1.1.4.Final</version>
			<exclusions>
				<exclusion>
					<groupId>org.jboss.spec.javax.servlet.jsp</groupId>
					<artifactId>jboss-jsp-api_2.3_spec</artifactId>
				</exclusion>
				<exclusion>
					<groupId>xalan</groupId>
					<artifactId>xalan</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.spec.javax.el</groupId>
					<artifactId>jboss-el-api_3.0_spec</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.spec.javax.servlet</groupId>
					<artifactId>jboss-servlet-api_3.1_spec</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
  			<artifactId>tomcat-embed-el</artifactId>
  			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.tomcat.embed</groupId>
					<artifactId>tomcat-embed-core</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>core</artifactId>
					<groupId>org.eclipse.jdt</groupId>
				</exclusion>
				<exclusion>
					<artifactId>ecj</artifactId>
					<groupId>org.eclipse.jdt</groupId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-core</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.eclipse.jdt.core.compiler</groupId>
			<artifactId>ecj</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- <dependency> -->
		<!-- <groupId>org.eclipse.jetty.orbit</groupId> -->
		<!-- <artifactId>org.eclipse.jdt.core</artifactId> -->
		<!-- <version>3.7.1</version> -->
		<!-- <scope>provided</scope> -->
		<!-- </dependency> -->

		<!-- Provided dependencies (not transitive) -->

		<dependency>
			<groupId>org.osgi</groupId>
			<artifactId>osgi.core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.osgi</groupId>
			<artifactId>osgi.annotation</artifactId>
		</dependency>
		<dependency>
			<groupId>${servlet.spec.groupId}</groupId>
			<artifactId>${servlet.spec.artifactId}</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<type>jar</type>
			<scope>provided</scope>
		</dependency>

	</dependencies>

</project>
