| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | 	// Docbook and Javadoc building and uploading tasksapply 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			}		}	}}
 |