Fix documentation build.

Closes gh-474.
This commit is contained in:
Mark Paluch
2019-09-12 14:58:12 +02:00
parent de3e3e2d2e
commit 9c2228404a
2 changed files with 385 additions and 351 deletions

351
pom.xml
View File

@@ -692,80 +692,13 @@
<properties>
<maven.install.skip>true</maven.install.skip>
<skipTests>true</skipTests>
<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>
<maven.install.skip>true</maven.install.skip>
<maven.deploy.skip>true</maven.deploy.skip>
<skipTests>true</skipTests>
</properties>
<dependencies>
<dependency>
<groupId>io.spring.docresources</groupId>
<artifactId>spring-doc-resources</artifactId>
<version>0.1.2.RELEASE</version>
<scope>provided</scope>
<type>zip</type>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<!--
Provide shared resources for Javadoc and Asciidoc.
-->
<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>
<configuration>
<includeGroupIds>org.springframework.data
</includeGroupIds>
<includeArtifactIds>spring-data-build-resources
</includeArtifactIds>
<includeTypes>zip</includeTypes>
<excludeTransitive>true</excludeTransitive>
<outputDirectory>${shared.resources}</outputDirectory>
</configuration>
</execution>
<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>
<!--
Configures JavaDoc generation.
-->
@@ -785,288 +718,6 @@
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--
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/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>prepare-package</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>create-generated-docs-resources</id>
<phase>process-resources</phase>
<configuration>
<target>
<copy failonerror="false"
todir="${project.build.directory}/working">
<fileset
dir="${project.build.directory}/doc-resources"
includes="**"/>
</copy>
<copy failonerror="false"
todir="${generated-asciidoc-sources.directory}/images/">
<fileset
dir="${project.root}/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="${project.root}/target/site/reference/html">
<fileset
dir="${project.build.directory}/doc-resources">
<include name="**"/>
<exclude name="**/docinfo*.html"/>
</fileset>
</copy>
<copy failonerror="false"
file="${project.build.directory}/generated-docs/index.html"
tofile="${project.root}/target/site/reference/html/index.html"/>
<!-- Copy and rename the Epub file -->
<copy failonerror="false"
file="${generated-docs.directory}/index.pdf"
tofile="${project.root}/target/site/reference/pdf/${dist.id}-reference.pdf"/>
<!-- Copy and rename the PDF file -->
<copy failonerror="false"
file="${generated-docs.directory}/index.epub"
tofile="${project.root}/target/site/reference/epub/${dist.id}-reference.epub"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</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.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>html</id>
<phase>compile</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>
${generated-asciidoc-sources.directory}
</sourceDirectory>
<sourceDocumentName>index.adoc
</sourceDocumentName>
<backend>html5</backend>
<outputDirectory>${generated-docs.directory}
</outputDirectory>
<sourceHighlighter>highlight.js
</sourceHighlighter>
<attributes>
<sectanchors>true</sectanchors>
<docinfo>shared</docinfo>
<stylesdir>css/</stylesdir>
<stylesheet>spring.css</stylesheet>
<linkcss>true</linkcss>
<icons>font</icons>
<toc>left</toc>
<source-highlighter>highlightjs
</source-highlighter>
<highlightjsdir>js/highlight</highlightjsdir>
<highlightjs-theme>atom-one-dark-reasonable
</highlightjs-theme>
</attributes>
</configuration>
</execution>
<execution>
<id>epub</id>
<phase>compile</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>
${generated-asciidoc-sources.directory}
</sourceDirectory>
<sourceDocumentName>index.adoc
</sourceDocumentName>
<backend>epub3</backend>
<outputDirectory>
${project.build.directory}/generated-docs
</outputDirectory>
<sourceHighlighter>coderay</sourceHighlighter>
</configuration>
</execution>
<execution>
<id>pdf</id>
<phase>compile</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>
${generated-asciidoc-sources.directory}
</sourceDirectory>
<sourceDocumentName>index.adoc
</sourceDocumentName>
<backend>pdf</backend>
<outputDirectory>
${project.build.directory}/generated-docs
</outputDirectory>
<sourceHighlighter>coderay</sourceHighlighter>
</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>
<springVersion>${spring.version}</springVersion>
<springDataVersion>
${spring-data-releasetrain.version}
</springDataVersion>
<allow-uri-read>true</allow-uri-read>
<toclevels>4</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>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>
<pluginRepositories>

View File

@@ -1,5 +1,7 @@
<?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">
<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>
@@ -42,4 +44,385 @@
</plugins>
</build>
<profiles>
<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>
<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>0.1.2.RELEASE</version>
<scope>provided</scope>
<type>zip</type>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<!--
Provide shared resources for Javadoc and Asciidoc.
-->
<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>
<configuration>
<includeGroupIds>org.springframework.data
</includeGroupIds>
<includeArtifactIds>spring-data-build-resources
</includeArtifactIds>
<includeTypes>zip</includeTypes>
<excludeTransitive>true</excludeTransitive>
<outputDirectory>${shared.resources}</outputDirectory>
</configuration>
</execution>
<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>
</plugins>
<pluginManagement>
<plugins>
<!--
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="${generated-asciidoc-sources.directory}">
<fileset
dir="${basedir}/../src/main/asciidoc">
<include name="**/*.adoc"/>
</fileset>
</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>prepare-package</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>create-generated-docs-resources</id>
<phase>process-resources</phase>
<configuration>
<target>
<copy failonerror="false"
todir="${project.build.directory}/working">
<fileset
dir="${project.build.directory}/doc-resources"
includes="**"/>
</copy>
<copy failonerror="false"
todir="${generated-asciidoc-sources.directory}/images/">
<fileset
dir="${project.root}/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="${project.root}/target/site/reference/html/images">
<fileset
dir="${generated-docs.directory}/images"/>
</copy>
<copy
todir="${project.root}/target/site/reference/html/">
<fileset
dir="${generated-asciidoc-sources.directory}">
<include name="css/**"/>
<include name="js/**"/>
<include name="*.ico"/>
</fileset>
</copy>
<copy
file="${project.build.directory}/generated-docs/index.html"
todir="${project.root}/target/site/reference/html/"/>
<!-- Copy and rename the Epub file -->
<copy
file="${generated-docs.directory}/index.pdf"
tofile="${project.root}/target/site/reference/pdf/${dist.id}-reference.pdf"/>
<!-- Copy and rename the PDF file -->
<copy
file="${generated-docs.directory}/index.epub"
tofile="${project.root}/target/site/reference/epub/${dist.id}-reference.epub"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</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.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>html</id>
<phase>compile</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>
${generated-asciidoc-sources.directory}
</sourceDirectory>
<sourceDocumentName>index.adoc
</sourceDocumentName>
<backend>html5</backend>
<outputDirectory>${generated-docs.directory}
</outputDirectory>
<sourceHighlighter>highlight.js
</sourceHighlighter>
<attributes>
<sectanchors>true</sectanchors>
<docinfo>shared</docinfo>
<stylesdir>css/</stylesdir>
<stylesheet>spring.css</stylesheet>
<linkcss>true</linkcss>
<icons>font</icons>
<toc>left</toc>
<source-highlighter>highlightjs
</source-highlighter>
<highlightjsdir>js/highlight</highlightjsdir>
<highlightjs-theme>atom-one-dark-reasonable
</highlightjs-theme>
</attributes>
</configuration>
</execution>
<execution>
<id>epub</id>
<phase>compile</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>
${generated-asciidoc-sources.directory}
</sourceDirectory>
<sourceDocumentName>index.adoc
</sourceDocumentName>
<backend>epub3</backend>
<outputDirectory>
${project.build.directory}/generated-docs
</outputDirectory>
<sourceHighlighter>coderay</sourceHighlighter>
</configuration>
</execution>
<execution>
<id>pdf</id>
<phase>compile</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>
${generated-asciidoc-sources.directory}
</sourceDirectory>
<sourceDocumentName>index.adoc
</sourceDocumentName>
<backend>pdf</backend>
<outputDirectory>
${project.build.directory}/generated-docs
</outputDirectory>
<sourceHighlighter>coderay</sourceHighlighter>
</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>
<springVersion>${spring.version}</springVersion>
<springDataVersion>
${spring-data-releasetrain.version}
</springDataVersion>
<allow-uri-read>true</allow-uri-read>
<toclevels>4</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>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>
<attach>true</attach>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<pluginRepositories>
<pluginRepository>
<id>spring-plugins-release</id>
<url>https://repo.spring.io/plugins-release</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</project>