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.
143 lines
4.5 KiB
143 lines
4.5 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 = '' |
|
|
|
ext.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/" |
|
|
|
ext.spec = copySpec { |
|
into ('reference') { |
|
from("$buildDir/docs") |
|
from("$projectDir/src/resources") |
|
} |
|
into ('reference/images') { |
|
from (imagesDir) |
|
} |
|
} |
|
} |
|
|
|
task reference (type: Copy) { |
|
dependsOn 'manual:docbook' |
|
destinationDir = buildDir |
|
with(project('manual').spec) |
|
} |
|
|
|
task apidocs(type: Javadoc) { |
|
destinationDir = new File(buildDir, 'apidocs') |
|
title = "Spring Security $version API" |
|
|
|
source coreModuleProjects.collect { project -> |
|
project.sourceSets.main.allJava |
|
} |
|
|
|
classpath = files(coreModuleProjects.collect { project -> |
|
project.sourceSets.main.compileClasspath |
|
}) |
|
} |
|
|
|
apidocs.options.outputLevel = org.gradle.external.javadoc.JavadocOutputLevel.QUIET |
|
|
|
apidocs.options.links = [ |
|
"http://static.springframework.org/spring/docs/3.0.x/javadoc-api", |
|
"http://static.springsource.org/spring-ldap/docs/1.3.x/apidocs/", |
|
"http://download.oracle.com/javase/6/docs/api/" |
|
] |
|
|
|
apidocs.options.groups = [ |
|
'Spring Security Core':[ |
|
'org.springframework.security.core*', |
|
'org.springframework.security.authentication*', |
|
'org.springframework.security.access*', |
|
'org.springframework.security.remoting*', |
|
'org.springframework.security.provisioning*', |
|
'org.springframework.security.util*'], |
|
'Spring Security Web':['org.springframework.security.web*'], |
|
'Spring Security LDAP':['org.springframework.security.ldap*'], |
|
'Spring Security Crypto':['org.springframework.security.crypto*'], |
|
'Spring Security OpenID':['org.springframework.security.openid*'], |
|
'Spring Security CAS':['org.springframework.security.cas*'], |
|
'Spring Security ACL':['org.springframework.security.acls*'], |
|
'Spring Security Config':['org.springframework.security.config*'], |
|
'Spring Security Taglibs':['org.springframework.security.taglibs*'], |
|
|
|
] |
|
|
|
ext.apiSpec = copySpec { |
|
into('apidocs') { |
|
from(apidocs.destinationDir) |
|
} |
|
} |
|
|
|
assemble.dependsOn = [apidocs, 'manual:docbook'] |
|
|
|
task docsZip(type: Zip) { |
|
dependsOn docs |
|
group = 'Distribution' |
|
baseName = rootProject.name |
|
classifier = 'docs' |
|
description = "Builds -${classifier} archive containing api and reference " + |
|
"for deployment at static.springframework.org/spring-security/site/docs." |
|
|
|
with(project(':docs').apiSpec) |
|
with(project(':docs:manual').spec) |
|
with(project(':docs:faq').spec) |
|
} |
|
|
|
task schemaZip(type: Zip) { |
|
group = 'Distribution' |
|
baseName = rootProject.name |
|
classifier = 'schema' |
|
description = "Builds -${classifier} archive containing all " + |
|
"XSDs for deployment at static.springframework.org/schema." |
|
|
|
coreModuleProjects.each { module -> |
|
def Properties schemas = new Properties(); |
|
|
|
module.sourceSets.main.resources.find { |
|
it.path.endsWith('META-INF/spring.schemas') |
|
}?.withInputStream { schemas.load(it) } |
|
|
|
for (def key : schemas.keySet()) { |
|
def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1') |
|
assert shortName != key |
|
File xsdFile = module.sourceSets.main.resources.find { |
|
it.path.endsWith(schemas.get(key)) |
|
} |
|
assert xsdFile != null |
|
into (shortName) { |
|
from xsdFile.path |
|
} |
|
} |
|
} |
|
}
|
|
|