Rake 我就不再介绍了,Ruby 的 Make ,许多方面都比 Make 要更好用一些。和 Makefile 不同的是,Rakefile 本身其实就是一段 Ruby 代码,这样的好处有很多,一方面在 Rake 里面就可以很直接地做任何 Ruby 能做的事了,另一方面由于 Ruby 对 DSL 支持良好,所以 Rakefile 通常看起来也并不那么“代码”。不过,代码始终是代码,Makefile 尚且可以写得很乱,Rakefile 要写乱就更容易了,幸运地是,Rake 提供了一些功能让我们可以来对 Rakefile 做一些组织工作。实际上,一种任务就是一个普通的 Ruby 类,我们可以继承 Rake 里的 Task 类并重新定义相关的函数来实现自定义的 task 类型。具体地来说,就是写一个类,继承自 Tasklib ,然后在这个类的初始化函数里用 task 或者 file 来定义实际完成任务的子 task 即可。
暂无评论