2009-12-02 5 views
0

J'ai une construction Ant qui a cette ligne en elle:Conversion ../ dans les chemins Ant

WORKSPACE.dir = ${basedir}/../

J'ai alors:

CORE_PROJECT.dir= ${WORKSPACE.dir}/UUI_Core

ce qui signifie que je finis avec des chemins comme celui-ci:

C:\dev\workspaces\RTC\UUI_Core_ANT/..//UUI_Core

Cela fonctionne très bien dans presque tous les cas, mais j'essaie de créer une liste de classes à utiliser dans une construction. En ce moment j'ai ce code:

<pathconvert 
    property="coreClasses" 
    pathsep=" " 
    dirsep="." 
    refid="coreSources"> 
    <map from="C:\dev\workspaces\RTC\UUI_Core\src\" to="" /> 
    <mapper> 
     <chainedmapper> 
      <globmapper from="*.mxml" to="*"/> 
     </chainedmapper> 
     <chainedmapper> 
      <globmapper from="*.as" to="*"/> 
     </chainedmapper> 
    </mapper> 
</pathconvert> 

Ce qui fait le travail d'enlever l'emplacement du fichier et jsut laissant la structure de l'emballage. Ce n'est pas très flexible cependant. Je devrais pouvoir utiliser CORE_PROJECT.dir ici.

Alors, comment puis-je convertir

C:\dev\workspaces\RTC\UUI_Core_ANT/..//UUI_Core

à

C:\dev\workspaces\RTC\UUI_Core

Répondre

6
WORKSPACE.dir = ${basedir}/../ 

Ce n'est pas une syntaxe Ant valide.

Pour convertir .., vous devez utiliser l'attribut location de la tâche <property> au lieu de value. location remplace la valeur de l'attribut par un chemin absolu. Dans votre cas:

<property name="WORKSPACE.dir" location="${basedir}/.."/> 

EDIT: Je dois ajouter, toujours utilisation location attribut lors de la définition des propriétés de chemin semblable.