Add asciidoctor task

Issue gh-613
This commit is contained in:
Josh Cummings
2022-01-13 10:39:40 -07:00
parent c6eda0fe51
commit d84d64f968
3 changed files with 41 additions and 2 deletions

View File

@@ -12,7 +12,6 @@ buildscript {
}
dependencies {
classpath "com.github.ben-manes:gradle-versions-plugin:0.17.0"
classpath('org.asciidoctor:asciidoctor-gradle-plugin:1.5.1')
classpath("io.spring.gradle:spring-io-plugin:0.0.6.RELEASE")
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.12.0"
classpath 'org.hidetake:gradle-ssh-plugin:2.10.1'
@@ -28,4 +27,24 @@ description = "Spring LDAP"
nohttp {
allowlistFile = project.file("etc/nohttp/allowlist.lines")
source.exclude "buildSrc/build/**"
}
asciidoctor {
outputDir = new File("$buildDir/docs")
attributes([
copycss : '',
icons : 'font',
'source-highlighter': 'prettify',
sectanchors : '',
toc2: '',
idprefix: '',
idseparator: '-',
doctype: 'book',
numbered: '',
'spring-ldap-version' : project.version,
revnumber : project.version
])
options = [
eruby: 'erubis'
]
}

View File

@@ -91,6 +91,7 @@ dependencies {
implementation 'io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15'
implementation 'io.spring.nohttp:nohttp-gradle:0.0.10'
implementation 'net.sourceforge.htmlunit:htmlunit:2.37.0'
implementation 'org.asciidoctor:asciidoctor-gradle-jvm:3.3.2'
implementation 'org.hidetake:gradle-ssh-plugin:2.10.1'
implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.26.1'
implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'

View File

@@ -1,8 +1,10 @@
package io.spring.gradle.convention
import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.api.plugins.BasePlugin
import org.gradle.api.plugins.PluginManager
import org.gradle.api.tasks.bundling.Zip
@@ -17,9 +19,23 @@ public class DocsPlugin implements Plugin<Project> {
PluginManager pluginManager = project.getPluginManager();
pluginManager.apply(BasePlugin);
pluginManager.apply("org.asciidoctor.jvm.convert");
pluginManager.apply(DeployDocsPlugin);
pluginManager.apply(JavadocApiPlugin);
project.getGradle().afterProject(new Action<Project>() {
@Override
public void execute(Project p) {
RepositoryHandler repositories = p.getRepositories();
if (repositories.isEmpty()) {
repositories.mavenCentral();
repositories.maven(repo -> {
repo.setUrl(URI.create("https://repo.spring.io/release"));
});
}
}
});
Task docsZip = project.tasks.create('docsZip', Zip) {
dependsOn 'api'
group = 'Distribution'
@@ -27,7 +43,10 @@ public class DocsPlugin implements Plugin<Project> {
archiveClassifier = 'docs'
description = "Builds -${archiveClassifier.get()} archive containing all " +
"Docs for deployment at docs.spring.io"
from(project.tasks.asciidoctor.outputs) {
into 'reference'
include '**'
}
from(project.tasks.api.outputs) {
into 'api'
}