You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2007/10/16 23:43:08 UTC
svn commit: r585268 - in /maven/components/branches/maven-2.0.x:
bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/
maven-core/src/main/java/org/apache/maven/plugin/version/
maven-plugin-registry/src/main/java/org/apache/maven/...
Author: hboutemy
Date: Tue Oct 16 14:43:07 2007
New Revision: 585268
URL: http://svn.apache.org/viewvc?rev=585268&view=rev
Log:
[MNG-2254] support XML file encoding when reading/writing settings and pom files
Modified:
maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/RepositoryMetadata.java
maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
maven/components/branches/maven-2.0.x/maven-plugin-registry/src/main/java/org/apache/maven/plugin/registry/DefaultPluginRegistryBuilder.java
maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/RepositoryMetadata.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/RepositoryMetadata.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/RepositoryMetadata.java (original)
+++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/RepositoryMetadata.java Tue Oct 16 14:43:07 2007
@@ -23,8 +23,9 @@
import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.ParseException;
@@ -177,13 +178,13 @@
}
return baseVersion;
}
-
+
public long getLastUpdatedUtc()
{
TimeZone timezone = TimeZone.getTimeZone( "UTC" );
DateFormat fmt = new SimpleDateFormat( "yyyyMMddHHmmss" );
fmt.setTimeZone( timezone );
-
+
try
{
return fmt.parse( lastUpdated ).getTime();
@@ -345,7 +346,7 @@
public void write( File file )
throws IOException
{
- PrintWriter w = new PrintWriter( new FileWriter( file ) );
+ PrintWriter w = new PrintWriter( new OutputStreamWriter( new FileOutputStream( file ), "UTF-8" ) );
try
{
Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java Tue Oct 16 14:43:07 2007
@@ -48,11 +48,12 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.WriterFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
-import java.io.FileWriter;
import java.io.IOException;
+import java.io.Writer;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -599,12 +600,12 @@
// only rewrite the user-level registry if one existed before, or if we've created user-level data here.
if ( extractedUserRegistry != null )
{
- FileWriter fWriter = null;
+ Writer fWriter = null;
try
{
pluginRegistryFile.getParentFile().mkdirs();
- fWriter = new FileWriter( pluginRegistryFile );
+ fWriter = WriterFactory.newXmlWriter( pluginRegistryFile );
PluginRegistryXpp3Writer writer = new PluginRegistryXpp3Writer();
Modified: maven/components/branches/maven-2.0.x/maven-plugin-registry/src/main/java/org/apache/maven/plugin/registry/DefaultPluginRegistryBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-plugin-registry/src/main/java/org/apache/maven/plugin/registry/DefaultPluginRegistryBuilder.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-plugin-registry/src/main/java/org/apache/maven/plugin/registry/DefaultPluginRegistryBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-plugin-registry/src/main/java/org/apache/maven/plugin/registry/DefaultPluginRegistryBuilder.java Tue Oct 16 14:43:07 2007
@@ -23,12 +23,13 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
+import java.io.Reader;
public class DefaultPluginRegistryBuilder
extends AbstractLogEnabled
@@ -69,19 +70,19 @@
getLogger().debug( "Building Maven global-level plugin registry from: '" + globalRegistryFile.getAbsolutePath() + "'" );
}
}
-
+
public PluginRegistry buildPluginRegistry()
throws IOException, XmlPullParserException
{
PluginRegistry global = readPluginRegistry( globalRegistryFile );
-
+
PluginRegistry user = readPluginRegistry( userRegistryFile );
if ( user == null && global != null )
{
// we'll use the globals, but first we have to recursively mark them as global...
PluginRegistryUtils.recursivelySetSourceLevel( global, PluginRegistry.GLOBAL_LEVEL );
-
+
user = global;
}
else
@@ -100,19 +101,19 @@
if ( registryFile != null && registryFile.exists() && registryFile.isFile() )
{
- FileReader reader = null;
+ Reader reader = null;
try
{
- reader = new FileReader( registryFile );
+ reader = ReaderFactory.newXmlReader( registryFile );
PluginRegistryXpp3Reader modelReader = new PluginRegistryXpp3Reader();
registry = modelReader.read( reader );
-
+
RuntimeInfo rtInfo = new RuntimeInfo( registry );
-
+
registry.setRuntimeInfo( rtInfo );
-
+
rtInfo.setFile( registryFile );
}
finally
@@ -138,7 +139,7 @@
// the path character before we operate on the string as a regex input, and
// in order to avoid surprises with the File construction...
// -------------------------------------------------------------------------------------
-
+
String path = System.getProperty( altLocationSysProp );
if ( StringUtils.isEmpty( path ) )
@@ -149,7 +150,7 @@
basedir = basedir.replaceAll( "\\\\", "/" );
basedir = basedir.replaceAll("\\$", "\\\\\\$");
-
+
path = pathPattern.replaceAll( "\\$\\{" + basedirSysProp + "\\}", basedir );
path = path.replaceAll( "\\\\", "/" );
path = path.replaceAll( "//", "/" );
@@ -165,14 +166,14 @@
public PluginRegistry createUserPluginRegistry()
{
PluginRegistry registry = new PluginRegistry();
-
+
RuntimeInfo rtInfo = new RuntimeInfo( registry );
-
+
registry.setRuntimeInfo( rtInfo );
-
+
rtInfo.setFile( userRegistryFile );
-
+
return registry;
}
-
+
}
Modified: maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java Tue Oct 16 14:43:07 2007
@@ -22,13 +22,14 @@
import org.apache.maven.profiles.io.xpp3.ProfilesXpp3Reader;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.interpolation.EnvarBasedValueSource;
import org.codehaus.plexus.util.interpolation.RegexBasedInterpolator;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
+import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
@@ -48,22 +49,22 @@
if ( profilesXml.exists() )
{
ProfilesXpp3Reader reader = new ProfilesXpp3Reader();
- FileReader fileReader = null;
+ Reader profileReader = null;
try
{
- fileReader = new FileReader( profilesXml );
-
+ profileReader = ReaderFactory.newXmlReader( profilesXml );
+
StringWriter sWriter = new StringWriter();
-
- IOUtil.copy( fileReader, sWriter );
-
+
+ IOUtil.copy( profileReader, sWriter );
+
String rawInput = sWriter.toString();
-
+
try
{
RegexBasedInterpolator interpolator = new RegexBasedInterpolator();
interpolator.addValueSource( new EnvarBasedValueSource() );
-
+
rawInput = interpolator.interpolate( rawInput, "settings" );
}
catch ( Exception e )
@@ -78,7 +79,7 @@
}
finally
{
- IOUtil.close( fileReader );
+ IOUtil.close( profileReader );
}
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Tue Oct 16 14:43:07 2007
@@ -76,16 +76,14 @@
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileReader;
import java.io.IOException;
-import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
-import java.io.StringWriter;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
@@ -134,8 +132,7 @@
*/
/**
- * @version $Id: DefaultMavenProjectBuilder.java,v 1.37 2005/03/08 01:55:22
- * trygvis Exp $
+ * @version $Id$
*/
public class DefaultMavenProjectBuilder
extends AbstractLogEnabled
@@ -1376,7 +1373,7 @@
Reader reader = null;
try
{
- reader = new FileReader( file );
+ reader = ReaderFactory.newXmlReader( file );
return readModel( projectId, file.getAbsolutePath(), reader, strict );
}
catch ( FileNotFoundException e )
@@ -1401,15 +1398,11 @@
boolean strict )
throws IOException, InvalidProjectModelException
{
- StringWriter sw = new StringWriter();
+ String modelSource = IOUtil.toString( reader );
- IOUtil.copy( reader, sw );
-
- String modelSource = sw.toString();
-
- if ( modelSource.indexOf( "<modelVersion>4.0.0" ) < 0 )
+ if ( modelSource.indexOf( "<modelVersion>" + MAVEN_MODEL_VERSION ) < 0 )
{
- throw new InvalidProjectModelException( projectId, pomLocation, "Not a v4.0.0 POM." );
+ throw new InvalidProjectModelException( projectId, pomLocation, "Not a v" + MAVEN_MODEL_VERSION + " POM." );
}
StringReader sReader = new StringReader( modelSource );
@@ -1430,10 +1423,10 @@
boolean strict )
throws ProjectBuildingException
{
- InputStreamReader reader = null;
+ Reader reader = null;
try
{
- reader = new InputStreamReader( url.openStream() );
+ reader = ReaderFactory.newXmlReader( url.openStream() );
return readModel( projectId, url.toExternalForm(), reader, strict );
}
catch ( IOException e )
Modified: maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java Tue Oct 16 14:43:07 2007
@@ -22,8 +22,8 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.project.AbstractMavenProjectTestCase;
+import org.codehaus.plexus.util.ReaderFactory;
-import java.io.FileReader;
import java.io.Reader;
import java.util.List;
@@ -219,7 +219,7 @@
private ModelValidationResult validate( String testName )
throws Exception
{
- Reader input = new FileReader( getFileForClasspathResource( "validation/" + testName ) );
+ Reader input = ReaderFactory.newXmlReader( getFileForClasspathResource( "validation/" + testName ) );
MavenXpp3Reader reader = new MavenXpp3Reader();
Modified: maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java?rev=585268&r1=585267&r2=585268&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java Tue Oct 16 14:43:07 2007
@@ -23,14 +23,15 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.util.IOUtil;
+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.RegexBasedInterpolator;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
+import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.Iterator;
@@ -90,10 +91,10 @@
if ( settingsFile.exists() && settingsFile.isFile() )
{
- FileReader reader = null;
+ Reader reader = null;
try
{
- reader = new FileReader( settingsFile );
+ reader = ReaderFactory.newXmlReader( settingsFile );
StringWriter sWriter = new StringWriter();
IOUtil.copy( reader, sWriter );