ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Stevens <insomniacpeng...@googlemail.com>
Subject Re: calculating relative paths
Date Tue, 08 Sep 2009 19:03:02 GMT
2009/9/8 Francis GALIEGUE <fge@one2team.com>:
> On Tue, Sep 8, 2009 at 08:41, Andy
> Stevens<insomniacpenguin@googlemail.com> wrote:
>> Hi,
>>
>> Is there an easy way to calculate an arbitrary relative path between two files?
>> Part of my Ant script copies a default configuration file to a build
>> folder, in the course of which I modify it (with xmltask) with the
>> location of some source files.  At the moment I'm using <property
>> location="${src.dir}" .../> to get the absolute path, but I'm curious
>> whether there's a way to get a relative path instead .  Since I know
>> where it's being copied to, I could just use "../../${src.dir}", but
>> that's a bit fragile if the build directory changes (which it will do
>> - locally on my machine I use ${basedir}/build, but on our CI server
>> it's likely to override this with some other directory).
>> Ideally, I suppose I'd like to use something like <property
>> location="${src.dir}" basedir="${build.dir}" .../>  Is there anything
>> like this in one of the "extras" libraries, or some other easy way to
>> achieve it?
>
> You can use ant-contrib's <propertyregex>:
>
> <propertyregex property="relativepath"
>    input="${src.dir}" regexp="^${build.dir}/" replace=""/>

Unless I'm missing something, that only works if src.dir is below
build.dir?  Which is unlikely, as build.dir (by default
${basedir}/build and its subdirectories) only gets created during the
build while src.dir (${basedir}/src) already exists...


Andy
-- 
http://pseudoq.sourceforge.net/

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


Mime
View raw message