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 )
         {


Reply via email to