给出像这样的Phing循环
<target name="lessc">
<exec command="lessc ${absolute-filename}" logoutput="false" output="${project.basedir}/public/assets/css/libraries/${filename}" />
</target>
<target name="build-in-loop">
<foreach param="filename" absparam="absolute-filename" target="lessc">
<fileset dir="${project.basedir}/assets/less/libraries/">
<include name="*.less"/>
</fileset>
</foreach>
</target>
在目标lessc中,如何从变量absolute-filename
中提取没有扩展名的文件名?在上面的示例中,output
文件的扩展名为.less
- 显然不是我需要的。
我知道有一个更少的任务,我可以扩展Phing来支持这个特定的操作,但我想首先知道Phing是否基本上允许对变量进行简单的字符串操作。
答案 0 :(得分:0)
找到答案,不确定这是否是最佳解决方案,但对我有用:
只需要使用mapper标签
<mapper type="glob" from="*.less" to="*"/>
在foreach
循环中,如下所示:
<target name="build-in-loop">
<foreach param="filename" absparam="absolute-filename" target="lessc">
<fileset dir="${project.basedir}/assets/less/libraries/">
<include name="*.less"/>
</fileset>
</foreach>
</target>
此时,在${filename}
任务中的变量target
中,将存在没有扩展名的文件名。