<?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">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.springframework.vault</groupId>
	<artifactId>spring-vault-parent</artifactId>
	<version>1.1.3.RELEASE</version>

	<name>Spring Vault</name>
	<description>Parent project for Spring Vault</description>
	<packaging>pom</packaging>

	<url>http://projects.spring.io/spring-vault/</url>

	<modules>
		<module>spring-vault-dependencies</module>
		<module>spring-vault-core</module>
		<module>spring-vault-distribution</module>
	</modules>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<spring.version>4.3.20.RELEASE</spring.version>
		<java.version>1.6</java.version>
		<project.type>multi</project.type>
		<dist.id>spring-vault</dist.id>
		<project.root>${basedir}</project.root>

		<!-- To be overridden by individual modules -->
		<java-module-name />
	</properties>

	<inceptionYear>2016</inceptionYear>

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

	<scm>
		<url>https://github.com/spring-projects/spring-vault</url>
		<connection>scm:git:git://github.com/spring-projects/spring-vault.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/spring-projects/spring-vault.git</developerConnection>
	  <tag>1.1.3.RELEASE</tag>
  </scm>

	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/spring-projects/spring-vault/issues</url>
	</issueManagement>

	<ciManagement>
		<system>Bamboo</system>
		<url>https://build.spring.io/browse/SPRINGVAULT-VAULT</url>
	</ciManagement>

	<repositories>
		<repository>
			<id>spring-libs-release</id>
			<url>https://repo.spring.io/libs-release</url>
		</repository>
	</repositories>

	<developers>
		<developer>
			<id>sgibb</id>
			<name>Spencer Gibb</name>
		</developer>
		<developer>
			<id>mpaluch</id>
			<name>Mark Paluch</name>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
			<comments>
				Copyright 2016 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

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

	<dependencyManagement>
		<dependencies>

			<dependency>
				<groupId>org.springframework.vault</groupId>
				<artifactId>spring-vault-dependencies</artifactId>
				<version>1.1.3.RELEASE</version>
				<scope>import</scope>
				<type>pom</type>
			</dependency>

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

			<!-- Testing -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.12</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>2.10.0</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>3.8.0</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>com.jayway.jsonpath</groupId>
				<artifactId>json-path</artifactId>
				<version>2.4.0</version>
				<scope>test</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>

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

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<redirectTestOutputToFile>true</redirectTestOutputToFile>
					<includes>
						<include>**/*Tests.java</include>
					</includes>
					<excludes>
						<exclude>**/Abstract*.java</exclude>
					</excludes>
				</configuration>
			</plugin>

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

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<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.codehaus.mojo</groupId>
				<artifactId>animal-sniffer-maven-plugin</artifactId>
				<configuration>
					<signature>
						<groupId>org.codehaus.mojo.signature</groupId>
						<artifactId>java16</artifactId>
						<version>1.0</version>
					</signature>
				</configuration>
				<executions>
					<execution>
						<id>enforce-java-6</id>
						<phase>test</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<!--
			Default versioned declarations of managed plugins
			to be overridden when the distribute profile is active.
			If this section was missing, Maven would complain about
			missing version numbers for executions without the
			profile active.
		-->

			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.5.1</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.19.1</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.0.1</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.10.4</version>
					<configuration>
						<quiet>true</quiet>
						<additionalparam>-Xdoclint:none</additionalparam>
						<links>
							<link>http://docs.spring.io/spring/docs/current/javadoc-api</link>
							<link>http://docs.oracle.com/javase/6/docs/api</link>
						</links>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5.3</version>
				</plugin>

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

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>2.10</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.5.1</version>
					<dependencies>
						<dependency><!-- add support for ssh/scp -->
							<groupId>org.apache.maven.wagon</groupId>
							<artifactId>wagon-ssh</artifactId>
							<version>1.0</version>
						</dependency>
					</dependencies>
				</plugin>

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

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>animal-sniffer-maven-plugin</artifactId>
					<version>1.16</version>
				</plugin>

				<plugin>
					<groupId>org.asciidoctor</groupId>
					<artifactId>asciidoctor-maven-plugin</artifactId>
					<version>1.5.6</version>
				</plugin>

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

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>wagon-maven-plugin</artifactId>
					<version>1.0</version>
				</plugin>

			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>

			<id>springNext</id>

			<properties>
				<spring.version>4.3.21.BUILD-SNAPSHOT</spring.version>
			</properties>

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

			<id>spring5</id>

			<properties>
				<spring.version>5.0.5.RELEASE</spring.version>
			</properties>
		</profile>

		<profile>

			<id>milestone</id>

			<distributionManagement>
				<repository>
					<id>repo.spring.io</id>
					<name>Spring Milestone Repository</name>
					<url>http://repo.spring.io/libs-milestone-local</url>
				</repository>
			</distributionManagement>

			<build>
				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>jar</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>

		</profile>

		<profile>

			<!-- Profile to be run on the CI server, JARs JavaDocs -->

			<id>ci</id>

			<build>
				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>jar</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>

		</profile>

		<profile>

			<!--
				Profile to be activated when deploying to OSS Sonatype.

				Generates Javadoc and PGP signatures.
			-->

			<id>central</id>

			<distributionManagement>
				<snapshotRepository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
				</snapshotRepository>
				<repository>
					<id>sonatype-nexus-staging</id>
					<name>Nexus Release Repository</name>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>

			<build>
				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>jar</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>

		</profile>

		<profile>

			<!--
					Profile to be activated when building the distribution atrifacts.

					Generates reference documentation, aggregates JavaDoc etc. Has to be combined with
					profiles "release" or "milestone" to deploy artifacts into the appropriate places.
				-->

			<id>distribute</id>

			<properties>
				<shared.resources>${project.build.directory}/shared-resources</shared.resources>
				<maven.install.skip>true</maven.install.skip>
				<skipTests>true</skipTests>
			</properties>

			<dependencies>
				<dependency>
					<groupId>org.springframework.data.build</groupId>
					<artifactId>spring-data-build-resources</artifactId>
					<version>2.0.0.RELEASE</version>
					<scope>provided</scope>
					<type>zip</type>
				</dependency>
			</dependencies>

			<build>

				<plugins>

					<!--
						Unpacks the content of spring-data-build-resources into the shared resources folder.
					-->

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-dependency-plugin</artifactId>
						<executions>
							<execution>
								<id>unpack-shared-resources</id>
								<goals>
									<goal>unpack-dependencies</goal>
								</goals>
								<phase>generate-resources</phase>
							</execution>
						</executions>
						<configuration>
							<includeGroupIds>org.springframework.data</includeGroupIds>
							<includeArtifactIds>spring-data-build-resources</includeArtifactIds>
							<includeTypes>zip</includeTypes>
							<excludeTransitive>true</excludeTransitive>
							<outputDirectory>${shared.resources}</outputDirectory>
						</configuration>
					</plugin>

					<!--
						Configures JavaDoc generation.
					-->

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>aggregate-javadoc</id>
								<goals>
									<goal>aggregate</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
					</plugin>

					<!--
						Copies all namespaces schemas to target/schemas flatten the directory structure.
						Depended on by the site.xml assembly descriptor.
					-->

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

							<execution>
								<id>copy-documentation-resources</id>
								<phase>generate-resources</phase>
								<configuration>
									<target>
										<copy todir="${project.root}/target/site/reference/html">
											<fileset dir="${shared.resources}/asciidoc" erroronmissingdir="false">
												<include name="**/*.css" />
											</fileset>
											<flattenmapper />
										</copy>
										<copy todir="${project.root}/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>collect-schema-files</id>
								<phase>process-resources</phase>
								<configuration>
									<target>
										<copy todir="${project.build.directory}/schemas">
											<fileset dir="${basedir}" erroronmissingdir="false">
												<include name="**/src/main/resources/**/config/spring-*.xsd" />
											</fileset>
											<flattenmapper />
										</copy>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>

							<execution>
								<id>rename-reference-docs</id>
								<phase>process-resources</phase>
								<configuration>
									<target>
										<copy failonerror="false" file="${project.build.directory}/generated-docs/index.pdf" tofile="${project.root}/target/site/reference/pdf/${dist.id}-reference.pdf" />
										<copy failonerror="false" file="${project.build.directory}/generated-docs/index.epub" tofile="${project.root}/target/site/reference/epub/${dist.id}-reference.epub" />
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>

						</executions>

					</plugin>

				</plugins>

				<pluginManagement>
					<plugins>

						<!--
							JavaDoc
						-->

						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<configuration>
								<breakiterator>true</breakiterator>
								<header>${project.name}</header>
								<source>${java.version}</source>
								<quiet>true</quiet>
								<javadocDirectory>${shared.resources}/javadoc</javadocDirectory>
								<overview>${shared.resources}/javadoc/overview.html</overview>
								<stylesheetfile>${shared.resources}/javadoc/spring-javadoc.css</stylesheetfile>
								<!-- copies doc-files subdirectory which contains image resources -->
								<docfilessubdirs>true</docfilessubdirs>
								<additionalparam>-Xdoclint:none</additionalparam>
								<links>
									<link>http://docs.spring.io/spring/docs/current/javadoc-api/</link>
									<link>http://docs.oracle.com/javase/6/docs/api</link>
								</links>
							</configuration>
						</plugin>

						<!--
							Asciidoctor
						-->

						<plugin>
							<groupId>org.asciidoctor</groupId>
							<artifactId>asciidoctor-maven-plugin</artifactId>
							<dependencies>
								<dependency>
									<groupId>org.asciidoctor</groupId>
									<artifactId>asciidoctorj-pdf</artifactId>
									<version>1.5.0-alpha.11</version>
								</dependency>
								<dependency>
									<groupId>org.asciidoctor</groupId>
									<artifactId>asciidoctorj-epub3</artifactId>
									<version>1.5.0-alpha.6</version>
								</dependency>
							</dependencies>
							<executions>

								<execution>
									<id>html</id>
									<phase>generate-resources</phase>
									<goals>
										<goal>process-asciidoc</goal>
									</goals>
									<configuration>
										<backend>html5</backend>
										<outputDirectory>${project.root}/target/site/reference/html</outputDirectory>
										<sectids>false</sectids>
										<sourceHighlighter>prettify</sourceHighlighter>
										<attributes>
											<linkcss>true</linkcss>
											<icons>font</icons>
											<sectanchors>true</sectanchors>
											<stylesheet>spring.css</stylesheet>
										</attributes>
									</configuration>
								</execution>

								<execution>
									<id>epub</id>
									<phase>generate-resources</phase>
									<goals>
										<goal>process-asciidoc</goal>
									</goals>
									<configuration>
										<backend>epub3</backend>
										<sourceHighlighter>coderay</sourceHighlighter>
									</configuration>
								</execution>

								<execution>
									<id>pdf</id>
									<phase>generate-resources</phase>
									<goals>
										<goal>process-asciidoc</goal>
									</goals>
									<configuration>
										<backend>pdf</backend>
										<sourceHighlighter>coderay</sourceHighlighter>
									</configuration>
								</execution>

							</executions>

							<configuration>
								<sourceDirectory>${project.root}/src/main/asciidoc</sourceDirectory>
								<sourceDocumentName>index.adoc</sourceDocumentName>
								<doctype>book</doctype>
								<attributes>
									<version>${project.version}</version>
									<projectName>${project.name}</projectName>
									<projectVersion>${project.version}</projectVersion>
									<springVersion>${spring.version}</springVersion>
									<allow-uri-read>true</allow-uri-read>
									<toclevels>3</toclevels>
									<numbered>true</numbered>
								</attributes>
							</configuration>

						</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>static</id>
									<goals>
										<goal>single</goal>
									</goals>
									<phase>prepare-package</phase>
									<configuration>
										<descriptors>
											<descriptor>${shared.resources}/assemblies/static-resources.xml</descriptor>
										</descriptors>
										<finalName>static-resources</finalName>
										<appendAssemblyId>false</appendAssemblyId>
									</configuration>
								</execution>
								<execution>
									<id>docs</id>
									<goals>
										<goal>single</goal>
									</goals>
									<phase>package</phase>
									<configuration>
										<descriptors>
											<descriptor>src/assembly/docs.xml</descriptor>
										</descriptors>
										<finalName>spring-vault-${project.version}-docs</finalName>
										<appendAssemblyId>false</appendAssemblyId>
										<classifier>docs</classifier>
										<attach>true</attach>
									</configuration>
								</execution>
							</executions>
						</plugin>

						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-deploy-plugin</artifactId>
							<configuration>
								<skip>true</skip>
								<uniqueVersion>false</uniqueVersion>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>

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

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