我有一个包含此行的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
答案 0 :(得分:7)
WORKSPACE.dir = ${basedir}/../
这不是有效的Ant语法。
要转换..
,您应使用location
任务的<property>
属性,而不是value
。 location
用绝对路径替换属性值。在你的情况下:
<property name="WORKSPACE.dir" location="${basedir}/.."/>
编辑:在设置类似路径的属性时,我应该添加始终使用location
属性。