svn commit: r782221 - in /maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src: main/java/org/apache/maven/doxia/module/fo/FoSink.java test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
Author: vsiveton Date: Sat Jun 6 10:30:37 2009 New Revision: 782221 URL: http://svn.apache.org/viewvc?rev=782221view=rev Log: DOXIA-332: Problem with Tables, Doxia, APT Maven site and PDF/RTF generation o fixed tableCaption for fo sink Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java?rev=782221r1=782220r2=782221view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java Sat Jun 6 10:30:37 2009 @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.StringWriter; import java.io.Writer; +import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -42,6 +43,8 @@ import org.apache.maven.doxia.util.HtmlTools; import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; +import org.codehaus.plexus.util.xml.XMLWriter; /** * FO Sink implementation. @@ -98,6 +101,10 @@ private String languageId; +private StringWriter tableCaptionWriter = null; + +private XMLWriter tableCaptionXMLWriter = null; + /** Map of warn messages with a String as key to describe the error type and a Set as value. * Using to reduce warn messages. */ protected Map warnMessages; @@ -909,6 +916,14 @@ /** {...@inheritdoc} */ public void table_() { +String tableCaption = null; +if ( tableCaptionXMLWriter != null ) +{ +tableCaption = tableCaptionWriter.toString(); +tableCaptionXMLWriter = null; +tableCaptionWriter = null; +} + String content = tempWriter.toString(); if ( content.lastIndexOf( fo:table ) != -1 || content.lastIndexOf( fo:table ) != -1 ) { @@ -952,6 +967,16 @@ writeEndTag( BLOCK_TAG ); writeEOL(); + +if ( tableCaption != null ) +{ +SinkEventAttributeSet atts = new SinkEventAttributeSet(); +atts.addAttribute( SinkEventAttributes.ALIGN, center ); + +paragraph( atts ); +write( tableCaption ); +paragraph_(); +} } /** {...@inheritdoc} */ @@ -1108,6 +1133,9 @@ /** {...@inheritdoc} */ public void tableCaption( SinkEventAttributes attributes ) { +tableCaptionWriter = new StringWriter(); +tableCaptionXMLWriter = new PrettyPrintXMLWriter( tableCaptionWriter ); + // fo:table-caption is XSL-FO 1.0 standard but not implemented in FOP 0.95 //writeStartTag( TABLE_CAPTION_TAG ); @@ -1536,7 +1564,14 @@ */ protected void write( String text ) { -tempWriter.write( unifyEOLs( text ) ); +if ( tableCaptionXMLWriter == null ) +{ +tempWriter.write( unifyEOLs( text ) ); +} +else +{ +tableCaptionXMLWriter.writeText( unifyEOLs( text ) ); +} } /** @@ -1619,6 +1654,50 @@ return buffer.toString(); } +/** {...@inheritdoc} */ +protected void writeStartTag( Tag t, MutableAttributeSet att, boolean isSimpleTag ) +{ +if ( tableCaptionXMLWriter == null ) +{ +super.writeStartTag ( t, att, isSimpleTag ); +} +else +{ +String tag = ( getNameSpace() != null ? getNameSpace() + : : ) + t.toString(); +tableCaptionXMLWriter.startElement( tag ); + +if ( att != null ) +{ +Enumeration names = att.getAttributeNames(); +while ( names.hasMoreElements() ) +{ +Object key = names.nextElement(); +Object value = att.getAttribute( key ); + +tableCaptionXMLWriter.addAttribute( key.toString(), value.toString() ); +} +} + +if ( isSimpleTag ) +{ +tableCaptionXMLWriter.endElement(); +} +} +} + +/** {...@inheritdoc} */ +protected void writeEndTag( Tag t ) +{ +if ( tableCaptionXMLWriter == null ) +{ +super.writeEndTag( t ); +} +else +{ +tableCaptionXMLWriter.endElement(); +} +} + private static final char UPPER_ALPHA
svn commit: r782222 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
Author: vsiveton Date: Sat Jun 6 10:33:32 2009 New Revision: 78 URL: http://svn.apache.org/viewvc?rev=78view=rev Log: o renamed private fields Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java?rev=78r1=782221r2=78view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java Sat Jun 6 10:33:32 2009 @@ -108,9 +108,9 @@ private int depth = 0; -private StringWriter tableCaption = null; +private StringWriter tableCaptionWriter = null; -private XMLWriter tableCaptionWriter = null; +private XMLWriter tableCaptionXMLWriter = null; /** Flag to know if an anchor is defined or not. Used as workaround for iText which needs a defined local * destination. */ @@ -891,9 +891,9 @@ /** {...@inheritdoc} */ public void table_() { -if ( tableCaptionWriter != null ) +if ( tableCaptionXMLWriter != null ) { -tableCaptionWriter = null; +tableCaptionXMLWriter = null; writeEndElement(); // ElementTags.TABLE @@ -902,11 +902,11 @@ writeStartElement( ElementTags.PARAGRAPH ); writeAddAttribute( ElementTags.ALIGN, ElementTags.ALIGN_CENTER ); -write( tableCaption.toString(), true ); +write( tableCaptionWriter.toString(), true ); writeEndElement(); // ElementTags.PARAGRAPH -tableCaption = null; +tableCaptionWriter = null; } else { @@ -952,8 +952,8 @@ /** {...@inheritdoc} */ public void tableCaption() { -tableCaption = new StringWriter(); -tableCaptionWriter = new PrettyPrintXMLWriter( tableCaption ); +tableCaptionWriter = new StringWriter(); +tableCaptionXMLWriter = new PrettyPrintXMLWriter( tableCaptionWriter ); actionContext.setAction( SinkActionContext.TABLE_CAPTION ); } @@ -1468,7 +1468,7 @@ break; case SinkActionContext.TABLE_CAPTION: -this.tableCaptionWriter.writeText( text ); +this.tableCaptionXMLWriter.writeText( text ); break; case SinkActionContext.VERBATIM: @@ -1571,13 +1571,13 @@ */ private void writeStartElement( String tag ) { -if ( tableCaptionWriter == null ) +if ( tableCaptionXMLWriter == null ) { xmlWriter.startElement( tag ); } else { -tableCaptionWriter.startElement( tag ); +tableCaptionXMLWriter.startElement( tag ); } } @@ -1589,13 +1589,13 @@ */ private void writeAddAttribute( String key, String value ) { -if ( tableCaptionWriter == null ) +if ( tableCaptionXMLWriter == null ) { xmlWriter.addAttribute( key, value ); } else { -tableCaptionWriter.addAttribute( key, value ); +tableCaptionXMLWriter.addAttribute( key, value ); } } @@ -1607,13 +1607,13 @@ */ private void writeAddAttribute( String key, int value ) { -if ( tableCaptionWriter == null ) +if ( tableCaptionXMLWriter == null ) { xmlWriter.addAttribute( key, String.valueOf( value ) ); } else { -tableCaptionWriter.addAttribute( key, String.valueOf( value ) ); +tableCaptionXMLWriter.addAttribute( key, String.valueOf( value ) ); } } @@ -1622,13 +1622,13 @@ */ private void writeEndElement() { -if ( tableCaptionWriter == null ) +if ( tableCaptionXMLWriter == null ) { xmlWriter.endElement(); } else { -tableCaptionWriter.endElement(); +tableCaptionXMLWriter.endElement(); } } @@ -1695,24 +1695,24 @@ } if ( escapeHtml ) { -if ( tableCaptionWriter == null ) +if ( tableCaptionXMLWriter == null ) { xmlWriter.writeMarkup( aString ); } else { -tableCaptionWriter.writeMarkup( aString ); +tableCaptionXMLWriter.writeMarkup( aString ); } } else {
svn commit: r782225 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/resources/fo-styles.xslt
Author: vsiveton Date: Sat Jun 6 11:01:58 2009 New Revision: 782225 URL: http://svn.apache.org/viewvc?rev=782225view=rev Log: o switch to mm for page size Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/resources/fo-styles.xslt Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/resources/fo-styles.xslt URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/resources/fo-styles.xslt?rev=782225r1=782224r2=782225view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/resources/fo-styles.xslt (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/resources/fo-styles.xslt Sat Jun 6 11:01:58 2009 @@ -24,8 +24,8 @@ !-- Layout master sets -- xsl:attribute-set name=layout.master.set.base -xsl:attribute name=page-width8.25in/xsl:attribute -xsl:attribute name=page-height11.70in/xsl:attribute +xsl:attribute name=page-width210mm/xsl:attribute +xsl:attribute name=page-height297mm/xsl:attribute xsl:attribute name=margin-top0.625in/xsl:attribute xsl:attribute name=margin-bottom0.6in/xsl:attribute xsl:attribute name=margin-left1in/xsl:attribute
svn commit: r782226 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java
Author: vsiveton Date: Sat Jun 6 11:03:42 2009 New Revision: 782226 URL: http://svn.apache.org/viewvc?rev=782226view=rev Log: o put TransformerFactory to a static field Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java?rev=782226r1=782225r2=782226view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java Sat Jun 6 11:03:42 2009 @@ -55,6 +55,9 @@ /** 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. * @@ -79,10 +82,9 @@ { foUserAgent.setAuthor( authors ); } -String title = documentModel.getMeta().getTitle(); -if ( StringUtils.isNotEmpty( title ) ) +if ( StringUtils.isNotEmpty( documentModel.getMeta().getTitle() ) ) { -foUserAgent.setTitle( title ); +foUserAgent.setTitle( documentModel.getMeta().getTitle() ); } String keywords = documentModel.getMeta().getAllKeyWords(); if ( StringUtils.isNotEmpty( keywords ) ) @@ -159,7 +161,7 @@ try { // identity transformer -transformer = TransformerFactory.newInstance().newTransformer(); +transformer = TRANSFORMER_FACTORY.newTransformer(); } catch ( TransformerConfigurationException e ) {
svn commit: r782242 - /maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/itext/AbstractITextRender.java
Author: vsiveton Date: Sat Jun 6 12:26:25 2009 New Revision: 782242 URL: http://svn.apache.org/viewvc?rev=782242view=rev Log: DOXIA-331: Unable to renderer images on iText module o added a temp system property for the rendering Modified: maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/itext/AbstractITextRender.java Modified: maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/itext/AbstractITextRender.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/itext/AbstractITextRender.java?rev=782242r1=782241r2=782242view=diff == --- maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/itext/AbstractITextRender.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/itext/AbstractITextRender.java Sat Jun 6 12:26:25 2009 @@ -316,6 +316,8 @@ reader = ReaderFactory.newPlatformReader( f ); } +System.setProperty( itext.basedir, outputITextFile.getParentFile().getAbsolutePath() ); + doxia.parse( reader, module.getParserId(), sink ); } catch ( ParserNotFoundException e ) @@ -335,6 +337,10 @@ sink.flush(); sink.close(); + +IOUtil.close( writer ); + +System.getProperties().remove( itext.basedir ); } }
svn commit: r782262 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
Author: ltheussl Date: Sat Jun 6 14:00:20 2009 New Revision: 782262 URL: http://svn.apache.org/viewvc?rev=782262view=rev Log: Change order of section attributes, name has to be last since it's not complete yet. Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java?rev=782262r1=782261r2=782262view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java Sat Jun 6 14:00:20 2009 @@ -261,17 +261,17 @@ { if ( depth == SECTION_LEVEL_1 ) { -write( String.valueOf( LESS_THAN ) + SECTION_TAG.toString() + String.valueOf( SPACE ) + Attribute.NAME -+ String.valueOf( EQUAL ) + String.valueOf( QUOTE ) -+ SinkUtils.getAttributeString( SinkUtils.filterAttributes( -attributes, SinkUtils.SINK_BASE_ATTRIBUTES ) ) ); +write( String.valueOf( LESS_THAN ) + SECTION_TAG.toString() ++ SinkUtils.getAttributeString( +SinkUtils.filterAttributes( attributes, SinkUtils.SINK_BASE_ATTRIBUTES ) ) ++ String.valueOf( SPACE ) + Attribute.NAME + String.valueOf( EQUAL ) + String.valueOf( QUOTE ) ); } else if ( depth == SECTION_LEVEL_2 ) { -write( String.valueOf( LESS_THAN ) + SUBSECTION_TAG.toString() + String.valueOf( SPACE ) + Attribute.NAME -+ String.valueOf( EQUAL ) + String.valueOf( QUOTE ) -+ SinkUtils.getAttributeString( SinkUtils.filterAttributes( -attributes, SinkUtils.SINK_BASE_ATTRIBUTES ) ) ); +write( String.valueOf( LESS_THAN ) + SUBSECTION_TAG.toString() ++ SinkUtils.getAttributeString( +SinkUtils.filterAttributes( attributes, SinkUtils.SINK_BASE_ATTRIBUTES ) ) ++ String.valueOf( SPACE ) + Attribute.NAME + String.valueOf( EQUAL ) + String.valueOf( QUOTE ) ); } }
svn commit: r782331 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
Author: ltheussl Date: Sun Jun 7 05:57:39 2009 New Revision: 782331 URL: http://svn.apache.org/viewvc?rev=782331view=rev Log: simplify parameters Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java?rev=782331r1=782330r2=782331view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java Sun Jun 7 05:57:39 2009 @@ -1202,23 +1202,18 @@ } else { -String frame; -int sep; +String frame = none; +String sep = 0; if ( tableHasGrid ) { frame = all; -sep = 1; -} -else -{ -frame = none; -sep = 0; +sep = 1; } MutableAttributeSet att = new SimpleAttributeSet(); att.addAttribute( SimplifiedDocbookMarkup.FRAME_ATTRIBUTE, frame ); -att.addAttribute( SimplifiedDocbookMarkup.ROWSEP_ATTRIBUTE, String.valueOf( sep ) ); -att.addAttribute( SimplifiedDocbookMarkup.COLSEP_ATTRIBUTE, String.valueOf( sep ) ); +att.addAttribute( SimplifiedDocbookMarkup.ROWSEP_ATTRIBUTE, sep ); +att.addAttribute( SimplifiedDocbookMarkup.COLSEP_ATTRIBUTE, sep ); writeStartTag( SimplifiedDocbookMarkup.INFORMALTABLE_TAG, att );
svn commit: r782204 - /maven/project/KEYS
Author: nicolas Date: Sat Jun 6 08:04:12 2009 New Revision: 782204 URL: http://svn.apache.org/viewvc?rev=782204view=rev Log: just generated PGP key Modified: maven/project/KEYS Modified: maven/project/KEYS URL: http://svn.apache.org/viewvc/maven/project/KEYS?rev=782204r1=782203r2=782204view=diff == --- maven/project/KEYS (original) +++ maven/project/KEYS Sat Jun 6 08:04:12 2009 @@ -1413,3 +1413,39 @@ =bthD -END PGP PUBLIC KEY BLOCK- +pub 1024D/CDA187E9 06/06/2009 Nicolas De loof nico...@apache.org +Primary key fingerprint: C827 C931 B458 D061 C457 0B6B 8C0A EE41 CDA1 87E9 + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG v1.4.9 (MingW32) - WinPT 1.4.0 +Charset: UTF-8 + +mQGiBEoqHN4RBAD8S/6IBbKTPyR/anzFo0m5rr4fD0blDbLK+pySb5P2+VeADk1D +mWX1vQx1Gv7sTw+ph6GuolcvEYQTveWHUDrbgQknz4oblusJ8iAHp1GXO36IbUZb +EM+tnRYXfiUq6w2QnqzGXqo2bdPd64bSkvSmtNBPLqca+NKIJJ7DTNuOIwCgqGST +2qnW1QuhM4X2jNW0f2wz3n8EAIEui6GouOi4Fr1rlu52AqVTtF0olmMip/W8C/zQ +dNOSlCPHY8B9Zg2AlwpsSgaFsFB3UQLDLcjKH5oeuKYFkB6KaS0tlQrcDYjRBThr +yp79Okc1v6xRLLdhcWMj8ZJC+Mck9PMd2yEhEND92ohZ20uo/8x+fl77yy599cY1 +eev6BADK0ZZOPI0ZkAR3Hvaq97RZLmFCtzn64+tK227j7qluJjeYl5gACdwtBfgP +81cZ3OjaZNb2QR4D6g+yrZ2g4JTpJaQQi66HxTrpPIx9Z842LhIHGbMw/nSWwIuP +67EZ6e5pJwapXt4qEX8UzIJ6hxTyyCziQbLGjz2eyiarbksRW7QkTmljb2xhcyBE +ZSBsb29mIDxuaWNvbGFzQGFwYWNoZS5vcmc+iF4EExECAB4FAkoqHN4CGwMGCwkI +BwMCAxUCAwMWAgECHgECF4AACgkQjAruQc2hh+mdvwCfeBrpqL6rfpyudQDzKX0Z +Nq75JPQAn1uRrhT28txiQrfB5wPE+SHj8V10uQINBEoqHOEQCACcCfrDBoa5mLG4 +HALgEhEp7CbbP/dAOjSRDgSshmEl3m89pyBwp0fY0nsm2HfH1EJ57P+ClHfNigc4 +ZepsWt1I0DSeeM9uKXjYwmQdFXjFol00V9DnKdar/oFXdvvEpZSnT1a5GDqFegAK +PvMFygotdntE/Rs30vzP0bGaTpXO6hCps07VKRqhpmLUJ/XFm5o0uksoqPaiFZN8 +5Axqzl4ZHdZmZKZGIdltJEID+rfH1Nsnh+WdNVNwm7DuXAz8BzcqxzEr3VXFHNEO +4J5QXMeJVbvcF44TRqL8i0IIl/ID137IZvqPV/F4Pbr4qbZwa7O12pwNHdZOC85J +HS1UPLdrAAMFB/4uBq9YiD0epc3X8H5uYQKR2TAkyUltxRcH0ZMl3XUdMGZFI0n7 +H5IE03W7YAAAyubJxwzor7MPkqo7BFVGQ8b7lXWzlguuR8qDRJszDnx0TVJsto2Z +CxWVVxPQLP3vhgstcmOFspnwV4y30Soaa6nfMfslh7c/ZLGr5yi631HGqNY2ejav +IEAygjn13sZ9w8rn9zfiYItxgnVOtoIvJtxaus5TfLphsWqOF4xcgyeTAKIs/EFI +wLpM04eGyNoEE5d+SqiguoLMWMUL8Rok5rHDZEJfmEBgmcwmZksgpXyeY6WSiSGY +ThkP3C9o20ZubmVBFtkpKL3gFZLTtIVw7iu8iEkEGBECAAkFAkoqHOECGwwACgkQ +jAruQc2hh+mQ7ACgp1j8dVlc79MuAtX457R50yV63YoAnjlTJtPbh8AHBOyXr0xJ +0GqgReeF +=hY4w +-END PGP PUBLIC KEY BLOCK- + +
svn commit: r782223 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/project/ maven-model-builder/src/main/java/org/apache/maven/model/
Author: bentmann Date: Sat Jun 6 10:38:42 2009 New Revision: 782223 URL: http://svn.apache.org/viewvc?rev=782223view=rev Log: o Decoupled project building request from model building request o Moved model resolver into model building request Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuildingRequest.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuilder.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingRequest.java Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java?rev=782223r1=78r2=782223view=diff == --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java Sat Jun 6 10:38:42 2009 @@ -28,10 +28,12 @@ import org.apache.maven.lifecycle.LifecycleExecutionException; import org.apache.maven.lifecycle.LifecycleExecutor; import org.apache.maven.model.Build; +import org.apache.maven.model.DefaultModelBuildingRequest; import org.apache.maven.model.FileModelSource; import org.apache.maven.model.Model; import org.apache.maven.model.ModelBuilder; import org.apache.maven.model.ModelBuildingException; +import org.apache.maven.model.ModelBuildingRequest; import org.apache.maven.model.ModelBuildingResult; import org.apache.maven.model.io.ModelReader; import org.apache.maven.model.resolution.ModelResolver; @@ -86,18 +88,25 @@ new RepositoryModelResolver( repositorySystem, resolutionErrorHandler, configuration.getLocalRepository(), configuration.getRemoteRepositories() ); +ModelBuildingRequest request = new DefaultModelBuildingRequest(); +request.setLenientValidation( configuration.istLenientValidation() ); +request.setProcessPlugins( configuration.isProcessPlugins() ); +request.setProfiles( configuration.getProfiles() ); +request.setActiveProfileIds( configuration.getActiveProfileIds() ); +request.setInactiveProfileIds( configuration.getInactiveProfileIds() ); +request.setExecutionProperties( configuration.getExecutionProperties() ); +request.setModelResolver( resolver ); + ModelBuildingResult result; try { if ( localProject ) { -result = modelBuilder.build( pomFile, configuration.getModelBuildingRequest(), resolver ); +result = modelBuilder.build( pomFile, request ); } else { -result = -modelBuilder.build( new FileModelSource( pomFile ), configuration.getModelBuildingRequest(), -resolver ); +result = modelBuilder.build( new FileModelSource( pomFile ), request ); } } catch ( ModelBuildingException e ) Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java?rev=782223r1=78r2=782223view=diff == --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java Sat Jun 6 10:38:42 2009 @@ -24,8 +24,6 @@ import java.util.Properties; import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.model.DefaultModelBuildingRequest; -import org.apache.maven.model.ModelBuildingRequest; import org.apache.maven.model.ModelEventListener; import org.apache.maven.model.Profile; @@ -40,7 +38,26 @@ private MavenProject topProject; -private ModelBuildingRequest modelBuildingRequest = new DefaultModelBuildingRequest().setProcessPlugins( true ); +private boolean lenientValidation; + +private boolean processPlugins; + +private
svn commit: r782231 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java maven-model-builder/src/main/java/org/apache/maven/model/resolution/Mod
Author: bentmann Date: Sat Jun 6 11:35:57 2009 New Revision: 782231 URL: http://svn.apache.org/viewvc?rev=782231view=rev Log: o Fixed aggregation of remote repositories Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java?rev=782231r1=782230r2=782231view=diff == --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java Sat Jun 6 11:35:57 2009 @@ -21,7 +21,9 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Iterator; import java.util.List; +import java.util.Map; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; @@ -88,7 +90,19 @@ try { ArtifactRepository repo = repositorySystem.buildArtifactRepository( repository ); -remoteRepositories.addAll( 0, repositorySystem.getMirrors( Arrays.asList( repo ) ) ); + +ArtifactRepository mirror = repositorySystem.getMirrors( Arrays.asList( repo ) ).get( 0 ); + +for ( IteratorArtifactRepository it = remoteRepositories.iterator(); it.hasNext(); ) +{ +ArtifactRepository remoteRepository = it.next(); +if ( mirror.getId().equals( remoteRepository.getId() ) ) +{ +it.remove(); +} +} + +remoteRepositories.add( 0, mirror ); } catch ( org.apache.maven.artifact.InvalidRepositoryException e ) { Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java?rev=782231r1=782230r2=782231view=diff == --- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java (original) +++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java Sat Jun 6 11:35:57 2009 @@ -33,9 +33,25 @@ public interface ModelResolver { +/** + * Tries to resolve the POM for the specified coordinates. + * + * @param groupId The group identifier of the POM, must not be {...@code null}. + * @param artifactId The artifact identifier of the POM, must not be {...@code null}. + * @param version The version of the POM, must not be {...@code null}. + * @return The source of the requested POM, never {...@code null}. + * @throws UnresolvableModelException If the POM could not be resolved from any configured repository. + */ ModelSource resolveModel( String groupId, String artifactId, String version ) throws UnresolvableModelException; +/** + * Adds a repository to use for subsequent resolution requests. The order in which repositories are added matters. + * When multiple repositories with the same identifier are added, only the last repository being added will be used. + * + * @param repository The repository to add to the internal search chain, must not be {...@code null}. + * @throws InvalidRepositoryException If the repository could not be added (e.g. due to invalid URL or layout). + */ void addRepository( Repository repository ) throws InvalidRepositoryException;
svn commit: r782243 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBu
Author: bentmann Date: Sat Jun 6 12:37:34 2009 New Revision: 782243 URL: http://svn.apache.org/viewvc?rev=782243view=rev Log: o Improved propagation of parse errors Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java?rev=782243r1=782242r2=782243view=diff == --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java Sat Jun 6 12:37:34 2009 @@ -23,7 +23,6 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; -import java.util.Map; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=782243r1=782242r2=782243view=diff == --- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original) +++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Sat Jun 6 12:37:34 2009 @@ -207,8 +207,8 @@ } catch ( ModelParseException e ) { -throw new UnparseableModelException( Failed to parse POM + modelSource.getLocation(), e.getLineNumber(), - e.getColumnNumber(), e ); +throw new UnparseableModelException( Failed to parse POM + modelSource.getLocation() + : ++ e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e ); } catch ( IOException e ) {
svn commit: r782246 - /maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
Author: bentmann Date: Sat Jun 6 12:50:22 2009 New Revision: 782246 URL: http://svn.apache.org/viewvc?rev=782246view=rev Log: o Fixed tests to lookup IT plugins from the proper repo Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java?rev=782246r1=782245r2=782246view=diff == --- maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java (original) +++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java Sat Jun 6 12:50:22 2009 @@ -2,13 +2,10 @@ import java.io.File; import java.util.Arrays; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import java.util.Properties; import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.artifact.InvalidRepositoryException; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.execution.DefaultMavenExecutionRequest; @@ -20,11 +17,10 @@ import org.apache.maven.model.Exclusion; import org.apache.maven.model.Model; import org.apache.maven.model.Plugin; -import org.apache.maven.plugin.PluginManager; +import org.apache.maven.model.Repository; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.repository.DelegatingLocalArtifactRepository; import org.apache.maven.repository.RepositorySystem; import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.PlexusTestCase; @@ -146,7 +142,12 @@ protected ListArtifactRepository getRemoteRepositories() throws InvalidRepositoryException { -return Arrays.asList( repositorySystem.createDefaultRemoteRepository() ); +Repository itRepo = new Repository(); +itRepo.setId( maven.it ); +itRepo.setUrl( http://repository.sonatype.org/content/repositories/maven.snapshots; ); + +return Arrays.asList( repositorySystem.buildArtifactRepository( itRepo ), + repositorySystem.createDefaultRemoteRepository() ); } protected ArtifactRepository getLocalRepository()
svn commit: r782260 - /maven/site/trunk/src/site/apt/plugins/index.apt
Author: dennisl Date: Sat Jun 6 13:36:49 2009 New Revision: 782260 URL: http://svn.apache.org/viewvc?rev=782260view=rev Log: o Update Assembly Plugin release date. Modified: maven/site/trunk/src/site/apt/plugins/index.apt Modified: maven/site/trunk/src/site/apt/plugins/index.apt URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/plugins/index.apt?rev=782260r1=782259r2=782260view=diff == --- maven/site/trunk/src/site/apt/plugins/index.apt (original) +++ maven/site/trunk/src/site/apt/plugins/index.apt Sat Jun 6 13:36:49 2009 @@ -114,23 +114,23 @@ *---+--++--+++ | {{{/plugins/maven-archetype-plugin/} archetype}}| 2.0-alpha-4 | 2008-09-26 | Generate a skeleton project structure from an archetype. | {{{http://svn.apache.org/repos/asf/maven/archetype/trunk/archetype-plugin}SVN}} | {{{http://jira.codehaus.org/browse/ARCHETYPE}JIRA}} *---+--++--+++ -| {{{/plugins/maven-assembly-plugin/} assembly}} | 2.2-beta-4 | 2009-01-05 | Build an assembly (distribution) of sources and/or binaries. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-assembly-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MASSEMBLY}JIRA}} +| {{{/plugins/maven-assembly-plugin/} assembly}} | 2.2-beta-4 | 2009-06-05 | Build an assembly (distribution) of sources and/or binaries. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-assembly-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MASSEMBLY}JIRA}} *---+--++--+++ | {{{/plugins/maven-dependency-plugin/} dependency}} | 2.1 | 2009-01-10 | Dependency manipulation (copy, unpack) and analysis. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-dependency-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MDEP}JIRA}} *---+--++--+++ -| {{{/plugins/maven-enforcer-plugin/} enforcer}} | 1.0-beta-1 | 2009-02-25 | Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution. | {{{http://svn.apache.org/repos/asf/maven/enforcer/trunk/maven-enforcer-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MENFORCER}JIRA}} +| {{{/plugins/maven-enforcer-plugin/} enforcer}} | 1.0-beta-1 | 2009-02-25 | Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution. | {{{http://svn.apache.org/repos/asf/maven/enforcer/trunk/maven-enforcer-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MENFORCER}JIRA}} *---+--++--+++ | {{{/plugins/maven-gpg-plugin/} gpg}}| 1.0-alpha-4 | 2007-09-28 | Create signatures for the artifacts and poms. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-gpg-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MGPG}JIRA}} *---+--++--+++ | {{{/plugins/maven-help-plugin/} help}} | 2.1 | 2008-09-04 | Get information about the working environment for the project. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-help-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MPH}JIRA}} *---+--++--+++ -| {{{/plugins/maven-invoker-plugin/} invoker}}| 1.3| 2008-08-09 | Run a set of Maven projects and verify the output. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-invoker-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MINVOKER}JIRA}} +| {{{/plugins/maven-invoker-plugin/} invoker}}| 1.3 | 2008-08-09 | Run a set of Maven projects and verify the output. | {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-invoker-plugin}SVN}} | {{{http://jira.codehaus.org/browse/MINVOKER}JIRA}} *---+--++--+++ | {{{/plugins/maven-one-plugin/} one}}| 1.2 | 2007-09-12 | A plugin for interacting with legacy Maven 1.x repositories and builds. |
svn commit: r782281 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java
Author: bentmann Date: Sat Jun 6 17:21:56 2009 New Revision: 782281 URL: http://svn.apache.org/viewvc?rev=782281view=rev Log: o Improved exception handling Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java?rev=782281r1=782280r2=782281view=diff == --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java Sat Jun 6 17:21:56 2009 @@ -103,12 +103,10 @@ remoteRepositories.add( 0, mirror ); } -catch ( org.apache.maven.artifact.InvalidRepositoryException e ) +catch ( Exception e ) { -throw new InvalidRepositoryException( Failed to create artifact repository for + repository.getId() -+ with layout + repository.getLayout() + and URL + repository.getUrl(), repository, e ); +throw new InvalidRepositoryException( e.getMessage(), repository, e ); } - } public ModelSource resolveModel( String groupId, String artifactId, String version ) @@ -130,7 +128,7 @@ catch ( ArtifactResolutionException e ) { throw new UnresolvableModelException( Failed to resolve POM for + groupId + : + artifactId + : -+ version, e ); ++ version + due to + e.getMessage(), e ); } return new FileModelSource( artifactParent.getFile() );
svn commit: r782282 - in /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model: ./ path/
Author: bentmann Date: Sat Jun 6 17:28:10 2009 New Revision: 782282 URL: http://svn.apache.org/viewvc?rev=782282view=rev Log: o Revised exception handling of model builder to collect as much as possible in ModelProblem instances that are stored in the ModelBuildingException when it eventually bails out. This should enable IDE integrators to provide more extensive error feedback. Added: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelProblem.java (with props) Removed: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/InvalidModelException.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/InvalidProfileException.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/UnparseableModelException.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/UnresolvableParentException.java Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingException.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/PathTranslator.java Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=782282r1=782281r2=782282view=diff == --- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original) +++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Sat Jun 6 17:28:10 2009 @@ -110,17 +110,19 @@ { DefaultModelBuildingResult result = new DefaultModelBuildingResult(); +ListModelProblem problems = new ArrayListModelProblem(); + ProfileActivationContext profileActivationContext = getProfileActivationContext( request ); -ListProfile activeExternalProfiles = getActiveExternalProfiles( request, profileActivationContext ); +ListProfile activeExternalProfiles = getActiveExternalProfiles( request, profileActivationContext, problems ); -Model model = readModel( modelSource, request ); +Model model = readModel( modelSource, request, problems ); model.setPomFile( pomFile ); ListModel rawModels = new ArrayListModel(); ListModel resultModels = new ArrayListModel(); -for ( Model current = model; current != null; current = readParent( current, request ) ) +for ( Model current = model; current != null; current = readParent( current, request, problems ) ) { Model resultModel = current; resultModels.add( resultModel ); @@ -130,7 +132,8 @@ modelNormalizer.mergeDuplicates( resultModel, request ); -ListProfile activeProjectProfiles = getActiveProjectProfiles( rawModel, profileActivationContext ); +ListProfile activeProjectProfiles = +getActiveProjectProfiles( rawModel, profileActivationContext, problems ); ListProfile activeProfiles = activeProjectProfiles; if ( current == model ) @@ -147,7 +150,7 @@ result.setActiveProfiles( rawModel, activeProfiles ); -configureResolver( request.getModelResolver(), resultModel ); +configureResolver( request.getModelResolver(), resultModel, problems ); } Model superModel = getSuperModel(); @@ -160,7 +163,7 @@ Model resultModel = resultModels.get( 0 ); -resultModel = interpolateModel( resultModel, request ); +resultModel = interpolateModel( resultModel, request, problems ); resultModels.set( 0, resultModel ); modelPathTranslator.alignToBaseDirectory( resultModel, resultModel.getProjectDirectory(), request ); @@ -177,7 +180,12 @@ pluginConfigurationExpander.expandPluginConfiguration( resultModel, request ); } -validateModel( resultModel, false, request ); +validateModel( resultModel, false, request, problems ); + +if ( !problems.isEmpty() ) +{ +throw new ModelBuildingException( problems ); +} result.setEffectiveModel( resultModel ); @@ -193,7 +201,7 @@ return context; } -private Model readModel( ModelSource modelSource, ModelBuildingRequest request ) +private Model readModel( ModelSource modelSource, ModelBuildingRequest request, ListModelProblem problems ) throws ModelBuildingException { Model model; @@ -207,21 +215,23 @@ } catch (
svn commit: r782283 - /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
Author: bentmann Date: Sat Jun 6 17:40:50 2009 New Revision: 782283 URL: http://svn.apache.org/viewvc?rev=782283view=rev Log: o Set POM file before validation to provide better source hint for validation problems Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=782283r1=782282r2=782283view=diff == --- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original) +++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Sat Jun 6 17:40:50 2009 @@ -116,8 +116,7 @@ ListProfile activeExternalProfiles = getActiveExternalProfiles( request, profileActivationContext, problems ); -Model model = readModel( modelSource, request, problems ); -model.setPomFile( pomFile ); +Model model = readModel( modelSource, pomFile, request, problems ); ListModel rawModels = new ArrayListModel(); ListModel resultModels = new ArrayListModel(); @@ -180,7 +179,8 @@ pluginConfigurationExpander.expandPluginConfiguration( resultModel, request ); } -validateModel( resultModel, false, request, problems ); +ModelValidationResult validationResult = modelValidator.validateEffectiveModel( resultModel, request ); +addProblems( resultModel, validationResult, problems ); if ( !problems.isEmpty() ) { @@ -201,7 +201,8 @@ return context; } -private Model readModel( ModelSource modelSource, ModelBuildingRequest request, ListModelProblem problems ) +private Model readModel( ModelSource modelSource, File pomFile, ModelBuildingRequest request, + ListModelProblem problems ) throws ModelBuildingException { Model model; @@ -226,24 +227,16 @@ throw new ModelBuildingException( problems ); } -validateModel( model, true, request, problems ); +model.setPomFile( pomFile ); + +ModelValidationResult validationResult = modelValidator.validateRawModel( model, request ); +addProblems( model, validationResult, problems ); return model; } -private void validateModel( Model model, boolean raw, ModelBuildingRequest request, ListModelProblem problems ) +private void addProblems( Model model, ModelValidationResult result, ListModelProblem problems ) { -ModelValidationResult result; - -if ( raw ) -{ -result = modelValidator.validateRawModel( model, request ); -} -else -{ -result = modelValidator.validateEffectiveModel( model, request ); -} - if ( result.getMessageCount() 0 ) { String source = toSourceHint( model ); @@ -384,8 +377,7 @@ return null; } -Model candidateModel = readModel( new FileModelSource( pomFile ), request, problems ); -candidateModel.setPomFile( pomFile ); +Model candidateModel = readModel( new FileModelSource( pomFile ), pomFile, request, problems ); String groupId = candidateModel.getGroupId(); if ( groupId == null candidateModel.getParent() != null ) @@ -441,7 +433,7 @@ throw new ModelBuildingException( problems ); } -return readModel( modelSource, request, problems ); +return readModel( modelSource, null, request, problems ); } private Model getSuperModel()
svn commit: r782293 - in /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model: ./ profile/
Author: bentmann Date: Sat Jun 6 18:09:42 2009 New Revision: 782293 URL: http://svn.apache.org/viewvc?rev=782293view=rev Log: o Updated profile selector to support collecting activation errors Added: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileSelectionResult.java (with props) Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingException.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileSelector.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileActivationException.java maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileSelector.java Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=782293r1=782292r2=782293view=diff == --- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original) +++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Sat Jun 6 18:09:42 2009 @@ -41,6 +41,7 @@ import org.apache.maven.model.profile.ProfileActivationContext; import org.apache.maven.model.profile.ProfileActivationException; import org.apache.maven.model.profile.ProfileInjector; +import org.apache.maven.model.profile.ProfileSelectionResult; import org.apache.maven.model.profile.ProfileSelector; import org.apache.maven.model.resolution.InvalidRepositoryException; import org.apache.maven.model.resolution.ModelResolver; @@ -251,37 +252,30 @@ private ListProfile getActiveExternalProfiles( ModelBuildingRequest request, ProfileActivationContext context, ListModelProblem problems ) { -try -{ -return profileSelector.getActiveProfiles( request.getProfiles(), context ); -} -catch ( ProfileActivationException e ) +ProfileSelectionResult result = profileSelector.getActiveProfiles( request.getProfiles(), context ); + +for ( ProfileActivationException e : result.getActivationExceptions() ) { problems.add( new ModelProblem( Invalid activation condition for external profile + e.getProfile().getId() + : + e.getMessage(), (external profiles), e ) ); - -// FIXME: Update profile selector to integrate better with the problem reporting -return new ArrayListProfile(); } + +return result.getActiveProfiles(); } private ListProfile getActiveProjectProfiles( Model model, ProfileActivationContext context, ListModelProblem problems ) -throws ModelBuildingException { -try -{ -return profileSelector.getActiveProfiles( model.getProfiles(), context ); -} -catch ( ProfileActivationException e ) +ProfileSelectionResult result = profileSelector.getActiveProfiles( model.getProfiles(), context ); + +for ( ProfileActivationException e : result.getActivationExceptions() ) { problems.add( new ModelProblem( Invalid activation condition for project profile + e.getProfile().getId() + in POM + toSourceHint( model ) + : + e.getMessage(), toSourceHint( model ), e ) ); - -// FIXME: Update profile selector to integrate better with the problem reporting -return new ArrayListProfile(); } + +return result.getActiveProfiles(); } private void configureResolver( ModelResolver modelResolver, Model model, ListModelProblem problems ) Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingException.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingException.java?rev=782293r1=782292r2=782293view=diff == --- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingException.java (original) +++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingException.java Sat Jun 6 18:09:42 2009 @@ -25,7 +25,9 @@ import java.util.List; /** - * Signals an error during model building. + * Signals one ore more errors during model