Hello all - I'm having a really hard time making 'pathconvert' do what I 
think it should.  The build file below is supposed to replace the first 
several characters of a path with a platform specific root, but the 
substitutions don't happen like I thought they should:

<?xml version="1.0"?>
<project name="imf" default="dump-info" basedir=".">
   <property name="tools.unix.iplanet"    value="/opt" />
   <property name="tools.windows.iplanet" value="D:\" />
   <property name="PATH.PREFIX.TOKEN"     value="/prefix" />
   <property name="home.iplanet" 
value="${PATH.PREFIX.TOKEN}/iplanet/ias6/ias"/>

   <path id="path.iplanet">
     <pathelement location="${home.iplanet}/classes/java/iasclient.jar}" />
   </path>

   <target name="generate_classpath" >
     <echo message="BEFORE: PATH.PREFIX.TOKEN=${PATH.PREFIX.TOKEN}"/>
     <echo message="BEFORE: home.iplanet=${home.iplanet}"/>
     <echo message="BEFORE: tools.windows.iplanet=${tools.windows.iplanet}"/>
     <echo message="BEFORE: classpath.project=${classpath.project}"/>
     <pathconvert targetos="windows" property="classpath.project" 
refid="path.iplanet">
       <map from="${PATH.PREFIX.TOKEN}" to="${tools.windows.iplanet}" />
     </pathconvert>
     <echo message="AFTER:  classpath.project=${classpath.project} "/>
   </target>

   <target name="dump-info" depends="generate_classpath">
     <echo message="ant.version=${ant.version}" />
     <echo message="ant.file=${ant.file}" />
     <echo message="" />
     <echo message="java.vm.info=${java.vm.info}" />
     <echo message="java.vm.name=${java.vm.name}" />
     <echo message="java.vm.vendor=${java.vm.vendor}" />
     <echo message="java.vm.version=${java.vm.version}" />
     <echo message="os.arch=${os.arch}" />
     <echo message="os.name=${os.name}" />
     <echo message="os.version=${os.version}" />
     <echo message="" />
     <echo message="classpath.project=${classpath.project}" />
   </target>

</project>

Executing ant against this produces the following:

Buildfile: build.xml

generate_classpath:
      [echo] BEFORE: PATH.PREFIX.TOKEN=/prefix
      [echo] BEFORE: home.iplanet=/prefix/iplanet/ias6/ias
      [echo] BEFORE: tools.windows.iplanet=D:\
      [echo] BEFORE: classpath.project=${classpath.project}
      [echo] 
AFTER: 
classpath.project=e:\prefix\iplanet\ias6\ias\classes\java\iasclient.jar}

dump-info:
      [echo] ant.version=Ant version 1.4 compiled on October 11 2001
      [echo] ant.file=e:\home\kgentle\work\head\imf_ii\build.xml
      [echo]
      [echo] java.vm.info=mixed mode
      [echo] java.vm.name=Java HotSpot(TM) Client VM
      [echo] java.vm.vendor=Sun Microsystems Inc.
      [echo] java.vm.version=1.3.0-C
      [echo] os.arch=x86
      [echo] os.name=Windows NT
      [echo] os.version=4.0
      [echo]
      [echo] 
classpath.project=e:\prefix\iplanet\ias6\ias\classes\java\iasclient.jar}

BUILD SUCCESSFUL

Total time: 1 second

Why does 'pathconvert' ignore the substitution of "D:\" for "/prefix"?
Why does it prepend the "e:\" instead?
Should I be doing this a different way?

Thanks in advance!

        Ken
==========================================================================
J. Kenneth Gentle (Ken)       | Phone: (610)964-2800  FAX: (610)964-9590
iMedium                       | Email: [EMAIL PROTECTED]
900 West Valley Rd, Suite 301 |
Wayne, PA 19087-1830          | Direct Phone: (610)225-3560
========================================================================== 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to