build_dita2eclipsehelp.xml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  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" name="dita2eclipsehelp">
  6. <target name="dita.eclipsehelp.init">
  7. <property name="html-version" value="xhtml"/>
  8. <condition property="args.xsl" value="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/dita2xhtml_eclipsehelp.xsl">
  9. <not>
  10. <isset property="args.xsl"/>
  11. </not>
  12. </condition>
  13. <condition property="temp.output.dir.name" value="temp_jar_dir">
  14. <isset property="args.eclipsehelp.jar.name"/>
  15. </condition>
  16. </target>
  17. <target name="dita.index.eclipsehelp.init">
  18. <condition property="dita.eclipsehelp.index.class" value="org.dita.dost.writer.EclipseIndexWriter">
  19. <not><isset property="dita.eclipsehelp.index.class"/></not>
  20. </condition>
  21. </target>
  22. <target name="dita2eclipsehelp" unless="noMap" depends="dita.eclipsehelp.init, build-init, preprocess, xhtml.topics, copy-css, dita.map.eclipse, build.eclipse.jar">
  23. </target>
  24. <target name="dita.map.eclipse" depends="dita.map.eclipse.init, copy-plugin-files, dita.map.eclipse.fragment.language.init, dita.map.eclipse.fragment.language.country.init, dita.map.eclipse.fragment.error">
  25. </target>
  26. <target name="dita.map.eclipse.init" if="eclipse.plugin" depends="dita.map.eclipse.plugin.init">
  27. <antcall target="dita.map.eclipse.generate.plugin"/>
  28. </target>
  29. <target name="dita.map.eclipse.plugin.init" description="Init properties for EclipseHelp">
  30. <condition property="out.ext" value=".html">
  31. <not>
  32. <isset property="out.ext"/>
  33. </not>
  34. </condition>
  35. <condition property="noPlugin">
  36. <equals arg1="${dita.eclipse.plugin}" arg2="no"/>
  37. </condition>
  38. <condition property="eclipse.fragment.language">
  39. <and>
  40. <isset property="args.eclipsehelp.language"/>
  41. <not>
  42. <isset property="args.eclipsehelp.country"/>
  43. </not>
  44. </and>
  45. </condition>
  46. <condition property="eclipse.fragment.country">
  47. <and>
  48. <isset property="args.eclipsehelp.language"/>
  49. <isset property="args.eclipsehelp.country"/>
  50. </and>
  51. </condition>
  52. <condition property="eclipse.plugin">
  53. <not>
  54. <or>
  55. <isset property="args.eclipsehelp.language"/>
  56. <isset property="args.eclipsehelp.country"/>
  57. <and>
  58. <isset property="args.eclipsehelp.country"/>
  59. <isset property="args.eclipsehelp.language"/>
  60. </and>
  61. </or>
  62. </not>
  63. </condition>
  64. <condition property="eclipse.fragment.error">
  65. <and>
  66. <isset property="args.eclipsehelp.country"/>
  67. <not>
  68. <isset property="args.eclipsehelp.language"/>
  69. </not>
  70. </and>
  71. </condition>
  72. <condition property="args.eclipsehelp.indexsee" value="false">
  73. <not>
  74. <isset property="args.eclipsehelp.indexsee"/>
  75. </not>
  76. </condition>
  77. </target>
  78. <target name="dita.map.eclipse.toc" unless="noMap" depends="dita.map.eclipse.plugin.init" if="old.transform" description="Build EclipseHelp TOC file">
  79. <pipeline>
  80. <xslt destdir="${dita.output.dir}" extension=".xml" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2eclipse.xsl">
  81. <ditafileset format="ditamap" processingRole="normal"/>
  82. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext"/>
  83. <param name="WORKDIR" expression="${workdir}" if:set="workdir"/>
  84. <param name="defaultLanguage" expression="${default.language}"/>
  85. <xmlcatalog refid="dita.catalog"/>
  86. </xslt>
  87. </pipeline>
  88. </target>
  89. <target name="dita.out.map.eclipse.toc" unless="noMap" depends="dita.map.eclipse.plugin.init" if="inner.transform" description="Build EclipseHelp TOC file">
  90. <pipeline>
  91. <xslt destdir="${dita.output.dir}" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2eclipse.xsl">
  92. <ditafileset format="ditamap" processingRole="normal"/>
  93. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext"/>
  94. <param name="WORKDIR" expression="${workdir}" if:set="workdir"/>
  95. <param name="defaultLanguage" expression="${default.language}"/>
  96. <mapper classname="org.dita.dost.ant.types.JobMapper" to=".xml"/>
  97. <xmlcatalog refid="dita.catalog"/>
  98. </xslt>
  99. </pipeline>
  100. </target>
  101. <target name="dita.map.eclipse.index" unless="noMap" if="old.transform" depends="dita.map.eclipse.plugin.init,dita.index.eclipsehelp.init" description="Build Eclipse Help index file">
  102. <echo level="info"> args.eclipsehelp.indexsee = ${args.eclipsehelp.indexsee} </echo>
  103. <pipeline message="Extract index term." inputmap="${user.input.file}">
  104. <module class="org.dita.dost.module.IndexTermExtractModule">
  105. <param name="output" location="${dita.output.dir}/${user.input.file}"/>
  106. <param name="targetext" value="${out.ext}"/>
  107. <param name="indextype" value="eclipsehelp"/>
  108. <param name="indexclass" value="${dita.eclipsehelp.index.class}"/>
  109. <param name="eclipse.indexsee" value="${args.eclipsehelp.indexsee}"/>
  110. <param name="encoding" value="${args.dita.locale}" if:set="args.dita.locale"/>
  111. <param name="defaultLanguage" expression="${default.language}"/>
  112. </module>
  113. </pipeline>
  114. </target>
  115. <target name="dita.out.map.eclipse.index" unless="noMap" if="inner.transform" depends="dita.map.eclipse.plugin.init,dita.index.eclipsehelp.init" description="Build Eclipse Help index file">
  116. <echo level="info"> args.eclipsehelp.indexsee = ${args.eclipsehelp.indexsee} </echo>
  117. <pipeline message="Extract index term." inputmap="${user.input.file}">
  118. <module class="org.dita.dost.module.IndexTermExtractModule">
  119. <param name="output" location="${dita.output.dir}/index.xml"/>
  120. <param name="targetext" value="${out.ext}"/>
  121. <param name="indextype" value="eclipsehelp"/>
  122. <param name="indexclass" value="${dita.eclipsehelp.index.class}"/>
  123. <param name="eclipse.indexsee" value="${args.eclipsehelp.indexsee}"/>
  124. <param name="encoding" value="${args.dita.locale}" if:set="args.dita.locale"/>
  125. <param name="defaultLanguage" expression="${default.language}"/>
  126. </module>
  127. </pipeline>
  128. </target>
  129. <target name="dita.map.eclipse.plugin" unless="noPlugin" depends="dita.map.eclipse.plugin.init" if="old.transform" description="Build Eclipsehelp plugin file">
  130. <pipeline>
  131. <xslt in="${dita.temp.dir}/${user.input.file}" out="${dita.map.output.dir}/plugin.xml" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  132. <param name="TOCROOT" expression="${dita.map.filename.root}"/>
  133. <param name="version" expression="${args.eclipse.version}" if:set="args.eclipse.version"/>
  134. <param name="provider" expression="${args.eclipse.provider}" if:set="args.eclipse.provider"/>
  135. <param name="osgi.symbolic.name" expression="${args.eclipse.symbolic.name}" if:set="args.eclipse.symbolic.name"/>
  136. <outputproperty value="yes" name="indent"/>
  137. <param name="dita.plugin.output" expression="dita.eclipse.plugin"/>
  138. <xmlcatalog refid="dita.catalog"/>
  139. </xslt>
  140. </pipeline>
  141. </target>
  142. <target name="dita.out.map.eclipse.plugin" unless="noPlugin" depends="dita.map.eclipse.plugin.init" if="inner.transform" description="Build Eclipsehelp plugin file">
  143. <pipeline>
  144. <xslt in="${dita.temp.dir}/${user.input.file}" out="${dita.output.dir}/plugin.xml" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  145. <param name="TOCROOT" expression="${dita.map.filename.root}"/>
  146. <param name="version" expression="${args.eclipse.version}" if:set="args.eclipse.version"/>
  147. <param name="provider" expression="${args.eclipse.provider}" if:set="args.eclipse.provider"/>
  148. <param name="osgi.symbolic.name" expression="${args.eclipse.symbolic.name}" if:set="args.eclipse.symbolic.name"/>
  149. <outputproperty value="yes" name="indent"/>
  150. <param name="dita.plugin.output" expression="dita.eclipse.plugin"/>
  151. <xmlcatalog refid="dita.catalog"/>
  152. </xslt>
  153. </pipeline>
  154. </target>
  155. <!-- New support for creating Eclipse fragments based on the similar map used to create a plug-in -->
  156. <target name="dita.map.eclipse.manifest.file" unless="noPlugin" depends="dita.map.eclipse.plugin.init" if="old.transform" description="Build Eclipsehelp manifest.mf file">
  157. <pipeline>
  158. <xslt in="${dita.temp.dir}/${user.input.file}" out="${dita.map.output.dir}/META-INF/MANIFEST.MF" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  159. <param name="version" expression="${args.eclipse.version}" if:set="args.eclipse.version"/>
  160. <param name="provider" expression="${args.eclipse.provider}" if:set="args.eclipse.provider"/>
  161. <param name="osgi.symbolic.name" expression="${args.eclipse.symbolic.name}" if:set="args.eclipse.symbolic.name"/>
  162. <param name="plugin" expression="${eclipse.plugin}"/>
  163. <param name="fragment.country" expression="${args.eclipsehelp.country}" if:set="eclipse.fragment.country"/>
  164. <param name="fragment.lang" expression="${args.eclipsehelp.language}" if:set="args.eclipsehelp.language"/>
  165. <outputproperty value="text" name="method"/>
  166. <param name="dita.plugin.output" expression="dita.eclipse.manifest"/>
  167. <xmlcatalog refid="dita.catalog"/>
  168. </xslt>
  169. </pipeline>
  170. </target>
  171. <target name="dita.out.map.eclipse.manifest.file" unless="noPlugin" depends="dita.map.eclipse.plugin.init" if="inner.transform" description="Build Eclipsehelp manifest.mf file">
  172. <pipeline>
  173. <xslt in="${dita.temp.dir}/${user.input.file}" out="${dita.map.output.dir}/META-INF/MANIFEST.MF" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  174. <param name="version" expression="${args.eclipse.version}" if:set="args.eclipse.version"/>
  175. <param name="provider" expression="${args.eclipse.provider}" if:set="args.eclipse.provider"/>
  176. <param name="osgi.symbolic.name" expression="${args.eclipse.symbolic.name}" if:set="args.eclipse.symbolic.name"/>
  177. <param name="plugin" expression="${eclipse.plugin}"/>
  178. <param name="fragment.country" expression="${args.eclipsehelp.country}" if:set="eclipse.fragment.country"/>
  179. <param name="fragment.lang" expression="${args.eclipsehelp.language}" if:set="args.eclipsehelp.language"/>
  180. <outputproperty value="text" name="method"/>
  181. <param name="dita.plugin.output" expression="dita.eclipse.manifest"/>
  182. <xmlcatalog refid="dita.catalog"/>
  183. </xslt>
  184. </pipeline>
  185. </target>
  186. <target name="dita.map.eclipse.plugin.properties" unless="noPlugin" depends="dita.map.eclipse.plugin.init" if="old.transform" description="Create eclipse plugin.properties file">
  187. <pipeline>
  188. <xslt in="${dita.temp.dir}/${user.input.file}" out="${dita.output.dir}/plugin.properties" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  189. <outputproperty value="text" name="method"/>
  190. <param name="dita.plugin.output" expression="dita.eclipse.properties"/>
  191. <param name="version" expression="${args.eclipse.version}" if:set="args.eclipse.version"/>
  192. <param name="provider" expression="${args.eclipse.provider}" if:set="args.eclipse.provider"/>
  193. <xmlcatalog refid="dita.catalog"/>
  194. </xslt>
  195. </pipeline>
  196. </target>
  197. <target name="dita.out.map.eclipse.plugin.properties" unless="noPlugin" depends="dita.map.eclipse.plugin.init" if="inner.transform" description="Create eclipse plugin.properties file">
  198. <pipeline>
  199. <xslt in="${dita.temp.dir}/${user.input.file}" out="${dita.output.dir}/plugin.properties" style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  200. <outputproperty value="text" name="method"/>
  201. <param name="dita.plugin.output" expression="dita.eclipse.properties"/>
  202. <param name="version" expression="${args.eclipse.version}" if:set="args.eclipse.version"/>
  203. <param name="provider" expression="${args.eclipse.provider}" if:set="args.eclipse.provider"/>
  204. <xmlcatalog refid="dita.catalog"/>
  205. </xslt>
  206. </pipeline>
  207. </target>
  208. <target name="dita.map.eclipse.fragment.language.init" if="eclipse.fragment.language" depends="dita.map.eclipse.plugin.init">
  209. <property name="fragment.dirname.init" value="nl"/>
  210. <property name="fragment.dirname" value="${fragment.dirname.init}${file.separator}${args.eclipsehelp.language}"/>
  211. <property name="fragment.property.name" value="${args.eclipsehelp.language}"/>
  212. <antcall target="dita.map.eclipse.genetrate.fragment"/>
  213. </target>
  214. <target name="dita.map.eclipse.fragment.language.country.init" if="eclipse.fragment.country" depends="dita.map.eclipse.plugin.init">
  215. <property name="fragment.dirname.init" value="nl"/>
  216. <property name="fragment.dirname" value="${fragment.dirname.init}${file.separator}${args.eclipsehelp.language}${file.separator}${args.eclipsehelp.country}"/>
  217. <property name="fragment.property.name" value="${args.eclipsehelp.language}_${args.eclipsehelp.country}"/>
  218. <antcall target="dita.map.eclipse.genetrate.fragment"/>
  219. </target>
  220. <target name="dita.map.eclipse.fragment.error" if="eclipse.fragment.error" depends="dita.map.eclipse.plugin.init">
  221. <echo message="The Eclipse Fragment property args.eclipsehelp.language was not set. "/>
  222. </target>
  223. <target name="dita.map.eclipse.fragment.move.files" if="old.transform">
  224. <defaultexcludes add="**/META-INF/**"/>
  225. <defaultexcludes add="**/nl/**"/>
  226. <delete file="${dita.output.dir}/plugin.xml"/>
  227. <delete file="${dita.output.dir}/plugincustomization.ini"/>
  228. <move todir="${dita.map.output.dir}/${fragment.dirname}" includeemptydirs="yes">
  229. <fileset dir="${dita.map.output.dir}" defaultexcludes="yes">
  230. <exclude name="helpData.xml"/>
  231. <exclude name="plugin.properties"/>
  232. <exclude name="plugin_${fragment.property.name}.properties"/>
  233. <exclude name="*.list"/>
  234. <exclude name="disabled_book.css"/>
  235. <exclude name="narrow_book.css"/>
  236. <exclude name="${os}_narrow_book.css"/>
  237. <exclude name="book.css"/>
  238. <exclude name="plugincustomization.ini"/>
  239. </fileset>
  240. </move>
  241. <move file="${dita.output.dir}/plugin.properties" tofile="${dita.output.dir}/plugin_${fragment.property.name}.properties" failonerror="no"/>
  242. </target>
  243. <target name="dita.out.map.eclipse.fragment.move.files" if="inner.transform">
  244. <defaultexcludes add="**/META-INF/**"/>
  245. <defaultexcludes add="**/nl/**"/>
  246. <delete file="${dita.output.dir}/plugin.xml"/>
  247. <delete file="${dita.output.dir}/plugincustomization.ini"/>
  248. <move todir="${dita.output.dir}/${fragment.dirname}" includeemptydirs="yes">
  249. <fileset dir="${dita.output.dir}" defaultexcludes="yes">
  250. <exclude name="helpData.xml"/>
  251. <exclude name="plugin.properties"/>
  252. <exclude name="plugin_${fragment.property.name}.properties"/>
  253. <exclude name="*.list"/>
  254. <exclude name="disabled_book.css"/>
  255. <exclude name="narrow_book.css"/>
  256. <exclude name="${os}_narrow_book.css"/>
  257. <exclude name="book.css"/>
  258. <exclude name="plugincustomization.ini"/>
  259. </fileset>
  260. </move>
  261. <move file="${dita.output.dir}/plugin.properties" tofile="${dita.output.dir}/plugin_${fragment.property.name}.properties" failonerror="no"/>
  262. </target>
  263. <!--<target name="dita.map.eclipse"
  264. depends="dita.map.eclipse.init,
  265. dita.map.eclipse.toc,
  266. dita.map.eclipse.index,
  267. dita.map.eclipse.plugin,
  268. dita.out.map.eclipse.toc,
  269. dita.out.map.eclipse.index,
  270. dita.out.map.eclipse.plugin" />
  271. -->
  272. <target name="dita.map.eclipse.generate.plugin" depends="dita.map.eclipse.toc, dita.map.eclipse.index, dita.map.eclipse.plugin, dita.map.eclipse.plugin.properties, dita.map.eclipse.manifest.file, dita.out.map.eclipse.plugin.properties, dita.out.map.eclipse.manifest.file, dita.out.map.eclipse.toc, dita.out.map.eclipse.index, dita.out.map.eclipse.plugin">
  273. </target>
  274. <target name="dita.map.eclipse.genetrate.fragment" depends="dita.map.eclipse.toc, dita.map.eclipse.index, dita.map.eclipse.plugin.properties, dita.map.eclipse.manifest.file, dita.out.map.eclipse.plugin.properties, dita.out.map.eclipse.manifest.file, dita.out.map.eclipse.toc, dita.out.map.eclipse.index, dita.out.map.eclipse.plugin, dita.map.eclipse.fragment.move.files, dita.out.map.eclipse.fragment.move.files">
  275. </target>
  276. <target name="copy-plugin-files">
  277. <!-- Look for files that override behavior in Eclipse plugins -->
  278. <copy todir="${dita.output.dir}">
  279. <fileset dir="${user.input.dir}">
  280. <include name="disabled_book.css"/>
  281. <include name="narrow_book.css"/>
  282. <include name="${os}_narrow_book.css"/>
  283. <include name="book.css"/>
  284. <include name="plugincustomization.ini"/>
  285. <include name="helpData.xml"/>
  286. </fileset>
  287. </copy>
  288. </target>
  289. <target name="build.eclipse.jar">
  290. <condition property="args.eclipsehelp.jar.name" value="${args.output.base}.jar">
  291. <isset property="args.output.base"/>
  292. </condition>
  293. <jar destfile="${output.dir}/${args.eclipsehelp.jar.name}" basedir="${dita.output.dir}" if:set="args.eclipsehelp.jar.name">
  294. <include name="**/*"/>
  295. </jar>
  296. </target>
  297. </project>