代码之家  ›  专栏  ›  技术社区  ›  Roaders

在Ant中转换../in路径

ant
  •  0
  • Roaders  · 技术社区  · 16 年前

    我有一个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>
    

    它完成删除文件位置和离开包结构的JSUT的工作。不过,它不是很灵活。我应该可以在这里使用core_project.dir。

    那么,我怎样才能转换呢

    C:\dev\workspaces\rtc\uui_core_ant/。//uui_core

    C:\dev\workspaces\RTC\UUI_Core

    1 回复  |  直到 16 年前
        1
  •  7
  •   Alexander Pogrebnyak    16 年前
    WORKSPACE.dir = ${basedir}/../
    

    这不是有效的Ant语法。

    皈依 .. 你应该使用 location 的属性 <property> 代替任务 value . 位置 用绝对路径替换属性值。在你的情况下:

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

    编辑 我应该补充一下, 总是 使用 位置 设置类似路径的属性时的属性。

    推荐文章