500 lines
16 KiB
XML
500 lines
16 KiB
XML
<?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>
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-tools</artifactId>
|
|
<version>${revision}</version>
|
|
</parent>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<packaging>maven-plugin</packaging>
|
|
<name>Spring Boot Maven Plugin</name>
|
|
<description>Spring Boot Maven Plugin</description>
|
|
<properties>
|
|
<main.basedir>${basedir}/../../..</main.basedir>
|
|
<maven.version>3.3.9</maven.version>
|
|
<refdocs.build.directory>${project.build.directory}/refdocs/</refdocs.build.directory>
|
|
</properties>
|
|
<scm>
|
|
<url>${git.url}</url>
|
|
<connection>${git.connection}</connection>
|
|
<developerConnection>${git.developerConnection}</developerConnection>
|
|
</scm>
|
|
<dependencies>
|
|
<!-- Compile -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-loader-tools</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-archiver</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-artifact</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-core</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>javax.enterprise</groupId>
|
|
<artifactId>cdi-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-model</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-plugin-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-settings</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven.shared</groupId>
|
|
<artifactId>maven-common-artifact-filters</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>javax.enterprise</groupId>
|
|
<artifactId>cdi-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-archiver</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-container-default</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-component-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-utils</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.sonatype.plexus</groupId>
|
|
<artifactId>plexus-build-api</artifactId>
|
|
</dependency>
|
|
<!-- Optional -->
|
|
<dependency>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<!-- Provided -->
|
|
<dependency>
|
|
<groupId>org.apache.maven.plugin-tools</groupId>
|
|
<artifactId>maven-plugin-annotations</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-plugin-plugin</artifactId>
|
|
<configuration>
|
|
<goalPrefix>spring-boot</goalPrefix>
|
|
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-descriptor</id>
|
|
<goals>
|
|
<goal>descriptor</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>generated-helpmojo</id>
|
|
<goals>
|
|
<goal>helpmojo</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<profiles>
|
|
<profile>
|
|
<id>integration</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-invoker-plugin</artifactId>
|
|
<configuration>
|
|
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-integration-test</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>install</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>integration-test</id>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
|
|
<settingsFile>src/it/settings.xml</settingsFile>
|
|
<postBuildHookScript>verify</postBuildHookScript>
|
|
<addTestClassPath>true</addTestClassPath>
|
|
<skipInvocation>${skipTests}</skipInvocation>
|
|
<streamLogs>true</streamLogs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>cleanup-local-integration-repo</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<replaceregexp match="\$\{revision\}" replace="${project.version}"
|
|
flags="g" byline="true">
|
|
<fileset
|
|
dir="${project.build.directory}/local-repo/org/springframework/boot/"
|
|
includes="**/*.pom" />
|
|
</replaceregexp>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>full</id>
|
|
<activation>
|
|
<property>
|
|
<name>full</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-invoker-plugin</artifactId>
|
|
<configuration>
|
|
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-integration-test</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>install</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>integration-test</id>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
|
|
<settingsFile>src/it/settings.xml</settingsFile>
|
|
<postBuildHookScript>verify</postBuildHookScript>
|
|
<addTestClassPath>true</addTestClassPath>
|
|
<skipInvocation>${skipTests}</skipInvocation>
|
|
<streamLogs>true</streamLogs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<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>cleanup-local-integration-repo</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<replaceregexp match="\$\{revision\}" replace="${project.version}"
|
|
flags="g" byline="true">
|
|
<fileset
|
|
dir="${project.build.directory}/local-repo/org/springframework/boot/"
|
|
includes="**/*.pom" />
|
|
</replaceregexp>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
<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
|
|
dir="${project.build.directory}/generated-docs/reference/html"
|
|
prefix="html" />
|
|
<mappedresources>
|
|
<fileset
|
|
dir="${project.build.directory}/generated-docs/reference/pdf"
|
|
includes="index.pdf" />
|
|
<globmapper from="index.pdf"
|
|
to="pdf/spring-boot-maven-plugin.pdf" />
|
|
</mappedresources>
|
|
</zip>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.googlecode.maven-download-plugin</groupId>
|
|
<artifactId>download-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-doc-resources</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>${spring-doc-resources.url}</url>
|
|
<unpack>true</unpack>
|
|
<outputDirectory>${refdocs.build.directory}</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.gmavenplus</groupId>
|
|
<artifactId>gmavenplus-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>execute</goal>
|
|
</goals>
|
|
<phase>prepare-package</phase>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<scripts>
|
|
<script>file:///${project.basedir}/src/main/groovy/generateGoalsDocumentation.groovy</script>
|
|
</scripts>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-ant</artifactId>
|
|
<version>${groovy.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-xml</artifactId>
|
|
<version>${groovy.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.asciidoctor</groupId>
|
|
<artifactId>asciidoctor-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-html-documentation</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>process-asciidoc</goal>
|
|
</goals>
|
|
<configuration>
|
|
<backend>html5</backend>
|
|
<outputDirectory>${project.build.directory}/generated-docs/reference/html</outputDirectory>
|
|
<sourceHighlighter>highlight.js</sourceHighlighter>
|
|
<doctype>book</doctype>
|
|
<attributes>
|
|
<highlightjsdir>js/highlight</highlightjsdir>
|
|
<highlightjs-theme>github</highlightjs-theme>
|
|
<linkcss>true</linkcss>
|
|
<imagesdir>./images</imagesdir>
|
|
<icons>font</icons>
|
|
<stylesdir>css/</stylesdir>
|
|
<stylesheet>spring.css</stylesheet>
|
|
<attribute-missing>warn</attribute-missing>
|
|
</attributes>
|
|
<logHandler>
|
|
<outputToConsole>true</outputToConsole>
|
|
<failIf>
|
|
<severity>DEBUG</severity>
|
|
</failIf>
|
|
</logHandler>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>generate-pdf-documentation</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>process-asciidoc</goal>
|
|
</goals>
|
|
<configuration>
|
|
<backend>pdf</backend>
|
|
<outputDirectory>${project.build.directory}/generated-docs/reference/pdf</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<sourceDirectory>${refdocs.build.directory}</sourceDirectory>
|
|
<sourceDocumentName>index.adoc</sourceDocumentName>
|
|
<attributes>
|
|
<version>${project.version}</version>
|
|
<build-helper-maven-plugin-version>${build-helper-maven-plugin.version}</build-helper-maven-plugin-version>
|
|
<maven-failsafe-plugin-version>${maven-failsafe-plugin.version}</maven-failsafe-plugin-version>
|
|
<maven-jar-plugin-version>${maven-jar-plugin.version}</maven-jar-plugin-version>
|
|
<generated-resources-root>${project.basedir}/target/generated-resources</generated-resources-root>
|
|
</attributes>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.asciidoctor</groupId>
|
|
<artifactId>asciidoctorj-pdf</artifactId>
|
|
<version>1.5.0-alpha.18</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-asciidoc-resources</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${refdocs.build.directory}</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/asciidoc</directory>
|
|
<filtering>false</filtering>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</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>
|