| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | 
							- 	// Docbook and Javadoc building and uploading tasks
 
- apply plugin: 'base'
 
- apply from: "$rootDir/gradle/deploy-docs.gradle"
 
- apply from: "$rootDir/gradle/deploy-schema.gradle"
 
- 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 = [
 
- 			"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/"
 
- 		]
 
- 		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) {
 
- 				duplicatesStrategy 'exclude'
 
- 				from xsdFile.path
 
- 			}
 
- 		}
 
- 	}
 
- }
 
 
  |