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.
148 lines
3.9 KiB
148 lines
3.9 KiB
// Docbook and Javadoc building and uploading tasks |
|
apply plugin: 'base' |
|
|
|
task docs { |
|
dependsOn 'manual:reference', 'apidocs', 'guides:asciidoctor' |
|
} |
|
|
|
project('manual') { |
|
apply plugin: 'base' |
|
apply plugin: 'org.asciidoctor.gradle.asciidoctor' |
|
apply plugin: 'docbook-reference' |
|
|
|
ext.expandPlaceholders = "" |
|
|
|
asciidoctorj { |
|
version = '1.5.2' |
|
} |
|
|
|
asciidoctor { |
|
backends = ['docbook5'] |
|
options = [ |
|
eruby: 'erubis', |
|
attributes: [ |
|
copycss : '', |
|
icons : 'font', |
|
'source-highlighter': 'prettify', |
|
sectanchors : '', |
|
toc2: '', |
|
idprefix: '', |
|
idseparator: '-', |
|
doctype: 'book', |
|
numbered: '', |
|
'spring-security-version' : project.version, |
|
'spring-version' : springVersion, |
|
revnumber : project.version, |
|
docinfo : "" |
|
] |
|
] |
|
} |
|
|
|
reference { |
|
sourceDir = new File(asciidoctor.outputDir , 'docbook5') |
|
pdfFilename = "spring-security-reference.pdf" |
|
epubFilename = "spring-security-reference.epub" |
|
expandPlaceholders = "" |
|
} |
|
|
|
afterEvaluate { |
|
tasks.findAll { it.name.startsWith("reference") }.each{ it.dependsOn.add("asciidoctor") } |
|
} |
|
|
|
|
|
ext.spec = copySpec { |
|
from (reference) { |
|
into 'reference' |
|
} |
|
} |
|
} |
|
|
|
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.2.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:asciidoctor'] |
|
|
|
task docsZip(type: Zip) { |
|
dependsOn docs |
|
evaluationDependsOn('guides') |
|
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:guides').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 |
|
} |
|
} |
|
} |
|
}
|
|
|