<?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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-tools</artifactId>
		<version>2.0.0.BUILD-SNAPSHOT</version>
	</parent>
	<artifactId>spring-boot-gradle-plugin</artifactId>
	<packaging>pom</packaging>
	<name>Spring Boot Gradle Plugin</name>
	<description>Spring Boot Gradle Plugin</description>
	<url>http://projects.spring.io/spring-boot/</url>
	<organization>
		<name>Pivotal Software, Inc.</name>
		<url>http://www.spring.io</url>
	</organization>
	<properties>
		<main.basedir>${basedir}/../..</main.basedir>
		<gradle.executable>./gradlew</gradle.executable>
		<gradle.task>build</gradle.task>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-loader-tools</artifactId>
		</dependency>
		<dependency>
			<groupId>io.spring.gradle</groupId>
			<artifactId>dependency-management-plugin</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-compress</artifactId>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-help-plugin</artifactId>
				<executions>
					<execution>
						<phase>prepare-package</phase>
						<goals>
							<goal>effective-pom</goal>
						</goals>
						<configuration>
							<output>${project.build.directory}/effective-pom.xml</output>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>gradle</id>
						<phase>prepare-package</phase>
						<configuration>
							<executable>${gradle.executable}</executable>
							<arguments>
								<argument>clean</argument>
								<argument>${gradle.task}</argument>
								<argument>-Pversion=${project.version}</argument>
								<argument>-Pdescription=${project.description}</argument>
							</arguments>
						</configuration>
						<goals>
							<goal>exec</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.12</version>
				<executions>
					<execution>
						<id>attach-artifacts</id>
						<phase>package</phase>
						<goals>
							<goal>attach-artifact</goal>
						</goals>
						<configuration>
							<artifacts>
								<artifact>
									<file>build/libs/${project.artifactId}-${project.version}.jar</file>
									<type>jar</type>
								</artifact>
								<artifact>
									<file>build/libs/${project.artifactId}-${project.version}-javadoc.jar</file>
									<type>jar</type>
									<classifier>javadoc</classifier>
								</artifact>
								<artifact>
									<file>build/libs/${project.artifactId}-${project.version}-sources.jar</file>
									<type>jar</type>
									<classifier>sources</classifier>
								</artifact>
							</artifacts>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>windows</id>
			<activation>
				<os>
					<family>windows</family>
				</os>
			</activation>
			<properties>
				<gradle.executable>gradlew.bat</gradle.executable>
			</properties>
		</profile>
		<profile>
			<id>skipTests</id>
			<activation>
				<property>
					<name>skipTests</name>
					<value>true</value>
				</property>
			</activation>
			<properties>
				<gradle.task>assemble</gradle.task>
			</properties>
		</profile>
		<profile>
			<id>full</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-antrun-plugin</artifactId>
						<dependencies>
							<dependency>
								<groupId>ant-contrib</groupId>
								<artifactId>ant-contrib</artifactId>
								<version>1.0b3</version>
								<exclusions>
									<exclusion>
										<groupId>ant</groupId>
										<artifactId>ant</artifactId>
									</exclusion>
								</exclusions>
							</dependency>
							<dependency>
								<groupId>org.apache.ant</groupId>
								<artifactId>ant-nodeps</artifactId>
								<version>1.8.1</version>
							</dependency>
							<dependency>
								<groupId>org.tigris.antelope</groupId>
								<artifactId>antelopetasks</artifactId>
								<version>3.2.10</version>
							</dependency>
						</dependencies>
						<executions>
							<execution>
								<id>set-up-maven-properties</id>
								<phase>prepare-package</phase>
								<goals>
									<goal>run</goal>
								</goals>
								<configuration>
									<exportAntProperties>true</exportAntProperties>
									<target>
										<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
										<taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask" />
										<var name="version-type" value="${project.version}" />
										<propertyregex property="version-type" override="true" input="${version-type}" regexp=".*\.(.*)" replace="\1" />
										<propertyregex property="version-type" override="true" input="${version-type}" regexp="(M)\d+" replace="MILESTONE" />
										<propertyregex property="version-type" override="true" input="${version-type}" regexp="(RC)\d+" replace="MILESTONE" />
										<propertyregex property="version-type" override="true" input="${version-type}" regexp="BUILD-(.*)" replace="SNAPSHOT" />
										<var name="github-tag" value="v${project.version}" />
										<propertyregex property="github-tag" override="true" input="${github-tag}" regexp=".*SNAPSHOT" replace="master" />
									</target>
								</configuration>
							</execution>
							<execution>
								<id>package-docs-zip</id>
								<phase>package</phase>
								<goals>
									<goal>run</goal>
								</goals>
								<configuration>
									<target>
										<zip destfile="${project.build.directory}/${project.artifactId}-${project.version}-docs.zip">
											<zipfileset src="build/libs/${project.artifactId}-${project.version}-javadoc.jar" prefix="api" />
											<zipfileset dir="${project.build.directory}/generated-docs" includes="index.html" prefix="reference/html" />
											<mappedresources>
												<fileset dir="${project.build.directory}/generated-docs" includes="index.pdf" />
												<globmapper from="index.pdf" to="reference/pdf/spring-boot-gradle-plugin-reference.pdf"/>
											</mappedresources>
										</zip>
									</target>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.asciidoctor</groupId>
						<artifactId>asciidoctor-maven-plugin</artifactId>
						<version>1.5.3</version>
						<executions>
							<execution>
								<id>generate-html-documentation</id>
								<phase>prepare-package</phase>
								<goals>
									<goal>process-asciidoc</goal>
								</goals>
								<configuration>
									<backend>html</backend>
								</configuration>
							</execution>
							<execution>
								<id>generate-pdf-documentation</id>
								<phase>prepare-package</phase>
								<goals>
									<goal>process-asciidoc</goal>
								</goals>
								<configuration>
									<backend>pdf</backend>
								</configuration>
							</execution>
						</executions>
						<configuration>
							<sourceDocumentName>index.adoc</sourceDocumentName>
							<attributes>
								<version-type>${version-type}</version-type>
								<version>${project.version}</version>
							</attributes>
						</configuration>
						<dependencies>
							<dependency>
								<groupId>org.asciidoctor</groupId>
								<artifactId>asciidoctorj-pdf</artifactId>
								<version>1.5.0-alpha.11</version>
							</dependency>
						</dependencies>
					</plugin>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>build-helper-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-zip</id>
								<goals>
									<goal>attach-artifact</goal>
								</goals>
								<configuration>
									<artifacts>
										<artifact>
											<file>${project.build.directory}/${project.artifactId}-${project.version}-docs.zip</file>
											<type>zip</type>
											<classifier>docs</classifier>
										</artifact>
									</artifacts>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
