【发布时间】:2009-01-02 07:53:13
【问题描述】:
一位同事提出了使用 rake 作为非 ruby 项目的构建系统的想法。是否可以扩展 rake 以补充通常使用 autoconf 工具集的其他语言?
【问题讨论】:
-
不是您问题的答案,但请注意除了 autoconf 之外还有其他可行的构建系统。 CMake 和 QMake 都很棒,而且很受欢迎。
一位同事提出了使用 rake 作为非 ruby 项目的构建系统的想法。是否可以扩展 rake 以补充通常使用 autoconf 工具集的其他语言?
【问题讨论】:
您可以在手册中找到如何使用 Rake 作为 Makefile 的简单替代品...
我几乎专门将它用于我自己编写的构建...如果您使用 Java,更好的选择是 Ant 和 Maven - 它们背后有很多代码...但是,至于我,你必须对用 XML 编程有点头脑,所以我经常使用 Rake 来完成许多任务,并从 Ant/Maven 中调用它,就像这样:
<target name="custom_task">
<exec executable="/usr/bin/env">
<arg value="rake"/>
<arg value="some-task"/>
<arg value="param" />
</exec>
</target>
它可能效率不高,特别是如果你必须在 JVM 上运行任何东西,它不能使用 Ant 的,所以这不是最好的主意……我没有尝试过 JRuby,也许值得一试... 但对于其他任务 - 文件处理、处理文本文件等,它对我来说真的很好:-)
【讨论】:
我用它在几个非 Rails 项目上部署 (Capistrano)。一个 Java(servlet)和几个静态 HTML 站点。
非常方便。
【讨论】:
我用它来编译 Flex 应用程序。我写过wrappers around the Flex SDK command line tools——任何可以从命令行调用的工具链都很容易做到。
【讨论】: