Php 用mapper完成任务?
有人能给我举个例子,说明如何将Phing的Php 用mapper完成任务?,php,build-process,sass,phing,Php,Build Process,Sass,Phing,有人能给我举个例子,说明如何将Phing的UpdateTask与 制图员?我搞不懂,在网上也找不到任何例子 以下是我正在努力实现的目标。我有一堆我需要的SCSS文件 使用ExecTask和Ruby的SASS解析器转换为CSS。但是,我只是 如果任何源文件已更改,则希望重新生成CSS文件 源SCSS文件位于app/assets/css中,编译后的文件位于 放置在app/webroot/css中。如何使用UpdateTask测试是否有 app/assets/css中的所有文件都比 app/webro
UpdateTask
与
制图员?我搞不懂,在网上也找不到任何例子
以下是我正在努力实现的目标。我有一堆我需要的SCSS文件
使用ExecTask
和Ruby的SASS解析器转换为CSS。但是,我只是
如果任何源文件已更改,则希望重新生成CSS文件
源SCSS文件位于app/assets/css
中,编译后的文件位于
放置在app/webroot/css
中。如何使用UpdateTask
测试是否有
app/assets/css
中的所有文件都比
app/webroot/css
请注意,SASS组合没有到的1对1文件名映射
CSS文件。最终可能会有十几个SCSS文件
编译成3-4个CSS文件。我知道我可以简单地将这些CSS文件硬编码到我的build.xml
中,但我想创建一个更通用、可重用的构建目标
提前谢谢 我用试错法自己解决了这个问题。我上面描述的场景(测试源目录中的任何文件是否比目标目录中的任何文件都新)无法在
Update
任务中使用映射器实现。Update
任务只需迭代文件集
,使用映射器转换任何文件名,然后将该文件与原始文件进行比较
目前,我正在使用一个文件集,其中包括所有不以下划线开头的文件(包括SASS)和一个简单的映射器,该映射器将*.scss
全局映射到*.css
。这是可行的,但并不完美。当只有一个include文件发生更改(以下划线开头的文件)时,Phing将检测不到任何更改,并跳过重建CSS资产。我通过尝试和错误解决了这个问题。我上面描述的场景(测试源目录中的任何文件是否比目标目录中的任何文件都新)无法在Update
任务中使用映射器实现。Update
任务只需迭代文件集
,使用映射器转换任何文件名,然后将该文件与原始文件进行比较
目前,我正在使用一个文件集,其中包括所有不以下划线开头的文件(包括SASS)和一个简单的映射器,该映射器将*.scss
全局映射到*.css
。这是可行的,但并不完美。当只有一个包含文件发生更改(以下划线开头的文件)时,Phing将不会检测到任何更改并跳过重建CSS资产。如果您事先知道将存在哪些结果文件,则可以使用标识映射器检查每个源文件是否比单个结果文件更新。对每个结果文件执行此操作,您将知道是否有更改。如果您事先知道将存在哪些结果文件,则可以使用标识映射器检查每个源文件是否比单个结果文件更新。对每个结果文件执行此操作,您就会知道是否有更改。我知道。我试图找到一种更通用的方法,这样我就不必仅仅因为添加了一个新的SCSS文件就修改我的构建脚本。我知道。我试图找到一种更通用的方法,这样我就不必仅仅因为添加了一个新的SCSS文件而修改构建脚本。