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.
136 lines
4.1 KiB
136 lines
4.1 KiB
// Docbook and Javadoc building and uploading tasks |
|
apply plugin: 'base' |
|
|
|
task docs { |
|
dependsOn 'manual:asciidoctor', 'apidocs', 'guides:asciidoctor' |
|
} |
|
|
|
project('manual') { |
|
apply plugin: 'base' |
|
apply plugin: 'org.asciidoctor.gradle.asciidoctor' |
|
|
|
ext.expandPlaceholders = "" |
|
|
|
asciidoctorj { |
|
version = '1.5.2' |
|
} |
|
|
|
asciidoctor { |
|
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, |
|
'spring4-version' : spring4Version, |
|
revnumber : project.version |
|
] |
|
] |
|
} |
|
|
|
|
|
ext.spec = copySpec { |
|
into ('reference/htmlsingle') { |
|
from(asciidoctor.outputDir) |
|
exclude 'build', 'Guardfile' |
|
} |
|
} |
|
} |
|
|
|
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 = [ |
|
"https://docs.spring.io/spring/docs/3.2.x/javadoc-api", |
|
"https://docs.spring.io/spring-ldap/docs/1.3.x/apidocs/", |
|
"https://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 |
|
} |
|
} |
|
} |
|
}
|
|
|