En el build.xml de mi proyecto que tienen una propiedad definida:Cómo quitar la base de una ruta absoluta para obtener una ruta relativa?
<property name="somedir.dir" location="my_project/some_dir"/>
El valor de ${somedir.dir}
habrá una ruta absoluta: /home/myuser/my_project/some_dir
.
Lo que necesito es solo la ruta relativa ./my_project/some_dir
sin el valor ${basedir}
/home/myuser
. ¿Cómo puedo lograr esto usando Ant?
Hasta ahora he encontrado una solución mediante la conversión de la propiedad a un camino y luego usar "pathconvert", pero no creo que esto es una buena solución:
<path id="temp.path">
<pathelement location="${somedir.dir}" />
</path>
<pathconvert property="relative.dir" refid="temp.path">
<globmapper from="${basedir}/*" to="./*" />
</pathconvert>
Cualquier otro (más elegantes) sugerencias ?
Creo que malinterpretaste mi pregunta. Ya tengo un camino determinado "$ {base.dir}/some_dir" y necesito obtener la ruta relativa "./some_dir". – blackicecube
¿Por qué necesita extraer 'some_dir' cuando lo tiene en' $ {somedir.dir} '? – Anonymous
$ {somedir.dir} sería algo como "/ home/blah/mydirectory" y lo que la pregunta está haciendo es cómo obtener solo "./mydirectory" de él. Entonces no puedes usar $ {somedir.dir}. In nant hay un conjunto de funciones integradas como path :: get-directory-name Pero parece que no puedo encontrarlas si existen en Ant. También necesito saber cómo hacer esto. – christophercotton