docs.gradle 2.8 KB

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