You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/09/24 04:19:19 UTC

DO NOT REPLY [Bug 23376] New: - Wsdl2JavaAntTask URL param incorrectly uses ${user.dir} instead of ${basedir} for relative URL dereferencing

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23376>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23376

Wsdl2JavaAntTask URL param incorrectly uses ${user.dir} instead of ${basedir} for relative URL dereferencing

           Summary: Wsdl2JavaAntTask URL param incorrectly uses ${user.dir}
                    instead of ${basedir} for relative URL dereferencing
           Product: Axis
           Version: 1.1
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: WSDL processing
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: mjcsfo@yahoo.com


example:

In ${app.home}/src/services/foo/src/build.xml:

    <wsdl2java url="../generate/${foo-service.wsdl}" ...

When ant is run inside of the same directory as this build.xml file, as with an 
identical relative path reference in other ant tasks, the url parameter 
correctly dereferences to:
 URL=/opt/app/src/services/foo/generate/foo-service.wsdl

However, when we create a hierarchical set of build.xml files (in the style of 
the Java Pet Store demo), where ${app.home}/src/services/build.xml contains: 

  <target name="core">
    <ant dir="foo/src" target="core"/>
    <ant dir="bar/src" target="core"/>
    ...

The URL parameter of the CALLED build.xml doesn't work properly. Instead of 
dereferencing to the relative location of the CALLED build file, it 
dereferences to the relative location of the CALLING build file. Instead of: 
 URL=/opt/app/src/services/foo/generate/foo-service.wsdl
we incorrectly get:
 URL=/opt/app/src/generate/foo-service.wsdl

It appears when using file relative urls, the Wsdl2JavaAntTask tag is starting 
from ${user.dir}, which doesn't change as we descend into nested builds, 
instead of ${basedir}, which does. In order to obtain consistent behavior with 
all of the other tasks which take relative paths as parameters, we should 
change the starting point to ${basedir}.