You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2005/10/08 07:04:34 UTC

svn commit: r307261 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/ maven-core/src/main/java/org/apache/maven/cli/ maven-settings/

Author: brett
Date: Fri Oct  7 22:04:25 2005
New Revision: 307261

URL: http://svn.apache.org/viewcvs?rev=307261&view=rev
Log:
PR: MNG-838
improve error reporting for bad settings

Added:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java   (with props)
Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
    maven/components/trunk/maven-settings/settings.mdo

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=307261&r1=307260&r2=307261&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Fri Oct  7 22:04:25 2005
@@ -102,7 +102,7 @@
     // ----------------------------------------------------------------------
 
     public MavenExecutionResponse execute( MavenExecutionRequest request )
-        throws ReactorException
+        throws ReactorException, SettingsConfigurationException
     {
         if ( request.getSettings().isOffline() )
         {
@@ -515,7 +515,7 @@
      * the wagons, shouldn't we?
      */
     private void resolveParameters( Settings settings )
-        throws ComponentLookupException, ComponentLifecycleException
+        throws ComponentLookupException, ComponentLifecycleException, SettingsConfigurationException
     {
         WagonManager wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
 
@@ -525,6 +525,11 @@
 
             if ( proxy != null )
             {
+                if ( proxy.getHost() == null )
+                {
+                    throw new SettingsConfigurationException( "Proxy in settings.xml has no host" );
+                }
+
                 wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(),
                                        proxy.getPassword(), proxy.getNonProxyHosts() );
             }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java?rev=307261&r1=307260&r2=307261&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java Fri Oct  7 22:04:25 2005
@@ -29,9 +29,9 @@
     static String ROLE = Maven.class.getName();
 
     String POMv4 = "pom.xml";
-    
+
     String RELEASE_POMv4 = "release-pom.xml";
 
     MavenExecutionResponse execute( MavenExecutionRequest request )
-        throws ReactorException;
+        throws ReactorException, SettingsConfigurationException;
 }

Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java?rev=307261&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java Fri Oct  7 22:04:25 2005
@@ -0,0 +1,32 @@
+package org.apache.maven;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+/**
+ * If there was an error in the settings file.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class SettingsConfigurationException
+    extends Exception
+{
+    public SettingsConfigurationException( String message )
+    {
+        super( message );
+    }
+}

Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/SettingsConfigurationException.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=307261&r1=307260&r2=307261&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Fri Oct  7 22:04:25 2005
@@ -24,6 +24,7 @@
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.maven.Maven;
+import org.apache.maven.SettingsConfigurationException;
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
@@ -152,7 +153,7 @@
 
         Properties executionProperties = getExecutionProperties( commandLine );
 
-        Settings settings = null;
+        Settings settings;
 
         try
         {
@@ -209,11 +210,7 @@
                 }
             }
 
-            request = createRequest( commandLine,
-                                     settings,
-                                     eventDispatcher,
-                                     loggerManager,
-                                     profileManager,
+            request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager,
                                      executionProperties );
 
             setProjectFileOptions( commandLine, request );
@@ -251,6 +248,11 @@
             showFatalError( "Error executing Maven for a project", e, showErrors );
             return 1;
         }
+        catch ( SettingsConfigurationException e )
+        {
+            showError( e.getMessage(), e, showErrors );
+            return 1;
+        }
 
         if ( response != null && response.isExecutionFailure() )
         {
@@ -357,12 +359,20 @@
         }
     }
 
-    private static MavenExecutionRequest createRequest( CommandLine commandLine,
-                                                        Settings settings,
-                                                        EventDispatcher eventDispatcher,
-                                                        LoggerManager loggerManager,
-                                                        ProfileManager profileManager,
-                                                        Properties executionProperties )
+    private static void showError( String message, Exception e, boolean show )
+    {
+        System.err.println( message );
+        if ( show )
+        {
+            System.err.println( "Error stacktrace:" );
+
+            e.printStackTrace();
+        }
+    }
+
+    private static MavenExecutionRequest createRequest( CommandLine commandLine, Settings settings,
+                                                        EventDispatcher eventDispatcher, LoggerManager loggerManager,
+                                                        ProfileManager profileManager, Properties executionProperties )
         throws ComponentLookupException
     {
         MavenExecutionRequest request;
@@ -371,12 +381,8 @@
 
         File userDir = new File( System.getProperty( "user.dir" ) );
 
-        request = new DefaultMavenExecutionRequest( localRepository,
-                                                    settings,
-                                                    eventDispatcher,
-                                                    commandLine.getArgList(),
-                                                    userDir.getPath(),
-                                                    profileManager,
+        request = new DefaultMavenExecutionRequest( localRepository, settings, eventDispatcher,
+                                                    commandLine.getArgList(), userDir.getPath(), profileManager,
                                                     executionProperties );
 
         // TODO [BP]: do we set one per mojo? where to do it?

Modified: maven/components/trunk/maven-settings/settings.mdo
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-settings/settings.mdo?rev=307261&r1=307260&r2=307261&view=diff
==============================================================================
--- maven/components/trunk/maven-settings/settings.mdo (original)
+++ maven/components/trunk/maven-settings/settings.mdo Fri Oct  7 22:04:25 2005
@@ -402,12 +402,14 @@
           <version>1.0.0</version>
           <description><![CDATA[The proxy port.]]></description>
           <type>int</type>
+          <defaultValue>8080</defaultValue>
         </field>
         <field>
           <name>host</name>
           <version>1.0.0</version>
           <description><![CDATA[The proxy host.]]></description>
           <type>String</type>
+          <required>true</required>
         </field>
         <field>
           <name>nonProxyHosts</name>