ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@apache.org>
Subject Re: 1.7.1 - Beta Vote
Date Tue, 26 Feb 2008 15:55:03 GMT
Peter Reilly wrote:
> On Tue, Feb 26, 2008 at 3:07 PM, Steve Loughran <stevel@apache.org> wrote:
>> Steve Loughran wrote:
>>  > Kevin Jackson wrote:
>>  >> Hi,
>>  >>
>>  >> As I mentioned previously (although I'm a couple of days late).
>>  >>
>>  >> I'd like to release a beta of 1.7.1 within the next two weeks.
>>  >>
>>  >> The current 1.7.1 trunk is now locked for further changes (99.9% test
>>  >> completion on the most troublesome platform (windows))
>>  >>
>>  >
>>  >
>>  >  The beta of 1.7.1 is ready:
>>  >  [x] yes (+1)
>>  >  [ ] no (you missed something...)
>>  >
>>  > That said, I want to look at why it doesn't work on a network mounted
>>  > windows drive. I'll do that this afternoon.
>>
>>  gosh, this is a fun bug.
>>
>>  when you run ant on a remote share, we dont get the right path to the
>>  lancher jar, so things go horribly wrong
>>
>>  Launcher JAR: C:\morzine\slo\Java\Apache\ant\lib\ant-launcher.jar
>>  launcher Directory: C:\morzine\slo\Java\Apache\ant\lib
>>
>>  but I factored out the test and it works; we are creating the correct path.
>>
>>     public void testAntOnRemoteShare() throws Throwable {
>>          String launcher =
>>  "//morzine/slo/Java/Apache/ant/lib/ant-launcher.jar";
>>          String jarURI
>>                  = "jar:file:"+ launcher
>>  +"!/org/apache/tools/ant/launch/Launcher.class";
>>          String resolved=Locator.fromJarURI(jarURI);
>>          assertResolved(jarURI,launcher,resolved,true);
>>      }
>>
>>  Either we're pasting in the CWD in front, or new File() is doing it for us.
> Does this happen in ant 1.7.0 ?
> If it does, this means that this bug should be not a reason to hold up
> ant 1.7.1.

the bug has been around since 1.7.alpha; 2007-04

in 1.7.0 the failure is as follows:

  \\PC03\jclasses\lib\ant-1.7.0.jar
on the classpath.

Ant is failing while trying to create the URI of the file
java.lang.IllegalArgumentException: URI has an authority component
        at java.io.File.<init>(Unknown Source)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown 
Source)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.apache.tools.ant.launch.Locator.fromURI(Locator.java:165)
        at 
org.apache.tools.ant.launch.Locator.getResourceSource(Locator.java:119)
        at 
org.apache.tools.ant.launch.Locator.getClassSource(Locator.java:90)
        at org.apache.tools.ant.Project.setAntLib(Project.java:313)
        at org.apache.tools.ant.Project.initProperties(Project.java:309)
        at org.apache.tools.ant.Project.init(Project.java:295)
        at org.apache.tools.ant.Main.runBuild(Main.java:663)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.Main.start(Main.java:161)
        at org.apache.tools.ant.Main.main(Main.java:250)

We thought we'd fixed it, by switching to the java1.3 URI stuff 
everywhere, indeed, 1.7.1 marks it as fixed

* Regression in Locator: running Ant off a network share does not work:
   message "URI has authority component" appears
   Bugzilla report 42275


but we just found a bug this one was hiding; we've moved the problem.

I have just fixed it incidentally, and added a new secret launch 
diagnostics feature to ant that turns detailed logging in the launcher on:

C:\>\\morzine\slo\Java\Apache\ant\bin\ant.bat --launchdiag
Launcher JAR= "\\morzine\slo\Java\Apache\ant\lib\ant-launcher.jar"
java.home= "C:\Java\jre"
Launcher JAR directory= "\\morzine\slo\Java\Apache\ant\lib"
setting "ant.library.dir" to "\\morzine\slo\Java\Apache\ant\lib"
Unable to locate tools.jar. Expected to find it in C:\Java\lib\tools.jar
tools.jar= "null"
setting "java.class.path" to 
"\\morzine\slo\Java\Apache\ant\bin\..\lib\ant-laun
her.jar;\\morzine\slo\Java\Apache\ant\lib\ant.jar;\\morzine\slo\Java\Apache\ant
lib\xml-apis.jar;\\morzine\slo\Java\Apache\ant\lib\log4j-1.2.13.jar;\\morzine\s
o\Java\Apache\ant\lib\commons-logging-1.0.4.jar;\\morzine\slo\Java\Apache\ant\l
b\commons-logging-1.1.jar;\\morzine\slo\Java\Apache\ant\lib\xercesImpl.jar;\\mo
zine\slo\Java\Apache\ant\lib\jython-2.1.jar;\\morzine\slo\Java\Apache\ant\lib\j
uby-0.8.3.jar;\\morzine\slo\Java\Apache\ant\lib\resolver.jar;\\morzine\slo\Java
Apache\ant\lib\cpptasks.jar;\\morzine\slo\Java\Apache\ant\lib\ant-commons-net.j
r;\\morzine\slo\Java\Apache\ant\lib\junit-3.8.2.jar;\\morzine\slo\Java\Apache\a
t\lib\activation-1.0.2.jar;\\morzine\slo\Java\Apache\ant\lib\ant-junit.jar;\\mo
zine\slo\Java\Apache\ant\lib\ant-testutil.jar;\\morzine\slo\Java\Apache\ant\lib
ant-apache-regexp.jar;\\morzine\slo\Java\Apache\ant\lib\jakarta-regexp-1.2.jar;
\morzine\slo\Java\Apache\ant\lib\commons-net-1.4.0.jar;\\morzine\slo\Java\Apach
\ant\lib\jsvn-0.9-dev.jar;\\morzine\slo\Java\Apache\ant\lib\logkit-1.0.1.jar;\\
orzine\slo\Java\Apache\ant\lib\ant-apache-bsf.jar;\\morzine\slo\Java\Apache\ant
lib\ant-antlr.jar;\\morzine\slo\Java\Apache\ant\lib\ant-swing.jar;\\morzine\slo
Java\Apache\ant\lib\xml-resolver-1.1.jar;\\morzine\slo\Java\Apache\ant\lib\whic
-1.0.jar;\\morzine\slo\Java\Apache\ant\lib\ant-apache-oro.jar;\\morzine\slo\Jav
\Apache\ant\lib\ant-commons-logging.jar;\\morzine\slo\Java\Apache\ant\lib\antlr
2.7.2.jar;\\morzine\slo\Java\Apache\ant\lib\regexp-1.3.jar;\\morzine\slo\Java\A
ache\ant\lib\ant-apache-log4j.jar;\\morzine\slo\Java\Apache\ant\lib\commons-col
ections.jar;\\morzine\slo\Java\Apache\ant\lib\bcel-5.1.jar;\\morzine\slo\Java\A
ache\ant\lib\ant-jmf.jar;\\morzine\slo\Java\Apache\ant\lib\checkstyle-2.3.jar;\
morzine\slo\Java\Apache\ant\lib\ant-contrib.jar;\\morzine\slo\Java\Apache\ant\l
b\ant-jdepend.jar;\\morzine\slo\Java\Apache\ant\lib\avalon-framework-4.1.3.jar;
\morzine\slo\Java\Apache\ant\lib\jmxri.jar;\\morzine\slo\Java\Apache\ant\lib\an
-javamail.jar;\\morzine\slo\Java\Apache\ant\lib\xalan-2.7.0.jar;\\morzine\slo\J
va\Apache\ant\lib\commons-modeler.jar;\\morzine\slo\Java\Apache\ant\lib\ant-ant
nit-1.0.jar;\\morzine\slo\Java\Apache\ant\lib\ant-apache-bcel.jar;\\morzine\slo
Java\Apache\ant\lib\ant-launcher.jar;\\morzine\slo\Java\Apache\ant\lib\commons-
igester.jar;\\morzine\slo\Java\Apache\ant\lib\Tidy.jar;\\morzine\slo\Java\Apach
\ant\lib\ant-trax.jar;\\morzine\slo\Java\Apache\ant\lib\maven-artifact-ant-2.0.
-dep.jar;\\morzine\slo\Java\Apache\ant\lib\jsch-0.1.27.jar;\\morzine\slo\Java\A
ache\ant\lib\ant-jsch.jar;\\morzine\slo\Java\Apache\ant\lib\jakarta-oro-2.0.4.j
r;\\morzine\slo\Java\Apache\ant\lib\jdepend-2.7.jar;\\morzine\slo\Java\Apache\a
t\lib\commons-beanutils.jar;\\morzine\slo\Java\Apache\ant\lib\mail.jar;\\morzin
\slo\Java\Apache\ant\lib\bsh-2.0b4.jar;\\morzine\slo\Java\Apache\ant\lib\ant-ap
che-resolver.jar;\\morzine\slo\Java\Apache\ant\lib\oro-2.0.8.jar;\\morzine\slo\
ava\Apache\ant\lib\ant-nodeps.jar"
Buildfile: build.xml does not exist!
Build failed


This --launchdiags is for extra low-level, "let's debug the launcher" 
work, not something we need to cover in any detail, except maybe in the 
wiki.

The changes are in the 1.8 branch, its up to others to decide if they 
should go into the 1.7.1 beta. Apart from the logging and a bit of 
refactoring, the only change that fixes it is this:

           path = decodeUri(uri);
             //consider adding the current directory. This is not done when
             //the path is a UNC name
             String cwd = System.getProperty("user.dir");
             int posi = cwd.indexOf(':');
             boolean pathStartsWithFileSeparator = 
path.startsWith(File.separator);
             boolean pathStartsWithUNC = path.startsWith("" + 
File.separator + File.separator);
             if ((posi > 0) && pathStartsWithFileSeparator && 
!pathStartsWithUNC) {
                 path = cwd.substring(0, posi + 1) + path;
             }

We dont prepend the cwd on a path if the path starts with a UNC. This 
was only something we did on windows (the indexof ':') tests for that.

-- 
Steve Loughran                  http://www.1060.org/blogxter/publish/5
Author: Ant in Action           http://antbook.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message