MPPDF-16 : JDK 5.0 incompatibility. XSLT is now called from Jelly.

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@116130 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
aheritier 2004-10-14 20:05:21 +00:00
parent c0d1a45015
commit ce62932253
3 changed files with 101 additions and 30 deletions

View File

@ -115,34 +115,101 @@ internal_pdf_workingDir = [${internal_pdf_workingDir}]
prereqs="pdf:prepare"
description="Generates an fo xml document from the ${maven.pdf.navigationFile} file supplied as part of the documentation.">
<echo>Generating ${maven.xdoc.dest}/project.fo from ${maven.pdf.navigationFilePath}/${maven.pdf.navigationFile} ...</echo>
<echo>Generating ${internal_pdf_workingDir}/project.fo from ${maven.pdf.navigationFilePath}/${maven.pdf.navigationFile} ...</echo>
<available file="${maven.pdf.navigationFilePath}/${maven.pdf.navigationFile}" property="maven.fo.navigation.available"/>
<fail
message="PDF generation cannot complete as ${maven.pdf.navigationFilePath}/${maven.pdf.navigationFile} is missing"
unless="maven.fo.navigation.available"/>
<!-- 'Major hack.' Stolen from the Latka plugin.jelly. All of this could be avoided by putting
xalan into $MAVEN_HOME/lib/endorsed directory in the distribution, but never mind -->
${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')}
<style
in="${maven.pdf.navigationFilePath}/${maven.pdf.navigationFile}"
out="${internal_pdf_workingDir}/project.fo"
style="${plugin.resources}/project2fo.xslt"
force="true">
<param name="basePath" expression="${internal_pdf_workingDir}"/>
<param name="confidential" expression="${maven.pdf.confidential}"/>
<param name="paperType" expression="${maven.pdf.paperType}"/>
<param name="companyIncName" expression="${maven.pdf.companyIncName}"/>
<param name="publicationYear" expression="${maven.pdf.copyrightYear}"/>
<param name="coverProjectCompany" expression="${maven.pdf.cover.projectCompany}"/>
<param name="coverProjectName" expression="${maven.pdf.cover.projectName}"/>
<param name="coverType" expression="${maven.pdf.cover.type}"/>
<param name="coverVersion" expression="${maven.pdf.cover.version}"/>
<param name="coverDate" expression="${maven.pdf.cover.date}"/>
<param name="companyLogo" expression="${maven.pdf.companyLogo}"/>
<param name="projectLogo" expression="${maven.pdf.projectLogo}"/>
<param name="imageDpi" expression="${maven.pdf.imageDpi}"/>
<param name="debug" expression="${maven.pdf.debug}"/>
</style>
<j:scope>
<j:new className="java.io.File" var="styleFile">
<j:arg value="${plugin.resources}/project2fo.xslt" />
</j:new>
<j:new className="javax.xml.transform.stream.StreamSource" var="style">
<j:arg value="${styleFile}" />
</j:new>
<j:new className="org.apache.xalan.processor.TransformerFactoryImpl" var="transformerFactory" />
<j:invoke on="${transformerFactory}" method="newTransformer" var="transformer" >
<j:arg value="${style}" />
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="basePath" />
<j:arg value="${internal_pdf_workingDir}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="confidential" />
<j:arg value="${maven.pdf.confidential}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="paperType" />
<j:arg value="${maven.pdf.paperType}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="companyIncName" />
<j:arg value="${maven.pdf.companyIncName}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="publicationYear" />
<j:arg value="${maven.pdf.copyrightYear}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="coverProjectCompany" />
<j:arg value="${maven.pdf.cover.projectCompany}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="coverProjectName" />
<j:arg value="${maven.pdf.cover.projectName}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="coverType" />
<j:arg value="${maven.pdf.cover.type}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="coverVersion" />
<j:arg value="${maven.pdf.cover.version}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="coverDate" />
<j:arg value="${maven.pdf.cover.date}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="companyLogo" />
<j:arg value="${maven.pdf.companyLogo}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="projectLogo" />
<j:arg value="${maven.pdf.projectLogo}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="imageDpi" />
<j:arg value="${maven.pdf.imageDpi}"/>
</j:invoke>
<j:invoke on="${transformer}" method="setParameter">
<j:arg value="debug" />
<j:arg value="${maven.pdf.debug}"/>
</j:invoke>
<j:new className="java.io.File" var="sourceFile">
<j:arg value="${maven.pdf.navigationFilePath}/${maven.pdf.navigationFile}" />
</j:new>
<j:new className="javax.xml.transform.stream.StreamSource" var="source">
<j:arg value="${sourceFile}" />
</j:new>
<j:new className="java.io.File" var="resultFile">
<j:arg value="${internal_pdf_workingDir}/project.fo" />
</j:new>
<j:new className="javax.xml.transform.stream.StreamResult" var="result">
<j:arg value="${resultFile}" />
</j:new>
<j:invoke on="${transformer}" method="transform">
<j:arg value="${source}" />
<j:arg value="${result}" />
</j:invoke>
</j:scope>
</goal>
@ -232,4 +299,4 @@ internal_pdf_workingDir = [${internal_pdf_workingDir}]
</java>
<copy todir="${maven.xdoc.dest}" file="${internal_pdf_workingDir}/${maven.pdf.pdfName}"/>
</goal>
</project>
</project>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
@ -17,12 +16,11 @@
* limitations under the License.
*/
-->
<project>
<extend>${basedir}/../plugin-parent/project.xml</extend>
<artifactId>maven-pdf-plugin</artifactId>
<name>Maven PDF Plug-in</name>
<currentVersion>2.2</currentVersion>
<currentVersion>2.3-SNAPSHOT</currentVersion>
<description>PDF Documentation generator</description>
<shortDescription>Generator of project documentation in PDF Format.</shortDescription>
<url>http://maven.apache.org/reference/plugins/pdf/</url>
@ -85,6 +83,11 @@
<email>arjaquith@mindspring.com</email>
<organization>freshcookies.org</organization>
</contributor>
<contributor>
<name>Archimedes Trajano</name>
<email>trajano@yahoo.com</email>
<url>http://www.trajano.net/</url>
</contributor>
</contributors>
<dependencies>
<dependency>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
@ -17,13 +16,15 @@
* limitations under the License.
*/
-->
<document>
<properties>
<title>Changes</title>
<author email="dion@apache.org">dIon Gillard</author>
</properties>
<body>
<release version="2.3-SNAPSHOT" date="2004-09-27">
<action dev="aheritier" type="fix" issue="MPPDF-16" due-to="Archimedes Trajano">JDK 5.0 incompatibility. XSLT is now called from Jelly.</action>
</release>
<release version="2.2" date="2004-09-27">
<action dev="aheritier" type="fix" issue="MPPDF-14">PRE tag support added.</action>
<action dev="carlos" type="fix">Show "v." in cover only when version is not empty.</action>