You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Mike <se...@comcast.net> on 2008/02/12 04:27:49 UTC
Whichresource is URL-encoding spaces
Hi, I'm relatively new with Ant but have been picking up on it. I trying to
figure out why this Ant script doesn't complete successfully:
"""
<?xml version="1.0" encoding="utf-8"?>
<project name="test" basedir=".">
<property environment="env" />
<whichresource property="env.properties.file.url"
resource="test.properties" classpath="."/>
<pathconvert property="env.properties.file">
<path location="${env.properties.file.url}" />
<regexpmapper to="\1" from="file:(.*)" />
</pathconvert>
<condition property="exists">
<available file="${env.properties.file}"/>
</condition>
<echo message="${env.properties.file}" />
<fail message="it doesn't exist." unless="exists" />
<target name="test" />
</project>
"""
The output I get from Eclipse is:
"""
BUILD FAILED
C:\Documents and Settings\Mike\workspace\test\build.xml:16: it doesn't
exist.
"""
I have determined that the cause is the whichresource task -- it's URL
encoding spaces in my path to %20 this resulting in
"C:\Documents%20and%20Settings\Mike". When I hard-code the same path without
URL encoding the "exists" condition is true. Obviously one solution is to
not use a path with spaces, but I'd like to keep it as-is if there's a
workaround/fix.
I haven't written this script, but if whichresource finds a file should
there be a need to check if it's "available"?
Thanks in advance for any help.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
RE: Whichresource is URL-encoding spaces
Posted by Mike <se...@comcast.net>.
Hi, just posting a follow-up in hopes of someone being able to help..
Thanks in advance.
Mike
-----Original Message-----
From: Mike [mailto:senior_internet_dev@comcast.net]
Sent: Tuesday, February 12, 2008 6:46 PM
To: 'Ant Users List'
Subject: RE: Whichresource is URL-encoding spaces
Hi Charbel,
env.properties.file.url is actually getting defined in my Ant script by the
"whichresource" task. After that task completes, env.properties.file.url
contains the value "C:\Documents%20and%20Settings\Mike".
But I think the "available" task fails because of the "%20" space encoding
(whichresource returns URL-encoded paths). If I manually define
env.properties.file.url to "C:\Documents and Settings\Mike" everything is
OK. But this is not desirable as the script must be able to determine a path
to a file dynamically.
Mike
-----Original Message-----
From: Charbel BITAR [mailto:bitarch@gmail.com]
Sent: Tuesday, February 12, 2008 6:37 PM
To: Ant Users List
Subject: Re: Whichresource is URL-encoding spaces
Hi,
Is that what are you trying to do ?
<?xml version="1.0" encoding="utf-8"?>
<project name="test" basedir=".">
<property environment="env" />
<!-- Must set an environment variable named properties.file.url -->
<!-- (Control Panel -> System -> Advanced -> Environment Variables) -->
<available file="${env.properties.file.url}" property="exists" /> <echo
message="${env.properties.file.url}" /> <fail message="it doesn't exist."
unless="exists" /> <target name="test" /> </project>
HTH
--
Charbel
On Feb 12, 2008 4:27 AM, Mike <se...@comcast.net> wrote:
> Hi, I'm relatively new with Ant but have been picking up on it. I
> trying to figure out why this Ant script doesn't complete
> successfully:
>
> """
> <?xml version="1.0" encoding="utf-8"?> <project name="test"
> basedir=".">
> <property environment="env" />
> <whichresource property="env.properties.file.url"
> resource="test.properties" classpath="."/>
>
> <pathconvert property="env.properties.file">
> <path location="${env.properties.file.url}" />
> <regexpmapper to="\1" from="file:(.*)" />
> </pathconvert>
>
> <condition property="exists">
> <available file="${env.properties.file}"/>
> </condition>
>
> <echo message="${env.properties.file}" />
> <fail message="it doesn't exist." unless="exists" />
>
> <target name="test" />
> </project>
> """
>
> The output I get from Eclipse is:
>
> """
> BUILD FAILED
> C:\Documents and Settings\Mike\workspace\test\build.xml:16: it doesn't
> exist.
> """
>
> I have determined that the cause is the whichresource task -- it's URL
> encoding spaces in my path to %20 this resulting in
> "C:\Documents%20and%20Settings\Mike". When I hard-code the same path
> without URL encoding the "exists" condition is true. Obviously one
> solution is to not use a path with spaces, but I'd like to keep it
> as-is if there's a workaround/fix.
>
> I haven't written this script, but if whichresource finds a file
> should there be a need to check if it's "available"?
>
> Thanks in advance for any help.
>
> Mike
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional
> commands, e-mail: user-help@ant.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional
commands, e-mail: user-help@ant.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
RE: Whichresource is URL-encoding spaces
Posted by Mike <se...@comcast.net>.
Hi Charbel,
env.properties.file.url is actually getting defined in my Ant script by the
"whichresource" task. After that task completes, env.properties.file.url
contains the value "C:\Documents%20and%20Settings\Mike".
But I think the "available" task fails because of the "%20" space encoding
(whichresource returns URL-encoded paths). If I manually define
env.properties.file.url to "C:\Documents and Settings\Mike" everything is
OK. But this is not desirable as the script must be able to determine a path
to a file dynamically.
Mike
-----Original Message-----
From: Charbel BITAR [mailto:bitarch@gmail.com]
Sent: Tuesday, February 12, 2008 6:37 PM
To: Ant Users List
Subject: Re: Whichresource is URL-encoding spaces
Hi,
Is that what are you trying to do ?
<?xml version="1.0" encoding="utf-8"?>
<project name="test" basedir=".">
<property environment="env" />
<!-- Must set an environment variable named properties.file.url -->
<!-- (Control Panel -> System -> Advanced -> Environment Variables) -->
<available file="${env.properties.file.url}" property="exists" /> <echo
message="${env.properties.file.url}" /> <fail message="it doesn't exist."
unless="exists" /> <target name="test" /> </project>
HTH
--
Charbel
On Feb 12, 2008 4:27 AM, Mike <se...@comcast.net> wrote:
> Hi, I'm relatively new with Ant but have been picking up on it. I
> trying to figure out why this Ant script doesn't complete
> successfully:
>
> """
> <?xml version="1.0" encoding="utf-8"?> <project name="test"
> basedir=".">
> <property environment="env" />
> <whichresource property="env.properties.file.url"
> resource="test.properties" classpath="."/>
>
> <pathconvert property="env.properties.file">
> <path location="${env.properties.file.url}" />
> <regexpmapper to="\1" from="file:(.*)" />
> </pathconvert>
>
> <condition property="exists">
> <available file="${env.properties.file}"/>
> </condition>
>
> <echo message="${env.properties.file}" />
> <fail message="it doesn't exist." unless="exists" />
>
> <target name="test" />
> </project>
> """
>
> The output I get from Eclipse is:
>
> """
> BUILD FAILED
> C:\Documents and Settings\Mike\workspace\test\build.xml:16: it doesn't
> exist.
> """
>
> I have determined that the cause is the whichresource task -- it's URL
> encoding spaces in my path to %20 this resulting in
> "C:\Documents%20and%20Settings\Mike". When I hard-code the same path
> without URL encoding the "exists" condition is true. Obviously one
> solution is to not use a path with spaces, but I'd like to keep it
> as-is if there's a workaround/fix.
>
> I haven't written this script, but if whichresource finds a file
> should there be a need to check if it's "available"?
>
> Thanks in advance for any help.
>
> Mike
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional
> commands, e-mail: user-help@ant.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
Re: Whichresource is URL-encoding spaces
Posted by Charbel BITAR <bi...@gmail.com>.
Hi,
Is that what are you trying to do ?
<?xml version="1.0" encoding="utf-8"?>
<project name="test" basedir=".">
<property environment="env" />
<!-- Must set an environment variable named properties.file.url -->
<!-- (Control Panel -> System -> Advanced -> Environment Variables) -->
<available file="${env.properties.file.url}" property="exists" />
<echo message="${env.properties.file.url}" />
<fail message="it doesn't exist." unless="exists" />
<target name="test" />
</project>
HTH
--
Charbel
On Feb 12, 2008 4:27 AM, Mike <se...@comcast.net> wrote:
> Hi, I'm relatively new with Ant but have been picking up on it. I trying
> to
> figure out why this Ant script doesn't complete successfully:
>
> """
> <?xml version="1.0" encoding="utf-8"?>
> <project name="test" basedir=".">
> <property environment="env" />
> <whichresource property="env.properties.file.url"
> resource="test.properties" classpath="."/>
>
> <pathconvert property="env.properties.file">
> <path location="${env.properties.file.url}" />
> <regexpmapper to="\1" from="file:(.*)" />
> </pathconvert>
>
> <condition property="exists">
> <available file="${env.properties.file}"/>
> </condition>
>
> <echo message="${env.properties.file}" />
> <fail message="it doesn't exist." unless="exists" />
>
> <target name="test" />
> </project>
> """
>
> The output I get from Eclipse is:
>
> """
> BUILD FAILED
> C:\Documents and Settings\Mike\workspace\test\build.xml:16: it doesn't
> exist.
> """
>
> I have determined that the cause is the whichresource task -- it's URL
> encoding spaces in my path to %20 this resulting in
> "C:\Documents%20and%20Settings\Mike". When I hard-code the same path
> without
> URL encoding the "exists" condition is true. Obviously one solution is to
> not use a path with spaces, but I'd like to keep it as-is if there's a
> workaround/fix.
>
> I haven't written this script, but if whichresource finds a file should
> there be a need to check if it's "available"?
>
> Thanks in advance for any help.
>
> Mike
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>