115 lines
2.9 KiB
Groovy
115 lines
2.9 KiB
Groovy
// Docbook and Javadoc building and uploading tasks
|
|
apply plugin: 'base'
|
|
|
|
task docs {
|
|
dependsOn 'manual:docbook', 'faq:docbookHtmlSingle', 'apidocs'
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: 'base'
|
|
apply plugin: 'docbook'
|
|
|
|
docbookHtmlSingle.stylesheet = new File(projectDir, 'src/xsl/html-single-custom.xsl')
|
|
}
|
|
|
|
project('faq') {
|
|
defaultTasks 'docbookHtmlSingle'
|
|
[docbookHtml, docbookFoPdf, docbookHtmlSingle]*.sourceFileName = 'faq.xml'
|
|
docbookHtmlSingle.suffix = ''
|
|
|
|
spec = copySpec {
|
|
into ('faq') {
|
|
from("$buildDir/docs")
|
|
from("$projectDir/src/resources")
|
|
}
|
|
}
|
|
}
|
|
|
|
project('manual') {
|
|
defaultTasks 'docbookHtml', 'docbookHtmlSingle', 'docbookFoPdf'
|
|
[docbookHtml, docbookFoPdf, docbookHtmlSingle]*.sourceFileName = 'springsecurity.xml'
|
|
|
|
docbookHtml.stylesheet = new File(projectDir, 'src/xsl/html-custom.xsl')
|
|
docbookHtmlSingle.stylesheet = new File(projectDir, 'src/xsl/html-single-custom.xsl')
|
|
docbookFoPdf.stylesheet = new File(projectDir, 'src/xsl/pdf-custom.xsl')
|
|
def imagesDir = new File(projectDir, 'src/docbook/images');
|
|
docbookFoPdf.admonGraphicsPath = "${imagesDir}/"
|
|
|
|
spec = copySpec {
|
|
into ('reference') {
|
|
from("$buildDir/docs")
|
|
from("$projectDir/src/resources")
|
|
}
|
|
into ('reference/images') {
|
|
from (imagesDir)
|
|
}
|
|
}
|
|
}
|
|
|
|
task apidocs(type: Javadoc) {
|
|
destinationDir = new File(buildDir, 'apidocs')
|
|
title = "Spring Security $version API"
|
|
optionsFile = file("$buildDir/tmp/javadoc.options")
|
|
|
|
source coreModuleProjects.collect { project ->
|
|
project.sourceSets.main.allJava
|
|
}
|
|
|
|
classpath = files(coreModuleProjects.collect { project ->
|
|
project.sourceSets.main.compileClasspath
|
|
})
|
|
}
|
|
|
|
apiSpec = copySpec {
|
|
into('apidocs') {
|
|
from(apidocs.destinationDir)
|
|
}
|
|
}
|
|
|
|
task docSiteLogin(type: Login) {
|
|
if (project.hasProperty('sshHost')) {
|
|
host = project.property('sshHost')
|
|
}
|
|
}
|
|
|
|
// Define remoteSiteDir and sshHost in gradle.properties
|
|
def remoteDocsDir = null
|
|
|
|
if (hasProperty('remoteSiteDir')) {
|
|
remoteDocsDir="$remoteSiteDir/docs/3.1.x"
|
|
}
|
|
|
|
task uploadApidocs(type: TarUpload) {
|
|
dependsOn apidocs
|
|
baseName = "${rootProject.name}"
|
|
appendix = 'apidocs'
|
|
remoteDir = remoteDocsDir
|
|
login = docSiteLogin
|
|
|
|
with(apiSpec)
|
|
}
|
|
|
|
task uploadManual(type: TarUpload) {
|
|
dependsOn 'manual:docbook'
|
|
baseName = "${rootProject.name}"
|
|
appendix = 'doc'
|
|
remoteDir = remoteDocsDir
|
|
login = docSiteLogin
|
|
|
|
with(project('manual').spec)
|
|
}
|
|
|
|
task uploadFaq(type: TarUpload) {
|
|
dependsOn 'faq:docbookHtmlSingle'
|
|
baseName = "${rootProject.name}"
|
|
appendix = 'faq'
|
|
if (project.hasProperty('remoteSiteDir')) {
|
|
remoteDir = project.property('remoteSiteDir')
|
|
}
|
|
login = docSiteLogin
|
|
|
|
with(project('faq').spec)
|
|
}
|
|
|
|
assemble.dependsOn = [apidocs, 'manual:docbook']
|