diff options
Diffstat (limited to 'webhelp/build.xml')
-rw-r--r-- | webhelp/build.xml | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/webhelp/build.xml b/webhelp/build.xml new file mode 100644 index 0000000..cf3ceab --- /dev/null +++ b/webhelp/build.xml @@ -0,0 +1,170 @@ +<project default="help" name="mainbuild"> + + <dirname property="ant.file.dir" file="${ant.file.mainbuild}"/> + <loadproperties srcFile="${ant.file.dir}/build.properties"/> + <property name="webhelp.include.search.tab" value="true"/> + + <property name="extensions.dir" value="${ant.file.dir}/../extensions"/> + + <path id="classpath"> + <pathelement location="${extensions.dir}/webhelpindexer.jar"/> + <pathelement location="${extensions.dir}/lucene-analyzers-3.0.0.jar"/> + <pathelement location="${extensions.dir}/lucene-core-3.0.0.jar"/> + <pathelement location="${extensions.dir}/tagsoup-1.2.1.jar"/> + </path> + + <condition property="perform-validation-dtd"> + <equals arg1="${validate-against-dtd}" arg2="true"/> + </condition> + <condition property="do-search-indexing"> + <equals arg1="${webhelp.include.search.tab}" arg2="true"/> + </condition> + + <target name="validate" if="perform-validation-dtd"> + <xmlvalidate file="${input-xml}" classname="org.apache.xerces.parsers.SAXParser"/> + </target> + + <target name="chunk" depends="clean"> + + <mkdir dir="${output-dir}"/> + <tempfile destdir="${output-dir}" deleteonexit="true" property="xincluded-profiled.xml"/> + <tempfile destdir="${output-dir}" deleteonexit="true" property="dummy.html"/> + <xslt + in="${input-xml}" + out="${xincluded-profiled.xml}" + style="${ant.file.dir}/../profiling/profile.xsl"> + <sysproperty key="org.apache.xerces.xni.parser.XMLParserConfiguration" + value="org.apache.xerces.parsers.XIncludeParserConfiguration"/> + <param name="profile.arch" expression="${profile.arch}" if="profile.arch"/> + <param name="profile.audience" expression="${profile.audience}" if="profile.audience"/> + <param name="profile.condition" expression="${profile.condition}" if="profile.condition"/> + <param name="profile.conformance" expression="${profile.conformance}" if="profile.conformance"/> + <param name="profile.lang" expression="${profile.lang}" if="profile.lang"/> + <param name="profile.os" expression="${profile.os}" if="profile.os"/> + <param name="profile.revision" expression="${profile.revision}" if="profile.revision"/> + <param name="profile.revisionflag" expression="${profile.revisionflag}" if="profile.revisionflag"/> + <param name="profile.role" expression="${profile.role}" if="profile.role"/> + <param name="profile.security" expression="${profile.security}" if="profile.security"/> + <param name="profile.status" expression="${profile.status}" if="profile.status"/> + <param name="profile.userlevel" expression="${profile.userlevel}" if="profile.userlevel"/> + <param name="profile.vendor" expression="${profile.vendor}" if="profile.vendor"/> + <param name="profile.wordsize" expression="${profile.wordsize}" if="profile.wordsize"/> + <param name="profile.attribute" expression="${profile.attribute}" if="profile.attribute"/> + <param name="profile.value" expression="${profile.value}" if="profile.value"/> + </xslt> + + <xslt + in="${xincluded-profiled.xml}" + out="${dummy.html}" + style="${stylesheet-path}" + scanincludeddirectories="false" + classpath="${xslt-processor-classpath}"> + <param name="webhelp.include.search.tab" expression="${webhelp.include.search.tab}" + if="webhelp.include.search.tab"/> + <param name="output_file_name" expression="${output_file_name}"/> + <param name="webhelp.base.dir" expression="${output-dir}" if="output-dir"/> + <param name="webhelp.indexer.language" expression="${webhelp.indexer.language}" if="webhelp.indexer.language"/> + <param name="branding" expression="${branding}" if="branding"/> + <param name="brandname" expression="${brandname}" if="brandname"/> + <param name="admon.graphics" expression="${admon.graphics}" if="admon.graphics"/> + <param name="suppress.footer.navigation" expression="${suppress.footer.navigation}" if="suppress.footer.navigation"/> + </xslt> + + <!-- Copy common content such as js files of tree, css etc. to template folder. They will be copied to doc folder. They are NOT page specific! --> + <copy todir="${output-dir}"> + <fileset dir="${ant.file.dir}/template"> + <include name="**/*"/> + <exclude name="**/content/search/**"/> + </fileset> + </copy> + + <!-- Very simple-minded copy to handle the source document's images --> + <!-- TODO: Look at html help code that produces a manifest file...list of images --> + <!-- Customize webhelp.xsl to produce ant file to copy images actually used? --> + <dirname property="input-images-basedir" file="${input-xml}"/> + <copy todir="${output-dir}/content" failonerror="false"> + <fileset dir="${input-images-basedir}" includes="${input-images-dirs}" /> + </copy> + </target> + + <target name="index" if="do-search-indexing"> + + <copy todir="${output-dir}"> + <fileset dir="${ant.file.dir}/template"> + <include name="**/*"/> + <exclude name="**/content/search/*.props"/> + <exclude name="**/content/search/stemmers/*"/> + </fileset> + </copy> + + <!-- We separate this out so we only copy the stopwords list and stemmer for the indexer language --> + <copy todir="${output-dir}"> + <fileset dir="${ant.file.dir}/template"> + <include name="**/content/search/default.props"/> + <include name="**/content/search/punctuation.props"/> + <include name="**/content/search/${webhelp.indexer.language}*.props"/> + <include name="**/content/search/stemmers/${webhelp.indexer.language}_stemmer.js"/> + </fileset> + </copy> + + <!--taskdef name="indexertask" + classname="com.nexwave.nquindexer.IndexerMain"> + <classpath refid="classpath"/> + </taskdef--> + + <echo>Indexing html files in ${output-dir}/content</echo> + + <java classname="com.nexwave.nquindexer.IndexerMain" fork="true"> + <sysproperty key="htmlDir" value="${output-dir}/content"/> + <sysproperty key="indexerLanguage" value="${webhelp.indexer.language}"/> + <sysproperty key="htmlExtension" value="${html.extension}"/> + <sysproperty key="doStem" value="${enable.stemming}"/> + <sysproperty key="tocFile" value="${toc.file}"/> + + <!--TagSoup SAX Parser for parsing even the bad html contents. see + http://sourceforge.net/tracker/?func=detail&aid=3401185&group_id=21935&atid=373750--> + <sysproperty key="org.xml.sax.driver" value="org.ccil.cowan.tagsoup.Parser"/> + <sysproperty key="javax.xml.parsers.SAXParserFactory" value="org.ccil.cowan.tagsoup.jaxp.SAXFactoryImpl"/> + + <!-- Uncomment the following if Xerces is your preference as the SAX XML Parser. Note that the indexing will fail with Xerces + if the html files are not XML-conformance --> + <!--sysproperty key="org.xml.sax.driver" value="org.apache.xerces.parsers.SAXParser"/> + <sysproperty key="javax.xml.parsers.SAXParserFactory" value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/--> + + <!-- Debug the indexer on port 5005 via remote-debug --> + <!--jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/--> + <classpath> + <path refid="classpath"/> + <pathelement location="${xercesImpl.jar}"/> + <pathelement location="${xml-apis.jar}"/> + <!-- <pathelement location="/usr/share/java/xercesImpl.jar"/> --> + <!-- <pathelement location="/usr/share/java/xml-apis.jar"/> --> + <!-- Gentoo Linux friendly default classpath--> + <pathelement location="/usr/share/xerces-2/lib/xercesImpl.jar"/> + <pathelement location="/usr/share/xml-commons/lib/xml-apis.jar"/> + </classpath> + </java> + + <delete> + <fileset dir="${output-dir}/content/search" includes="*.props"/> + </delete> + + </target> + + <target name="webhelp" depends="validate,chunk,index"/> + + + <target name="clean"> + <delete dir="${output-dir}"/> + </target> + + <target name="help"> + <echo> +Usage: +webhelp: Generates the document in webhelp format and indexes the content. +clean: Deletes webhelp output directory. +index: Indexes the content. + </echo> + </target> + +</project> |