我有一个这样的目录结构& build.xml
/path-to-project/src/prj1
/path-to-project/src/prj2
/path-to-project/tests
/path-to-project/tests/build.xml我必须以某种方式找到路径
/path-to-project/在我的build.xml
我的build.xml是这样的
<project name="php-project-1" default="build" basedir=".">
<property name="source" value="src"/>
<target name="phploc" description="Generate phploc.csv">
<exec executable="phploc">
<arg value="--log-csv" />
<arg value="${basedir}/build/logs/phploc.csv" />
<arg path="${source}" />
</exec>
</target>
</project>在这里,我想以/path-to-project/src/的形式获得${source}的值,但我不能用${parent.dir}获得它
是否可以在build.xml中获取此路径?
发布于 2011-08-05 01:22:06
您可以像在命令行中一样使用..导航到父目录。
<project name="php-project-1" default="build" basedir=".">
<property name="root.dir" location=".."/>
<property name="source" location="${root.dir}/src"/>
...
</project>更新:根据马丁的回答,将value更改为location,您应该接受。
发布于 2011-08-05 01:23:57
应使用location属性而不是value来设置source属性:
<property name="source" location="src"/>然后,Ant将该属性设置为给定位置的绝对路径。如果位置看起来像是相对路径,则绝对路径是相对于basedir计算的。property task还具有其他属性,您可以使用这些属性进一步调优它。
要获取basedir的父目录,您可以类似地使用:
<property name="parent.dir" location=".." />(至少在unix计算机上,未在windows上测试。)
https://stackoverflow.com/questions/6945690
复制相似问题