| <!-- |
| Some of the code below is |
| (c) Chris Aniszczyk <caniszczyk@gmail.com> |
| (c) Lawrence Mandel <lmandel@ca.ibm.com> |
| (c) Peter Friese <peter.friese@itemis.com> |
| --> |
| <project name="org.eclipse.qvtd.doc" default="build-doc" basedir="."> |
| |
| <!-- |
| Global vars |
| --> |
| <property name="document.name" value="qvtd"/> |
| <property name="document.stylesheet" value="styles/html.xsl"/> |
| <property name="document.pdf.stylesheet" value="styles/xmpp.xsl"/> |
| |
| <property name="document.eclipse.stylesheet" value="styles/eclipsehelp.xsl"/> |
| <property name="eclipsehelp-css.file" value="styles/book.css" /> |
| <property name="html-css.file" value="styles/book.css" /> |
| |
| <property name="build.dir" value="build" /> |
| <property name="download.dir" value="${java.io.tmpdir}${file.separator}downloads"/> |
| |
| <!-- |
| WikiText Toolchain |
| <property name="wikitext.url" value="http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/tools/mylyn/update/weekly/mylyn-wikitext-standalone-latest.zip"/> |
| <property name="wikitext.url" value="http://download.eclipse.org/mylyn/snapshots/nightly/docs/wikitext-standalone-latest.zip"/> |
| <property name="wikitext.url" value="http://download.eclipse.org/mylyn/drops/3.10.0/v20131025-2037/mylyn-3.10.0.v20131025-2037.zip"/> |
| --> |
| <property name="wikitext.dir" value="${download.dir}${file.separator}wikitext"/> |
| |
| <!-- adolfosbh: We expect to receive a target.location to provide some jars to the xslt ant tasks |
| in the said target.location is not provided, we try to use the tipical ${eclipse.home} variable --> |
| <condition property="target.location" value="${eclipse.home}"> |
| <not> |
| <isset property="target.location"/> |
| </not> |
| </condition> |
| <echo>Target Location: "${target.location}" </echo> |
| <echo>download.dir "${download.dir}" </echo> |
| <path id="xslt.classpath"> |
| <pathelement path="${java.class.path}"/> |
| <pathelement path="${target.location}/plugins/org.apache.xalan_2.7.1.v201005080400.jar"/> |
| <pathelement path="${target.location}/plugins/org.apache.xml.serializer_2.7.1.v201005080400.jar"/> |
| <!--pathelement path="${target.location}/plugins/com.google.guava_10.0.1.v201203051515.jar"/--> |
| </path> |
| |
| |
| <target name="install-wikitext"> |
| <echo>Find wikitext tasks</echo> |
| <!--echo>echoproperties to "${user.dir}${file.separator}install-wikitext.properties"</echo> |
| <echoproperties destfile="${user.dir}${file.separator}install-wikitext.properties"/--> |
| <taskdef resource="org/eclipse/mylyn/wikitext/ant/tasks.properties"> |
| <classpath> |
| <fileset dir="${target.location}${file.separator}plugins"> |
| <include name="com.google.guava*.jar"/> |
| <!--include name="org.eclipse.mylyn.wikitext.core*.jar"/--> |
| <include name="org.eclipse.mylyn.wikitext.ant*.jar"/> |
| <include name="org.eclipse.mylyn.wikitext.textile*.jar"/> |
| <include name="org.eclipse.mylyn.wikitext*.jar"/> |
| </fileset> |
| </classpath> |
| </taskdef> |
| </target> |
| |
| <target name="assemble"> |
| <echo>Assembling contributions to "${build.dir}${file.separator}${document.name}.textile"</echo> |
| <loadfile srcfile="doc/${document.name}-index.txt" property="inputfiles"> |
| <filterchain> |
| <tokenfilter> |
| <replacestring from="\n" to=","/> |
| </tokenfilter> |
| </filterchain> |
| </loadfile> |
| <concat destfile="${build.dir}${file.separator}${document.name}.textile" append="false" fixlastline="yes"> |
| <filelist dir="doc" files="${inputfiles}"/> |
| </concat> |
| </target> |
| |
| <target name="wikitext2docbook" depends="assemble" description="Generate DocBook from Textile"> |
| <wikitext-to-docbook markupLanguage="org.eclipse.mylyn.wikitext.textile.TextileLanguage" |
| booktitle="QVT Declarative Documentation" |
| validate="true"> |
| <fileset dir="${build.dir}"> |
| <include name="${document.name}.textile"/> |
| </fileset> |
| </wikitext-to-docbook> |
| </target> |
| |
| <!-- |
| DocBook Toolchain |
| --> |
| <!-- <property name="docbook.version" value="1.73.2" /> --> |
| <property name="docbook.version" value="1.75.1" /> |
| <property name="docbook.dir" value="${download.dir}${file.separator}docbook-xsl-${docbook.version}"/> |
| <property name="docbookxsl.url" value="http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.75.1/docbook-xsl-${docbook.version}.zip"/> |
| <property name="fop.dir" value="${download.dir}${file.separator}fop-0.95"/> |
| <property name="fop.url" value="http://archive.apache.org/dist/xmlgraphics/fop/binaries/fop-0.95-bin.zip"/> |
| <property name="jai.dir" value="ENTER_JAI_DIRECTORY"/> |
| |
| <macrodef name="docbook2pdf"> |
| <attribute name="source"/> |
| <attribute name="target"/> |
| <sequential> |
| <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"> |
| <classpath> |
| <pathelement location="${fop.dir}${file.separator}build${file.separator}fop.jar" /> |
| <pathelement location="${fop.dir}${file.separator}lib${file.separator}avalon-framework-4.2.0.jar" /> |
| <pathelement location="${fop.dir}${file.separator}lib${file.separator}commons-logging-1.0.4.jar" /> |
| <pathelement location="${fop.dir}${file.separator}lib${file.separator}commons-io-1.3.1.jar" /> |
| <pathelement location="${fop.dir}${file.separator}lib${file.separator}batik-all-1.7.jar" /> |
| <pathelement location="${fop.dir}${file.separator}lib${file.separator}xmlgraphics-commons-1.3.1.jar" /> |
| <pathelement location="${jai.dir}${file.separator}lib${file.separator}jai_core.jar" /> |
| <pathelement location="${jai.dir}${file.separator}lib${file.separator}jai_codec.jar" /> |
| </classpath> |
| </taskdef> |
| <fop |
| format="application/pdf" |
| fofile="@{source}" |
| outfile="@{target}" |
| messagelevel="info"/> |
| </sequential> |
| </macrodef> |
| |
| <target name="init"> |
| <mkdir dir="${download.dir}"/> |
| <mkdir dir="${build.dir}"/> |
| </target> |
| |
| <target name="build-doc" depends="init, install-wikitext, get-docbook-xsl, get-fop"> |
| <echo>Building Output...</echo> |
| <antcall target="wikitext2docbook"/> |
| <antcall target="docbook2pdf"/> |
| <antcall target="docbook2html"/> |
| <antcall target="docbook2eclipsehelp"/> |
| </target> |
| |
| <target name="check-docbook"> |
| <condition property="hasDocbook"> |
| <and> |
| <available file="${download.dir}${file.separator}docbook.zip" property="hasDocbookZip"/> |
| <available file="${docbook.dir}" type="dir" property="hasDocbookDir"/> |
| </and> |
| </condition> |
| </target> |
| |
| <target name="check-fop"> |
| <condition property="hasFOP"> |
| <and> |
| <available file="${download.dir}${file.separator}fop.zip" property="hasFOPZip"/> |
| <available file="${fop.dir}" type="dir" property="hasFOPDir"/> |
| </and> |
| </condition> |
| </target> |
| |
| <target name="get-docbook-xsl" description="Downloads docbook xsl" depends="check-docbook" unless="hasDocbook"> |
| <echo>Downloading DocBook XSL...</echo> |
| <get dest="${download.dir}${file.separator}docbook.zip" src="${docbookxsl.url}" usetimestamp="true" retries="5"/> |
| <unzip src="${download.dir}${file.separator}docbook.zip" dest="${download.dir}"/> |
| </target> |
| |
| <target name="get-fop" description="Downloads FOP" depends="check-fop" unless="hasFOP"> |
| <echo>Downloading FOP...</echo> |
| <get dest="${download.dir}${file.separator}fop.zip" src="${fop.url}" usetimestamp="true" retries="5"/> |
| <unzip src="${download.dir}${file.separator}fop.zip" dest="${download.dir}"/> |
| </target> |
| |
| <target name="docbook2html"> |
| <echo>Converting article to HTML...</echo> |
| <echo>XML Catalog "docbook.xsl" => "${docbook.dir}${file.separator}html${file.separator}docbook.xsl"</echo> |
| <delete dir="${basedir}/html" |
| failonerror="false" |
| excludes="CVS" |
| includeemptydirs="true"/> |
| |
| <copy todir="${basedir}/html"> |
| <fileset dir="doc/"> |
| <include name="images/**" /> |
| </fileset> |
| </copy> |
| <copy file="${html-css.file}" todir="${basedir}/html" /> |
| <xslt classpathref="xslt.classpath" in="${build.dir}${file.separator}${document.name}.xml" extension="xml" out="${basedir}/html${file.separator}${document.name}.html" style="${document.stylesheet}"> |
| |
| <factory name="org.apache.xalan.processor.TransformerFactoryImpl"> |
| <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/> |
| </factory> |
| <xmlcatalog> |
| <entity |
| publicId="docbook.xsl" |
| location="${docbook.dir}${file.separator}html${file.separator}docbook.xsl"/> |
| </xmlcatalog> |
| <param name="header.rule" expression="1" /> |
| <param name="admon.graphics.extension" expression=".gif"/> |
| <param name="admon.textlabel" expression="0"/> |
| <param name="ulink.target" expression="_new"/> |
| <param name="ignore.image.scaling" expression="1"/> |
| </xslt> |
| </target> |
| |
| <target name="docbook2pdf"> |
| <echo>Converting article to "manual${file.separator}${document.name}.pdf"</echo> |
| <echo>XML Catalog "docbook.xsl" => "${docbook.dir}${file.separator}fo${file.separator}docbook.xsl"</echo> |
| <delete file="manual${file.separator}${document.name}.pdf" failonerror="false"/> |
| <delete file="${build.dir}${file.separator}${document.name}.fo"/> |
| <mkdir dir="manual"/> |
| |
| <!-- HACK! images should rather be copied to build/images --> |
| <copy todir="${basedir}"> |
| <fileset dir="doc/"> |
| <include name="images/**" /> |
| </fileset> |
| </copy> |
| |
| |
| <xslt classpathref="xslt.classpath" in="${build.dir}${file.separator}${document.name}.xml" extension="xml" out="${build.dir}${file.separator}${document.name}.fo" style="${document.pdf.stylesheet}"> |
| <factory name="org.apache.xalan.processor.TransformerFactoryImpl"> |
| <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/> |
| </factory> |
| <xmlcatalog> |
| <entity |
| publicId="docbook.xsl" |
| location="${docbook.dir}${file.separator}fo${file.separator}docbook.xsl"/> |
| </xmlcatalog> |
| <param name="generate.toc" expression="book toc" /> |
| <param name="header.rule" expression="1" /> |
| <param name="admon.graphics.extension" expression=".gif"/> |
| <param name="admon.textlabel" expression="0"/> |
| <param name="admon.graphics" expression="1"/> |
| </xslt> |
| |
| <docbook2pdf |
| source="${build.dir}${file.separator}${document.name}.fo" |
| target="manual${file.separator}${document.name}.pdf"/> |
| |
| <!-- Remove the resulting formatting object. This object isn't necessary in the |
| result of this build. --> |
| <delete file="${build.dir}${file.separator}${document.name}.fo" /> |
| <delete dir="${basedir}/images" /> |
| </target> |
| |
| <target name="wikitext2eclipsehelp" depends="assemble" description="Generate Eclipse Help from textile"> |
| <wikitext-to-eclipse-help markupLanguage="org.eclipse.mylyn.wikitext.textile.core.TextileLanguage" |
| multipleOutputFiles="true" |
| navigationImages="false" |
| formatoutput="true" |
| helpPrefix="help"> |
| <fileset dir="${build.dir}"> |
| <include name="${document.name}.textile"/> |
| </fileset> |
| <stylesheet url="book.css"/> |
| <stylesheet file="${basedir}/help/styles/main.css"/> |
| </wikitext-to-eclipse-help> |
| </target> |
| |
| <target name="docbook2eclipsehelp"> |
| <echo>Converting article to Eclipse Help...</echo> |
| <delete dir="${basedir}/help" |
| failonerror="false" |
| excludes="CVS" |
| includeemptydirs="true"/> |
| <copy todir="${basedir}/help/images"> |
| <fileset dir="doc/images"> |
| <include name="**/*" /> |
| </fileset> |
| </copy> |
| <copy file="${eclipsehelp-css.file}" todir="${basedir}/help" /> |
| |
| <xslt classpathref="xslt.classpath" basedir="${build.dir}" destdir="${basedir}" style="${document.eclipse.stylesheet}"> |
| <param name="chunk.quietly" expression="1"/> |
| <include name="qvtd.xml"/> |
| <factory name="org.apache.xalan.processor.TransformerFactoryImpl"> |
| <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/> |
| </factory> |
| <xmlcatalog> |
| <entity |
| publicId="chunk.xsl" |
| location="${docbook.dir}${file.separator}html${file.separator}chunk.xsl"/> |
| </xmlcatalog> |
| <param name="header.rule" expression="1" /> |
| <param name="ignore.image.scaling" expression="1" /> |
| </xslt> |
| <delete file="${basedir}/qvtd.html" /> |
| </target> |
| |
| |
| |
| </project> |