You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.9 KiB
115 lines
2.9 KiB
// 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}/" |
|
docbookFoPdf.imgSrcPath = "${projectDir}/src/docbook/" |
|
|
|
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']
|
|
|