<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	
	<!-- To be able to deploy snapshots/releases to sonatype / maven central: 
		https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide -->
	<parent>
	    <groupId>org.sonatype.oss</groupId>
	    <artifactId>oss-parent</artifactId>
	    <version>7</version>
	</parent>

	<groupId>de.javakaffee.msm</groupId>
	<artifactId>memcached-session-manager-project</artifactId>
	<version>2.3.2</version>
	<packaging>pom</packaging>
	<name>memcached-session-manager project</name>
	<description>
    A tomcat session manager that provides session failover / session replication using memcached (or a memcached compatible store). It supports both sticky and non-sticky sessions.
    </description>
	<url>https://github.com/magro/memcached-session-manager/</url>

	<issueManagement>
		<system>github</system>
		<url>https://github.com/magro/memcached-session-manager/issues</url>
	</issueManagement>
	<inceptionYear>2009</inceptionYear>
	<prerequisites>
		<maven>2.0.9</maven>
	</prerequisites>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<scm>
		<connection>scm:git:git@github.com:magro/memcached-session-manager.git</connection>
		<developerConnection>scm:git:git@github.com:magro/memcached-session-manager.git</developerConnection>
		<url>scm:git:git@github.com:magro/memcached-session-manager.git</url>
	</scm>
	<developers>
		<developer>
			<id>martin.grotzke</id>
			<name>Martin Grotzke</name>
			<email>martin.grotzke@googlemail.com</email>
			<roles>
				<role>owner</role>
				<role>developer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
	</developers>

	<modules>
		<module>core</module>
		<module>tomcat6</module>
		<module>tomcat7</module>
		<module>tomcat8</module>
		<module>tomcat9</module>
		<module>kryo-serializer</module>
		<!--module>javolution-serializer</module-->
		<module>xstream-serializer</module>
		<module>flexjson-serializer</module>
		<!--module>serializer-benchmark</module-->
	</modules>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>1.4.1</version>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<phase>validate</phase>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>3.0.2</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.eluder.coveralls</groupId>
				<artifactId>coveralls-maven-plugin</artifactId>
				<version>4.1.0</version>
				<configuration>
					<repoToken>mustBePassedVia-DrepoToken</repoToken>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<formats>
						<format>html</format>
						<format>xml</format>
					</formats>
					<!-- aggregated reports for multi-module projects -->
					<aggregate>true</aggregate>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<inherited>true</inherited>
					<configuration>
						<source>1.6</source>
						<target>1.6</target>
						<encoding>utf-8</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.10</version>
					<configuration>
						<additionalBuildcommands>
							<buildCommand>
								<name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
							</buildCommand>
						</additionalBuildcommands>
						<additionalProjectnatures>
							<projectnature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</projectnature>
						</additionalProjectnatures>
						<additionalConfig>
							<file>
								<name>.checkstyle</name>
								<location>../etc/checkstyle-checks.xml</location>
							</file>
						</additionalConfig>
						<downloadSources>true</downloadSources>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.19.1</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<reporting>
		<excludeDefaults>true</excludeDefaults>
		<plugins>
			<plugin>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.8.1</version>
				<reportSets>
					<reportSet>
						<id>sunlink</id>
						<reports>
							<report>javadoc</report>
						</reports>
						<inherited>true</inherited>
						<configuration>
							<links>
								<link>http://download.oracle.com/javase/6/docs/api/</link>
							</links>
						</configuration>
					</reportSet>
				</reportSets>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.5</version>
				<!--aggregate>true</aggregate -->
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>3.0.5</version>
				<configuration>
					<findbugsXmlOutput>true</findbugsXmlOutput>
					<threshold>Normal</threshold> <!-- High|Normal|Low|Exp|Ignore -->
					<effort>Max</effort><!-- Min|Default|Max -->
					<!-- excludeFilterFile>src/site/findbugs-exclude.xml</excludeFilterFile -->
					<onlyAnalyze>de.javakaffee.msm.-</onlyAnalyze>
					<debug>false</debug>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jdepend-maven-plugin</artifactId>
				<version>2.0</version>
				<configuration>
					<classDirectory>${project.build.outputDirectory}</classDirectory>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.17</version>
				<configuration>
					<configLocation>../etc/checkstyle-checks.xml</configLocation>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<tomcat6-version>6.0.53</tomcat6-version>
		<tomcat7-version>7.0.85</tomcat7-version>
		<tomcat8-version>8.5.29</tomcat8-version>
		<tomcat9-version>9.0.6</tomcat9-version>

		<tomcat-version>${tomcat6-version}</tomcat-version>
		<slf4j-version>1.7.15</slf4j-version>
		<hibernate-core-version>5.0.7.Final</hibernate-core-version>
		<couchbasemock-version>1.5.14</couchbasemock-version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j-version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>${slf4j-version}</version>
				<scope>test</scope>
			</dependency>
			<!-- dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j</artifactId> 
				<version>${slf4j-version}</version> </dependency -->
			<!-- Testing -->
			<dependency>
				<groupId>com.thimbleware.jmemcached</groupId>
				<artifactId>jmemcached-core</artifactId>
				<version>1.0.0</version>
				<scope>test</scope>
				<exclusions>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.jboss.netty</groupId>
				<artifactId>netty</artifactId>
				<version>3.2.10.Final</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>4.5.1</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>1.10</version><!-- needed for membase runtime compatibility -->
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
			<version>3.0.1</version>
		</dependency>
        <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>annotations</artifactId>
            <version>3.0.1</version>
            <scope>compile</scope>
        </dependency>

		<!-- Testing -->
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>6.9.10</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.10.19</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.thimbleware.jmemcached</groupId>
			<artifactId>jmemcached-core</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.netty</groupId>
			<artifactId>netty</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<scope>test</scope>
		</dependency>
		<!-- For abstract hibernate test -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>${hibernate-core-version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<version>${slf4j-version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>javassist</groupId>
			<artifactId>javassist</artifactId>
			<version>3.12.1.GA</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>2.3.3</version>
			<scope>test</scope>
		</dependency>
        <dependency>
            <groupId>com.github.kstyrc</groupId>
            <artifactId>embedded-redis</artifactId>
            <version>0.6</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.awaitility</groupId>
			<artifactId>awaitility</artifactId>
			<version>3.1.0</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
			<version>1.3</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<repositories>
		<repository>
			<id>sonatype-releases</id>
			<name>sonatype releases repo</name>
			<url>https://oss.sonatype.org/content/repositories/releases</url>
		</repository>
		<!-- msm maven repo with custom javolution jar and kryo jars -->
		<repository>
			<id>msm</id>
			<name>msm repository</name>
			<url>http://memcached-session-manager.googlecode.com/svn/maven</url>
		</repository>
		<repository>
			<id>couchbase</id>
			<name>Couchbase Repository</name>
			<url>http://files.couchbase.com/maven2</url>
		</repository>
		<repository>
			<id>jboss</id>
			<name>jboss Repository</name>
			<url>http://repository.jboss.org/nexus/content/groups/public</url>
		</repository>
	</repositories>

    <profiles>
        <profile>
            <id>doclint-java8-disable</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
						<version>2.10.4</version>
                        <configuration>
                            <additionalparam>-Xdoclint:none</additionalparam>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-site-plugin</artifactId>
                        <version>3.4</version>
                        <configuration>
                            <reportPlugins>
                                <plugin>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-javadoc-plugin</artifactId>
                                    <configuration>
                                        <additionalparam>-Xdoclint:none</additionalparam>
                                    </configuration>
                                </plugin>
                            </reportPlugins>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
