From: Carlos S. <car...@us...> - 2005-01-08 19:24:12
|
carlossg 05/01/08 11:24:06 Modified: sdocbook plugin.jelly plugin.properties sdocbook/xdocs goals.xml Log: Added generate-htmlchunk Revision Changes Path 1.15 +123 -86 maven-plugins/sdocbook/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/sdocbook/plugin.jelly,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- plugin.jelly 5 Jan 2005 22:08:13 -0000 1.14 +++ plugin.jelly 8 Jan 2005 19:24:05 -0000 1.15 @@ -18,7 +18,7 @@ <goal name="sdocbook" description="Create HTML and PDF generated from DOCBOOK" - prereqs="sdocbook:info,sdocbook:generate-html,sdocbook:generate-pdf"> + prereqs="sdocbook:info,sdocbook:generate-html,sdocbook:generate-htmlchunk,sdocbook:generate-pdf"> </goal> <!-- ================================================================== --> @@ -31,11 +31,12 @@ <j:set var="maven.sdocbook.stylesheets.version" value="${sdocbookPlugin.getDependency('docbook:docbook-xsl').version}"/> - <!-- get docbook stylesheets and unzip them if needed --> + <!-- get docbook stylesheets from project --> <j:set var="docbookZipPath" value="${pom.getDependencyPath('docbook:docbook-xsl')}"/> - <j:if test="${docbookZipPath == null}"> - <echo>Using default stylesheets</echo> - <j:set var="docbookZipPath" value="${maven.sdocbook.stylesheets.zip}"></j:set> + <!-- if there's a docbook dependency in project use it --> + <j:if test="${docbookZipPath != null}"> + <echo>Using custom stylesheets</echo> + <j:set var="maven.sdocbook.stylesheets.zip" value="${docbookZipPath}"/> <j:set var="maven.sdocbook.stylesheets.version" value="${pom.getDependency('docbook:docbook-xsl').version}"/> </j:if> @@ -51,6 +52,17 @@ <j:set var="maven.sdocbook.fo.xsl" value="${maven.sdocbook.stylesheets.dir}/fo/docbook.xsl"/> </j:if> + <!-- determine if entity-resolver is requested --> + <j:set var="useEntityResolver" value="${maven.sdocbook.use.entityresolver}" /> + <j:if test="${useEntityResolver == 'true'}"> + <j:set var="catalogManagerPropertiesFile" value="${maven.sdocbook.catalogmanager.properties}" /> + <j:if test="${empty(catalogManagerPropertiesFile)}"> + <fail message="property 'maven.sdocbook.catalogmanager.properties' required when using 'maven.sdocbook.use.entityresolver==true'" /> + </j:if> + <dirname property="catalogManagerPropertiesDir" file="${maven.sdocbook.catalogmanager.properties}" /> + <j:set var="catalogManagerPropertiesDir" value="${catalogManagerPropertiesDir}" /> + </j:if> + </goal> <!-- ================================================================== --> @@ -82,7 +94,7 @@ <!-- P R E P A R E F I L E S Y S T E M --> <!-- ================================================================== --> - <goal name="sdocbook:prepare-filesystem"> + <goal name="sdocbook:prepare-filesystem" prereqs="sdocbook:init"> <attainGoal name="xdoc:init"/> @@ -107,44 +119,20 @@ <j:if test="${!unzipped}"> <!-- unzip docbook files --> <ant:unzip dest="${maven.sdocbook.stylesheets.dir}/.." - src="${docbookZipPath}"/> + src="${maven.sdocbook.stylesheets.zip}"/> </j:if> </goal> <!-- ================================================================== --> - <!-- G E N E R A T E H T M L --> + <!-- T R A N S F O R M W I T H X S L T --> <!-- ================================================================== --> - <goal - name="sdocbook:generate-html" - prereqs="sdocbook:prepare-filesystem" - description="Generate HTML for all docbooks in ${maven.sdocbook.src.dir}"> - - <!-- create target directory for generated HTML --> - <mkdir dir="${maven.sdocbook.generated.html}"/> - - <!-- determine if entity-resolver is requested --> - <j:set var="useEntityResolver" value="${maven.sdocbook.use.entityresolver}" /> - <j:if test="${useEntityResolver == 'true'}"> - <j:set var="catalogManagerPropertiesFile" value="${maven.sdocbook.catalogmanager.properties}" /> - <j:if test="${empty(catalogManagerPropertiesFile)}"> - <fail message="property 'maven.sdocbook.catalogmanager.properties' required when using 'maven.sdocbook.use.entityresolver==true'" /> - </j:if> - <dirname property="catalogManagerPropertiesDir" file="${maven.sdocbook.catalogmanager.properties}" /> - <j:set var="catalogManagerPropertiesDir" value="${catalogManagerPropertiesDir}" /> - </j:if> - - <j:forEach var="file" items="${scanner.iterator()}"> + <goal name="sdocbook:transform"> - <echo>Processing ${file.absolutePath}</echo> - - <!-- strip the extension from the file name --> - <j:set var="index" value="${file.name.lastIndexOf('.')}"/> - <j:set var="basename" value="${file.name.substring(0,index)}"/> + <echo>Transforming ${file.absolutePath}</echo> - <!-- Use XSLT processor to transform DOCBOOK into HTML --> - <java classname="org.apache.xalan.xslt.Process" fork="yes" failonerror="true"> + <java classname="org.apache.xalan.xslt.Process" fork="yes" failonerror="true" dir="${maven.sdocbook.generated}"> <jvmarg value="-Xbootclasspath/p:${_bootclasspath}"/> <classpath> <pathelement location="${plugin.getDependencyPath('avalon-framework')}"/> @@ -152,32 +140,65 @@ <pathelement location="${plugin.getDependencyPath('fop')}"/> <pathelement location="${plugin.getDependencyPath('jimi')}"/> <pathelement location="${plugin.getDependencyPath('logkit')}"/> - <!-- this is required for extensions to work with xalan --> <pathelement location="${maven.sdocbook.stylesheets.dir}/extensions/xalan25.jar"/> <j:if test="${useEntityResolver == 'true'}"> <pathelement location="${plugin.getDependencyPath('xml-resolver')}"/> - <pathelement location="${catalogManagerPropertiesDir}"/> <!-- includes the users CatalogManager.properties in classpath --> + <!-- includes the users CatalogManager.properties in classpath --> + <pathelement location="${catalogManagerPropertiesDir}"/> </j:if> </classpath> + <sysproperty key="user.language" value="en"/> <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/> <sysproperty key="javax.xml.parsers.SAXParserFactory" value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/> + <j:if test="${useEntityResolver == 'true'}"> <arg value="-ENTITYRESOLVER"/> <arg value="org.apache.xml.resolver.tools.CatalogResolver"/> <arg value="-URIRESOLVER"/> <arg value="org.apache.xml.resolver.tools.CatalogResolver"/> </j:if> + <arg value="-in"/> <arg value="${file.absolutePath}"/> - <arg value="-out"/> - <arg value="${maven.sdocbook.generated.html}/${basename}.html"/> + <j:if test="${context.getVariable('maven.sdocbook.out') != null}"> + <arg value="-out"/> + <arg value="${maven.sdocbook.out}"/> + </j:if> <arg value="-xsl"/> - <arg value="${maven.sdocbook.html.xsl}"/> - <arg line="${maven.sdocbook.html.params}"/> + <arg value="${maven.sdocbook.xsl}"/> + + <arg line="${maven.sdocbook.params}"/> </java> + + </goal> + + + <!-- ================================================================== --> + <!-- G E N E R A T E H T M L --> + <!-- ================================================================== --> + + <goal + name="sdocbook:generate-html" + prereqs="sdocbook:prepare-filesystem" + description="Generate HTML for docbooks specified"> + + <!-- create target directory for generated HTML --> + <mkdir dir="${maven.sdocbook.generated.html}"/> + + <j:set var="maven.sdocbook.xsl" value="${maven.sdocbook.html.xsl}"/> + <j:set var="maven.sdocbook.params" value="${maven.sdocbook.html.params}"/> + <j:set var="maven.sdocbook.generated" value="${maven.sdocbook.generated.html}"/> + + <j:forEach var="file" items="${scanner.iterator()}"> + + <!-- strip the extension from the file name --> + <j:set var="index" value="${file.name.lastIndexOf('.')}"/> + <j:set var="maven.sdocbook.out" value="${maven.sdocbook.generated}/${file.name.substring(0,index)}.html"/> + + <attainGoal name="sdocbook:transform"/> </j:forEach> @@ -198,67 +219,83 @@ </goal> <!-- ================================================================== --> + <!-- G E N E R A T E H T M L C H U N K --> + <!-- ================================================================== --> + + <goal + name="sdocbook:generate-htmlchunk" + prereqs="sdocbook:prepare-filesystem" + description="Generate HTML chunk for docbooks specified"> + + <!-- create target directory for generated HTML --> + <mkdir dir="${maven.sdocbook.generated.html}"/> + + <j:set var="maven.sdocbook.xsl" value="${maven.sdocbook.htmlchunk.xsl}"/> + <j:set var="maven.sdocbook.params" value="${maven.sdocbook.html.params}"/> + <j:set var="maven.sdocbook.generated" value="${maven.sdocbook.generated.html}"/> + <j:set var="maven.sdocbook.out" value="${null}"/> + + <!-- copy source docbook files to dest --> + <copy todir="${maven.sdocbook.generated}" filtering="no"> + <fileset dir="${maven.sdocbook.src.dir}"> + <include name="**/*.xml, **/*.sgml"/> + </fileset> + </copy> + <fileScanner var="scanner"> + <fileset dir="${maven.sdocbook.generated}"> + <util:tokenize var="files" delim=",">${maven.sdocbook.files}</util:tokenize> + <j:forEach var="file" items="${files}"> + <include name="${file}"/> + </j:forEach> + </fileset> + </fileScanner> + + <j:forEach var="file" items="${scanner.iterator()}"> + + <attainGoal name="sdocbook:transform"/> + + </j:forEach> + + <!-- copy it to our documentation folder --> + <copy todir="${maven.sdocbook.target.dir}" filtering="no"> + <fileset dir="${maven.sdocbook.generated.html}"> + <include name="**/*.html"/> + </fileset> + </copy> + + <!-- copy resources which html might reference too --> + <j:set var="resources" value="${maven.sdocbook.resources.include}" /> + <j:if test="${!empty(resources)}"> + <copy todir="${maven.sdocbook.target.dir}" filtering="no" flatten="false"> + <fileset dir="${maven.sdocbook.src.dir}" includes="${resources}"/> + </copy> + </j:if> + + </goal> + + <!-- ================================================================== --> <!-- G E N E R A T E F O --> <!-- ================================================================== --> <goal name="sdocbook:generate-fo" prereqs="sdocbook:prepare-filesystem" - description="Generate FO for all docbooks in ${maven.sdocbook.src.dir}"> + description="Generate FO for docbooks specified"> <!-- create target directory for generated FO --> <mkdir dir="${maven.sdocbook.generated.fo}"/> - <!-- determine if entity-resolver is requested --> - <j:set var="useEntityResolver" value="${maven.sdocbook.use.entityresolver}" /> - <j:if test="${useEntityResolver == 'true'}"> - <j:set var="catalogManagerPropertiesFile" value="${maven.sdocbook.catalogmanager.properties}" /> - <j:if test="${empty(catalogManagerPropertiesFile)}"> - <fail message="property 'maven.sdocbook.catalogmanager.properties' required when using 'maven.sdocbook.use.entityresolver==true'" /> - </j:if> - <dirname property="catalogManagerPropertiesDir" file="${maven.sdocbook.catalogmanager.properties}" /> - <j:set var="catalogManagerPropertiesDir" value="${catalogManagerPropertiesDir}" /> - </j:if> + <j:set var="maven.sdocbook.xsl" value="${maven.sdocbook.fo.xsl}"/> + <j:set var="maven.sdocbook.params" value="${maven.sdocbook.fo.params}"/> + <j:set var="maven.sdocbook.generated" value="${maven.sdocbook.generated.fo}"/> <j:forEach var="file" items="${scanner.iterator()}"> - <echo>Processing ${file.absolutePath}</echo> - <!-- strip the extension from the file name --> <j:set var="index" value="${file.name.lastIndexOf('.')}"/> - <j:set var="basename" value="${file.name.substring(0,index)}"/> - - <java classname="org.apache.xalan.xslt.Process" fork="yes" failonerror="true"> - <jvmarg value="-Xbootclasspath/p:${_bootclasspath}"/> - <classpath> - <pathelement location="${maven.sdocbook.stylesheets.dir}/extensions/xalan25.jar"/> + <j:set var="maven.sdocbook.out" value="${maven.sdocbook.generated}/${file.name.substring(0,index)}.fo"/> - <j:if test="${useEntityResolver == 'true'}"> - <pathelement location="${plugin.getDependencyPath('xml-resolver')}"/> - <pathelement location="${catalogManagerPropertiesDir}"/> <!-- includes the users CatalogManager.properties in classpath --> - </j:if> - </classpath> - - <sysproperty key="user.language" value="en"/> - <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/> - <sysproperty key="javax.xml.parsers.SAXParserFactory" value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/> - - <j:if test="${useEntityResolver == 'true'}"> - <arg value="-ENTITYRESOLVER"/> - <arg value="org.apache.xml.resolver.tools.CatalogResolver"/> - <arg value="-URIRESOLVER"/> - <arg value="org.apache.xml.resolver.tools.CatalogResolver"/> - </j:if> - <arg value="-in"/> - <arg value="${file.absolutePath}"/> - <arg value="-out"/> - <arg value="${maven.sdocbook.generated.fo}/${basename}.fo"/> - <arg value="-xsl"/> - <arg value="${maven.sdocbook.fo.xsl}"/> - - <arg line="${maven.sdocbook.fo.params}"/> - </java> - + <attainGoal name="sdocbook:transform"/> </j:forEach> 1.10 +10 -7 maven-plugins/sdocbook/plugin.properties Index: plugin.properties =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/sdocbook/plugin.properties,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- plugin.properties 5 Jan 2005 21:47:43 -0000 1.9 +++ plugin.properties 8 Jan 2005 19:24:05 -0000 1.10 @@ -4,17 +4,17 @@ maven.sdocbook.src.dir = ${basedir}/sdocbook -maven.sdocbook.dest.dir = ${maven.build.dir}/generated-docbooks -maven.sdocbook.generated.html = ${maven.sdocbook.dest.dir}/html -maven.sdocbook.generated.fo = ${maven.sdocbook.dest.dir}/fo -maven.sdocbook.generated.pdf = ${maven.sdocbook.dest.dir}/pdf +maven.sdocbook.generated.dir = ${maven.build.dir}/generated-docbooks +maven.sdocbook.generated.html = ${maven.sdocbook.generated.dir}/html +maven.sdocbook.generated.fo = ${maven.sdocbook.generated.dir}/fo +maven.sdocbook.generated.pdf = ${maven.sdocbook.generated.dir}/pdf maven.sdocbook.target.dir = ${maven.build.dir}/docs/docbook # version got from project POM or plugin POM #maven.sdocbook.stylesheets.version = # the root dir of the stylesheet to use (defaults to version in plugin POM) -#maven.sdocbook.stylesheets.dir = ${plugin.dir}/plugin-resources/docbook-xsl-${maven.sdocbook.stylesheets.version} +maven.sdocbook.stylesheets.dir = ${plugin.dir}/plugin-resources/docbook-xsl-${maven.sdocbook.stylesheets.version} # default stylesheets zip path maven.sdocbook.stylesheets.zip = ${maven.repo.local}/docbook/zips/docbook-xsl-${maven.sdocbook.stylesheets.version}.zip @@ -22,13 +22,16 @@ maven.sdocbook.resources.include = **/*.png, **/*.gif, **/*.jpg, **/*.css # stylesheet to use for html transformation -#maven.sdocbook.html.xsl = ${maven.sdocbook.stylesheets.dir}/html/docbook.xsl +maven.sdocbook.html.xsl = ${maven.sdocbook.stylesheets.dir}/html/docbook.xsl # can be set to the "-param ..." which user can use to parameterize the html stylesheets maven.sdocbook.html.params = +# stylesheet to use for html chunk transformation +maven.sdocbook.htmlchunk.xsl = ${maven.sdocbook.stylesheets.dir}/html/chunk.xsl + # stylesheet to use for fo transformation -#maven.sdocbook.fo.xsl = ${maven.sdocbook.stylesheets.dir}/fo/docbook.xsl +maven.sdocbook.fo.xsl = ${maven.sdocbook.stylesheets.dir}/fo/docbook.xsl # can be set to the "-param ..." which user can use to parameterize the fo stylesheets maven.sdocbook.fo.params = 1.3 +7 -2 maven-plugins/sdocbook/xdocs/goals.xml Index: goals.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/sdocbook/xdocs/goals.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- goals.xml 12 Apr 2004 09:40:16 -0000 1.2 +++ goals.xml 8 Jan 2005 19:24:06 -0000 1.3 @@ -23,11 +23,16 @@ <tr> <td>sdocbook:generate-html</td> <td>Generate HTML documentation for the given docbook</td> - </tr> + </tr> + <tr> + <td>sdocbook:generate-htmlchunk</td> + <td>Generate HTML documentation for the given docbook, + splitted in one html file per section</td> + </tr> <tr> <td>sdocbook:generate-fo</td> <td>Generate FO for the given docbook</td> - </tr> + </tr> <tr> <td>sdocbook:generate-pdf</td> <td>Generate PDF for the given FO file </td> |