docs.gradle 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // Docbook and Javadoc building and uploading tasks
  2. apply plugin: 'base'
  3. task docs {
  4. dependsOn 'manual:docbook', 'faq:docbookHtmlSingle', 'apidocs'
  5. }
  6. subprojects {
  7. apply plugin: 'base'
  8. apply plugin: 'docbook'
  9. docbookHtmlSingle.stylesheet = new File(projectDir, 'src/xsl/html-single-custom.xsl')
  10. }
  11. project('faq') {
  12. defaultTasks 'docbookHtmlSingle'
  13. [docbookHtml, docbookFoPdf, docbookHtmlSingle]*.sourceFileName = 'faq.xml'
  14. docbookHtmlSingle.suffix = ''
  15. spec = copySpec {
  16. into ('faq') {
  17. from("$buildDir/docs")
  18. from("$projectDir/src/resources")
  19. }
  20. }
  21. }
  22. project('manual') {
  23. defaultTasks 'docbookHtml', 'docbookHtmlSingle', 'docbookFoPdf'
  24. [docbookHtml, docbookFoPdf, docbookHtmlSingle]*.sourceFileName = 'springsecurity.xml'
  25. docbookHtml.stylesheet = new File(projectDir, 'src/xsl/html-custom.xsl')
  26. docbookHtmlSingle.stylesheet = new File(projectDir, 'src/xsl/html-single-custom.xsl')
  27. docbookFoPdf.stylesheet = new File(projectDir, 'src/xsl/pdf-custom.xsl')
  28. def imagesDir = new File(projectDir, 'src/docbook/images');
  29. docbookFoPdf.admonGraphicsPath = "${imagesDir}/"
  30. spec = copySpec {
  31. into ('reference') {
  32. from("$buildDir/docs")
  33. from("$projectDir/src/resources")
  34. }
  35. into ('reference/images') {
  36. from (imagesDir)
  37. }
  38. }
  39. }
  40. task apidocs(type: Javadoc) {
  41. destinationDir = new File(buildDir, 'apidocs')
  42. title = "Spring Security $version API"
  43. optionsFile = file("$buildDir/tmp/javadoc.options")
  44. source coreModuleProjects.collect { project ->
  45. project.sourceSets.main.allJava
  46. }
  47. classpath = files(coreModuleProjects.collect { project ->
  48. project.sourceSets.main.compileClasspath
  49. })
  50. }
  51. apiSpec = copySpec {
  52. into('apidocs') {
  53. from(apidocs.destinationDir)
  54. }
  55. }
  56. task docSiteLogin(type: Login) {
  57. if (project.hasProperty('sshHost')) {
  58. host = project.property('sshHost')
  59. }
  60. }
  61. // Define remoteSiteDir and sshHost in gradle.properties
  62. def remoteDocsDir = null
  63. if (hasProperty('remoteSiteDir')) {
  64. remoteDocsDir="$remoteSiteDir/docs/3.1.x"
  65. }
  66. task uploadApidocs(type: TarUpload) {
  67. dependsOn apidocs
  68. baseName = "${rootProject.name}"
  69. appendix = 'apidocs'
  70. remoteDir = remoteDocsDir
  71. login = docSiteLogin
  72. with(apiSpec)
  73. }
  74. task uploadManual(type: TarUpload) {
  75. dependsOn 'manual:docbook'
  76. baseName = "${rootProject.name}"
  77. appendix = 'doc'
  78. remoteDir = remoteDocsDir
  79. login = docSiteLogin
  80. with(project('manual').spec)
  81. }
  82. task uploadFaq(type: TarUpload) {
  83. dependsOn 'faq:docbookHtmlSingle'
  84. baseName = "${rootProject.name}"
  85. appendix = 'faq'
  86. if (project.hasProperty('remoteSiteDir')) {
  87. remoteDir = project.property('remoteSiteDir')
  88. }
  89. login = docSiteLogin
  90. with(project('faq').spec)
  91. }
  92. assemble.dependsOn = [apidocs, 'manual:docbook']