Author: michaelo
Date: Sat Feb 4 22:58:57 2017
New Revision: 1781714
URL: http://svn.apache.org/viewvc?rev=1781714&view=rev
Log:
[DOXIA-543] maven-doxia-markdown fails in parallel builds
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java?rev=1781714&r1=1781713&r2=1781714&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
Sat Feb 4 22:58:57 2017
@@ -68,7 +68,9 @@ public class MarkdownParser
/**
* The {@link PegDownProcessor} used to convert Pegdown documents to HTML.
+ * @deprecated this is not threadsafe, create always a new one or sync
appropriately
*/
+ @Deprecated
protected static final PegDownProcessor PEGDOWN_PROCESSOR =
new PegDownProcessor( Extensions.ALL & ~Extensions.HARDWRAPS,
Long.MAX_VALUE );
@@ -119,9 +121,9 @@ public class MarkdownParser
/**
* uses PegDown library to parse content and generate HTML output.
- *
+ *
* @param source the Markdown source
- * @return HTML content generated by PegDown
+ * @return HTML content generated by PegDown
* @throws IOException
* @see MarkdownToDoxiaHtmlSerializer
*/
@@ -194,7 +196,8 @@ public class MarkdownParser
text = text.substring( metadataMatcher.end() );
}
}
- RootNode rootNode = PEGDOWN_PROCESSOR.parseMarkdown(
text.toCharArray() );
+ PegDownProcessor processor = new PegDownProcessor( Extensions.ALL &
~Extensions.HARDWRAPS, Long.MAX_VALUE );
+ RootNode rootNode = processor.parseMarkdown( text.toCharArray() );
if ( !haveTitle && rootNode.getChildren().size() > 0 )
{
// use the first (non-comment) node only if it is a heading
@@ -281,7 +284,7 @@ public class MarkdownParser
}
return visited;
}
-
+
@Override
protected boolean baseStartTag( XmlPullParser parser, Sink sink )
{