我有一个php.ini
应该激活 PHP 压缩的文件(无法在我的服务器上设置全局设置)。不幸的是,该文件中的设置仅适用于该完全相同文件夹中的文件。为了将这些设置应用于该项目中的所有文件,我需要将该php.ini
文件复制到所有子目录中。
现在,在我使用 Ant 构建项目后,我正在寻找 Ant 支持的解决方案......
有没有办法做到那种glob(IS_DIR)
风格?
感谢您为我指明正确的方向!
我现在使用的目标是这样的:
<target name="enable.compression">
<apply executable="cp">
<arg value="php.ini" />
<dirset dir="">
<include name="*/**" />
</dirset>
</apply>
</target>
它完全按照它应该做的......
由于该方法中包含的根目录,使用 just<dirset dir="">
导致文件试图覆盖自身
纯 ANT 解决方案可以利用 ANT 中的应用任务:
<apply executable="cp">
<arg value="/path/to/php.ini"/>
<dirset dir="/target/dir/containing/sub/dirs"/>
</apply>
最简单的解决方案是使用ant-contrib及其for
任务。
这是一段构建文件,它应该执行预期的副本:
<ac:for param="dir">
<dirset dir="destdir" />
<sequential>
<copy file="php.ini" todir="@{dir}" />
</sequential>
</ac:for>