cool, thanks
On 06/11/2007, at 11:52 AM, John Casey wrote:
I tried several different ideas (actually, I used the unit test to
try out various strategies), and this is the best thing I could
come up with at the time. Since spaces in file paths is about the
only weird character I've heard about in connection with these
sorts of problems, I figured it was an acceptable interim solution
until someone else found a better way.
Personally, I'm not convinced of the value of having a URI that
references the super-POM anyway...or, for that matter, why we need
URI's at all in this stuff. This commit was to correct changes
Carlos put in place, so maybe he can speak to that. I was just
trying to get the maven build back on its feet for those of us
using Program Files to house their Maven instances.
-john
On Nov 5, 2007, at 7:31 PM, Brett Porter wrote:
Will this fall over on any other characters? ISTR there being a
standard way to get a proper file URL reference for these
occurrences, but it's slipping my mind right now...
On 06/11/2007, at 8:40 AM, [EMAIL PROTECTED] wrote:
Author: jdcasey
Date: Mon Nov 5 13:40:11 2007
New Revision: 592157
URL: http://svn.apache.org/viewvc?rev=592157&view=rev
Log:
[MNG-3272] Fixing URI construction for reading the super-POM in
cases where maven is in a directory structure where there are
spaces in the path.
Added:
maven/components/trunk/maven-project/src/test/java/org/apache/
maven/project/ProjectBuilderURITest.java (with props)
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/
maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/test/java/org/apache/
maven/project/AbstractMavenProjectTestCase.java
Modified: maven/components/trunk/maven-project/src/main/java/org/
apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-
project/src/main/java/org/apache/maven/project/
DefaultMavenProjectBuilder.java?
rev=592157&r1=592156&r2=592157&view=diff
====================================================================
==========
--- maven/components/trunk/maven-project/src/main/java/org/apache/
maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/
maven/project/DefaultMavenProjectBuilder.java Mon Nov 5 13:40:11
2007
@@ -1059,7 +1059,7 @@
URI uri = null;
try
{
- uri = new URI( url.toString() );
+ uri = new URI( url.toString().replaceAll( " ", "%
20" ) );
reader = ReaderFactory.newXmlReader( url.openStream
() );
return readModel( projectId, uri, reader, strict );
}
Modified: maven/components/trunk/maven-project/src/test/java/org/
apache/maven/project/AbstractMavenProjectTestCase.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-
project/src/test/java/org/apache/maven/project/
AbstractMavenProjectTestCase.java?
rev=592157&r1=592156&r2=592157&view=diff
====================================================================
==========
--- maven/components/trunk/maven-project/src/test/java/org/apache/
maven/project/AbstractMavenProjectTestCase.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/
maven/project/AbstractMavenProjectTestCase.java Mon Nov 5
13:40:11 2007
@@ -80,7 +80,7 @@
throw new FileNotFoundException( "Unable to find: "
+ resource );
}
- return new File( new URI( resourceUrl.toString() ) );
+ return new File( new URI( resourceUrl.toString
().replaceAll( " ", "%20" ) ) );
}
protected ArtifactRepository getLocalRepository()
Added: maven/components/trunk/maven-project/src/test/java/org/
apache/maven/project/ProjectBuilderURITest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-
project/src/test/java/org/apache/maven/project/
ProjectBuilderURITest.java?rev=592157&view=auto
====================================================================
==========
--- maven/components/trunk/maven-project/src/test/java/org/apache/
maven/project/ProjectBuilderURITest.java (added)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/
maven/project/ProjectBuilderURITest.java Mon Nov 5 13:40:11 2007
@@ -0,0 +1,32 @@
+package org.apache.maven.project;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+public class ProjectBuilderURITest
+ extends TestCase
+{
+
+ /**
+ * MNG-3272:
+ * See [EMAIL PROTECTED] DefaultMavenProjectBuilder#readModel(String,
URL, boolean)}
+ * for where this fix is implemented.
+ */
+ public void
testURL_to_URI_forSuperPom_WhenMavenHasSpaceInPath()
+ throws URISyntaxException, MalformedURLException,
UnsupportedEncodingException
+ {
+ String url = "jar:file:/c:/Program Files/maven2.1/bin/../
lib/maven-project-2.1-SNAPSHOT.jar!/org/apache/maven/project/
pom-4.0.0.xml";
+ System.out.println( "Original URL String:\n" + url );
+
+ URL urlInst = new URL( url );
+
+ URI uUri = new URI( urlInst.toExternalForm().replaceAll
( " ", "%20" ) );
+ System.out.println( "URI result:\n" + uUri );
+ }
+
+}
Propchange: maven/components/trunk/maven-project/src/test/java/
org/apache/maven/project/ProjectBuilderURITest.java
--------------------------------------------------------------------
----------
svn:eol-style = native
Propchange: maven/components/trunk/maven-project/src/test/java/
org/apache/maven/project/ProjectBuilderURITest.java
--------------------------------------------------------------------
----------
svn:keywords = "Author Date Id Revision"
--
Brett Porter - [EMAIL PROTECTED]
Blog: http://www.devzuz.org/blogs/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john
--
Brett Porter - [EMAIL PROTECTED]
Blog: http://www.devzuz.org/blogs/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]