Index: AbstractArtifactTask.java =================================================================== --- AbstractArtifactTask.java (revision 383290) +++ AbstractArtifactTask.java (working copy) @@ -176,29 +176,7 @@ if ( settingsFile.exists() ) { - FileReader reader = null; - try - { - reader = new FileReader( settingsFile ); - - SettingsXpp3Reader modelReader = new SettingsXpp3Reader(); - - settings = modelReader.read( reader ); - } - catch ( IOException e ) - { - log( "Error reading settings file '" + settingsFile + "' - ignoring. Error was: " + e.getMessage(), - Project.MSG_WARN ); - } - catch ( XmlPullParserException e ) - { - log( "Error parsing settings file '" + settingsFile + "' - ignoring. Error was: " + e.getMessage(), - Project.MSG_WARN ); - } - finally - { - IOUtil.close( reader ); - } + loadSettings(settingsFile); } if ( StringUtils.isEmpty( settings.getLocalRepository() ) ) @@ -210,6 +188,38 @@ return settings; } + private void loadSettings(File settingsFile) { + FileReader reader = null; + try + { + reader = new FileReader( settingsFile ); + + SettingsXpp3Reader modelReader = new SettingsXpp3Reader(); + + settings = modelReader.read( reader ); + } + catch ( IOException e ) + { + log( "Error reading settings file '" + settingsFile + "' - ignoring. Error was: " + e.getMessage(), + Project.MSG_WARN ); + } + catch ( XmlPullParserException e ) + { + log( "Error parsing settings file '" + settingsFile + "' - ignoring. Error was: " + e.getMessage(), + Project.MSG_WARN ); + } + finally + { + IOUtil.close( reader ); + } + } + + public void setSettingsFile(File settingsFile) { + if (!settingsFile.exists()) throw new BuildException("settingsFile does not exist: " + settingsFile.getAbsolutePath()); + settings = new Settings(); + loadSettings(settingsFile); + } + protected RemoteRepository createAntRemoteRepository( org.apache.maven.model.Repository pomRepository ) { RemoteRepository r = createAntRemoteRepositoryBase( pomRepository );