Fridrich Strba 2020-03-10 10:52:33 +00:00 committed by Git OBS Bridge
parent 32165c8e1d
commit d4a13dcf8c
7 changed files with 21 additions and 350 deletions

View File

@ -1,100 +0,0 @@
From 6a3583cafd46194b6c2c5f4db061f72f16d014ef Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 6 Nov 2013 12:46:26 +0100
Subject: [PATCH 2/4] Update to Plexus Container 1.5.5
---
.../java/org/apache/maven/doxia/module/AbstractIdentityTest.java | 3 ++-
.../test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java | 5 +++--
.../test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java | 3 ++-
pom.xml | 2 +-
4 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java
index 2f4f495..540461d 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java
@@ -33,6 +33,7 @@ import org.apache.maven.doxia.parser.Parser;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.impl.SinkTestDocument;
import org.apache.maven.doxia.sink.impl.TextSink;
+import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.util.IOUtil;
/**
@@ -107,7 +108,7 @@ public abstract class AbstractIdentityTest
writer = new StringWriter();
sink = new TextSink( writer );
Parser parser = createParser();
- parser.enableLogging( new PlexusLoggerWrapper( getContainer().getLogger() ) );
+ parser.enableLogging( new PlexusLoggerWrapper( ( ( DefaultPlexusContainer )getContainer() ).getLogger() ) );
parser.parse( reader, sink );
String actual = writer.toString();
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java
index a67a114..3ac8734 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java
@@ -28,6 +28,7 @@ import org.apache.maven.doxia.logging.PlexusLoggerWrapper;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
+import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.util.IOUtil;
import org.custommonkey.xmlunit.Diff;
import org.custommonkey.xmlunit.XMLUnit;
@@ -59,7 +60,7 @@ public abstract class AbstractSinkTest
testWriter.reset();
sink = createSink( testWriter );
- sink.enableLogging( new PlexusLoggerWrapper( getContainer().getLogger() ) );
+ sink.enableLogging( new PlexusLoggerWrapper( ( ( DefaultPlexusContainer )getContainer() ).getLogger() ) );
}
/**
@@ -809,7 +810,7 @@ public abstract class AbstractSinkTest
testWriter.reset();
sink = createSink( testWriter );
- sink.enableLogging( new PlexusLoggerWrapper( getContainer().getLogger() ) );
+ sink.enableLogging( new PlexusLoggerWrapper( ( ( DefaultPlexusContainer )getContainer() ).getLogger() ));
comment = "-";
sink.comment( comment );
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
index 5f9108e..88db2b4 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
@@ -31,6 +31,7 @@ import junit.framework.AssertionFailedError;
import org.apache.maven.doxia.parser.Parser;
+import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.logging.Logger;
@@ -96,7 +97,7 @@ public abstract class AbstractXmlValidator
public void testValidateFiles()
throws Exception
{
- final Logger logger = getContainer().getLoggerManager().getLoggerForComponent( Parser.ROLE );
+ final Logger logger = ( ( DefaultPlexusContainer )getContainer() ).getLoggerManager().getLoggerForComponent( Parser.ROLE );
for ( Iterator<Map.Entry<String, String>> it = getTestDocuments().entrySet().iterator(); it.hasNext(); )
{
diff --git a/pom.xml b/pom.xml
index 134f8b8..fcf4f32 100644
--- a/pom.xml
+++ b/pom.xml
@@ -180,7 +180,7 @@ under the License.
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
- <version>1.0-alpha-30</version>
+ <version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
--
2.5.5

View File

@ -1,61 +0,0 @@
From 6e1707a4bdea698f62fac215b6bca646bf14e4b4 Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@redhat.com>
Date: Wed, 26 Mar 2014 09:58:20 +0100
Subject: [PATCH 3/4] Disable tests which rely on ordering in set
---
.../test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java | 3 +++
.../java/org/apache/maven/doxia/module/fo/FoAggregateSinkTest.java | 2 ++
2 files changed, 5 insertions(+)
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java
index 3ac8734..707cdf1 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/AbstractSinkTest.java
@@ -452,6 +452,7 @@ public abstract class AbstractSinkTest
* invoked on the current sink, produces the same result as
* {@link #getFigureBlock getFigureBlock}( source, caption ).
*/
+ /*
public void testFigure() throws Exception
{
String source = "figure.jpg";
@@ -511,6 +512,7 @@ public abstract class AbstractSinkTest
* invoked on the current sink, produces the same result as
* {@link #getTableBlock getTableBlock}( cell, caption ).
*/
+ /*
public void testTable() throws Exception
{
String cell = "cell";
@@ -544,6 +546,7 @@ public abstract class AbstractSinkTest
assertEquals( "Wrong table!", expected, actual );
}
}
+ */
/**
* Checks that the sequence <code>[paragraph(), text( text ),
diff --git a/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoAggregateSinkTest.java b/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoAggregateSinkTest.java
index 847c341..729357b 100644
--- a/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoAggregateSinkTest.java
+++ b/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoAggregateSinkTest.java
@@ -164,6 +164,7 @@ public class FoAggregateSinkTest
/**
* Test of figureGraphics method, of class FoAggregateSink.
*/
+ /*
public void testFigureGraphics() throws Exception
{
try
@@ -187,6 +188,7 @@ public class FoAggregateSinkTest
Diff diff = XMLUnit.compareXML( wrapXml( expected ), wrapXml( actual ) );
assertTrue( "Wrong figure!", diff.identical() );
}
+ */
/**
* Test of anchor method, of class FoAggregateSink.
--
2.5.5

View File

@ -1,157 +0,0 @@
From b72bf32dbabf4c18cf48bdbc344227fb0b2d5110 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 17 Aug 2015 17:15:05 +0200
Subject: [PATCH 4/4] Port to fop-2.0
---
doxia-modules/doxia-module-fo/pom.xml | 2 +-
.../org/apache/maven/doxia/module/fo/FoUtils.java | 58 ++++++----------------
2 files changed, 16 insertions(+), 44 deletions(-)
diff --git a/doxia-modules/doxia-module-fo/pom.xml b/doxia-modules/doxia-module-fo/pom.xml
index e66c736..6d261c8 100644
--- a/doxia-modules/doxia-module-fo/pom.xml
+++ b/doxia-modules/doxia-module-fo/pom.xml
@@ -85,7 +85,7 @@ under the License.
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
- <version>0.95</version>
+ <version>2.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
diff --git a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java
index 0e7efc1..c398eaf 100644
--- a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java
+++ b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.net.URI;
import java.util.Date;
import javax.xml.transform.Result;
@@ -38,6 +39,7 @@ import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.fop.apps.MimeConstants;
import org.apache.maven.doxia.document.DocumentModel;
import org.codehaus.plexus.util.IOUtil;
@@ -52,28 +54,11 @@ import org.codehaus.plexus.util.StringUtils;
*/
public class FoUtils
{
- /** To reuse the FopFactory **/
- private static final FopFactory FOP_FACTORY = FopFactory.newInstance();
-
/** To reuse the TransformerFactory **/
private static final TransformerFactory TRANSFORMER_FACTORY = TransformerFactory.newInstance();
- /**
- * Converts an FO file to a PDF file using FOP.
- *
- * @param fo the FO file, not null.
- * @param pdf the target PDF file, not null.
- * @param resourceDir The base directory for relative path resolution, could be null.
- * If null, defaults to the parent directory of fo.
- * @param documentModel the document model to add PDF metadatas like author, title and keywords, could be null.
- * @throws javax.xml.transform.TransformerException In case of a conversion problem.
- * @since 1.1.1
- */
- public static void convertFO2PDF( File fo, File pdf, String resourceDir, DocumentModel documentModel )
- throws TransformerException
- {
- FOUserAgent foUserAgent = getDefaultUserAgent( fo, resourceDir );
+ private static void prepareUserAgent( FOUserAgent foUserAgent, DocumentModel documentModel ) {
if ( documentModel != null && documentModel.getMeta() != null )
{
// http://xmlgraphics.apache.org/fop/embedding.html#user-agent
@@ -113,8 +98,6 @@ public class FoUtils
{
foUserAgent.setCreationDate( new Date() );
}
-
- convertFO2PDF( fo, pdf, resourceDir, foUserAgent );
}
/**
@@ -124,16 +107,13 @@ public class FoUtils
* @param pdf the target PDF file, not null.
* @param resourceDir The base directory for relative path resolution, could be null.
* If null, defaults to the parent directory of fo.
- * @param foUserAgent the FOUserAgent to use.
- * May be null, in which case a default user agent will be used.
+ * @param documentModel the document model to add PDF metadatas like author, title and keywords, could be null.
* @throws javax.xml.transform.TransformerException In case of a conversion problem.
* @since 1.1.1
*/
- public static void convertFO2PDF( File fo, File pdf, String resourceDir, FOUserAgent foUserAgent )
+ public static void convertFO2PDF( File fo, File pdf, String resourceDir, DocumentModel documentModel )
throws TransformerException
{
- FOUserAgent userAgent = ( foUserAgent == null ? getDefaultUserAgent( fo, resourceDir ) : foUserAgent );
-
OutputStream out = null;
try
{
@@ -149,7 +129,11 @@ public class FoUtils
Result res = null;
try
{
- Fop fop = FOP_FACTORY.newFop( MimeConstants.MIME_PDF, userAgent, out );
+ URI baseURI = getBaseURI( fo, resourceDir );
+ FopFactory fopFactory = new FopFactoryBuilder( baseURI ).build();
+ FOUserAgent userAgent = fopFactory.newFOUserAgent();
+ prepareUserAgent( userAgent, documentModel );
+ Fop fop = fopFactory.newFop( MimeConstants.MIME_PDF, userAgent, out );
res = new SAXResult( fop.getDefaultHandler() );
}
catch ( FOPException e )
@@ -193,34 +177,22 @@ public class FoUtils
}
/**
- * Returns a base URL to be used by the FOUserAgent.
+ * Returns a base URI.
*
* @param fo the FO file.
* @param resourceDir the resource directory.
- * @return String.
+ * @return URI.
*/
- private static String getBaseURL( File fo, String resourceDir )
+ private static URI getBaseURI( File fo, String resourceDir )
{
- String url = null;
-
if ( resourceDir == null )
{
- url = "file:///" + fo.getParent() + "/";
+ return fo.getParentFile().toURI();
}
else
{
- url = "file:///" + resourceDir + "/";
+ return new File( resourceDir + "/" ).toURI();
}
-
- return url;
- }
-
- private static FOUserAgent getDefaultUserAgent( File fo, String resourceDir )
- {
- FOUserAgent foUserAgent = FOP_FACTORY.newFOUserAgent();
- foUserAgent.setBaseURL( getBaseURL( fo, resourceDir ) );
-
- return foUserAgent;
}
private FoUtils()
--
2.5.5

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c67744f099d2709754a139e943e6aa6e86dd248a95e017c6c540ba78ff13ad32
size 1253033

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:180e5fd472389dc1d63bddebdfeff2824eda9d55fce5ee8d91f08f487dc9c7cf
size 1302131

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1a7cf21a5e3a853123af83a47926b338aec0491ade8101fd2a18f618799db642
size 4792
oid sha256:c31fee68264ad2b4a36207db3dd0f1e652d15b57c8b6d4d3a4b79770bed1b01e
size 5232

View File

@ -1,7 +1,7 @@
#
# spec file for package maven-doxia
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,28 +17,22 @@
Name: maven-doxia
Version: 1.7
Version: 1.9.1
Release: 0
Summary: Content generation framework
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://maven.apache.org/doxia/
Source0: http://repo2.maven.org/maven2/org/apache/maven/doxia/doxia/%{version}/doxia-%{version}-source-release.zip
URL: https://maven.apache.org/doxia/
Source0: https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/%{version}/doxia-%{version}-source-release.zip
Source1: %{name}-build.tar.xz
# Build against iText 2.x
# https://issues.apache.org/jira/browse/DOXIA-53
Patch1: 0001-Fix-itext-dependency.patch
# Accepted upstream: DOXIA-504, https://issues.apache.org/jira/browse/DOXIA-504
Patch2: 0002-Update-to-Plexus-Container-1.5.5.patch
# Don't run bad tests which rely on ordering in set (they fail with Java 8)
Patch3: 0003-Disable-tests-which-rely-on-ordering-in-set.patch
# Not upstreamable due to higher Java version of fop's dependencies
Patch4: 0004-Port-to-fop-2.0.patch
BuildRequires: ant
BuildRequires: apache-commons-cli
BuildRequires: apache-commons-collections
BuildRequires: apache-commons-configuration
BuildRequires: apache-commons-lang
BuildRequires: apache-commons-lang3
BuildRequires: fdupes
BuildRequires: guava20
BuildRequires: httpcomponents-client
@ -122,11 +116,11 @@ Group: Development/Libraries/Java
%description module-fo
This package provides %{summary}.
%package module-markdown
Summary: Markdown module for %{name}
%package module-xhtml5
Summary: XHTML5 module for %{name}
Group: Development/Libraries/Java
%description module-markdown
%description module-xhtml5
This package provides %{summary}.
%package module-latex
@ -188,9 +182,6 @@ API documentation for %{name}.
%prep
%setup -q -n doxia-%{version} -a1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
# we don't have clirr-maven-plugin
%pom_remove_plugin org.codehaus.mojo:clirr-maven-plugin pom.xml
@ -206,9 +197,6 @@ API documentation for %{name}.
# requires network
rm doxia-core/src/test/java/org/apache/maven/doxia/util/XmlValidatorTest.java
# FIXME fails
rm doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownParserTest.java
%pom_disable_module doxia-module-itext doxia-modules
%{mvn_package} :doxia __noinstall
@ -218,6 +206,7 @@ rm doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/modu
%build
mkdir -p lib
build-jar-repository -s lib \
apache-commons-lang3 \
apache-commons-lang \
commons-cli \
commons-configuration \
@ -239,24 +228,24 @@ build-jar-repository -s lib \
xmlgraphics-commons \
xmlgraphics-fop
%ant -Dtest.skip=true \
%{ant} -Dtest.skip=true \
package javadoc
mkdir -p target/site/apidocs
%mvn_artifact pom.xml
%{mvn_artifact} pom.xml
for i in \
doxia-logging-api \
doxia-sink-api \
doxia-test-docs \
doxia-core; do
%mvn_artifact ${i}/pom.xml ${i}/target/${i}-%{version}.jar
%{mvn_artifact} ${i}/pom.xml ${i}/target/${i}-%{version}.jar
if [ -d ${i}/target/site/apidocs ]; then
cp -r ${i}/target/site/apidocs target/site/apidocs/${i}
fi
done
%mvn_artifact doxia-modules/pom.xml
%{mvn_artifact} doxia-modules/pom.xml
for i in \
doxia-module-apt \
doxia-module-confluence \
@ -268,8 +257,8 @@ for i in \
doxia-module-twiki \
doxia-module-xdoc \
doxia-module-xhtml \
doxia-module-markdown; do
%mvn_artifact doxia-modules/${i}/pom.xml doxia-modules/${i}/target/${i}-%{version}.jar
doxia-module-xhtml5; do
%{mvn_artifact} doxia-modules/${i}/pom.xml doxia-modules/${i}/target/${i}-%{version}.jar
if [ -d doxia-modules/${i}/target/site/apidocs ]; then
cp -r doxia-modules/${i}/target/site/apidocs target/site/apidocs/${i}
fi
@ -295,7 +284,7 @@ done
%files module-fo -f .mfiles-doxia-module-fo
%files module-markdown -f .mfiles-doxia-module-markdown
%files module-xhtml5 -f .mfiles-doxia-module-xhtml5
%files module-latex -f .mfiles-doxia-module-latex