| <!-- |
| Blame: |
| Miles Parker <milesparker@gmail.com> |
| 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> |
| |
| This build file needs to be run using an Eclipse launch configuration |
| and selecting to use the same JVM that is running Eclipse so that it |
| will be able to load classes from the Eclipse plug-ins. |
| --> |
| |
| |
| <project name="build-eclipse-documentation" default="build-all-books" basedir="."> |
| |
| <property name="bundle.version" value="1.0.0" /> |
| <!--Assumes that documentation git repos is parallel to virgo.ide location. This will break on Hudson! We should replace with ant git.--> |
| <property name="virgo.docs.dir" value="../../org.eclipse.virgo.documentation" /> |
| <property name="greenpages.docs.dir" value="../../org.eclipse.virgo.sample-greenpages/guide" /> |
| <property name="bundlor.docs.dir" value="../../org.eclipse.virgo.bundlor/user-guide" /> |
| <property name="wiki.docs.dir" value="${virgo.docs.dir}/wiki-guide" /> |
| |
| <property name="book" value="tooling" /> |
| <property name="current-loc" location="." /> |
| <property name="temp.dir" value="${basedir}/tmp" /> |
| |
| <property name="xalan" value="org.apache.xalan.processor.TransformerFactoryImpl" /> |
| |
| <taskdef name="xinclude" classname="org.eclipse.wst.xsl.core.internal.ant.XIncludeTask" /> |
| |
| <property name="docbook.version" value="1.76.0" /> |
| <property name="fop.version" value="1.1" /> |
| <!-- |
| Global vars |
| --> |
| |
| <property name="document.name" value="virgo" /> |
| |
| <property name="document.eclipse.stylesheet" value="${basedir}/styles/eclipsehelp.xsl" /> |
| <property name="document.chunk" value="${basedir}/styles/chunk.xsl" /> |
| <property name="eclipsehelp-css.file" value="${basedir}/styles/book.css" /> |
| <property name="html-css.file" value="${basedir}/styles/book.css" /> |
| |
| <property name="download.dir" value="${java.io.tmpdir}${file.separator}downloads" /> |
| <echo>Files downloaded to: ${java.io.tmpdir}${file.separator}downloads</echo> |
| |
| <!-- |
| DocBook Toolchain |
| --> |
| <!-- <property name="docbook.version" value="1.73.2" /> --> |
| <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/${docbook.version}/docbook-xsl-${docbook.version}.zip" /> |
| <property name="fop.dir" value="${download.dir}${file.separator}fop-${fop.version}" /> |
| <property name="fop.url" value="http://www.apache.org/dist//xmlgraphics/fop/binaries/fop-${fop.version}-bin.zip" /> |
| <property name="jai.dir" value="ENTER_JAI_DIRECTORY" /> |
| |
| <macrodef name="git"> |
| <attribute name="command" /> |
| <attribute name="dir" default="" /> |
| <element name="args" optional="true" /> |
| <sequential> |
| <echo message="git @{command}" /> |
| <exec executable="git" dir="@{dir}"> |
| <arg value="@{command}" /> |
| <args /> |
| </exec> |
| </sequential> |
| </macrodef> |
| |
| <target name="init"> |
| <mkdir dir="${download.dir}" /> |
| </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-extra-styles" depends="check-docbook"> |
| <echo>Adding Eclipse styles...</echo> |
| <copy todir="${docbook.dir}/eclipse/"> |
| <fileset dir="${basedir}/styles" erroronmissingdir="true"> |
| <include name="*.xsl" /> |
| </fileset> |
| </copy> |
| </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}" /> |
| <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}" /> |
| <unzip src="${download.dir}${file.separator}fop.zip" dest="${download.dir}" /> |
| </target> |
| |
| <target name="clean-temp"> |
| <echo>Deleting: ${temp.dir}</echo> |
| <mkdir dir="${temp.dir}" /> |
| </target> |
| |
| <target name="clean-book"> |
| <echo>Deleting: ${basedir}/${book}</echo> |
| <mkdir dir="${basedir}/${book}" /> |
| </target> |
| |
| <target name="copy-book" depends="clean-book"> |
| <echo>Copying documentation from: ${virgo.docs.dir}/${book}-guide to ${temp.dir}/${book}</echo> |
| <mkdir dir="${temp.dir}/${book}" /> |
| <copy todir="${temp.dir}/${book}"> |
| <fileset dir="${virgo.docs.dir}/${book}-guide/src" erroronmissingdir="true"> |
| <include name="**/*.xml" /> |
| </fileset> |
| <filterset> |
| <filtersfile file="${basedir}/plugin.properties" /> |
| <filtersfile file="${virgo.docs.dir}/${book}-guide/filters.properties" /> |
| </filterset> |
| </copy> |
| <echo>Copying images from: ${virgo.docs.dir}/${book}-guide to "${basedir}/${book}/images</echo> |
| <copy todir="${basedir}/${book}/images"> |
| <fileset dir="${virgo.docs.dir}/${book}-guide/images" erroronmissingdir="true"> |
| <include name="*.png" /> |
| <include name="**/*.png" /> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="merge-book"> |
| <echo>Merging documentation into: ${temp.dir}/${book}/_combined.xml</echo> |
| <xinclude in="${temp.dir}/${book}/virgo-${book}-guide.xml" out="${temp.dir}/${book}/_combined.xml" /> |
| </target> |
| |
| <target name="build-book" depends="init, get-docbook-xsl, get-fop, get-extra-styles, clean-book, copy-book, merge-book"> |
| <echo>Building documentation into: ${basedir}/${book}</echo> |
| <copy todir="${basedir}/${book}" file="${current-loc}/styles/book.css" /> |
| <xslt force="true" in="${temp.dir}/${book}/_combined.xml" out="${basedir}/${book}/test.xml" style="${docbook.dir}/eclipse/eclipsehelp.xsl"> |
| <factory name="${xalan}" /> |
| <param name="manifest" expression="1" /> |
| <param name="base.dir" expression="" /> |
| <param name="create.plugin.xml" expression="0" /> |
| <param name="chunker.output.indent" expression="yes" /> |
| <param name="navig.showtitles" expression="0" /> |
| <param name="suppress.navigation" expression="0" /> |
| <param name="generate.toc" expression="book toc,title,figure |
| chapter toc,title |
| section title" /> |
| </xslt> |
| <replace file="${basedir}/${book}/toc.xml" token="href="" value="href="${book}/" /> |
| <replace file="${basedir}/${book}/toc.xml" token="topic="" value="topic="${book}/" /> |
| </target> |
| |
| <fileset id="virgo.wiki.files" dir="${wiki.docs.dir}" erroronmissingdir="true"> |
| <include name="images/*.gif" /> |
| <include name="*toc.xml" /> |
| <include name="Virgo/**/**" /> |
| </fileset> |
| |
| <fileset id="virgo.target.files" dir="${basedir}/wiki" erroronmissingdir="true"> |
| <include name="*toc.xml" /> |
| <include name="Virgo/**/**" /> |
| </fileset> |
| |
| <target name="build-greenpages" depends="clean-temp"> |
| <copy todir="${virgo.docs.dir}/greenpages-guide"> |
| <fileset dir="${greenpages.docs.dir}" erroronmissingdir="true"> |
| <include name="**" /> |
| <include name="images/**/**" /> |
| </fileset> |
| </copy> |
| <move file="${virgo.docs.dir}/greenpages-guide/src/greenpages-guide.xml" tofile="${virgo.docs.dir}/greenpages-guide/src/virgo-greenpages-guide.xml" /> |
| <antcall target="build-book"> |
| <param name="book" value="greenpages" /> |
| </antcall> |
| <replace token="A Guide to the GreenPages Sample" value="Virgo Greenpages Guide"> |
| <fileset refid="virgo.target.files" /> |
| </replace> |
| <delete dir="${virgo.docs.dir}/greenpages-guide" /> |
| </target> |
| |
| <target name="build-bundlor" depends="clean-temp"> |
| <echo>${bundlor.docs.dir}/bundlor-guide</echo> |
| <copy todir="${virgo.docs.dir}/bundlor-guide"> |
| <fileset dir="${bundlor.docs.dir}" erroronmissingdir="true"> |
| <include name="**" /> |
| <include name="images/**/**" /> |
| </fileset> |
| </copy> |
| <move file="${virgo.docs.dir}/bundlor-guide/src/user-guide.xml" tofile="${virgo.docs.dir}/bundlor-guide/src/virgo-bundlor-guide.xml" failonerror="false"/> |
| <antcall target="build-book"> |
| <param name="book" value="bundlor" /> |
| </antcall> |
| <delete dir="${virgo.docs.dir}/bundlor-guide" /> |
| </target> |
| |
| <target name="build-tooling-docs" depends="clean-temp"> |
| <antcall target="build-book"> |
| <param name="book" value="tooling" /> |
| </antcall> |
| </target> |
| |
| <target name="build-runtime-docs" depends="clean-temp"> |
| <antcall target="build-book"> |
| <param name="book" value="user" /> |
| </antcall> |
| <antcall target="build-book"> |
| <param name="book" value="programmer" /> |
| </antcall> |
| </target> |
| |
| <target name="build-wiki" depends="clean-temp"> |
| <delete dir="wiki/Virgo" /> |
| <copy todir="wiki"> |
| <fileset refid="virgo.wiki.files" /> |
| </copy> |
| </target> |
| |
| <target name="build-all-books" depends="build-wiki"> |
| </target> |
| </project> |