build_general.xml 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?xml version="1.0" encoding="UTF-8"?><!--
  2. This file is part of the DITA Open Toolkit project.
  3. Copyright 2006 IBM Corporation
  4. See the accompanying LICENSE file for applicable license.
  5. --><project xmlns:dita="http://dita-ot.sourceforge.net" xmlns:if="ant:if" xmlns:unless="ant:unless" name="build_generaltargets">
  6. <target name="xhtml.init">
  7. <dita-ot-fail id="DOTA007E">
  8. <condition>
  9. <and>
  10. <isset property="args.ftr"/>
  11. <not>
  12. <available file="${args.ftr}" type="file"/>
  13. </not>
  14. </and>
  15. </condition>
  16. <param name="1" value="${args.ftr}"/>
  17. </dita-ot-fail>
  18. <dita-ot-fail id="DOTA008E">
  19. <condition>
  20. <and>
  21. <isset property="args.hdr"/>
  22. <not>
  23. <available file="${args.hdr}" type="file"/>
  24. </not>
  25. </and>
  26. </condition>
  27. <param name="1" value="${args.hdr}"/>
  28. </dita-ot-fail>
  29. <dita-ot-fail id="DOTA009E">
  30. <condition>
  31. <and>
  32. <isset property="args.hdf"/>
  33. <not>
  34. <available file="${args.hdf}" type="file"/>
  35. </not>
  36. </and>
  37. </condition>
  38. <param name="1" value="${args.hdf}"/>
  39. </dita-ot-fail>
  40. <!-- begin to check and init css relevant properties -->
  41. <condition property="user.csspath.url">
  42. <or>
  43. <contains string="${args.csspath}" substring="http://"/>
  44. <contains string="${args.csspath}" substring="https://"/>
  45. </or>
  46. </condition>
  47. <condition property="args.csspath.absolute">
  48. <isabsolute path="${args.csspath}"/>
  49. </condition>
  50. <!-- Set the csspath as default empty directory when there is no user
  51. input csspath or user input csspath is a local absolute path. -->
  52. <condition property="user.csspath" value="">
  53. <or>
  54. <not>
  55. <isset property="args.csspath"/>
  56. </not>
  57. <isset property="args.csspath.absolute"/>
  58. </or>
  59. </condition>
  60. <condition property="user.csspath" value="${args.csspath}/">
  61. <not>
  62. <isset property="user.csspath"/>
  63. </not>
  64. </condition>
  65. <condition property="args.css.real" value="${args.cssroot}${file.separator}${args.css}">
  66. <isset property="args.cssroot"/>
  67. </condition>
  68. <condition property="args.css.real" value="${args.css}">
  69. <not>
  70. <isset property="args.cssroot"/>
  71. </not>
  72. </condition>
  73. <available file="${args.css.real}" property="args.css.present" type="file"/>
  74. <basename property="args.css.file.temp" file="${args.css}"/>
  75. <condition property="args.css.file" value="${args.css.file.temp}">
  76. <or>
  77. <isset property="args.css.present"/>
  78. <isset property="user.csspath.url"/>
  79. </or>
  80. </condition>
  81. <!-- end to check and init css relevant parameters -->
  82. <condition property="out.ext" value=".html">
  83. <not>
  84. <isset property="out.ext"/>
  85. </not>
  86. </condition>
  87. <condition property="html-version" value="xhtml">
  88. <not>
  89. <isset property="html-version"/>
  90. </not>
  91. </condition>
  92. <condition property="args.xsl" value="${dita.plugin.org.dita.xhtml.dir}/xsl/dita2${html-version}.xsl">
  93. <not>
  94. <isset property="args.xsl"/>
  95. </not>
  96. </condition>
  97. <makeurl file="${dita.input.valfile}" property="dita.input.valfile.url" validate="no"/>
  98. <!-- Set to "true" if you get out-of-memory errors during preprocess
  99. while processing very large (thousands of files) document sets. -->
  100. <condition property="dita.xhtml.reloadstylesheet" value="false">
  101. <not><isset property="dita.xhtml.reloadstylesheet"/></not>
  102. </condition>
  103. <antcall target="output-css-warn-message"/>
  104. </target>
  105. <target name="output-css-warn-message" if="args.csspath.absolute">
  106. <dita-ot-echo id="DOTA006W"/>
  107. </target>
  108. <target name="xhtml.topics" depends="xhtml.init, xhtml.image-metadata, dita.topics.html.common, dita.inner.topics.html.common"/>
  109. <target name="xhtml.image-metadata" unless="xhtml.image-metadata.skip" description="Read image metadata">
  110. <pipeline message="Read image metadata." taskname="image-metadata">
  111. <module class="org.dita.dost.module.ImageMetadataModule">
  112. <param name="outputdir" location="${dita.output.dir}"/>
  113. </module>
  114. </pipeline>
  115. </target>
  116. <!--requirement 3, old solution-->
  117. <macrodef name="topics.html">
  118. <element name="params" optional="true" implicit="true"/>
  119. <sequential>
  120. <pipeline>
  121. <xslt basedir="${dita.temp.dir}" destdir="${dita.output.dir}" reloadstylesheet="${dita.xhtml.reloadstylesheet}" extension="${out.ext}" style="${args.xsl}" filenameparameter="FILENAME" filedirparameter="FILEDIR">
  122. <ditafileset format="dita" processingRole="normal"/>
  123. <param name="TRANSTYPE" expression="${transtype}"/>
  124. <param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile"/>
  125. <param name="CSS" expression="${args.css.file}" if:set="args.css.file"/>
  126. <param name="CSSPATH" expression="${user.csspath}" if:set="user.csspath"/>
  127. <param name="HDF" expression="${args.hdf}" if:set="args.hdf"/>
  128. <param name="HDR" expression="${args.hdr}" if:set="args.hdr"/>
  129. <param name="FTR" expression="${args.ftr}" if:set="args.ftr"/>
  130. <param name="DRAFT" expression="${args.draft}" if:set="args.draft"/>
  131. <param name="ARTLBL" expression="${args.artlbl}" if:set="args.artlbl"/>
  132. <param name="GENERATE-TASK-LABELS" expression="${args.gen.task.lbl}" if:set="args.gen.task.lbl"/>
  133. <param name="PRESERVE-DITA-CLASS" expression="${args.xhtml.classattr}" if:set="args.xhtml.classattr"/>
  134. <param name="NOPARENTLINK" expression="${args.hide.parent.link}" if:set="args.hide.parent.link"/>
  135. <param name="include.rellinks" expression="${include.rellinks}"/>
  136. <param name="INDEXSHOW" expression="${args.indexshow}" if:set="args.indexshow"/>
  137. <param name="genDefMeta" expression="${args.gen.default.meta}" if:set="args.gen.default.meta"/>
  138. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext"/>
  139. <param name="BASEDIR" expression="${dita.dir}"/>
  140. <param name="OUTPUTDIR" expression="${dita.output.dir}"/>
  141. <param name="DBG" expression="${args.debug}" if:set="args.debug"/>
  142. <param name="defaultLanguage" expression="${default.language}"/>
  143. <params/>
  144. <xmlcatalog refid="dita.catalog"/>
  145. </xslt>
  146. </pipeline>
  147. </sequential>
  148. </macrodef>
  149. <target name="dita.topics.html.common" unless="noTopic" if="old.transform">
  150. <topics.html>
  151. <mapper classname="org.dita.dost.ant.types.JobMapper" to="${out.ext}"/>
  152. </topics.html>
  153. </target>
  154. <!--To generate&copy inner files-->
  155. <!--requirement 1,2-->
  156. <target name="dita.inner.topics.html.common" unless="noTopic" if="inner.transform">
  157. <topics.html>
  158. <mapper classname="org.dita.dost.ant.types.JobMapper" to="${out.ext}"/>
  159. </topics.html>
  160. </target>
  161. </project>