<?xml version='1.0' encoding='UTF-8' ?>
<!-- ~ 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. -->

<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>
		<relativePath>../pom.xml</relativePath>
		<groupId>org.ops4j.pax</groupId>
		<artifactId>web</artifactId>
		<version>4.2.2</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>
		<version.pax-exam>3.4.0</version.pax-exam>
		<sonar.jacoco.itReportPath>${project.basedir}/../target/jacoco-it.exec</sonar.jacoco.itReportPath>
	</properties>


	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.7</source>
					<target>1.7</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-Version>${project.version}</Bundle-Version>
						<Bundle-Activator>${bundle.namespace}.internal.Activator</Bundle-Activator>
						<Private-Package>${bundle.namespace}.internal.*</Private-Package>
						<Import-Package>
							org.ops4j.pax.web.service; version="${project.version}",
							org.ops4j.pax.web.service.spi.*; version="${project.version}",
							org.ops4j.pax.swissbox.*,
							org.ops4j.pax.web.jsp; version="${project.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.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",
							org.apache.catalina,
							org.apache.catalina.authenticator,
							org.apache.catalina.comet,
							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.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.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.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>2.12</version>
				<configuration>
					<systemPropertyVariables>
						<ProjectVersion>${project.version}</ProjectVersion>
						<coverage.command>${jcoverage.command}</coverage.command>
					</systemPropertyVariables>
					<forkMode>pertest</forkMode>
					<skip>true</skip>
				</configuration>
				<executions>
					<execution>
						<id>integration-test</id>
						<goals>
							<goal>integration-test</goal>
						</goals>
					</execution>
					<execution>
						<id>verify</id>
						<goals>
							<goal>verify</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.servicemix.tooling
										</groupId>
										<artifactId>
											depends-maven-plugin
										</artifactId>
										<versionRange>
											[1.2,)
										</versionRange>
										<goals>
											<goal>
												generate-depends-file
											</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</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>

		<!-- 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>org.osgi.core</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.osgi</groupId>
			<artifactId>org.osgi.compendium</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>


		<!-- Pax-web itself -->
		<dependency>
			<groupId>org.ops4j.pax.web</groupId>
			<artifactId>pax-web-runtime</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.ops4j.pax.web</groupId>
			<artifactId>pax-web-extender-whiteboard</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.ops4j.pax.web</groupId>
			<artifactId>pax-web-extender-war</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymock</artifactId>
		</dependency>

		<!-- Pax Exam Dependencies -->
		<dependency>
			<groupId>org.ops4j.pax.exam</groupId>
			<artifactId>pax-exam-junit4</artifactId>
			<version>${version.pax-exam}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.ops4j.pax.exam</groupId>
			<artifactId>pax-exam-container-native</artifactId>
			<version>${version.pax-exam}</version>
			<scope>test</scope>
		</dependency>
		<!-- Preferred link because it does not require an mvn url handler implicitely. -->
		<dependency>
			<groupId>org.ops4j.pax.exam</groupId>
			<artifactId>pax-exam-link-mvn</artifactId>
			<version>${version.pax-exam}</version>
			<scope>test</scope>
		</dependency>
		<!-- Required when using mvn provisioning options -->
		<!-- <dependency> -->
		<!-- <groupId>org.ops4j.pax.url</groupId> -->
		<!-- <artifactId>pax-url-aether</artifactId> -->
		<!-- </dependency> -->
		<!-- <dependency> -->
		<!-- <groupId>org.ops4j.pax.url</groupId> -->
		<!-- <artifactId>pax-url-wrap</artifactId> -->
		<!-- <version>${dependency.paxurl.version}</version> -->
		<!-- </dependency> -->

		<dependency>
			<groupId>org.ops4j.pax.exam</groupId>
			<artifactId>pax-exam-testforge</artifactId>
			<version>${version.pax-exam}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.felix</groupId>
			<artifactId>org.apache.felix.framework</artifactId>
			<version>3.2.2</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.ops4j.pax.exam</groupId>
			<artifactId>pax-exam-link-assembly</artifactId>
			<version>${version.pax-exam}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.ops4j.pax.runner</groupId>
			<artifactId>pax-runner-no-jcl</artifactId>
			<version>${paxrunnerversion}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.1</version>
			<type>jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.ops4j.pax.url</groupId>
			<artifactId>pax-url-aether</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>1.0.6</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.0.6</version>
			<scope>test</scope>
		</dependency>

	</dependencies>

</project>
