mirror of https://github.com/apache/maven.git
MNG-2935: make sure build tanks if the settings are bad (user and global)
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@572180 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
248c7199a0
commit
4005482797
|
@ -26,6 +26,7 @@ import org.apache.maven.embedder.Configuration;
|
||||||
import org.apache.maven.embedder.DefaultConfiguration;
|
import org.apache.maven.embedder.DefaultConfiguration;
|
||||||
import org.apache.maven.embedder.MavenEmbedder;
|
import org.apache.maven.embedder.MavenEmbedder;
|
||||||
import org.apache.maven.embedder.MavenEmbedderException;
|
import org.apache.maven.embedder.MavenEmbedderException;
|
||||||
|
import org.apache.maven.embedder.ConfigurationValidationResult;
|
||||||
import org.apache.maven.execution.DefaultMavenExecutionRequest;
|
import org.apache.maven.execution.DefaultMavenExecutionRequest;
|
||||||
import org.apache.maven.execution.MavenExecutionRequest;
|
import org.apache.maven.execution.MavenExecutionRequest;
|
||||||
import org.apache.maven.execution.MavenExecutionResult;
|
import org.apache.maven.execution.MavenExecutionResult;
|
||||||
|
@ -343,6 +344,22 @@ public class MavenCli
|
||||||
.setGlobalSettingsFile( MavenEmbedder.DEFAULT_GLOBAL_SETTINGS_FILE )
|
.setGlobalSettingsFile( MavenEmbedder.DEFAULT_GLOBAL_SETTINGS_FILE )
|
||||||
.setClassWorld( classWorld );
|
.setClassWorld( classWorld );
|
||||||
|
|
||||||
|
ConfigurationValidationResult cvr = MavenEmbedder.validateConfiguration( configuration );
|
||||||
|
|
||||||
|
if ( cvr.isUserSettingsFilePresent() && !cvr.isUserSettingsFileParses() )
|
||||||
|
{
|
||||||
|
showFatalError( "Error reading user settings: " + cvr.getUserSettingsException().getMessage(), cvr.getUserSettingsException(), showErrors );
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( cvr.isGlobalSettingsFilePresent() && !cvr.isGlobalSettingsFileParses() )
|
||||||
|
{
|
||||||
|
showFatalError( "Error reading global settings: " + cvr.getGlobalSettingsException().getMessage(), cvr.getGlobalSettingsException(), showErrors );
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
String localRepoProperty = executionProperties.getProperty( LOCAL_REPO_PROPERTY );
|
String localRepoProperty = executionProperties.getProperty( LOCAL_REPO_PROPERTY );
|
||||||
|
|
||||||
if ( localRepoProperty != null )
|
if ( localRepoProperty != null )
|
||||||
|
|
|
@ -47,12 +47,12 @@ public interface ConfigurationValidationResult
|
||||||
/**
|
/**
|
||||||
* Any exception that happened during parsing user settings, or null if there were no errors.
|
* Any exception that happened during parsing user settings, or null if there were no errors.
|
||||||
*/
|
*/
|
||||||
Throwable getUserSettingsException();
|
Exception getUserSettingsException();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any exception that happened during parsing global settings, or null if there were no errors.
|
* Any exception that happened during parsing global settings, or null if there were no errors.
|
||||||
*/
|
*/
|
||||||
Throwable getGlobalSettingsException();
|
Exception getGlobalSettingsException();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated
|
* @deprecated
|
||||||
|
|
|
@ -29,9 +29,9 @@ import org.apache.maven.settings.Settings;
|
||||||
public class DefaultConfigurationValidationResult
|
public class DefaultConfigurationValidationResult
|
||||||
implements ConfigurationValidationResult
|
implements ConfigurationValidationResult
|
||||||
{
|
{
|
||||||
private Throwable userSettingsException;
|
private Exception userSettingsException;
|
||||||
|
|
||||||
private Throwable globalSettingsException;
|
private Exception globalSettingsException;
|
||||||
|
|
||||||
private Settings userSettings, globalSettings;
|
private Settings userSettings, globalSettings;
|
||||||
|
|
||||||
|
@ -40,22 +40,22 @@ public class DefaultConfigurationValidationResult
|
||||||
return ( getUserSettingsException() == null ) && ( getGlobalSettingsException() == null );
|
return ( getUserSettingsException() == null ) && ( getGlobalSettingsException() == null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Throwable getUserSettingsException()
|
public Exception getUserSettingsException()
|
||||||
{
|
{
|
||||||
return userSettingsException;
|
return userSettingsException;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUserSettingsException( Throwable e )
|
public void setUserSettingsException( Exception e )
|
||||||
{
|
{
|
||||||
this.userSettingsException = e;
|
this.userSettingsException = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Throwable getGlobalSettingsException()
|
public Exception getGlobalSettingsException()
|
||||||
{
|
{
|
||||||
return globalSettingsException;
|
return globalSettingsException;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGlobalSettingsException( Throwable e )
|
public void setGlobalSettingsException( Exception e )
|
||||||
{
|
{
|
||||||
this.globalSettingsException = e;
|
this.globalSettingsException = e;
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,6 +346,7 @@ public class MavenEmbedderTest
|
||||||
assertEquals( 3, result.getProject().getTestClasspathElements().size() );
|
assertEquals( 3, result.getProject().getTestClasspathElements().size() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
public void testProjectReadingWithDistributionStatus()
|
public void testProjectReadingWithDistributionStatus()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
|
@ -365,6 +366,7 @@ public class MavenEmbedderTest
|
||||||
|
|
||||||
assertEquals( "deployed", result.getProject().getDistributionManagement().getStatus() );
|
assertEquals( "deployed", result.getProject().getDistributionManagement().getStatus() );
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Model Writing
|
// Model Writing
|
||||||
|
|
|
@ -464,6 +464,10 @@ public class DefaultMavenProjectBuilder
|
||||||
profileManager,
|
profileManager,
|
||||||
STRICT_MODEL_PARSING );
|
STRICT_MODEL_PARSING );
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
MNG-3178: What is this actually for as we're not deploying this anymore.
|
||||||
|
|
||||||
if ( checkDistributionManagementStatus )
|
if ( checkDistributionManagementStatus )
|
||||||
{
|
{
|
||||||
if ( ( project.getDistributionManagement() != null ) && ( project.getDistributionManagement().getStatus() != null ) )
|
if ( ( project.getDistributionManagement() != null ) && ( project.getDistributionManagement().getStatus() != null ) )
|
||||||
|
@ -474,6 +478,7 @@ public class DefaultMavenProjectBuilder
|
||||||
"Invalid project file: distribution status must not be specified for a project outside of the repository" );
|
"Invalid project file: distribution status must not be specified for a project outside of the repository" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
return project;
|
return project;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue