You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/10/12 00:39:55 UTC

svn commit: r824188 - /maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java

Author: bentmann
Date: Sun Oct 11 22:39:55 2009
New Revision: 824188

URL: http://svn.apache.org/viewvc?rev=824188&view=rev
Log:
[MNG-4390] Make parsing of settings.xml lenient with respect to unrecognized tags

Modified:
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java?rev=824188&r1=824187&r2=824188&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java Sun Oct 11 22:39:55 2009
@@ -121,22 +121,33 @@
 
         try
         {
-            boolean strict = true;
+            Map<String, ?> options = Collections.singletonMap( SettingsReader.IS_STRICT, Boolean.TRUE );
 
-            Map<String, ?> options = Collections.singletonMap( SettingsReader.IS_STRICT, Boolean.valueOf( strict ) );
-
-            settings = settingsReader.read( settingsFile, options );
+            try
+            {
+                settings = settingsReader.read( settingsFile, options );
+            }
+            catch ( SettingsParseException e )
+            {
+                options = Collections.singletonMap( SettingsReader.IS_STRICT, Boolean.FALSE );
+
+                settings = settingsReader.read( settingsFile, options );
+
+                problems.add( new DefaultSettingsProblem( e.getMessage(), SettingsProblem.Severity.WARNING,
+                                                          settingsFile.getAbsolutePath(), e.getLineNumber(),
+                                                          e.getColumnNumber(), e ) );
+            }
         }
         catch ( SettingsParseException e )
         {
-            problems.add( new DefaultSettingsProblem( "Non-parseable settings " + settingsFile,
+            problems.add( new DefaultSettingsProblem( "Non-parseable settings " + settingsFile + ": " + e.getMessage(),
                                                       SettingsProblem.Severity.FATAL, settingsFile.getAbsolutePath(),
                                                       e.getLineNumber(), e.getColumnNumber(), e ) );
             return new Settings();
         }
         catch ( IOException e )
         {
-            problems.add( new DefaultSettingsProblem( "Non-readable settings " + settingsFile,
+            problems.add( new DefaultSettingsProblem( "Non-readable settings " + settingsFile + ": " + e.getMessage(),
                                                       SettingsProblem.Severity.FATAL, settingsFile.getAbsolutePath(),
                                                       -1, -1, e ) );
             return new Settings();