我希望从nant(0.91)目标中排除特定文件并处理余数
这是代码片段,显示我想要包含所有.js文件,但不包括foo。
foo不被排除在外。我已经尝试在排除前加上排除但结果相同。
<foreach item="File" in="${built.web.directory}\Content\js" property="filename">
<in>
<items basedir="${built.web.directory}\Content\js">
<include name="/**/*.js" />
<exclude name="**/foo.1.2.js" />
<exclude name="foo.1.2.js" />
</items>
</in>
<do>
<echo message="Compressing ${filename}" />
<exec program="${packer.exe}" commandline="-o ${built.web.directory}\Content\js\${path::get-file-name(filename)} -m jsmin ${filename}" />
</do>
</foreach>
答案 0 :(得分:7)
您已在 foreach 上指定 in 属性,该属性将覆盖 items 元素。尝试更改:
<foreach item="File" in="${built.web.directory}\Content\js" property="filename">
为:
<foreach item="File" property="filename">
答案 1 :(得分:1)
这似乎有效
<fileset id="javascript.files" basedir="${built.web.directory}\Content\js">
<include name="/**/*.js" />
<exclude name="**/foo.1.2.js" />
<exclude name="**/*.min.js" />
</fileset>
<foreach item="File" property="filename">
<in>
<items refid="javascript.files" />
</in>
<do>
<echo message="Compressing ${filename}" />
<exec program="${packer.exe}" commandline="-o ${built.web.directory}\Content\js\${path::get-file-name(filename)} -m jsmin ${filename}" />
</do>
</foreach>