docs.gradle 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. // Docbook and Javadoc building and uploading tasks
  2. apply plugin: 'base'
  3. task docs {
  4. dependsOn 'manual:asciidoctor', 'apidocs', 'guides:asciidoctor'
  5. }
  6. project('manual') {
  7. apply plugin: 'base'
  8. apply plugin: 'org.asciidoctor.gradle.asciidoctor'
  9. ext.expandPlaceholders = ""
  10. asciidoctorj {
  11. version = '1.5.2'
  12. }
  13. asciidoctor {
  14. options = [
  15. eruby: 'erubis',
  16. attributes: [
  17. copycss : '',
  18. icons : 'font',
  19. 'source-highlighter': 'prettify',
  20. sectanchors : '',
  21. toc2: '',
  22. idprefix: '',
  23. idseparator: '-',
  24. doctype: 'book',
  25. numbered: '',
  26. 'spring-security-version' : project.version,
  27. 'spring-version' : springVersion,
  28. 'spring4-version' : spring4Version,
  29. revnumber : project.version
  30. ]
  31. ]
  32. }
  33. ext.spec = copySpec {
  34. into ('reference/htmlsingle') {
  35. from(asciidoctor.outputDir)
  36. exclude 'build', 'Guardfile'
  37. }
  38. }
  39. }
  40. task apidocs(type: Javadoc) {
  41. destinationDir = new File(buildDir, 'apidocs')
  42. title = "Spring Security $version API"
  43. source coreModuleProjects.collect { project ->
  44. project.sourceSets.main.allJava
  45. }
  46. classpath = files(coreModuleProjects.collect { project ->
  47. project.sourceSets.main.compileClasspath
  48. })
  49. }
  50. apidocs.options.outputLevel = org.gradle.external.javadoc.JavadocOutputLevel.QUIET
  51. apidocs.options.links = [
  52. "https://docs.spring.io/spring/docs/3.2.x/javadoc-api",
  53. "https://docs.spring.io/spring-ldap/docs/1.3.x/apidocs/",
  54. "https://download.oracle.com/javase/6/docs/api/"
  55. ]
  56. apidocs.options.groups = [
  57. 'Spring Security Core':[
  58. 'org.springframework.security.core*',
  59. 'org.springframework.security.authentication*',
  60. 'org.springframework.security.access*',
  61. 'org.springframework.security.remoting*',
  62. 'org.springframework.security.provisioning*',
  63. 'org.springframework.security.util*'],
  64. 'Spring Security Web':['org.springframework.security.web*'],
  65. 'Spring Security LDAP':['org.springframework.security.ldap*'],
  66. 'Spring Security Crypto':['org.springframework.security.crypto*'],
  67. 'Spring Security OpenID':['org.springframework.security.openid*'],
  68. 'Spring Security CAS':['org.springframework.security.cas*'],
  69. 'Spring Security ACL':['org.springframework.security.acls*'],
  70. 'Spring Security Config':['org.springframework.security.config*'],
  71. 'Spring Security Taglibs':['org.springframework.security.taglibs*'],
  72. ]
  73. ext.apiSpec = copySpec {
  74. into('apidocs') {
  75. from(apidocs.destinationDir)
  76. }
  77. }
  78. assemble.dependsOn = [apidocs, 'manual:asciidoctor']
  79. task docsZip(type: Zip) {
  80. dependsOn docs
  81. evaluationDependsOn('guides')
  82. group = 'Distribution'
  83. baseName = rootProject.name
  84. classifier = 'docs'
  85. description = "Builds -${classifier} archive containing api and reference " +
  86. "for deployment at static.springframework.org/spring-security/site/docs."
  87. with(project(':docs').apiSpec)
  88. with(project(':docs:manual').spec)
  89. with(project(':docs:guides').spec)
  90. }
  91. task schemaZip(type: Zip) {
  92. group = 'Distribution'
  93. baseName = rootProject.name
  94. classifier = 'schema'
  95. description = "Builds -${classifier} archive containing all " +
  96. "XSDs for deployment at static.springframework.org/schema."
  97. coreModuleProjects.each { module ->
  98. def Properties schemas = new Properties();
  99. module.sourceSets.main.resources.find {
  100. it.path.endsWith('META-INF/spring.schemas')
  101. }?.withInputStream { schemas.load(it) }
  102. for (def key : schemas.keySet()) {
  103. def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1')
  104. assert shortName != key
  105. File xsdFile = module.sourceSets.main.resources.find {
  106. it.path.endsWith(schemas.get(key))
  107. }
  108. assert xsdFile != null
  109. into (shortName) {
  110. from xsdFile.path
  111. }
  112. }
  113. }
  114. }