<?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">

	<!-- 
	Copyright 2012 Romain Gilles
	
	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.30</version>
	</parent>

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

	<name>OPS4J Pax Web - TomCat</name>
	<description>
        Pax Web is a OSGi Http Service based on TomCat 8.
        Detailed information to be found at http://wiki.ops4j.org/confluence/x/AYAz.
    </description>

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


	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<excludes>
						<exclude>**/HttpServiceRequestWrapper.java</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<configuration>
					<instructions>
						<Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
						<Bundle-Activator>${bundle.namespace}.internal.Activator</Bundle-Activator>
						<Private-Package>${bundle.namespace}.internal.*</Private-Package>
						<Import-Package>
							org.ops4j.pax.web.service; version="${pax-web.osgi.version}",
							org.ops4j.pax.web.service.spi.*; version="${pax-web.osgi.version}",
							org.ops4j.pax.swissbox.*,
							org.ops4j.pax.web.jsp; version="${pax-web.osgi.version}";resolution:=optional,
							javax.security.auth,
							javax.security.auth.callback,
							javax.security.auth.login,
							javax.servlet.descriptor; version="[2.5.0,4.0)",
							javax.servlet.jsp.*;version="[2.2,2.3)",
							javax.servlet.*; version="[2.5.0,4.0)",
                            javax.websocket,
                            javax.websocket.server,
							javax.xml.parsers,
							org.osgi.framework; version="[1.0.0,2.0.0)",
							org.osgi.service.http; version="[1.0.0,2.0.0)",
							org.slf4j; version="[1.5,2)",
							javax.el; version="[2.1.0,3.1.0)";resolution:=optional,
							org.apache.el; version="2.2"; resolution:=optional,
							org.apache.el.lang; version="2.2"; resolution:=optional,
							org.apache.el.parser; version="2.2"; resolution:=optional,
							org.apache.el.stream; version="2.2"; resolution:=optional,
							org.apache.el.util; version="2.2"; resolution:=optional
							org.apache.catalina,
							org.apache.catalina.authenticator,
							org.apache.catalina.authenticator.jaspic,
							org.apache.catalina.connector,
							org.apache.catalina.core,
							org.apache.catalina.deploy,
							org.apache.catalina.filters,
							org.apache.catalina.loader,
							org.apache.catalina.manager,
							org.apache.catalina.manager.host,
							org.apache.catalina.manager.util,
							org.apache.catalina.mbeans,
							org.apache.catalina.realm,
							org.apache.catalina.security,
							org.apache.catalina.servlets,
							org.apache.catalina.session,
							org.apache.catalina.ssi,
							org.apache.catalina.startup,
							org.apache.catalina.users,
							org.apache.catalina.util,
							org.apache.catalina.valves,
							org.apache.coyote,
							org.apache.coyote.ajp,
							org.apache.coyote.http11,
							org.apache.coyote.http11.filters,
							org.apache.coyote.http11.upgrade,
							org.apache.coyote.http2,
							org.apache.naming,
							org.apache.naming.factory,
							org.apache.naming.java,
							org.apache.tomcat.jni,
							org.apache.tomcat.util.net,
							org.apache.tomcat.util.net.jsse,
							org.apache.tomcat.util.digester,
							org.apache.tomcat.websocket,
							org.apache.tomcat.websocket.pojo,
							org.apache.tomcat.websocket.server,
							*,
							!javax.microedition.io,
							!javax.security.auth.x500,
						</Import-Package>
						<Embed-Dependency>*; artifactId=!org.osgi.compendium;
							scope=compile; type=!pom; inline=true</Embed-Dependency>
						<Embed-Transitive>true</Embed-Transitive>
						<Provide-Capability>
              osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1";uses:="javax.servlet,javax.servlet.http,org.osgi.service.http.context,org.osgi.service.http.whiteboard",
              osgi.service;objectClass:List&lt;String&gt;="org.osgi.service.http.runtime.HttpServiceRuntime";uses:="org.osgi.service.http.runtime,org.osgi.service.runtime.dto",
              osgi.service;objectClass:List&lt;String&gt;="org.osgi.service.http.HttService";uses:="org.osgi.service.http",
							osgi.service;objectClass=javax.servlet.ServletContext,
							osgi.service;effective:=active;objectClass=org.ops4j.pax.web.service.spi.ServerController
						</Provide-Capability>
						<_removeheaders>
							Include-Resource,
							Private-Package,
							Embed-Dependency,
							Embed-Transitive
						</_removeheaders>
					</instructions>
				</configuration>
			</plugin>
			<!-- generate dependencies versions -->
			<plugin>
				<groupId>org.apache.servicemix.tooling</groupId>
				<artifactId>depends-maven-plugin</artifactId>
				<version>1.2</version>
				<executions>
					<execution>
						<id>generate-depends-file</id>
						<goals>
							<goal>generate-depends-file</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<dependencies>

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

		<!-- provided dependencies -->
		<dependency>
			<groupId>org.ops4j.pax.tipi</groupId>
			<artifactId>org.ops4j.pax.tipi.tomcat-embed-core</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.ops4j.pax.tipi</groupId>
			<artifactId>org.ops4j.pax.tipi.tomcat-embed-websocket</artifactId>
			<scope>provided</scope>
		</dependency>
        <dependency>
            <groupId>javax.websocket</groupId>
            <artifactId>javax.websocket-api</artifactId>
            <scope>provided</scope>
        </dependency>

		<!-- Provided dependencies (not transitive) -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<type>jar</type>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.osgi</groupId>
			<artifactId>osgi.core</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.osgi</groupId>
			<artifactId>osgi.cmpn</artifactId>
			<scope>provided</scope>
		</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>
		<dependency>
			<groupId>org.ops4j.pax.web</groupId>
			<artifactId>pax-web-jsp</artifactId>
			<scope>provided</scope>
			<optional>true</optional>
		</dependency>

		<!-- pax-url -->
		<dependency>
			<groupId>org.ops4j.pax.url</groupId>
			<artifactId>pax-url-war</artifactId>
			<classifier>uber</classifier>
			<scope>provided</scope>
		</dependency>

		<!-- Test dependencies (not transitive) -->
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-atinject_1.0_spec</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>${servlet.spec.groupId}</groupId>
			<artifactId>${servlet.spec.artifactId}</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jdt.core.compiler</groupId>
			<artifactId>ecj</artifactId>
			<!-- <version>3.5.1</version> -->
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.servicemix.specs</groupId>
			<artifactId>org.apache.servicemix.specs.jsr303-api-1.0.0</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.servicemix.bundles</groupId>
			<artifactId>org.apache.servicemix.bundles.jsr305</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-annotation_1.1_spec</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-stax-api_1.2_spec</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-activation_1.1_spec</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-ejb_3.1_spec</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-jpa_2.0_spec</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-javamail_1.4_spec</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-jaxws_2.2_spec</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-osgi-registry</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.servicemix.specs</groupId>
			<artifactId>org.apache.servicemix.specs.jaxb-api-2.2</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.servicemix.specs</groupId>
			<artifactId>org.apache.servicemix.specs.saaj-api-1.3</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
			<scope>provided</scope>
		</dependency>

	</dependencies>

</project>
