build.xml 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <project name="user" default="full">
  2. <target name="init">
  3. <property environment="env"/>
  4. <condition property="sphinx.available">
  5. <or>
  6. <available file="sphinx-build" filepath="${env.PATH}"/>
  7. <available file="sphinx-build.exe" filepath="${env.Path}"/>
  8. <available file="sphinx-build.exe" filepath="${env.PATH}"/>
  9. </or>
  10. </condition>
  11. <condition property="rst2pdf.available">
  12. <or>
  13. <available file="rst2pdf" filepath="${env.PATH}"/>
  14. <available file="rst2pdf.exe" filepath="${env.Path}"/>
  15. <available file="rst2pdf.exe" filepath="${env.PATH}"/>
  16. </or>
  17. </condition>
  18. <condition property="pdflatex.available">
  19. <or>
  20. <available file="pdflatex" filepath="${env.PATH}"/>
  21. </or>
  22. </condition>
  23. <condition property="build.directory" value="${build.directory}" else="${basedir}/target">
  24. <isset property="build.directory" />
  25. </condition>
  26. <condition property="project.version" value="${project.version}" else="2.20-SNAPSHOT">
  27. <isset property="project.version" />
  28. </condition>
  29. <echo message="Base directory is ${basedir}"/>
  30. <echo message="Build directory is ${build.directory} and project version is ${project.version}"/>
  31. </target>
  32. <target name="clean" depends="init">
  33. <delete includeemptydirs="true" failonerror="false">
  34. <fileset dir="${build.directory}" defaultexcludes="false">
  35. <include name="**/" />
  36. </fileset>
  37. </delete>
  38. </target>
  39. <target name="user" depends="init"
  40. description="Generate user html documentation for GeoServer">
  41. <mkdir dir="${build.directory}"/>
  42. <antcall target="sphinx">
  43. <param name="id" value="user" />
  44. <param name="build" value="html" />
  45. </antcall>
  46. </target>
  47. <target name="user-pdf" depends="init" if="pdflatex.available"
  48. description="Generate user PDF documentation for GeoServer">
  49. <mkdir dir="${build.directory}"/>
  50. <antcall target="sphinx">
  51. <param name="id" value="user" />
  52. <param name="build" value="latex" />
  53. </antcall>
  54. <replace file="${build.directory}/user/latex/GeoServerUserManual.tex"
  55. token="includegraphics" value="includegraphics[scale=0.5]"
  56. />
  57. <!-- run twice in a row to get TOC, and ignore errors -->
  58. <exec executable="pdflatex" failonerror="false" dir="${build.directory}/user/latex/">
  59. <arg line="-interaction batchmode GeoServerUserManual.tex"/>
  60. </exec>
  61. <exec executable="pdflatex" failonerror="false" dir="${build.directory}/user/latex/">
  62. <arg line="-interaction batchmode GeoServerUserManual.tex"/>
  63. </exec>
  64. <move
  65. file="${build.directory}/user/latex/GeoServerUserManual.pdf"
  66. tofile="${build.directory}/user/latex/manual.pdf"
  67. />
  68. </target>
  69. <target name="full" depends="user">
  70. </target>
  71. <target name="sphinx" if="sphinx.available">
  72. <echo message="Running sphinx-build -D release=${project.version} -W -b ${build} -d &quot;${build.directory}/${id}/doctrees&quot; . &quot;${build.directory}/${id}/${build}&quot;"/>
  73. <exec executable="sphinx-build" failonerror="true" dir="${basedir}/${id}/source">
  74. <arg line="-D release=${project.version} -q -W --keep-going -b ${build} -d &quot;${build.directory}/${id}/doctrees&quot; . &quot;${build.directory}/${id}/${build}&quot;"/>
  75. </exec>
  76. </target>
  77. </project>