我正在处理与此处的问题类似的事情:ANT script to compile all (css) LESS files in a dir and subdirs with RHINO
但是,我很难将其定制为一个特定的要求:
- 如果有任何
.less
文件发生更改:仅在dir.less
一个文件上运行 LESS (因为它会导入其他较少的文件,从而生成单个组合输出)。
这是我当前的状态build.xml
:
<target name="less" description="Compile LESS files">
<echo message="Checking for LESS file changes..."/>
<apply dir="${dir.less}" executable="${tool.less}" parallel="false" failonerror="true">
<fileset dir="${dir.less}" includes="*.less" />
<srcfile/>
<mapper type="glob" from="*.less" to="${dir.css}/*.css"/>
<targetfile/>
<arg value="-compress" />
</apply>
</target>
这当前构建所有.LESS
文件并将它们输出到适当的位置(这是可居住的)。如果我将映射器全局替换为:
<mapper type="glob" from="MainFileThatImportsOthers.less" to="${dir.css}/MainFileThatImportsOthers.css"/>
文件集指令有效地简化为该文件,并且更改该.LESS
目录中的其他文件不会导致任务输出。
有人可以指出我正确的方向,这样我就可以避免设置错误并每次都回避每个.LESS
文件?