build_dita2odt.xml 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- This file is part of the DITA Open Toolkit project.
  3. See the accompanying license.txt file for applicable licenses.-->
  4. <!-- (c) Copyright IBM Corp. 2006 All Rights Reserved. -->
  5. <project name="dita2odt">
  6. <target name="set_odt_output_tempdir">
  7. <condition property="odt.output.tempdir" value="${dita.map.output.dir}/${uplevels}temp">
  8. <not>
  9. <isset property="odt.output.tempdir"/>
  10. </not>
  11. </condition>
  12. <copy todir="${odt.output.tempdir}">
  13. <fileset dir="${dita.map.output.dir}/${uplevels}">
  14. <exclude name="**/*.list"/>
  15. <exclude name="**/*.log"/>
  16. <exclude name="**/*.temp"/>
  17. <exclude name="**/*.properties"/>
  18. <exclude name="**/*.odt"/>
  19. <exclude name="temp/**"/>
  20. </fileset>
  21. </copy>
  22. </target>
  23. <target name="clean_output_tempdir" unless="$flag">
  24. <delete failonerror="yes" includeemptydirs="true" dir="${odt.output.tempdir}" />
  25. </target>
  26. <target name="dita2odt"
  27. depends="dita2odt.init, build-init, preprocess, odt.image-metadata, set_odt_output_tempdir, dita.odt.package.topic, dita.odt.package.map, move-output-file, clean_output_tempdir">
  28. </target>
  29. <target name="dita2odt.init">
  30. <property name="odt.suffix" value=".odt" />
  31. <condition property="args.rellinks" value="none">
  32. <not><isset property="args.rellinks"/></not>
  33. </condition>
  34. </target>
  35. <target name="odt.image-metadata" description="Read image metadata">
  36. <pipeline message="Read image metadata." taskname="image-metadata" tempdir="${dita.temp.dir}">
  37. <module class="org.dita.dost.module.ImageMetadataModule">
  38. <param name="outputdir" location="${output.dir}"/>
  39. </module>
  40. </pipeline>
  41. </target>
  42. <target name="map2odt" unless="noMap">
  43. <antcall target="dita.map.odt">
  44. <param name="input"
  45. value="${dita.temp.dir}${file.separator}${user.input.file}" />
  46. <param name="output"
  47. value="${odt.output.tempdir}${file.separator}content.xml" />
  48. </antcall>
  49. </target>
  50. <target name="topic2odt" if="noMap">
  51. <antcall target="dita.topic.odt">
  52. <param name="input"
  53. value="${dita.temp.dir}${file.separator}${user.input.file}" />
  54. <param name="output"
  55. value="${odt.output.tempdir}${file.separator}content.xml" />
  56. </antcall>
  57. </target>
  58. <!-- Build odt content.xml from DITA -->
  59. <target name="dita.map.odt" description="Build odt content.xml file">
  60. <condition property="args.xsl"
  61. value="${dita.plugin.org.dita.odt.dir}/xsl/dita2odt.xsl">
  62. <not>
  63. <isset property="args.xsl" />
  64. </not>
  65. </condition>
  66. <dirname file="${output}" property="dita.odt.outputdir" />
  67. <!--create topic merge file -->
  68. <dirname property="dita.temp.dir.fullpath" file="${dita.temp.dir}${file.separator}dummy.file"/>
  69. <pipeline message="topicmerge"
  70. inputmap="${dita.temp.dir.fullpath}${file.separator}${user.input.file}"
  71. tempdir="${dita.temp.dir.fullpath}">
  72. <module class="org.dita.dost.module.TopicMergeModule">
  73. <param name="output" location="${dita.temp.dir.fullpath}${file.separator}${dita.map.filename.root}_MERGED.xml"/>
  74. <param name="style" location="${dita.plugin.org.dita.odt.dir}/xsl/xslodt/common/topicmerge.xsl"/>
  75. </module>
  76. </pipeline>
  77. <!--create content.xml -->
  78. <!--Change path of ${dita.input.valfile} into url-->
  79. <makeurl file="${dita.input.valfile}" property="dita.input.valfile.url" validate="no"/>
  80. <xslt basedir="${dita.temp.dir}"
  81. in="${dita.temp.dir}${file.separator}${dita.map.filename.root}_MERGED.xml"
  82. classpathref="dost.class.path"
  83. out="${output}" style="${args.xsl}"
  84. filenameparameter="FILENAME"
  85. filedirparameter="FILEDIR">
  86. <param name="BASEDIR" expression="${basedir}"/>
  87. <param name="TEMPDIR" expression="${dita.temp.dir}"/>
  88. <param name="DRAFT" expression="${args.draft}" if="args.draft" />
  89. <param name="FILTERFILE" expression="${dita.input.valfile.url}" if="dita.input.valfile" />
  90. <param name="OUTPUTDIR" expression="${dita.odt.outputdir}" />
  91. <param name="include.rellinks" expression="${include.rellinks}"/>
  92. <param name="INDEXSHOW" expression="${args.indexshow}" if="args.indexshow"/>
  93. <param name="DBG" expression="${args.debug}" if="args.debug"/>
  94. <param name="defaultLanguage" expression="${default.language}"/>
  95. <xmlcatalog refid="dita.catalog"/>
  96. </xslt>
  97. </target>
  98. <target name="dita.topic.odt" description="Build odt content.xml file">
  99. <condition property="args.xsl" value="${dita.plugin.org.dita.odt.dir}/xsl/dita2odt.xsl">
  100. <not>
  101. <isset property="args.xsl" />
  102. </not>
  103. </condition>
  104. <dirname file="${output}" property="dita.odt.outputdir" />
  105. <!--Change path of ${dita.input.valfile} into url-->
  106. <makeurl file="${dita.input.valfile}" property="dita.input.valfile.url" validate="no"/>
  107. <xslt in="${input}" out="${output}" basedir="${dita.temp.dir}"
  108. classpathref="dost.class.path"
  109. style="${args.xsl}"
  110. filenameparameter="FILENAME"
  111. filedirparameter="FILEDIR">
  112. <param name="BASEDIR" expression="${basedir}"/>
  113. <param name="TEMPDIR" expression="${dita.temp.dir}"/>
  114. <param name="DRAFT" expression="${args.draft}" if="args.draft" />
  115. <param name="FILTERFILE" expression="${dita.input.valfile.url}" if="dita.input.valfile" />
  116. <param name="OUTPUTDIR" expression="${dita.odt.outputdir}" />
  117. <param name="include.rellinks" expression="${include.rellinks}"/>
  118. <param name="INDEXSHOW" expression="${args.indexshow}" if="args.indexshow"/>
  119. <param name="DBG" expression="${args.debug}" if="args.debug"/>
  120. <xmlcatalog refid="dita.catalog"/>
  121. </xslt>
  122. </target>
  123. <target name="dita.topic.odt.stylesfile" description="Build odt styles.xml file" if="noMap">
  124. <xslt in="${dita.temp.dir}${file.separator}${user.input.file}"
  125. out="${odt.output.tempdir}${file.separator}styles.xml"
  126. classpathref="dost.class.path"
  127. style="${dita.plugin.org.dita.odt.dir}/xsl/xslodt/dita2odtstyles.xsl">
  128. <xmlcatalog refid="dita.catalog"/>
  129. </xslt>
  130. </target>
  131. <target name="dita.map.odt.stylesfile" description="Build odt styles.xml file" unless="noMap">
  132. <xslt in="${dita.temp.dir}${file.separator}${dita.map.filename.root}_MERGED.xml"
  133. out="${odt.output.tempdir}${file.separator}styles.xml"
  134. classpathref="dost.class.path"
  135. style="${dita.plugin.org.dita.odt.dir}/xsl/xslodt/dita2odtstyles.xsl">
  136. <xmlcatalog refid="dita.catalog"/>
  137. </xslt>
  138. </target>
  139. <target name="dita.out.odt.manifest.file" description="Build odt manifest.xml file">
  140. <xslt in="${dita.temp.dir}${file.separator}${user.input.file}"
  141. out="${odt.output.tempdir}${file.separator}META-INF${file.separator}manifest.xml"
  142. classpathref="dost.class.path"
  143. style="${dita.plugin.org.dita.odt.dir}/xsl/xslodt/dita2odtmanifest.xsl">
  144. <xmlcatalog refid="dita.catalog"/>
  145. </xslt>
  146. </target>
  147. <target name="dita.odt.package.topic" if="noMap" depends="topic2odt, dita.topic.odt.stylesfile, dita.out.odt.manifest.file"
  148. description="Package into odt file">
  149. <zip destfile="${odt.output.tempdir}/${dita.topic.filename.root}${odt.suffix}"
  150. basedir="${odt.output.tempdir}"
  151. excludes="**/*.list, **/*.log, **/*.temp, **/*.properties, **/*.odt">
  152. </zip>
  153. </target>
  154. <target name="dita.odt.package.map" unless="noMap" depends="map2odt, dita.map.odt.stylesfile, dita.out.odt.manifest.file"
  155. description="Package into odt file">
  156. <zip destfile="${odt.output.tempdir}/${dita.map.filename.root}${odt.suffix}"
  157. basedir="${odt.output.tempdir}"
  158. excludes="**/*.list, **/*.log, **/*.temp, **/*.properties, **/*.odt"/>
  159. </target>
  160. <target name="move-output-file">
  161. <move todir="${dita.map.output.dir}/${uplevels}">
  162. <fileset dir="${odt.output.tempdir}">
  163. <include name="**/*.list"/>
  164. <include name="**/*.log"/>
  165. <include name="**/*.temp"/>
  166. <include name="**/*.properties"/>
  167. <include name="**/*.odt"/>
  168. </fileset>
  169. </move>
  170. <available property="flag" file="${odt.output.tempdir}" type="dir"/>
  171. </target>
  172. </project>