You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mr...@apache.org on 2008/11/13 12:36:21 UTC
svn commit: r713707 -
/maven/sandbox/branches/maven/maven-2.0.9-db/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
Author: mrdon
Date: Thu Nov 13 03:36:20 2008
New Revision: 713707
URL: http://svn.apache.org/viewvc?rev=713707&view=rev
Log:
Adds support for settings.properties alongside settings.xml
MNG-3837
Modified:
maven/sandbox/branches/maven/maven-2.0.9-db/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
Modified: maven/sandbox/branches/maven/maven-2.0.9-db/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven/maven-2.0.9-db/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java?rev=713707&r1=713706&r2=713707&view=diff
==============================================================================
--- maven/sandbox/branches/maven/maven-2.0.9-db/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java (original)
+++ maven/sandbox/branches/maven/maven-2.0.9-db/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java Thu Nov 13 03:36:20 2008
@@ -26,16 +26,19 @@
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.interpolation.EnvarBasedValueSource;
+import org.codehaus.plexus.util.interpolation.PropertiesBasedValueSource;
import org.codehaus.plexus.util.interpolation.RegexBasedInterpolator;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
/**
* @author jdcasey
@@ -104,6 +107,8 @@
try
{
RegexBasedInterpolator interpolator = new RegexBasedInterpolator();
+
+ interpolator.addValueSource( new PropertiesBasedValueSource(loadSettingsProperties(settingsFile.getParentFile())));
interpolator.addValueSource( new EnvarBasedValueSource() );
rawInput = interpolator.interpolate( rawInput, "settings" );
@@ -136,6 +141,32 @@
return settings;
}
+ private Properties loadSettingsProperties(File parent)
+ {
+ Properties props = new Properties();
+ File settings = new File(parent, "settings.properties");
+ if (settings.exists())
+ {
+ getLogger().debug("Loading settings properties from "+settings.getAbsolutePath());
+ FileInputStream fin = null;
+ try
+ {
+ fin = new FileInputStream(settings);
+ props.load(fin);
+ }
+ catch (IOException ex)
+ {
+ getLogger().warn("Error reading settings.properties: "+ex.getMessage());
+ getLogger().debug("Exception when loading settings properties", ex);
+ }
+ finally
+ {
+ IOUtil.close(fin);
+ }
+ }
+ return props;
+ }
+
public Settings buildSettings()
throws IOException, XmlPullParserException
{