<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.springframework.session</groupId>
	<artifactId>spring-session-data-mongodb</artifactId>
	<version>2.3.2.RELEASE</version>

	<name>Spring Session MongoDB</name>
	<url>https://spring.io/projects/spring-session-data-mongodb</url>
	<description>
		Persist session data in MongoDB
	</description>

	<inceptionYear>2014</inceptionYear>

	<organization>
		<name>Pivotal, Inc.</name>
		<url>https://www.spring.io</url>
	</organization>

	<developers>
		<developer>
			<id>rwinch</id>
			<name>Rob Winch</name>
			<email>rwinch(at)pivotal.io</email>
			<organization>Pivotal Software, Inc.</organization>
			<roles>
				<role>Creator</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
		<developer>
			<id>gturnquist</id>
			<name>Greg Turnquist</name>
			<email>gturnquist(at)pivotal.io</email>
			<organization>Pivotal Software, Inc.</organization>
			<roles>
				<role>Project Lead</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0</url>
			<comments>
				Copyright 2011-2020 the original author or authors.

				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

				https://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.
			</comments>
		</license>
	</licenses>

	<properties>
		<source.level>1.8</source.level>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<assertj.version>3.13.1</assertj.version>
		<flapdoodle.version>2.2.0</flapdoodle.version>
		<jackson-bom.version>2.10.0</jackson-bom.version>
		<jsr305.version>3.0.2</jsr305.version>
		<junit-bom.version>5.6.0</junit-bom.version>
		<mockito.version>2.28.2</mockito.version>
		<mongo.version>4.0.6</mongo.version>
		<reactor-bom.version>Dysprosium-SR16</reactor-bom.version>
		<spring-bom.version>5.2.14.RELEASE</spring-bom.version>
		<spring-data-bom.version>Neumann-SR9</spring-data-bom.version>
		<spring-security-bom.version>5.2.10.RELEASE</spring-security-bom.version>
		<spring-session.version>2.3.3.RELEASE</spring-session.version>
	</properties>

	<profiles>

		<profile>
			<id>spring-next</id>
			<properties>
				<reactor.version>Dysprosium-BUILD-SNAPSHOT</reactor.version>
				<spring-bom.version>5.2.15.BUILD-SNAPSHOT</spring-bom.version>
				<spring-data-bom.version>Neumann-BUILD-SNAPSHOT</spring-data-bom.version>
				<spring-security-bom.version>5.2.11.BUILD-SNAPSHOT</spring-security-bom.version>
			</properties>
			<repositories>
				<repository>
					<id>spring-libs-snapshot</id>
					<url>https://repo.spring.io/libs-snapshot</url>
				</repository>
			</repositories>
		</profile>

		<profile>
			<id>convergence</id>

			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<version>3.0.0-M2</version>
						<executions>
							<execution>
								<id>default-cli</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<phase>validate</phase>
								<configuration>
									<rules>
										<bannedDependencies>
											<excludes>
												<exclude>commons-logging:*:*</exclude>
											</excludes>
											<searchTransitive>true</searchTransitive>
										</bannedDependencies>
										<dependencyConvergence/>
									</rules>
									<fail>true</fail>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>docs</id>

			<properties>
				<maven.test.skip>true</maven.test.skip>
				<maven.deploy.skip>true</maven.deploy.skip>
				<skipTests>true</skipTests>
				<docs.resources.version>0.1.2.RELEASE</docs.resources.version>
				<shared.resources>${project.build.directory}/shared-resources</shared.resources>
				<generated-asciidoc-sources.directory>${project.build.directory}/generated-asciidoc-sources/source/
				</generated-asciidoc-sources.directory>
				<generated-docs.directory>${project.build.directory}/generated-docs</generated-docs.directory>
			</properties>

			<dependencies>
				<dependency>
					<groupId>io.spring.docresources</groupId>
					<artifactId>spring-doc-resources</artifactId>
					<version>${docs.resources.version}</version>
					<type>zip</type>
					<optional>true</optional>
				</dependency>
			</dependencies>

			<build>
				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-dependency-plugin</artifactId>
						<executions>
							<execution>
								<id>unpack-doc-resources</id>
								<goals>
									<goal>unpack-dependencies</goal>
								</goals>
								<phase>generate-resources</phase>
								<configuration>
									<includeGroupIds>io.spring.docresources</includeGroupIds>
									<includeArtifactIds>spring-doc-resources</includeArtifactIds>
									<includeTypes>zip</includeTypes>
									<excludeTransitive>true</excludeTransitive>
									<outputDirectory>${generated-asciidoc-sources.directory}</outputDirectory>
								</configuration>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.asciidoctor</groupId>
						<artifactId>asciidoctor-maven-plugin</artifactId>
						<version>2.0.0-RC.1</version>
						<dependencies>
							<dependency>
								<groupId>org.jruby</groupId>
								<artifactId>jruby</artifactId>
								<version>9.2.6.0</version>
							</dependency>
							<dependency>
								<groupId>org.asciidoctor</groupId>
								<artifactId>asciidoctorj</artifactId>
								<version>2.0.0-RC.1</version>
							</dependency>
							<dependency>
								<groupId>org.asciidoctor</groupId>
								<artifactId>asciidoctorj-pdf</artifactId>
								<version>1.5.0-alpha.16</version>
							</dependency>
							<dependency>
								<groupId>org.asciidoctor</groupId>
								<artifactId>asciidoctorj-epub3</artifactId>
								<version>1.5.0-alpha.8.1</version>
							</dependency>
						</dependencies>
						<executions>
							<execution>
								<id>output-html</id>
								<phase>compile</phase>
								<goals>
									<goal>process-asciidoc</goal>
								</goals>
								<configuration>
									<sourceDirectory>${generated-asciidoc-sources.directory}</sourceDirectory>
									<outputDirectory>${generated-docs.directory}</outputDirectory>
									<backend>html5</backend>
									<doctype>book</doctype>
									<sourceHighlighter>highlight.js</sourceHighlighter>
									<attributes>
										<highlightjsdir>js/highlight</highlightjsdir>
										<highlightjs-theme>atom-one-dark-reasonable</highlightjs-theme>
										<linkcss>true</linkcss>
										<sectanchors>true</sectanchors>
										<stylesdir>./css</stylesdir>
										<stylesheet>spring.css</stylesheet>
										<toc>left</toc>
										<github-tag>v${project.version}</github-tag>
										<code-dir>${basedir}</code-dir>
										<samples-dir>
											https://raw.githubusercontent.com/spring-projects/spring-session-data-mongodb-examples/master
										</samples-dir>
										<spring-session-version>${spring-session.version}</spring-session-version>
									</attributes>
								</configuration>
							</execution>
						</executions>
						<configuration>
							<doctype>book</doctype>
							<attributes>
								<doctype>book</doctype>
								<docinfo>shared</docinfo>
								<icons>font</icons>
								<sectids>false</sectids>
								<imagesdir>images</imagesdir>
								<version>${project.version}</version>
								<projectName>${project.name}</projectName>
								<projectVersion>${project.version}</projectVersion>
								<allow-uri-read>true</allow-uri-read>
								<toclevels>4</toclevels>
								<numbered>true</numbered>
							</attributes>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>3.0.0</version>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
						<executions>
							<execution>
								<id>aggregate-javadoc</id>
								<goals>
									<goal>aggregate</goal>
								</goals>
								<phase>package</phase>
								<configuration>
									<outputDirectory>${project.root}/target/site/apidocs</outputDirectory>
								</configuration>
							</execution>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>1.8</version>
						<executions>

							<execution>
								<id>copy-documentation-resources</id>
								<phase>generate-resources</phase>
								<configuration>
									<target>
										<copy todir="target/site/reference/html/images">
											<fileset dir="${basedir}/src/main/asciidoc" erroronmissingdir="false">
												<include name="**/*.png"/>
												<include name="**/*.gif"/>
												<include name="**/*.jpg"/>
											</fileset>
											<flattenmapper/>
										</copy>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>

							<execution>
								<id>create-generated-docs-resources</id>
								<phase>process-resources</phase>
								<configuration>
									<target>
										<copy failonerror="false" todir="${generated-asciidoc-sources.directory}/">
											<fileset dir="src/main/asciidoc" includes="**/*.adoc"/>
										</copy>
										<copy failonerror="false"
										      todir="${generated-asciidoc-sources.directory}/images/">
											<fileset dir="src/main/asciidoc/images"/>
										</copy>

										<copy todir="${generated-docs.directory}">
											<fileset dir="${generated-asciidoc-sources.directory}">
												<include name="css/**"/>
												<include name="js/**"/>
											</fileset>
										</copy>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>

							<execution>
								<id>rename-reference-docs</id>
								<phase>prepare-package</phase>
								<configuration>
									<target>

										<!-- Copy files for the single-file HTML version -->
										<copy failonerror="false"
										      todir="target/site/reference/html/images">
											<fileset dir="${generated-docs.directory}/images"/>
										</copy>

										<!-- Copy shared resources. Spring Data ones first to override the ones shared -->
										<copy failonerror="false" todir="target/site/reference/html/">
											<fileset dir="${shared.resources}">
												<include name="css/**"/>
												<include name="js/**"/>
											</fileset>
										</copy>

										<copy failonerror="false" todir="target/site/reference/html/">
											<fileset dir="${generated-asciidoc-sources.directory}">
												<include name="css/**"/>
												<include name="js/**"/>
											</fileset>
										</copy>

										<copy failonerror="false" todir="target/site/reference/html/">
											<fileset dir="${generated-docs.directory}" includes="*.html"/>
										</copy>

										<!-- Copy and rename the Epub file -->
										<copy failonerror="false" file="${generated-docs.directory}/index.pdf"
										      tofile="target/site/reference/pdf/spring-hateoas-reference.pdf"/>

										<!-- Copy and rename the PDF file -->
										<copy failonerror="false" file="${generated-docs.directory}/index.epub"
										      tofile="target/site/reference/epub/spring-hateoas-reference.epub"/>

									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>

						</executions>

					</plugin>

					<!--
						Creates two zip files for download as well as API and reference documentation distribution.
					-->

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-assembly-plugin</artifactId>
						<executions>
							<execution>
								<id>docs</id>
								<goals>
									<goal>single</goal>
								</goals>
								<phase>package</phase>
								<configuration>
									<descriptors>
										<descriptor>src/docs/resources/assemblies/docs.xml</descriptor>
									</descriptors>
									<finalName>spring-session-data-mongodb-${project.version}</finalName>
									<appendAssemblyId>true</appendAssemblyId>
								</configuration>
							</execution>
						</executions>
					</plugin>


					<plugin>
						<groupId>org.jfrog.buildinfo</groupId>
						<artifactId>artifactory-maven-plugin</artifactId>
						<version>2.6.1</version>
						<executions>
							<execution>
								<id>deploy-docs</id>
								<goals>
									<goal>publish</goal>
								</goals>
								<phase>deploy</phase>
								<configuration>
									<artifactory>
										<includeEnvVars>false</includeEnvVars>
									</artifactory>
									<deployProperties>
										<zip.name>spring-session-data-mongodb-docs</zip.name>
										<zip.displayname>spring-session-data-mongodb-docs</zip.displayname>
										<zip.deployed>false</zip.deployed>
										<zip.type>docs</zip.type>
									</deployProperties>
									<buildInfo>
										<!-- Retain only a single build -->
										<buildName>Spring Docs spring-session-data-mongodb ${project.version}</buildName>
										<buildRetentionCount>1</buildRetentionCount>
									</buildInfo>
									<publisher>
										<contextUrl>{{artifactory.server}}</contextUrl>
										<username>{{artifactory.username}}</username>
										<password>{{artifactory.password}}</password>
										<repoKey>{{artifactory.distribution-repository}}</repoKey>
										<snapshotRepoKey>{{artifactory.distribution-repository}}</snapshotRepoKey>
										<includePatterns>*-docs.zip</includePatterns>
									</publisher>
								</configuration>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>
		</profile>

		<profile>
			<id>snapshot</id>

			<build>
				<plugins>
					<plugin>
						<groupId>org.jfrog.buildinfo</groupId>
						<artifactId>artifactory-maven-plugin</artifactId>
						<version>2.6.1</version>
						<inherited>false</inherited>
						<executions>
							<execution>
								<id>build-info</id>
								<goals>
									<goal>publish</goal>
								</goals>
								<configuration>
									<buildInfo>
										<buildUrl>{{BUILD_URL}}</buildUrl>
									</buildInfo>
									<publisher>
										<contextUrl>https://repo.spring.io</contextUrl>
										<username>{{ARTIFACTORY_USR}}</username>
										<password>{{ARTIFACTORY_PSW}}</password>
										<repoKey>libs-snapshot-local</repoKey>
										<snapshotRepoKey>libs-snapshot-local</snapshotRepoKey>
									</publisher>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>milestone</id>

			<build>
				<plugins>
					<plugin>
						<groupId>org.jfrog.buildinfo</groupId>
						<artifactId>artifactory-maven-plugin</artifactId>
						<version>2.6.1</version>
						<inherited>false</inherited>
						<executions>
							<execution>
								<id>build-info</id>
								<goals>
									<goal>publish</goal>
								</goals>
								<configuration>
									<buildInfo>
										<buildUrl>{{BUILD_URL}}</buildUrl>
									</buildInfo>
									<publisher>
										<contextUrl>https://repo.spring.io</contextUrl>
										<username>{{ARTIFACTORY_USR}}</username>
										<password>{{ARTIFACTORY_PSW}}</password>
										<repoKey>libs-milestone-local</repoKey>
										<snapshotRepoKey>libs-milestone-local</snapshotRepoKey>
									</publisher>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>central</id>

			<build>

				<pluginManagement>
					<plugins>

						<!-- Sign JARs -->

						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-gpg-plugin</artifactId>
							<version>1.6</version>
							<executions>
								<execution>
									<id>sign-artifacts</id>
									<phase>verify</phase>
									<goals>
										<goal>sign</goal>
									</goals>
									<configuration>
										<gpgArguments>
											<arg>--pinentry-mode</arg>
											<arg>loopback</arg>
										</gpgArguments>
									</configuration>
								</execution>
							</executions>
						</plugin>

						<!-- Deploy to Sonatype OSS Nexus -->

						<plugin>
							<groupId>org.sonatype.plugins</groupId>
							<artifactId>nexus-staging-maven-plugin</artifactId>
							<version>1.6.8</version>
							<extensions>true</extensions>
							<configuration>
								<serverId>sonatype</serverId>
								<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
								<autoReleaseAfterClose>false</autoReleaseAfterClose>
								<keepStagingRepositoryOnFailure>true</keepStagingRepositoryOnFailure>
								<skipStagingRepositoryClose>true</skipStagingRepositoryClose>
							</configuration>
						</plugin>
					</plugins>

				</pluginManagement>

				<plugins>

					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
					</plugin>

					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
					</plugin>

				</plugins>

			</build>

			<distributionManagement>
				<repository>
					<id>sonatype</id>
					<url>https://s01.oss.sonatype.org//service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>

		</profile>

	</profiles>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-releasetrain</artifactId>
				<version>${spring-data-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-framework-bom</artifactId>
				<version>${spring-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-bom</artifactId>
				<version>${spring-security-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>io.projectreactor</groupId>
				<artifactId>reactor-bom</artifactId>
				<version>${reactor-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>com.fasterxml.jackson</groupId>
				<artifactId>jackson-bom</artifactId>
				<version>${jackson-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.junit</groupId>
				<artifactId>junit-bom</artifactId>
				<version>${junit-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>

		<dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session-core</artifactId>
			<version>${spring-session.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-mongodb</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.mongodb</groupId>
					<artifactId>mongo-java-driver</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>jcl-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongodb-driver-core</artifactId>
			<version>${mongo.version}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>

		<dependency>
			<groupId>io.projectreactor</groupId>
			<artifactId>reactor-core</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
		</dependency>

		<!-- Test dependencies -->

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webflux</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-config</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-web</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongodb-driver-sync</artifactId>
			<version>${mongo.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>de.flapdoodle.embed</groupId>
			<artifactId>de.flapdoodle.embed.mongo</artifactId>
			<version>${flapdoodle.version}</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
			<version>${jsr305.version}</version>
		</dependency>

		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<version>${assertj.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-params</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest</artifactId>
			<version>2.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.3</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

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

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>${mockito.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-junit-jupiter</artifactId>
			<version>${mockito.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>io.projectreactor</groupId>
			<artifactId>reactor-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongodb-driver-reactivestreams</artifactId>
			<version>${mongo.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<build>

		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<source>${source.level}</source>
					<target>${source.level}</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.0.2</version>
				<configuration>
					<archive>
						<manifestEntries>
							<Implementation-Title>${project.name}</Implementation-Title>
							<Implementation-Version>${project.version}</Implementation-Version>
							<Automatic-Module-Name>${java-module-name}</Automatic-Module-Name>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<configuration>
					<breakiterator>true</breakiterator>
					<header>${project.name}</header>
					<source>${source.level}</source>
					<quiet>true</quiet>
					<additionalparam>-Xdoclint:none</additionalparam>
					<links>
						<link>https://docs.spring.io/spring/docs/4.1.x/javadoc-api</link>
						<link>https://docs.oracle.com/javase/6/docs/api</link>
					</links>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.0.0-M3</version>
				<configuration>
					<useSystemClassLoader>false</useSystemClassLoader>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8.2</version>
			</plugin>

		</plugins>
	</build>

	<pluginRepositories>
		<pluginRepository>
			<id>spring-plugins-release</id>
			<url>https://repo.spring.io/plugins-release</url>
		</pluginRepository>
	</pluginRepositories>

	<repositories>
		<repository>
			<id>spring-libs-snapshot</id>
			<url>https://repo.spring.io/libs-snapshot</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

	<scm>
		<url>https://github.com/spring-projects/spring-session-data-mongodb</url>
		<connection>scm:git:git://github.com/spring-projects/spring-session-data-mongodb.git</connection>
		<developerConnection>scm:git:ssh://git@github.com:spring-projects/spring-session-data-mongodb.git
		</developerConnection>
	</scm>

</project>
