开发者

Advanced? rule for Rake file tasks

I have without success been trying to combine some of my mostly redundant Rake file tasks. Even directing me towards some documentation on rake rules would be great, I've found very little.

All examples I've found have been files that were distinguished by their extensions, in my case I need something more specific.

file '.../bundle-a.js' => ['a.js','b.js','c.js']

file '.../bundle-b.js' => ['d.js','e.js','f.js']

rule ??? => ?开发者_开发问答?? do |f|
   File.open( f.name, 'w' ) do |of|
       of.write cat(f.prerequisites).concat('SPECIFIC TEXT TO EACH BUNDLE')
   end
end

If I do a rule on .js => .js, I get recursive errors. If I look for /bundle/, it fails or I don't understand the processing that occurs. Also, I need to add that part about specific text, is there a solution via rules for this?


You can use Regexps in patterns and Procs in dependencies. Procs receive the filename as argument and should return a filename or an array of filenames.

rule %r{\A.../bundle-(.*)\.js\z} => proc{|fn| required_files_for(fn) } do |f|
  ...
end

If you use ".js" as the target and ".js" as the dependency, it means that a js file can be built from itself, which is a recursive rule.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜