网络钓鱼:获取不带扩展名的文件名



给定一个像这样的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 是否基本上允许对变量进行简单的字符串操作。

找到了答案,不确定它是否是最好的解决方案,但对我有用:

只需要使用映射器标签

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

此时,在target任务的变量${filename}中,将有不带扩展名的文件名。

相关内容

最新更新