build_dita2eclipsehelp_template.xml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. This file is part of the DITA Open Toolkit project.
  4. Copyright 2006 IBM Corporation
  5. See the accompanying LICENSE file for applicable license.
  6. -->
  7. <project xmlns:dita="http://dita-ot.sourceforge.net" name="dita2eclipsehelp" xmlns:if="ant:if">
  8. <target name="dita.eclipsehelp.init">
  9. <property name="html-version" value="xhtml"/>
  10. <condition property="args.xsl" value="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/dita2xhtml_eclipsehelp.xsl">
  11. <not>
  12. <isset property="args.xsl" />
  13. </not>
  14. </condition>
  15. <condition property="temp.output.dir.name" value="temp_jar_dir">
  16. <isset property="args.eclipsehelp.jar.name"/>
  17. </condition>
  18. </target>
  19. <target name="dita.index.eclipsehelp.init">
  20. <condition property="dita.eclipsehelp.index.class" value="org.dita.dost.writer.EclipseIndexWriter">
  21. <not><isset property="dita.eclipsehelp.index.class"></isset></not>
  22. </condition>
  23. </target>
  24. <target name="dita2eclipsehelp"
  25. unless="noMap"
  26. depends="dita.eclipsehelp.init, build-init, preprocess,
  27. xhtml.topics,
  28. copy-css,
  29. dita.map.eclipse,
  30. build.eclipse.jar">
  31. </target>
  32. <target name="dita.map.eclipse"
  33. depends="dita.map.eclipse.init,
  34. copy-plugin-files,
  35. dita.map.eclipse.fragment.language.init,
  36. dita.map.eclipse.fragment.language.country.init,
  37. dita.map.eclipse.fragment.error">
  38. </target>
  39. <target name="dita.map.eclipse.init" if="eclipse.plugin"
  40. depends="dita.map.eclipse.plugin.init">
  41. <antcall target="dita.map.eclipse.generate.plugin"/>
  42. </target>
  43. <target name="dita.map.eclipse.plugin.init"
  44. description="Init properties for EclipseHelp">
  45. <condition property="out.ext" value=".html">
  46. <not>
  47. <isset property="out.ext" />
  48. </not>
  49. </condition>
  50. <condition property="noPlugin">
  51. <equals arg1="${dita.eclipse.plugin}" arg2="no" />
  52. </condition>
  53. <condition property="eclipse.fragment.language">
  54. <and>
  55. <isset property="args.eclipsehelp.language" />
  56. <not>
  57. <isset property="args.eclipsehelp.country" />
  58. </not>
  59. </and>
  60. </condition>
  61. <condition property="eclipse.fragment.country">
  62. <and>
  63. <isset property="args.eclipsehelp.language" />
  64. <isset property="args.eclipsehelp.country" />
  65. </and>
  66. </condition>
  67. <condition property="eclipse.plugin">
  68. <not>
  69. <or>
  70. <isset property="args.eclipsehelp.language" />
  71. <isset property="args.eclipsehelp.country" />
  72. <and>
  73. <isset property="args.eclipsehelp.country" />
  74. <isset property="args.eclipsehelp.language" />
  75. </and>
  76. </or>
  77. </not>
  78. </condition>
  79. <condition property="eclipse.fragment.error">
  80. <and>
  81. <isset property="args.eclipsehelp.country" />
  82. <not>
  83. <isset property="args.eclipsehelp.language" />
  84. </not>
  85. </and>
  86. </condition>
  87. <condition property="args.eclipsehelp.indexsee" value="false">
  88. <not>
  89. <isset property="args.eclipsehelp.indexsee"></isset>
  90. </not>
  91. </condition>
  92. </target>
  93. <target name="dita.map.eclipse.toc" unless="noMap"
  94. depends="dita.map.eclipse.plugin.init" if="old.transform"
  95. description="Build EclipseHelp TOC file">
  96. <pipeline>
  97. <xslt destdir="${dita.output.dir}"
  98. extension=".xml"
  99. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2eclipse.xsl">
  100. <ditafileset format="ditamap" processingRole="normal"/>
  101. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
  102. <param name="WORKDIR" expression="${workdir}" if:set="workdir"/>
  103. <param name="defaultLanguage" expression="${default.language}"/>
  104. <xmlcatalog refid="dita.catalog"/>
  105. </xslt>
  106. </pipeline>
  107. </target>
  108. <target name="dita.out.map.eclipse.toc" unless="noMap"
  109. depends="dita.map.eclipse.plugin.init" if="inner.transform"
  110. description="Build EclipseHelp TOC file">
  111. <pipeline>
  112. <xslt
  113. destdir="${dita.output.dir}"
  114. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2eclipse.xsl">
  115. <ditafileset format="ditamap" processingRole="normal"/>
  116. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
  117. <param name="WORKDIR" expression="${workdir}" if:set="workdir"/>
  118. <param name="defaultLanguage" expression="${default.language}"/>
  119. <dita:extension behavior="org.dita.dost.platform.InsertAction" id="dita.conductor.eclipse.toc.param"/>
  120. <mapper classname="org.dita.dost.ant.types.JobMapper" to=".xml"/>
  121. <xmlcatalog refid="dita.catalog"/>
  122. </xslt>
  123. </pipeline>
  124. </target>
  125. <target name="dita.map.eclipse.index" unless="noMap"
  126. if="old.transform"
  127. dita:depends="{dita.map.eclipse.index.pre},dita.map.eclipse.plugin.init,dita.index.eclipsehelp.init"
  128. dita:extension="depends org.dita.dost.platform.InsertDependsAction"
  129. description="Build Eclipse Help index file">
  130. <echo level="info"> args.eclipsehelp.indexsee = ${args.eclipsehelp.indexsee} </echo>
  131. <pipeline message="Extract index term."
  132. inputmap="${user.input.file}">
  133. <module class="org.dita.dost.module.IndexTermExtractModule">
  134. <param name="output" location="${dita.output.dir}/${user.input.file}"/>
  135. <param name="targetext" value="${out.ext}"/>
  136. <param name="indextype" value="eclipsehelp"/>
  137. <param name="indexclass" value="${dita.eclipsehelp.index.class}"/>
  138. <param name="eclipse.indexsee" value="${args.eclipsehelp.indexsee}"/>
  139. <param name="encoding" value="${args.dita.locale}" if:set="args.dita.locale"/>
  140. <param name="defaultLanguage" expression="${default.language}"/>
  141. </module>
  142. </pipeline>
  143. </target>
  144. <target name="dita.out.map.eclipse.index" unless="noMap"
  145. if="inner.transform"
  146. dita:depends="{dita.map.eclipse.index.pre},dita.map.eclipse.plugin.init,dita.index.eclipsehelp.init"
  147. dita:extension="depends org.dita.dost.platform.InsertDependsAction"
  148. description="Build Eclipse Help index file">
  149. <echo level="info"> args.eclipsehelp.indexsee = ${args.eclipsehelp.indexsee} </echo>
  150. <pipeline message="Extract index term."
  151. inputmap="${user.input.file}">
  152. <module class="org.dita.dost.module.IndexTermExtractModule">
  153. <param name="output" location="${dita.output.dir}/index.xml"/>
  154. <param name="targetext" value="${out.ext}"/>
  155. <param name="indextype" value="eclipsehelp"/>
  156. <param name="indexclass" value="${dita.eclipsehelp.index.class}"/>
  157. <param name="eclipse.indexsee" value="${args.eclipsehelp.indexsee}"/>
  158. <param name="encoding" value="${args.dita.locale}" if:set="args.dita.locale"/>
  159. <param name="defaultLanguage" expression="${default.language}"/>
  160. </module>
  161. </pipeline>
  162. </target>
  163. <target name="dita.map.eclipse.plugin"
  164. unless="noPlugin"
  165. depends="dita.map.eclipse.plugin.init" if="old.transform"
  166. description="Build Eclipsehelp plugin file">
  167. <pipeline>
  168. <xslt
  169. in="${dita.temp.dir}/${user.input.file}"
  170. out="${dita.map.output.dir}/plugin.xml"
  171. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  172. <param name="TOCROOT" expression="${dita.map.filename.root}" />
  173. <param name="version"
  174. expression="${args.eclipse.version}"
  175. if:set="args.eclipse.version" />
  176. <param name="provider"
  177. expression="${args.eclipse.provider}"
  178. if:set="args.eclipse.provider" />
  179. <param name="osgi.symbolic.name"
  180. expression="${args.eclipse.symbolic.name}"
  181. if:set="args.eclipse.symbolic.name"/>
  182. <outputproperty value="yes" name="indent"/>
  183. <param name="dita.plugin.output"
  184. expression="dita.eclipse.plugin"/>
  185. <xmlcatalog refid="dita.catalog"/>
  186. </xslt>
  187. </pipeline>
  188. </target>
  189. <target name="dita.out.map.eclipse.plugin"
  190. unless="noPlugin"
  191. depends="dita.map.eclipse.plugin.init" if="inner.transform"
  192. description="Build Eclipsehelp plugin file">
  193. <pipeline>
  194. <xslt
  195. in="${dita.temp.dir}/${user.input.file}"
  196. out="${dita.output.dir}/plugin.xml"
  197. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  198. <param name="TOCROOT" expression="${dita.map.filename.root}" />
  199. <param name="version"
  200. expression="${args.eclipse.version}"
  201. if:set="args.eclipse.version" />
  202. <param name="provider"
  203. expression="${args.eclipse.provider}"
  204. if:set="args.eclipse.provider" />
  205. <param name="osgi.symbolic.name"
  206. expression="${args.eclipse.symbolic.name}"
  207. if:set="args.eclipse.symbolic.name"/>
  208. <outputproperty value="yes" name="indent"/>
  209. <param name="dita.plugin.output"
  210. expression="dita.eclipse.plugin"/>
  211. <xmlcatalog refid="dita.catalog"/>
  212. </xslt>
  213. </pipeline>
  214. </target>
  215. <!-- New support for creating Eclipse fragments based on the similar map used to create a plug-in -->
  216. <target name="dita.map.eclipse.manifest.file"
  217. unless="noPlugin"
  218. depends="dita.map.eclipse.plugin.init" if="old.transform"
  219. description="Build Eclipsehelp manifest.mf file">
  220. <pipeline>
  221. <xslt
  222. in="${dita.temp.dir}/${user.input.file}"
  223. out="${dita.map.output.dir}/META-INF/MANIFEST.MF"
  224. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  225. <param name="version"
  226. expression="${args.eclipse.version}"
  227. if:set="args.eclipse.version" />
  228. <param name="provider"
  229. expression="${args.eclipse.provider}"
  230. if:set="args.eclipse.provider" />
  231. <param name="osgi.symbolic.name"
  232. expression="${args.eclipse.symbolic.name}"
  233. if:set="args.eclipse.symbolic.name"/>
  234. <param name="plugin"
  235. expression="${eclipse.plugin}" />
  236. <param name="fragment.country"
  237. expression="${args.eclipsehelp.country}"
  238. if:set="eclipse.fragment.country"/>
  239. <param name="fragment.lang"
  240. expression="${args.eclipsehelp.language}"
  241. if:set="args.eclipsehelp.language"/>
  242. <outputproperty value="text" name="method"/>
  243. <param name="dita.plugin.output"
  244. expression="dita.eclipse.manifest"/>
  245. <xmlcatalog refid="dita.catalog"/>
  246. </xslt>
  247. </pipeline>
  248. </target>
  249. <target name="dita.out.map.eclipse.manifest.file"
  250. unless="noPlugin"
  251. depends="dita.map.eclipse.plugin.init" if="inner.transform"
  252. description="Build Eclipsehelp manifest.mf file">
  253. <pipeline>
  254. <xslt
  255. in="${dita.temp.dir}/${user.input.file}"
  256. out="${dita.map.output.dir}/META-INF/MANIFEST.MF"
  257. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  258. <param name="version"
  259. expression="${args.eclipse.version}"
  260. if:set="args.eclipse.version" />
  261. <param name="provider"
  262. expression="${args.eclipse.provider}"
  263. if:set="args.eclipse.provider" />
  264. <param name="osgi.symbolic.name"
  265. expression="${args.eclipse.symbolic.name}"
  266. if:set="args.eclipse.symbolic.name"/>
  267. <param name="plugin"
  268. expression="${eclipse.plugin}" />
  269. <param name="fragment.country"
  270. expression="${args.eclipsehelp.country}"
  271. if:set="eclipse.fragment.country"/>
  272. <param name="fragment.lang"
  273. expression="${args.eclipsehelp.language}"
  274. if:set="args.eclipsehelp.language"/>
  275. <outputproperty value="text" name="method"/>
  276. <param name="dita.plugin.output"
  277. expression="dita.eclipse.manifest"/>
  278. <xmlcatalog refid="dita.catalog"/>
  279. </xslt>
  280. </pipeline>
  281. </target>
  282. <target name="dita.map.eclipse.plugin.properties"
  283. unless="noPlugin"
  284. depends="dita.map.eclipse.plugin.init" if="old.transform"
  285. description="Create eclipse plugin.properties file">
  286. <pipeline>
  287. <xslt
  288. in="${dita.temp.dir}/${user.input.file}"
  289. out="${dita.output.dir}/plugin.properties"
  290. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  291. <outputproperty value="text" name="method"/>
  292. <param name="dita.plugin.output"
  293. expression="dita.eclipse.properties"/>
  294. <param name="version"
  295. expression="${args.eclipse.version}"
  296. if:set="args.eclipse.version" />
  297. <param name="provider"
  298. expression="${args.eclipse.provider}"
  299. if:set="args.eclipse.provider" />
  300. <xmlcatalog refid="dita.catalog"/>
  301. </xslt>
  302. </pipeline>
  303. </target>
  304. <target name="dita.out.map.eclipse.plugin.properties"
  305. unless="noPlugin"
  306. depends="dita.map.eclipse.plugin.init" if="inner.transform"
  307. description="Create eclipse plugin.properties file">
  308. <pipeline>
  309. <xslt
  310. in="${dita.temp.dir}/${user.input.file}"
  311. out="${dita.output.dir}/plugin.properties"
  312. style="${dita.plugin.org.dita.eclipsehelp.dir}/xsl/map2plugin.xsl">
  313. <outputproperty value="text" name="method"/>
  314. <param name="dita.plugin.output" expression="dita.eclipse.properties"/>
  315. <param name="version"
  316. expression="${args.eclipse.version}"
  317. if:set="args.eclipse.version" />
  318. <param name="provider"
  319. expression="${args.eclipse.provider}"
  320. if:set="args.eclipse.provider" />
  321. <xmlcatalog refid="dita.catalog"/>
  322. </xslt>
  323. </pipeline>
  324. </target>
  325. <target name="dita.map.eclipse.fragment.language.init" if="eclipse.fragment.language"
  326. depends="dita.map.eclipse.plugin.init">
  327. <property name="fragment.dirname.init" value="nl" />
  328. <property name="fragment.dirname" value="${fragment.dirname.init}${file.separator}${args.eclipsehelp.language}"/>
  329. <property name="fragment.property.name" value="${args.eclipsehelp.language}"/>
  330. <antcall target="dita.map.eclipse.genetrate.fragment"/>
  331. </target>
  332. <target name="dita.map.eclipse.fragment.language.country.init" if="eclipse.fragment.country"
  333. depends="dita.map.eclipse.plugin.init">
  334. <property name="fragment.dirname.init" value="nl" />
  335. <property name="fragment.dirname" value="${fragment.dirname.init}${file.separator}${args.eclipsehelp.language}${file.separator}${args.eclipsehelp.country}"/>
  336. <property name="fragment.property.name" value="${args.eclipsehelp.language}_${args.eclipsehelp.country}"/>
  337. <antcall target="dita.map.eclipse.genetrate.fragment"/>
  338. </target>
  339. <target name="dita.map.eclipse.fragment.error" if="eclipse.fragment.error"
  340. depends="dita.map.eclipse.plugin.init">
  341. <echo message="The Eclipse Fragment property args.eclipsehelp.language was not set. "/>
  342. </target>
  343. <target name="dita.map.eclipse.fragment.move.files"
  344. if="old.transform">
  345. <defaultexcludes add="**/META-INF/**"/>
  346. <defaultexcludes add="**/nl/**"/>
  347. <delete file="${dita.output.dir}/plugin.xml"/>
  348. <delete file="${dita.output.dir}/plugincustomization.ini"/>
  349. <move todir="${dita.map.output.dir}/${fragment.dirname}" includeemptydirs="yes">
  350. <fileset dir="${dita.map.output.dir}" defaultexcludes="yes">
  351. <exclude name="helpData.xml"/>
  352. <exclude name="plugin.properties"/>
  353. <exclude name="plugin_${fragment.property.name}.properties"/>
  354. <exclude name="*.list"/>
  355. <exclude name="disabled_book.css"/>
  356. <exclude name="narrow_book.css"/>
  357. <exclude name="${os}_narrow_book.css"/>
  358. <exclude name="book.css"/>
  359. <exclude name="plugincustomization.ini"/>
  360. </fileset>
  361. </move>
  362. <move file="${dita.output.dir}/plugin.properties" tofile="${dita.output.dir}/plugin_${fragment.property.name}.properties" failonerror="no"/>
  363. </target>
  364. <target name="dita.out.map.eclipse.fragment.move.files"
  365. if="inner.transform">
  366. <defaultexcludes add="**/META-INF/**"/>
  367. <defaultexcludes add="**/nl/**"/>
  368. <delete file="${dita.output.dir}/plugin.xml"/>
  369. <delete file="${dita.output.dir}/plugincustomization.ini"/>
  370. <move todir="${dita.output.dir}/${fragment.dirname}" includeemptydirs="yes">
  371. <fileset dir="${dita.output.dir}" defaultexcludes="yes">
  372. <exclude name="helpData.xml"/>
  373. <exclude name="plugin.properties"/>
  374. <exclude name="plugin_${fragment.property.name}.properties"/>
  375. <exclude name="*.list"/>
  376. <exclude name="disabled_book.css"/>
  377. <exclude name="narrow_book.css"/>
  378. <exclude name="${os}_narrow_book.css"/>
  379. <exclude name="book.css"/>
  380. <exclude name="plugincustomization.ini"/>
  381. </fileset>
  382. </move>
  383. <move file="${dita.output.dir}/plugin.properties" tofile="${dita.output.dir}/plugin_${fragment.property.name}.properties" failonerror="no"/>
  384. </target>
  385. <!--<target name="dita.map.eclipse"
  386. depends="dita.map.eclipse.init,
  387. dita.map.eclipse.toc,
  388. dita.map.eclipse.index,
  389. dita.map.eclipse.plugin,
  390. dita.out.map.eclipse.toc,
  391. dita.out.map.eclipse.index,
  392. dita.out.map.eclipse.plugin" />
  393. -->
  394. <target name="dita.map.eclipse.generate.plugin"
  395. depends="dita.map.eclipse.toc,
  396. dita.map.eclipse.index,
  397. dita.map.eclipse.plugin,
  398. dita.map.eclipse.plugin.properties,
  399. dita.map.eclipse.manifest.file,
  400. dita.out.map.eclipse.plugin.properties,
  401. dita.out.map.eclipse.manifest.file,
  402. dita.out.map.eclipse.toc,
  403. dita.out.map.eclipse.index,
  404. dita.out.map.eclipse.plugin"
  405. >
  406. </target>
  407. <target name="dita.map.eclipse.genetrate.fragment"
  408. depends="dita.map.eclipse.toc,
  409. dita.map.eclipse.index,
  410. dita.map.eclipse.plugin.properties,
  411. dita.map.eclipse.manifest.file,
  412. dita.out.map.eclipse.plugin.properties,
  413. dita.out.map.eclipse.manifest.file,
  414. dita.out.map.eclipse.toc,
  415. dita.out.map.eclipse.index,
  416. dita.out.map.eclipse.plugin,
  417. dita.map.eclipse.fragment.move.files,
  418. dita.out.map.eclipse.fragment.move.files">
  419. </target>
  420. <target name="copy-plugin-files">
  421. <!-- Look for files that override behavior in Eclipse plugins -->
  422. <copy todir="${dita.output.dir}">
  423. <fileset dir="${user.input.dir}">
  424. <include name="disabled_book.css"/>
  425. <include name="narrow_book.css"/>
  426. <include name="${os}_narrow_book.css"/>
  427. <include name="book.css"/>
  428. <include name="plugincustomization.ini"/>
  429. <include name="helpData.xml"/>
  430. </fileset>
  431. </copy>
  432. </target>
  433. <target name="build.eclipse.jar">
  434. <condition property="args.eclipsehelp.jar.name" value="${args.output.base}.jar">
  435. <isset property="args.output.base"/>
  436. </condition>
  437. <jar destfile="${output.dir}/${args.eclipsehelp.jar.name}" basedir="${dita.output.dir}" if:set="args.eclipsehelp.jar.name">
  438. <include name="**/*"/>
  439. </jar>
  440. </target>
  441. </project>