123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- // 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']
- def ghTag = snapshotBuild ? 'master' : project.version
- def ghUrl = "https://github.com/spring-projects/spring-security/tree/$ghTag"
- 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,
- 'gh-url': ghUrl,
- 'gh-samples-url': "$ghUrl/samples",
- 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"
- logging.captureStandardError LogLevel.INFO
- logging.captureStandardOutput LogLevel.INFO
- source coreModuleProjects.collect { project ->
- project.sourceSets.main.allJava
- }
- classpath = files(coreModuleProjects.collect { project ->
- project.sourceSets.main.compileClasspath
- })
- options {
- outputLevel = org.gradle.external.javadoc.JavadocOutputLevel.QUIET
- 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/"
- ]
- 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*'],
- ]
- addStringOption('-quiet')
- }
- }
- if (JavaVersion.current().isJava8Compatible()) {
- // Turn off doclint in JDK 8 Javadoc (too strict on checks)
- apidocs.options.addStringOption('Xdoclint:none', '-quiet')
- }
- 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
- }
- }
- }
- }
|