| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--This file is part of the DITA Open Toolkit project. See the accompanying LICENSE.md file for applicable licenses.-->
- <project name="docs" default="dist" basedir=".">
- <description>Build DITA Open Toolkit Documentation</description>
- <property environment="env"/>
- <condition property="dita.home" value="${basedir}/..">
- <not><isset property="env.DITA_HOME"/></not>
- </condition>
- <property name="dita.home" location="${env.DITA_HOME}"/>
- <condition property="toolkit.build" value="true" else="false">
- <available file="${basedir}/../lib/dost.jar" type="file"/>
- </condition>
- <condition property="doc.out.dir" value="${dita.home}/doc" else="${basedir}/out">
- <istrue value="${toolkit.build}"/>
- </condition>
- <condition property="doc.samples.dir" value="${dita.home}/docsrc/samples" else="${basedir}/samples">
- <istrue value="${toolkit.build}"/>
- </condition>
- <macrodef name="dita-ot">
- <attribute name="transtype"/>
- <attribute name="input"/>
- <attribute name="output"/>
- <element name="properties" optional="yes"/>
- <sequential>
- <antcall>
- <target name="generate-msg-topic"/>
- <target name="generate-params-topic"/>
- <target name="generate-extension-points-topic"/>
- <target name="generate-properties-file"/>
- </antcall>
- <ant antfile="${dita.home}/build.xml">
- <property name="args.input" location="@{input}"/>
- <property name="output.dir" location="@{output}"/>
- <property name="transtype" value="@{transtype}"/>
- <properties/>
- </ant>
- </sequential>
- </macrodef>
- <target name="check-dita-home">
- <available file="${dita.home}/lib/dost.jar" type="file" property="dita-ot.available"/>
- <fail unless="dita-ot.available">${dita.home}/lib/dost.jar not found.
- Does ${dita.home} contain a working DITA-OT installation?
- Set the $DITA_HOME environment variable or the dita.home Ant property to
- point to a working DITA-OT installation:
- Either:
- $ export DITA_HOME=/path/to/dita-ot
- $ ant ...
- Or:
- $ ant -Ddita.home=/path/to/dita-ot
- </fail>
- </target>
- <target name="init" depends="check-dita-home">
- <property name="resource.dir" location="${dita.home}/resources"/>
- <property name="ditaval.file" location="${basedir}/platform.ditaval"/>
- </target>
- <target name="generate-msg-topic" depends="init" description="Regenerate message file">
- <property name="message.xsl" location="${basedir}/resources/messages.xsl"/>
- <property name="message.input" location="${resource.dir}/messages.xml"/>
- <property name="message.outputtopic" location="${basedir}/user-guide/DITA-messages.xml"/>
- <!--ant antfile="${dita.home}/integrator.xml" useNativeBaseDir="true"/-->
- <xslt in="${message.input}" out="${message.outputtopic}" style="${message.xsl}"/>
- </target>
- <target name="generate-params-topic" depends="init" description="Regenerate parameters file">
- <property name="params.xsl" location="${basedir}/resources/params.xsl"/>
- <property name="params.input" location="${resource.dir}/plugins.xml"/>
- <property name="params.outputtopic" location="${basedir}/parameters/all-parameters.dita"/>
- <dirname property="params.outputdir" file="${params.outputtopic}"/>
- <makeurl property="params.outputdir.uri" file="${params.outputdir}" validate="false"/>
- <!--ant antfile="${dita.home}/integrator.xml" useNativeBaseDir="true"/-->
- <xslt in="${params.input}" out="${params.outputtopic}" style="${params.xsl}" force="yes">
- <param name="output-dir.url" expression="${params.outputdir.uri}"/>
- </xslt>
- </target>
- <target name="generate-properties-file" depends="init" description="Regenerate annotated .properties file">
- <property name="propfile.xsl" location="${basedir}/resources/properties-file.xsl"/>
- <property name="propfile.input" location="${resource.dir}/plugins.xml"/>
- <property name="propfile.output" location="${doc.samples.dir}/properties/template.properties"/>
- <xslt in="${propfile.input}" out="${propfile.output}" style="${propfile.xsl}" force="yes"/>
- </target>
- <target name="generate-extension-points-topic" depends="init" description="Regenerate extension points file">
- <property name="extension-points.xsl" location="${basedir}/resources/extension-points.xsl"/>
- <property name="extension-points.input" location="${resource.dir}/plugins.xml"/>
- <property name="extension-points.outputtopic" location="${basedir}/extension-points/all-extension-points.dita"/>
- <dirname property="extension-points.outputdir" file="${extension-points.outputtopic}"/>
- <makeurl property="extension-points.outputdir.uri" file="${extension-points.outputdir}" validate="false"/>
- <!--ant antfile="${dita.home}/integrator.xml" useNativeBaseDir="true"/-->
- <xslt in="${extension-points.input}" out="${extension-points.outputtopic}" style="${extension-points.xsl}" force="yes">
- <param name="output-dir.url" expression="${extension-points.outputdir.uri}"/>
- </xslt>
- </target>
- <target name="generate-platform-filter" depends="init" description="Generate platform filter file">
- <condition property="platform" value="windows">
- <os family="windows"/>
- </condition>
- <condition property="platform" value="osx">
- <os family="mac"/>
- </condition>
- <condition property="platform" value="unix">
- <os family="unix"/>
- </condition>
- <echoxml file="${ditaval.file}">
- <val>
- <prop action="include" att="platform" val="${platform}"/>
- <prop action="exclude" att="platform"/>
- </val>
- </echoxml>
- </target>
- <target name="filter-platform" depends="generate-platform-filter" description="Filter output by current platform">
- <property name="args.filter" location="${ditaval.file}"/>
- </target>
- <target name="pdf">
- <dita-ot transtype="pdf" input="userguide-book.ditamap" output="${doc.out.dir}">
- <properties>
- <property name="args.gen.task.lbl" value="YES"/>
- <property name="outputFile.base" value="userguide"/>
- <property name="processing-mode" value="strict"/>
- </properties>
- </dita-ot>
- </target>
- <target name="html">
- <dita-ot transtype="html5" input="userguide.ditamap" output="${doc.out.dir}">
- <properties>
- <property name="args.copycss" value="yes"/>
- <property name="args.css" value="dita-ot-doc.css"/>
- <property name="args.cssroot" value="resources"/>
- <property name="args.csspath" value="css"/>
- <property name="args.gen.task.lbl" value="YES"/>
- <property name="args.hdr" value="${basedir}/resources/header.xml"/>
- <property name="args.xhtml.toc" value="toc"/>
- <property name="nav-toc" value="partial"/>
- <property name="processing-mode" value="strict"/>
- </properties>
- </dita-ot>
- </target>
- <target name="htmlhelp">
- <dita-ot transtype="htmlhelp" input="userguide.ditamap" output="${doc.out.dir}/htmlhelp">
- <properties>
- <property name="args.copycss" value="yes"/>
- <property name="args.css" value="dita-ot-doc.css"/>
- <property name="args.cssroot" value="resources"/>
- <property name="args.csspath" value="css"/>
- <property name="args.gen.task.lbl" value="YES"/>
- <property name="processing-mode" value="strict"/>
- </properties>
- </dita-ot>
- <move todir="${doc.out.dir}" failonerror="no">
- <fileset dir="${doc.out.dir}/htmlhelp" includes="*.chm"/>
- </move>
- <delete dir="${doc.out.dir}/htmlhelp"/>
- </target>
- <target name="clean">
- <delete dir="${doc.out.dir}"/>
- <delete dir="${ditaval.file}" failonerror="false"/>
- </target>
- <target name="all" depends="pdf, html, htmlhelp"/>
- <target name="dist" depends="pdf, html"/>
- </project>
|