mirror of
				https://github.com/spring-projects/spring-security.git
				synced 2025-11-04 08:39:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			149 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
	// 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
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |