code-srv-test/dita-ot-3.6/plugins/org.dita.base/build_preprocess2.xml
2021-03-23 22:38:58 +00:00

334 lines
No EOL
17 KiB
XML

<?xml version="1.0" encoding="UTF-8"?><!--
This file is part of the DITA Open Toolkit project.
Copyright 2016 Jarno Elovirta
See the accompanying LICENSE file for applicable license.
--><project xmlns:dita="http://dita-ot.sourceforge.net" xmlns:if="ant:if" xmlns:unless="ant:unless" name="ditaot-preprocess2">
<target name="preprocess2" description="Preprocess" depends="preprocess2.init,ditaval-merge,preprocess2.maps,preprocess2.topics,map-clean-map,clean-preprocess,copy-files2">
<dirname property="_dita.map.output.dir" file="${dita.output.dir}/${user.input.file}"/>
<dirname property="_dita.map.temp.dir" file="${dita.temp.dir}/${user.input.file}"/>
<property name="uplevels" value=""/>
<property name="dita.map.output.dir" location="${_dita.map.output.dir}/${uplevels}"/>
</target>
<target name="preprocess2.maps" depends="map-reader, map-mapref, map-branch-filter, map-keyref, map-conrefpush, map-conref, map-profile"/>
<target name="preprocess2.topics" depends="topic-reader, topic-branch-filter, topic-keyref, topic-copy-to, topic-conrefpush, topic-conref, topic-profile, preprocess2.topic-fragment, topic-chunk, topic-move-meta-entries, topic-maplink, topic-topicpull"/>
<target name="preprocess2-topic" description="Preprocess topic" depends="preprocess2.init,ditaval-merge,topic-reader,topic-conrefpush,topic-conref,topic-profile,preprocess2.topic-fragment,topic-move-meta-entries,topic-topicpull,clean-preprocess,copy-files2">
<dirname property="_dita.map.output.dir" file="${dita.output.dir}/${user.input.file}"/>
<dirname property="_dita.map.temp.dir" file="${dita.temp.dir}/${user.input.file}"/>
<property name="uplevels" value=""/>
<property name="dita.map.output.dir" location="${_dita.map.output.dir}/${uplevels}"/>
</target>
<target name="preprocess2.init">
<dita-ot-fail id="DOTA002F">
<condition>
<not><isset property="args.input"/></not>
</condition>
</dita-ot-fail>
<property name="clean-preprocess.use-result-filename" value="true"/>
<basename property="dita.input.filename" file="${args.input}"/>
<pathconvert property="dita.map.filename.root">
<path path="${dita.input.filename}"/>
<chainedmapper>
<mapper type="flatten"/>
<mapper type="regexp" from="^(.+)(\..+?)$$" to="\1"/>
</chainedmapper>
</pathconvert>
<property name="dita.topic.filename.root" value="${dita.map.filename.root}"/>
<echo level="info">*****************************************************************</echo>
<echo level="info">* input = ${args.input}</echo>
<echo level="info">* resources = ${args.resources}</echo>
<echo level="info">*****************************************************************</echo>
<echoxml file="${dita.temp.dir}/.job.xml">
<job>
<property name="temp-file-name-scheme">
<string>org.dita.dost.module.reader.HashTempFileScheme</string>
</property>
</job>
</echoxml>
<property name="map.filter-on-parse" value="false"/>
<property name="topic.filter-on-parse" value="true"/>
<condition property="preprocess.map-profile.skip">
<istrue value="${map.filter-on-parse}"/>
</condition>
</target>
<target name="map-reader" description="Generate lists, debug, and filter input map files">
<pipeline message="Generate maps" taskname="map-reader" inputmap="${args.input}">
<module class="org.dita.dost.module.reader.MapReaderModule">
<param name="resources" value="${args.resources}" if:set="args.resources"/>
<param name="inputdir" location="${args.input.dir}" if:set="args.input.dir"/>
<param name="ditadir" location="${dita.dir}"/>
<param name="validate" value="${validate}"/>
<param name="generatecopyouter" value="${generate.copy.outer}"/>
<param name="outercontrol" value="${outer.control}"/>
<param name="outputdir" location="${dita.output.dir}"/>
<param name="transtype" value="${transtype}"/>
<param name="gramcache" value="${args.grammar.cache}"/>
<param name="setsystemid" value="${args.xml.systemid.set}"/>
<param name="profiling.enable" value="${map.filter-on-parse}" unless:set="map.filter-on-parse"/>
<param name="generate-debug-attributes" value="${generate-debug-attributes}" if:set="generate-debug-attributes"/>
<param name="processing-mode" value="${processing-mode}" if:set="processing-mode"/>
</module>
</pipeline>
<local name="inputMapPath"/>
<pathconvert property="inputMapPath">
<ditafileset format="ditamap" input="true"/>
</pathconvert>
<condition property="noMap">
<equals arg1="${inputMapPath}" arg2=""/>
</condition>
</target>
<target name="map-mapref" unless="preprocess.mapref.skip" description="Resolve mapref in ditamap">
<property name="dita.preprocess.reloadstylesheet.mapref" value="${dita.preprocess.reloadstylesheet}"/>
<dirname property="mapref.workdir" file="${dita.temp.dir}/${user.input.file}"/>
<pipeline message="Resolve mapref in ditamap" taskname="mapref">
<module class="org.dita.dost.module.MaprefModule">
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/mapref.xsl"/>
<ditafileset format="ditamap" input="true"/>
<ditafileset format="ditamap" inputResource="true"/>
</module>
</pipeline>
</target>
<target name="map-branch-filter" unless="preprocess.branch-filter.skip" description="Resolve input map files branch filtering">
<pipeline taskname="branch-filter" message="Filter branches">
<module class="org.dita.dost.module.filter.MapBranchFilterModule"/>
</pipeline>
</target>
<target name="map-keyref" unless="preprocess.keyref.skip" description="Resolve input map files keyref">
<pipeline message="Resolve keyref." taskname="keyref">
<module class="org.dita.dost.module.KeyrefModule" parallel="${parallel}">
<ditafileset format="ditamap" input="true"/>
<ditafileset format="ditamap" inputResource="true"/>
<param name="transtype" value="${transtype}"/>
</module>
</pipeline>
<pipeline message="Resolve mapref in ditamap" taskname="mapref">
<module class="org.dita.dost.module.MaprefModule">
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/mapref.xsl"/>
<ditafileset format="ditamap" input="true"/>
<ditafileset format="ditamap" inputResource="true"/>
</module>
</pipeline>
</target>
<target name="map-conrefpush" unless="preprocess.conrefpush.skip" description="Resolve input map files conref push">
<pipeline message="Resolve conref push." taskname="conref-push">
<module class="org.dita.dost.module.ConrefPushModule">
<ditafileset format="ditamap" input="true"/>
<ditafileset format="ditamap" inputResource="true"/>
</module>
</pipeline>
</target>
<target name="map-conref" unless="preprocess.conref.skip" description="Resolve conref in input map files">
<property name="dita.preprocess.reloadstylesheet.conref" value="${dita.preprocess.reloadstylesheet}"/>
<makeurl property="exportfile.url" file="${dita.temp.dir}/export.xml" validate="false"/>
<pipeline message="Resolve conref in input files" taskname="conref">
<xslt basedir="${dita.temp.dir}" reloadstylesheet="${dita.preprocess.reloadstylesheet.conref}" style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/map-conref.xsl" filenameparameter="file-being-processed" parallel="${parallel}">
<ditafileset format="ditamap" conref="true" input="true"/>
<ditafileset format="ditamap" conref="true" inputResource="true"/>
<param name="EXPORTFILE" expression="${exportfile.url}"/>
<param name="TRANSTYPE" expression="${transtype}"/>
</xslt>
</pipeline>
</target>
<target name="map-profile" depends="map-profile-check" unless="preprocess.map-profile.skip" description="Profile input map files">
<pipeline message="Profile filtering." taskname="profile">
<module class="org.dita.dost.module.FilterModule">
<ditafileset format="ditamap" input="true"/>
<ditafileset format="ditamap" inputResource="true"/>
<param name="ditaval" location="${dita.input.valfile}" if:set="dita.input.valfile"/>
<param name="transtype" value="${transtype}"/>
</module>
</pipeline>
</target>
<target name="map-profile-check">
<condition property="preprocess.map-profile.skip">
<istrue value="${map.filter-on-parse}"/>
</condition>
</target>
<target name="topic-reader" description="Generate file list">
<pipeline message="Generate topics" taskname="topic-reader" inputmap="${args.input}">
<module class="org.dita.dost.module.reader.TopicReaderModule">
<param name="resources" value="${args.resources}" if:set="args.resources"/>
<param name="inputdir" location="${args.input.dir}" if:set="args.input.dir"/>
<param name="ditadir" location="${dita.dir}"/>
<param name="validate" value="${validate}"/>
<param name="generatecopyouter" value="${generate.copy.outer}"/>
<param name="outercontrol" value="${outer.control}"/>
<param name="onlytopicinmap" value="${onlytopic.in.map}"/>
<param name="crawl" value="${link-crawl}" if:set="link-crawl"/>
<param name="outputdir" location="${dita.output.dir}"/>
<param name="transtype" value="${transtype}"/>
<param name="gramcache" value="${args.grammar.cache}"/>
<param name="setsystemid" value="${args.xml.systemid.set}"/>
<param name="profiling.enable" value="${topic.filter-on-parse}" unless:set="topic.filter-on-parse"/>
<param name="generate-debug-attributes" value="${generate-debug-attributes}" if:set="generate-debug-attributes"/>
<param name="processing-mode" value="${processing-mode}" if:set="processing-mode"/>
</module>
</pipeline>
</target>
<target name="topic-branch-filter">
<pipeline taskname="branch-filter" message="Filter branches">
<module class="org.dita.dost.module.filter.TopicBranchFilterModule"/>
</pipeline>
</target>
<target name="topic-keyref" unless="preprocess.keyref.skip" description="Resolve keyref">
<pipeline message="Resolve keyref." taskname="keyref">
<module class="org.dita.dost.module.KeyrefModule" parallel="${parallel}">
<ditafileset format="dita"/>
<param name="transtype" value="${transtype}"/>
</module>
</pipeline>
</target>
<target name="topic-copy-to">
<pipeline message="Resolve copy-to." taskname="copy-to">
<module class="org.dita.dost.module.CopyToModule">
<param name="force-unique" value="${force-unique}" if:set="force-unique"/>
</module>
</pipeline>
</target>
<target name="topic-conrefpush" unless="preprocess.conrefpush.skip" description="Resolve conref push">
<pipeline message="Resolve conref push." taskname="conref-push">
<module class="org.dita.dost.module.ConrefPushModule">
<ditafileset format="dita"/>
<ditafileset format="ditamap"/>
</module>
</pipeline>
</target>
<target name="topic-conref" unless="preprocess.conref.skip" description="Resolve conref in input files">
<property name="dita.preprocess.reloadstylesheet.conref" value="${dita.preprocess.reloadstylesheet}"/>
<makeurl property="exportfile.url" file="${dita.temp.dir}/export.xml" validate="false"/>
<pipeline message="Resolve conref in input files" taskname="conref">
<xslt basedir="${dita.temp.dir}" reloadstylesheet="${dita.preprocess.reloadstylesheet.conref}" style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/conref.xsl" filenameparameter="file-being-processed" parallel="${parallel}">
<ditafileset conref="true" format="dita"/>
<ditafileset conref="true" format="ditamap"/>
<param name="EXPORTFILE" expression="${exportfile.url}"/>
<param name="TRANSTYPE" expression="${transtype}"/>
</xslt>
</pipeline>
</target>
<target name="topic-profile" depends="topic-profile-check" unless="preprocess.topic-profile.skip" description="Profile input files">
<pipeline message="Profile filtering." taskname="profile">
<module class="org.dita.dost.module.FilterModule">
<ditafileset format="dita"/>
<param name="ditaval" location="${dita.input.valfile}" if:set="dita.input.valfile"/>
<param name="transtype" value="${transtype}"/>
</module>
</pipeline>
</target>
<target name="topic-profile-check">
<condition property="preprocess.topic-profile.skip">
<istrue value="${topic.filter-on-parse}"/>
</condition>
</target>
<target name="preprocess2.topic-fragment" description="Normalize same topic fragment identifiers and table column names, and resolve coderef">
<pipeline message="Resolve topic fragment." taskname="preprocess2.topic-fragment">
<sax parallel="${parallel}">
<ditafileset format="dita"/>
<filter class="org.dita.dost.writer.TopicFragmentFilter">
<param name="attributes" value="href"/>
</filter>
<filter class="org.dita.dost.writer.NormalizeTableFilter">
<param name="processing-mode" value="${processing-mode}" if:set="processing-mode"/>
</filter>
<filter class="org.dita.dost.writer.NormalizeSimpleTableFilter"/>
<filter class="org.dita.dost.writer.CoderefResolver" unless:set="preprocess.coderef.skip"/>
<filter class="org.dita.dost.writer.NormalizeCodeblock" unless:set="preprocess.normalize-codeblock.skip"/>
</sax>
</pipeline>
</target>
<target name="topic-chunk" unless="preprocess.chunk.skip" description="Process chunks">
<pipeline message="Process chunks." taskname="chunk">
<module class="org.dita.dost.module.ChunkModule">
<param name="transtype" value="${transtype}"/>
<param name="root-chunk-override" value="${root-chunk-override}" if:set="root-chunk-override"/>
</module>
</pipeline>
</target>
<target name="topic-move-meta-entries" unless="preprocess.move-meta-entries.skip" description="Move metadata entries">
<pipeline message="Move metadata entries." taskname="move-meta">
<module class="org.dita.dost.module.MoveMetaModule">
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/mappull.xsl"/>
<param name="conserve-memory" expression="${conserve-memory}" if:set="conserve-memory"/>
</module>
</pipeline>
</target>
<target name="topic-maplink" unless="preprocess.maplink.skip" description="Find and generate related link information">
<property name="dita.preprocess.reloadstylesheet.maplink" value="${dita.preprocess.reloadstylesheet}"/>
<pipeline message="Move related links" taskname="maplink">
<module class="org.dita.dost.module.MoveLinksModule">
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/maplink.xsl"/>
<param name="include.rellinks" expression="${include.rellinks}" if:set="include.rellinks"/>
</module>
</pipeline>
</target>
<target name="topic-topicpull" unless="preprocess.topicpull.skip" description="Pull metadata for link and xref element">
<property name="dita.preprocess.reloadstylesheet.topicpull" value="${dita.preprocess.reloadstylesheet}"/>
<pipeline message="Pull metadata for link and xref element" taskname="topicpull">
<xslt basedir="${dita.temp.dir}" reloadstylesheet="${dita.preprocess.reloadstylesheet.topicpull}" style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/topicpull.xsl" parallel="${parallel}">
<ditafileset format="dita" processingRole="normal"/>
<param name="TABLELINK" expression="${args.tablelink.style}" if:set="args.tablelink.style"/>
<param name="FIGURELINK" expression="${args.figurelink.style}" if:set="args.figurelink.style"/>
<param name="ONLYTOPICINMAP" expression="${onlytopic.in.map}" if:set="onlytopic.in.map"/>
<param name="defaultLanguage" expression="${default.language}"/>
</xslt>
</pipeline>
</target>
<target name="map-clean-map" unless="preprocess.clean-map-check.skip" description="Clean ditamap">
<property name="dita.preprocess.reloadstylesheet.clean-map" value="${dita.preprocess.reloadstylesheet}"/>
<pipeline message="Clean ditamap" taskname="clean-map">
<xslt basedir="${dita.temp.dir}" reloadstylesheet="${dita.preprocess.reloadstylesheet.clean-map}" style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/clean-map.xsl">
<ditafileset format="ditamap"/>
<xmlcatalog refid="dita.catalog"/>
</xslt>
</pipeline>
</target>
<target name="copy-files2" description="Copy files to the output directory" depends="copy-image2,copy-html,copy-flag" unless="preprocess.copy-files.skip"/>
<target name="copy-image2" unless="preprocess.copy-image.skip" description="Copy image files">
<copy todir="${dita.output.dir}" failonerror="false" overwrite="true">
<ditafileset format="image"/>
<jobmapper/>
</copy>
</target>
</project>