Преобразование ../ в пути в муравей - PullRequest
0 голосов
/ 02 декабря 2009

У меня есть сборка Ant, в которой есть эта строка:

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

У меня тогда есть:

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

, что означает, что я получаю такие пути:

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

Это прекрасно работает почти во всех случаях, но я пытаюсь создать список классов, которые будут использоваться в сборке. На данный момент у меня есть этот код:

<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>

Который выполняет работу по удалению местоположения файла и просто покидает структуру пакета. Это не очень гибкий, хотя. Я должен иметь возможность использовать CORE_PROJECT.dir здесь.

Итак, как мне конвертировать

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

до

C:\dev\workspaces\RTC\UUI_Core

1 Ответ

7 голосов
/ 02 декабря 2009
WORKSPACE.dir = ${basedir}/../

Это недопустимый синтаксис Ant.

Для преобразования .. вы должны использовать location атрибут задачи <property> вместо value. location заменяет значение атрибута абсолютным путем. В вашем случае:

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

РЕДАКТИРОВАТЬ : я должен добавить, всегда использовать атрибут location при настройке свойств, подобных путям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...