<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2013-2018 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.
  ~
  -->

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

	<parent>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-build</artifactId>
		<version>2.1.2.RELEASE</version>
		<relativePath/>
	</parent>

	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-kubernetes</artifactId>
	<version>1.0.0.RELEASE</version>
	<packaging>pom</packaging>
	<name>Spring Cloud Kubernetes</name>

	<url>http://cloud.spring.io</url>
	<inceptionYear>2017</inceptionYear>

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

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<scm>
		<url>https://github.com/spring-cloud-incubator/spring-cloud-kubernetes</url>
		<connection>scm:git:git://github.com/spring-cloud-incubator/spring-cloud-kubernetes.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/spring-cloud-incubator/spring-cloud-kubernetes.git
		</developerConnection>
		<tag>HEAD</tag>
	</scm>

	<properties>
		<!-- Dependency Versions -->
		<spring-cloud-commons.version>2.1.0.RELEASE</spring-cloud-commons.version>
		<spring-cloud-netflix.version>2.1.0.RELEASE</spring-cloud-netflix.version>
		<spring-cloud-config.version>2.1.0.RELEASE</spring-cloud-config.version>

		<!-- Maven Plugin Versions -->
		<maven-compiler-plugin.version>3.5</maven-compiler-plugin.version>
		<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
		<maven-failsafe-plugin.version>2.18.1</maven-failsafe-plugin.version>
		<maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>
		<fabric8.maven.plugin.version>3.5.37</fabric8.maven.plugin.version>
		<gmavenplus-plugin.version>1.6</gmavenplus-plugin.version>
		<groovy.version>2.4.12</groovy.version>
		<restassured.version>3.0.2</restassured.version>
		<spock-spring.version>1.1-groovy-2.4</spock-spring.version>
	</properties>

	<modules>
		<module>spring-cloud-kubernetes-dependencies</module>
		<module>spring-cloud-kubernetes-core</module>
		<module>spring-cloud-kubernetes-config</module>
		<module>spring-cloud-kubernetes-discovery</module>
		<module>spring-cloud-kubernetes-ribbon</module>
		<module>spring-cloud-starter-kubernetes</module>
		<module>spring-cloud-starter-kubernetes-config</module>
		<module>spring-cloud-starter-kubernetes-ribbon</module>
		<module>spring-cloud-starter-kubernetes-all</module>
		<module>spring-cloud-kubernetes-examples</module>
		<module>spring-cloud-kubernetes-leader</module>
		<module>spring-cloud-kubernetes-istio</module>
		<module>spring-cloud-kubernetes-integration-tests</module>
		<module>docs</module>
	</modules>

	<dependencyManagement>
		<dependencies>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-kubernetes-dependencies</artifactId>
				<version>${project.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-commons-dependencies</artifactId>
				<version>${spring-cloud-commons.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-netflix-dependencies</artifactId>
				<version>${spring-cloud-netflix.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.codehaus.groovy</groupId>
				<artifactId>groovy-all</artifactId>
				<version>${groovy.version}</version>
			</dependency>

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

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-test-support</artifactId>
				<version>${spring-cloud-commons.version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.gmavenplus</groupId>
					<artifactId>gmavenplus-plugin</artifactId>
					<version>${gmavenplus-plugin.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<inherited>true</inherited>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
				<inherited>true</inherited>
				<configuration>
					<forkCount>1</forkCount>
					<reuseForks>false</reuseForks>
					<!-- Workaround for https://issues.apache.org/jira/browse/SUREFIRE-1588 -->
					<useSystemClassLoader>false</useSystemClassLoader>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>spring</id>
			<repositories>
				<repository>
					<id>spring-snapshots</id>
					<name>Spring Snapshots</name>
					<url>https://repo.spring.io/libs-snapshot-local</url>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
					<releases>
						<enabled>false</enabled>
					</releases>
				</repository>
				<repository>
					<id>spring-milestones</id>
					<name>Spring Milestones</name>
					<url>https://repo.spring.io/libs-milestone-local</url>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
				<repository>
					<id>spring-releases</id>
					<name>Spring Releases</name>
					<url>https://repo.spring.io/release</url>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>spring-snapshots</id>
					<name>Spring Snapshots</name>
					<url>https://repo.spring.io/libs-snapshot-local</url>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
					<releases>
						<enabled>false</enabled>
					</releases>
				</pluginRepository>
				<pluginRepository>
					<id>spring-milestones</id>
					<name>Spring Milestones</name>
					<url>https://repo.spring.io/libs-milestone-local</url>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
				<pluginRepository>
					<id>spring-releases</id>
					<name>Spring Releases</name>
					<url>https://repo.spring.io/libs-release-local</url>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<!-- TODO: move t s-c-build -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<version>1.3.1</version>
						<executions>
							<execution>
								<id>enforce-no-snapshots</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireReleaseDeps>
											<message>No Snapshots Allowed!</message>
										</requireReleaseDeps>
									</rules>
									<fail>false</fail>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
