tags = new ArrayList<>();
+
+ if ( attributes != null )
+ {
+
+ if ( attributes.containsAttribute( SinkEventAttributes.SEMANTICS, "italic" ) )
+ {
+ write( ITALIC_START_MARKUP );
+ tags.add( 0, ITALIC_END_MARKUP );
+ }
+
+ if ( attributes.containsAttribute( SinkEventAttributes.SEMANTICS, "bold" ) )
+ {
+ write( BOLD_START_MARKUP );
+ tags.add( 0, BOLD_END_MARKUP );
+ }
+
+ if ( attributes.containsAttribute( SinkEventAttributes.SEMANTICS, "code" ) )
+ {
+ write( MONOSPACED_START_MARKUP );
+ tags.add( 0, MONOSPACED_END_MARKUP );
+ }
+
+ }
+
+ inlineStack.push( tags );
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void inline_()
+ {
+ if ( !headerFlag )
+ {
+ for ( String tag: inlineStack.pop() )
+ {
+ write( tag );
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void italic()
+ {
+ inline( SinkEventAttributeSet.Semantics.ITALIC );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void italic_()
+ {
+ inline_();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void bold()
+ {
+ inline( SinkEventAttributeSet.Semantics.BOLD );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void bold_()
+ {
+ inline_();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void monospaced()
+ {
+ inline( SinkEventAttributeSet.Semantics.CODE );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void monospaced_()
+ {
+ inline_();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void lineBreak()
+ {
+ if ( headerFlag || bufferFlag )
+ {
+ buffer.append( EOL );
+ }
+ else if ( verbatimFlag )
+ {
+ write( EOL );
+ }
+ else
+ {
+ write( BACKSLASH + EOL );
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void nonBreakingSpace()
+ {
+ if ( headerFlag || bufferFlag )
+ {
+ buffer.append( NON_BREAKING_SPACE_MARKUP );
+ }
+ else
+ {
+ write( NON_BREAKING_SPACE_MARKUP );
+ }
+ }
+
+ /** {@inheritDoc} */
+ public void text( String text )
+ {
+ if ( tableCaptionFlag )
+ {
+ tableCaptionBuffer.append( text );
+ }
+ else if ( headerFlag || bufferFlag )
+ {
+ buffer.append( text );
+ }
+ else if ( verbatimFlag )
+ {
+ verbatimContent( text );
+ }
+ else
+ {
+ content( text );
+ }
+ }
+
+ /** {@inheritDoc} */
+ public void rawText( String text )
+ {
+ write( text );
+ }
+
+ /** {@inheritDoc} */
+ public void comment( String comment )
+ {
+ rawText( ( startFlag ? "" : EOL ) + COMMENT_START + comment + COMMENT_END );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Unkown events just log a warning message but are ignored otherwise.
+ * @see org.apache.maven.doxia.sink.Sink#unknown(String,Object[],SinkEventAttributes)
+ */
+ public void unknown( String name, Object[] requiredParams, SinkEventAttributes attributes )
+ {
+ getLog().warn( "Unknown Sink event '" + name + "', ignoring!" );
+ }
+
+ /**
+ * Write text to output.
+ *
+ * @param text The text to write.
+ */
+ protected void write( String text )
+ {
+ startFlag = false;
+ if ( tableCellFlag )
+ {
+ buffer.append( text );
+ }
+ else
+ {
+ writer.write( unifyEOLs( text ) );
+ }
+ }
+
+ /**
+ * Write Apt escaped text to output.
+ *
+ * @param text The text to write.
+ */
+ protected void content( String text )
+ {
+ write( escapeMarkdown( text ) );
+ }
+
+ /**
+ * Write verbatim text to output.
+ *
+ * @param text The text to write.
+ */
+ protected void verbatimContent( String text )
+ {
+ write( text );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void flush()
+ {
+ writer.flush();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void close()
+ {
+ writer.close();
+
+ init();
+ }
+
+ // ----------------------------------------------------------------------
+ // Private methods
+ // ----------------------------------------------------------------------
+
+ /**
+ * Escape special characters in a text in Markdown:
+ *
+ *
+ * \~, \=, \-, \+, \*, \[, \], \<, \>, \{, \}, \\
+ *
+ *
+ * @param text the String to escape, may be null
+ * @return the text escaped, "" if null String input
+ */
+ private static String escapeMarkdown( String text )
+ {
+ if ( text == null )
+ {
+ return "";
+ }
+
+ int length = text.length();
+ StringBuilder buffer = new StringBuilder( length );
+
+ for ( int i = 0; i < length; ++i )
+ {
+ char c = text.charAt( i );
+ switch ( c )
+ { // 0080
+ case '\\':
+ case '~':
+ case '=':
+ case '+':
+ case '*':
+ case '[':
+ case ']':
+ case '<':
+ case '>':
+ case '{':
+ case '}':
+ buffer.append( '\\' );
+ buffer.append( c );
+ break;
+ default:
+ buffer.append( c );
+ }
+ }
+
+ return buffer.toString();
+ }
+}
diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSinkFactory.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSinkFactory.java
new file mode 100644
index 000000000..5a92a6bb1
--- /dev/null
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSinkFactory.java
@@ -0,0 +1,42 @@
+package org.apache.maven.doxia.module.markdown;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.Writer;
+
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkFactory;
+import org.apache.maven.doxia.sink.impl.AbstractTextSinkFactory;
+import org.codehaus.plexus.component.annotations.Component;
+
+/**
+ * Markdown implementation of the Sink factory.
+ */
+@Component( role = SinkFactory.class, hint = "markdown" )
+public class MarkdownSinkFactory
+ extends AbstractTextSinkFactory
+{
+ /** {@inheritDoc} */
+ protected Sink createSink( Writer writer, String encoding )
+ {
+ // encoding can safely be ignored since it isn't written into the generated Markdown source
+ return new MarkdownSink( writer );
+ }
+}
diff --git a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java
new file mode 100644
index 000000000..0cb58b4eb
--- /dev/null
+++ b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java
@@ -0,0 +1,470 @@
+package org.apache.maven.doxia.module.markdown;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.Writer;
+
+import org.apache.maven.doxia.markup.Markup;
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.impl.AbstractSinkTest;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ * Test the MarkdownSink
class
+ */
+public class MarkdownSinkTest extends AbstractSinkTest
+{
+ /** {@inheritDoc} */
+ protected String outputExtension()
+ {
+ return "md";
+ }
+
+ /** {@inheritDoc} */
+ protected Sink createSink( Writer writer )
+ {
+ return new MarkdownSink( writer );
+ }
+
+ /** {@inheritDoc} */
+ protected boolean isXmlSink()
+ {
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ protected String getTitleBlock( String title )
+ {
+ return title;
+ }
+
+ /** {@inheritDoc} */
+ protected String getAuthorBlock( String author )
+ {
+ return author;
+ }
+
+ /** {@inheritDoc} */
+ protected String getDateBlock( String date )
+ {
+ return date;
+ }
+
+ /** {@inheritDoc} */
+ protected String getHeadBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getBodyBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getArticleBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getNavigationBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getSidebarBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getSectionTitleBlock( String title )
+ {
+ return title;
+ }
+
+ protected String getSectionBlock( String title, int level )
+ {
+ return EOL + StringUtils.repeat( MarkdownMarkup.SECTION_TITLE_START_MARKUP, level + 1 ) + SPACE + title + EOL + EOL + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getSection1Block( String title )
+ {
+ return getSectionBlock( title, 1 );
+ }
+
+ /** {@inheritDoc} */
+ protected String getSection2Block( String title )
+ {
+ return getSectionBlock( title, 2 );
+ }
+
+ /** {@inheritDoc} */
+ protected String getSection3Block( String title )
+ {
+ return getSectionBlock( title, 3 );
+ }
+
+ /** {@inheritDoc} */
+ protected String getSection4Block( String title )
+ {
+ return getSectionBlock( title, 4 );
+ }
+
+ /** {@inheritDoc} */
+ protected String getSection5Block( String title )
+ {
+ return getSectionBlock( title, 5 );
+ }
+
+ /** {@inheritDoc} */
+ protected String getHeaderBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getContentBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getFooterBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getListBlock( String item )
+ {
+ return EOL + EOL + Markup.SPACE + "" + MarkdownMarkup.LIST_START_MARKUP + "" + Markup.SPACE + item + EOL + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getNumberedListBlock( String item )
+ {
+ return EOL + EOL + Markup.SPACE + ""
+ + MarkdownMarkup.NUMBERING_LOWER_ROMAN_CHAR + ""
+ + Markup.SPACE + item + EOL + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getDefinitionListBlock( String definum, String definition )
+ {
+ return EOL + EOL + Markup.SPACE + "" + Markup.LEFT_SQUARE_BRACKET + definum
+ + Markup.RIGHT_SQUARE_BRACKET + "" + Markup.SPACE + definition + EOL + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getFigureBlock( String source, String caption )
+ {
+ String figureBlock = "";
+ if( caption != null )
+ {
+ figureBlock += caption + EOL;
+ }
+ return figureBlock;
+ }
+
+ /** {@inheritDoc} */
+ protected String getTableBlock( String cell, String caption )
+ {
+ return EOL + cell
+ + MarkdownMarkup.TABLE_ROW_SEPARATOR_MARKUP + EOL
+ + caption + EOL;
+ }
+
+ @Override
+ public void testTable()
+ {
+ // TODO re-enable test from parent
+ }
+
+ /** {@inheritDoc} */
+ protected String getParagraphBlock( String text )
+ {
+ return EOL + Markup.SPACE + text + EOL + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getDataBlock( String value, String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getTimeBlock( String datetime, String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getAddressBlock( String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getBlockquoteBlock( String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getDivisionBlock( String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getVerbatimBlock( String text )
+ {
+ return EOL + EOL + MarkdownMarkup.NON_BOXED_VERBATIM_START_MARKUP + EOL + text + EOL
+ + MarkdownMarkup.NON_BOXED_VERBATIM_START_MARKUP + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getHorizontalRuleBlock()
+ {
+ return EOL + MarkdownMarkup.HORIZONTAL_RULE_MARKUP + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getPageBreakBlock()
+ {
+ return EOL + MarkdownMarkup.PAGE_BREAK_MARKUP + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getAnchorBlock( String anchor )
+ {
+ return anchor;
+ }
+
+ /** {@inheritDoc} */
+ protected String getLinkBlock( String link, String text )
+ {
+ String lnk = link.startsWith( "#" ) ? link.substring( 1 ) : link;
+ return MarkdownMarkup.LINK_START_1_MARKUP + text + MarkdownMarkup.LINK_START_2_MARKUP + lnk + MarkdownMarkup.LINK_END_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getInlineBlock( String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getInlineItalicBlock( String text )
+ {
+ return MarkdownMarkup.ITALIC_START_MARKUP + text + MarkdownMarkup.ITALIC_END_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getInlineBoldBlock( String text )
+ {
+ return MarkdownMarkup.BOLD_START_MARKUP + text + MarkdownMarkup.BOLD_END_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getInlineCodeBlock( String text )
+ {
+ return MarkdownMarkup.MONOSPACED_START_MARKUP + text + MarkdownMarkup.MONOSPACED_END_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getItalicBlock( String text )
+ {
+ return MarkdownMarkup.ITALIC_START_MARKUP + text + MarkdownMarkup.ITALIC_END_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getBoldBlock( String text )
+ {
+ return MarkdownMarkup.BOLD_START_MARKUP + text + MarkdownMarkup.BOLD_END_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getMonospacedBlock( String text )
+ {
+ return text;
+ }
+
+ /** {@inheritDoc} */
+ protected String getLineBreakBlock()
+ {
+ return MarkdownMarkup.BACKSLASH + EOL;
+ }
+
+ /** {@inheritDoc} */
+ protected String getLineBreakOpportunityBlock()
+ {
+ return "";
+ }
+
+ /** {@inheritDoc} */
+ protected String getNonBreakingSpaceBlock()
+ {
+ return MarkdownMarkup.NON_BREAKING_SPACE_MARKUP;
+ }
+
+ /** {@inheritDoc} */
+ protected String getTextBlock( String text )
+ {
+ // "\\~, \\=, \\-, \\+, \\*, \\[, \\], \\<, \\>, \\{, \\}, \\\\"
+ StringBuilder sb = new StringBuilder();
+ sb.append( getSpecialCharacters( '~' ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.EQUAL ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.MINUS ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.PLUS ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.STAR ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.LEFT_SQUARE_BRACKET ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.RIGHT_SQUARE_BRACKET ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.LESS_THAN ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.GREATER_THAN ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.LEFT_CURLY_BRACKET ) ).append( ",_" );
+ sb.append( getSpecialCharacters( Markup.RIGHT_CURLY_BRACKET ) ).append( ",_" );
+ sb.append( getSpecialCharacters( MarkdownMarkup.BACKSLASH ) );
+
+ return sb.toString();
+ }
+
+ @Override
+ public void testText()
+ {
+ // TODO re-enable this test as inherited from parent
+ }
+
+ /** {@inheritDoc} */
+ protected String getRawTextBlock( String text )
+ {
+ return text;
+ }
+
+ /**
+ * Add a backslash for a special markup character
+ *
+ * @param c
+ * @return the character with a backslash before
+ */
+ private static String getSpecialCharacters( char c )
+ {
+ return MarkdownMarkup.BACKSLASH + "" + c;
+ }
+
+ /** {@inheritDoc} */
+ protected String getCommentBlock( String text )
+ {
+ return "";
+ }
+
+ /**
+ * test for DOXIA-497.
+ */
+ public void _testLinksAndParagraphsInTableCells()
+ {
+ final String linkTarget = "target";
+ final String linkText = "link";
+ final String paragraphText = "paragraph text";
+ final Sink sink = getSink();
+ sink.table();
+ sink.tableRow();
+ sink.tableCell();
+ sink.link( linkTarget );
+ sink.text( linkText );
+ sink.link_();
+ sink.tableCell_();
+ sink.tableCell();
+ sink.paragraph();
+ sink.text( paragraphText );
+ sink.paragraph_();
+ sink.tableCell_();
+ sink.tableRow_();
+ sink.table_();
+ sink.flush();
+ sink.close();
+
+ String expected = EOL +
+ MarkdownMarkup.LEFT_CURLY_BRACKET +
+ MarkdownMarkup.LEFT_CURLY_BRACKET +
+ MarkdownMarkup.LEFT_CURLY_BRACKET +
+ linkTarget +
+ MarkdownMarkup.RIGHT_CURLY_BRACKET +
+ linkText +
+ MarkdownMarkup.RIGHT_CURLY_BRACKET +
+ MarkdownMarkup.RIGHT_CURLY_BRACKET +
+ MarkdownMarkup.TABLE_CELL_SEPARATOR_MARKUP +
+ paragraphText +
+ MarkdownMarkup.TABLE_CELL_SEPARATOR_MARKUP +
+ EOL;
+
+ assertEquals( expected, getSinkContent(), "Wrong link or paragraph markup in table cell" );
+ }
+
+ public void _testTableCellsWithJustification()
+ {
+ final String linkTarget = "target";
+ final String linkText = "link";
+ final String paragraphText = "paragraph text";
+ final Sink sink = getSink();
+ sink.table();
+ sink.tableRows( new int[] { Sink.JUSTIFY_RIGHT, Sink.JUSTIFY_LEFT }, false );
+ sink.tableRow();
+ sink.tableCell();
+ sink.link( linkTarget );
+ sink.text( linkText );
+ sink.link_();
+ sink.tableCell_();
+ sink.tableCell();
+ sink.paragraph();
+ sink.text( paragraphText );
+ sink.paragraph_();
+ sink.tableCell_();
+ sink.tableRow_();
+ sink.tableRows_();
+ sink.table_();
+ sink.flush();
+ sink.close();
+
+ String expected = EOL +
+ MarkdownMarkup.TABLE_COL_RIGHT_ALIGNED_MARKUP +
+ MarkdownMarkup.TABLE_COL_LEFT_ALIGNED_MARKUP +
+ EOL +
+ MarkdownMarkup.LINK_START_1_MARKUP+
+ linkTarget +
+ MarkdownMarkup.LINK_START_2_MARKUP+
+ linkText +
+ MarkdownMarkup.LINK_END_MARKUP+
+ MarkdownMarkup.TABLE_CELL_SEPARATOR_MARKUP +
+ paragraphText +
+ MarkdownMarkup.TABLE_CELL_SEPARATOR_MARKUP +
+ EOL +
+ MarkdownMarkup.TABLE_COL_RIGHT_ALIGNED_MARKUP +
+ MarkdownMarkup.TABLE_COL_LEFT_ALIGNED_MARKUP +
+ EOL;
+
+ assertEquals( expected, getSinkContent(), "Wrong justification in table cells" );
+ }
+}
diff --git a/doxia-modules/doxia-module-rtf/pom.xml b/doxia-modules/doxia-module-rtf/pom.xml
index 2344ce5b6..69f0f8b27 100644
--- a/doxia-modules/doxia-module-rtf/pom.xml
+++ b/doxia-modules/doxia-module-rtf/pom.xml
@@ -25,7 +25,7 @@ under the License.
doxia-modules
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-modules/doxia-module-twiki/pom.xml b/doxia-modules/doxia-module-twiki/pom.xml
index c7e4b352d..ff503274b 100644
--- a/doxia-modules/doxia-module-twiki/pom.xml
+++ b/doxia-modules/doxia-module-twiki/pom.xml
@@ -25,7 +25,7 @@ under the License.
doxia-modules
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-modules/doxia-module-xdoc/pom.xml b/doxia-modules/doxia-module-xdoc/pom.xml
index a4ffb74dc..39d7e87f3 100644
--- a/doxia-modules/doxia-module-xdoc/pom.xml
+++ b/doxia-modules/doxia-module-xdoc/pom.xml
@@ -25,7 +25,7 @@ under the License.
doxia-modules
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-modules/doxia-module-xhtml/pom.xml b/doxia-modules/doxia-module-xhtml/pom.xml
index 91f4c4af6..71f6b2bd0 100644
--- a/doxia-modules/doxia-module-xhtml/pom.xml
+++ b/doxia-modules/doxia-module-xhtml/pom.xml
@@ -25,7 +25,7 @@ under the License.
doxia-modules
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-modules/doxia-module-xhtml5/pom.xml b/doxia-modules/doxia-module-xhtml5/pom.xml
index 1066d9182..30b6b706c 100644
--- a/doxia-modules/doxia-module-xhtml5/pom.xml
+++ b/doxia-modules/doxia-module-xhtml5/pom.xml
@@ -25,7 +25,7 @@ under the License.
doxia-modules
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-modules/pom.xml b/doxia-modules/pom.xml
index d71340bbd..d20d5156b 100644
--- a/doxia-modules/pom.xml
+++ b/doxia-modules/pom.xml
@@ -22,7 +22,7 @@ under the License.
doxia
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-sink-api/pom.xml b/doxia-sink-api/pom.xml
index 92c4b5cef..6777b69ae 100644
--- a/doxia-sink-api/pom.xml
+++ b/doxia-sink-api/pom.xml
@@ -25,7 +25,7 @@ under the License.
doxia
org.apache.maven.doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/doxia-test-docs/pom.xml b/doxia-test-docs/pom.xml
index b4ca0d6e8..9734f7997 100644
--- a/doxia-test-docs/pom.xml
+++ b/doxia-test-docs/pom.xml
@@ -25,7 +25,7 @@ under the License.
org.apache.maven.doxia
doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
../pom.xml
diff --git a/pom.xml b/pom.xml
index ba66df1c0..1a188e753 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@ under the License.
org.apache.maven.doxia
doxia
- 1.11.2-SNAPSHOT
+ 1.12.0-SNAPSHOT
pom
Doxia
@@ -87,7 +87,7 @@ under the License.
7
doxia-archives/doxia-LATEST
RedundantThrows,NewlineAtEndOfFile,ParameterNumber,MethodLength,FileLength,MethodName,InnerAssignment,MagicNumber
- 2021-11-28T20:51:17Z
+ 2022-12-04T11:30:28Z