13.0.6¶ ↑
-
hsbt 的 #390 拉取请求,针对 #389 的额外修复
13.0.5¶ ↑
-
修复了 #388 的回归。hsbt 的 #389 拉取请求
13.0.4¶ ↑
-
修复 rake 测试加载器吞噬有用的错误信息的问题。deivid-rodriguez 的 #367 拉取请求
-
添加与 GNU make 相同的 -C/–directory 选项。nobu 的 #376 拉取请求
13.0.3¶ ↑
-
修复 TestTask 上执行顺序的重大更改。ysakasin 的 #368 拉取请求
13.0.2¶ ↑
增强功能¶ ↑
-
修复与当前
FileUtils
协同工作的测试。jeremyevans 的 #358 拉取请求 -
简化默认的 rake 测试加载器。deivid-rodriguez 的 #357 拉取请求
-
更新 rdoc。bahasalien 的 #366 拉取请求
-
更新 README 中来自 Avdi 的 rake 文章的断开链接。svl7 的 #360 拉取请求
13.0.1¶ ↑
缺陷修复¶ ↑
-
已修复错误:重新启用任务在第二次调用时引发之前的异常。thorsteneckel 的 #271 拉取请求
-
修复了错误解析的 arg 模式。mjbellantoni 的 #327 拉取请求
13.0.0¶ ↑
增强功能¶ ↑
-
遵循 ruby 2.7 中关于关键字参数的最新更改。nobu 的 #326 拉取请求
-
使 ‘PackageTask` 能够在打包文件时省略父目录。tonytonyjan 的 #310 拉取请求
-
添加仅顺序依赖项。take-cheeze 的 #269 拉取请求
兼容性更改¶ ↑
-
删除旧的 ruby 版本(< 2.2)
12.3.3¶ ↑
缺陷修复¶ ↑
-
如果找不到任务,则在错误消息中使用应用程序的名称。tmatilai 的 #303 拉取请求
增强功能:¶ ↑
-
显式使用 File.open。
12.3.2¶ ↑
缺陷修复¶ ↑
-
修复了由 2.6 警告引起的测试失败。hsbt 的 #297 拉取请求
增强功能:¶ ↑
-
Rdoc 改进。colby-swandale 的 #293 拉取请求
-
提高多任务性能。jsm 的 #273 拉取请求
-
添加别名 ‘prereqs`。take-cheeze 的 #268 拉取请求
12.3.1¶ ↑
缺陷修复¶ ↑
-
支持 did_you_mean >= v1.2.0,它在格式化程序上进行了重大更改。FUJI Goro 的 #262 拉取请求。
增强功能:¶ ↑
-
如果它依赖于已调用但失败的任务,则不运行任务。Gonzalo Rodriguez 的 #252 拉取请求。
-
使所有任务参数的空间修剪一致。Gonzalo Rodriguez 的 #259 拉取请求。
-
删除测试中重复包含
Rake::DSL
的情况。Gonzalo Rodriguez 的 #254 拉取请求。 -
重新引发测试加载器中不是来自 require 的 LoadError。Dylan Thacker-Smith 的 #250 拉取请求。
12.3.0¶ ↑
兼容性更改¶ ↑
-
将 ‘required_ruby_version` 提升到 Ruby 2.0.0。Rake 已经删除了对 Ruby 1.9.x 的支持。
增强功能:¶ ↑
-
支持 ruby core 上的 ‘test-bundled-gems` 任务。
12.2.1¶ ↑
缺陷修复¶ ↑
-
已修复以在 capistrano3 上中断 Capistrano::Application。
12.2.0¶ ↑
增强功能:¶ ↑
-
使 rake 更容易用作库。@drbrain 的 #211 拉取请求
-
修复 FileTask#out_of_date? 中的二次性能问题。@doudou 的 #224 拉取请求
-
在打印嵌套异常跟踪时澄清输出。@urbanautomaton 的 #232 拉取请求
缺陷修复¶ ↑
-
考虑匹配 2 个或更多模式的文件。@styd 的 #231 拉取请求
12.1.0¶ ↑
增强功能:¶ ↑
-
为无效的 rake 任务添加了 did_you_mean 功能。@xtina-starr 的 #221 拉取请求
-
启用通过扩展链接的依赖项。Petr Skocik 的 #39 拉取请求。
-
在 Ruby 2.4 或更高版本上将所有字符串文字设为冻结对象。
缺陷修复¶ ↑
-
rakefile.rdoc 中的拼写错误修复。Yuta Kurotaki 的 #180 拉取请求。
-
修复具有 dryrun 选项的文件任务的意外行为。@aycabta 的 #183 拉取请求。
-
使运行测试中的 LoadError 更加明显。Eric Hodel 的 #195 拉取请求。
-
修复哈希样式选项的意外 TypeError。Kuniaki IGARASHI 的 #202 拉取请求。
12.0.0¶ ↑
兼容性更改¶ ↑
-
删除了 clear #157 上的参数。Jesse Bowes
-
删除了 ‘rake/contrib` 包。这些已提取到 `rake-contrib` gem。
-
删除了名为 ‘last_comment` 的已弃用方法。
增强功能:¶ ↑
-
在 ‘cleanup` 任务上重用跟踪选项。Brian Henderson 的 #164
-
操作喜欢关键字参数。Josh Cheek 的 #174
-
Rake::TaskArguments#key?
是 has_key? 的别名。Paul Annesley 的 #175
11.3.0 / 2016-09-20¶ ↑
增强功能:¶ ↑
-
删除对 ‘Fixnum` 常量的引用。nobu 的 #160 拉取请求
11.2.2 / 2016-06-12¶ ↑
缺陷修复¶ ↑
-
修复
Rake::TestTask
上具有多个依赖项的意外行为
11.2.1 / 2016-06-12¶ ↑
缺陷修复¶ ↑
-
修复
Rake::TestTask
上依赖项处理的回归。报告 #139
11.2.0 / 2016-06-11¶ ↑
缺陷修复¶ ↑
-
修复使用三个点和感叹号的任务描述的意外截断行为。Stephan Kämper 的报告 #106 和 Lee 的 #134 拉取请求
-
修复 ‘with_defaults` 选项的空参数赋值。bakunyo 的 #135 拉取请求
-
忽略在 Darwin 平台上使用 ‘hwprefs`。现在使用 sysctl。报告 #128
增强功能¶ ↑
-
sh 的 Spawn 选项。Eric Hodel 的 #138 拉取请求。
-
允许为
Rake::TestTask
指定依赖项(先决条件)。Tim Maslyuchenko 的 #117 拉取请求 -
使用 Bundler 任务而不是 hoe 进行 gem 发布。
-
删除对 Ruby 1.8 的 rubygems 的显式加载。
-
统一声明 ‘Rake::VERSION`。
-
支持 PackageTask 的 xz 格式。
11.1.2 / 2016-03-28¶ ↑
缺陷修复¶ ↑
-
启用
Rake::TestTask#verbose
时,删除 ‘-W` 选项。这是对 Rake 11 的规范更改的误解。部分还原 #67
11.1.1 / 2016-03-14¶ ↑
缺陷修复¶ ↑
-
启用
Rake::TestTask#verbose
时,使用 ‘-W` 而不是 `–verbose`。JRuby 没有 ‘–verbose` 选项。
11.1.0 / 2016-03-11¶ ↑
兼容性更改¶ ↑
-
恢复删除 ‘last_comment`。它将在 Rake 12 中删除。
11.0.1 / 2016-03-09¶ ↑
缺陷修复¶ ↑
-
修复了打包清单。
11.0.0 / 2016-03-09¶ ↑
缺陷修复¶ ↑
-
正确处理异常消息中的错误编码。Tomer Brisker 的 #113 拉取请求
-
修复 TestTask 中的 verbose 选项。Mike Blumtritt 的 #67 拉取请求
增强功能¶ ↑
-
使 FileList#exclude 更类似于 FileList#include。
-
使用 IO.open 而不是 Open3.popen3 进行 CPU 计数器。
-
使
Rake::Task#already_invoked
可公开访问。Joe Rafaniello 的 #93 拉取请求 -
在作用域之外查找同名的先决条件,而不是匹配自身。Sandy Vanderbleek 的 #96 拉取请求
-
使 FileList#pathmap 的行为类似于
String#pathmap
。Daniel Tamai 的 #61 拉取请求 -
向任务参数添加 fetch 方法。Chris Keathley 的 #12 拉取请求
-
默认情况下使用 ruby 警告。Harold Giménez 的 #97 拉取请求
兼容性更改¶ ↑
-
删除对 Ruby 1.8.x 的支持
-
删除名为 ‘RAKEVERSION` 的常量
-
删除 Rake::AltSystem
-
删除 Rake::RubyForgePublisher
-
删除 Rake::TaskManager#last_comment。使用 last_description。
-
删除 Rake::TaskLib#paste
-
从 lib/rake/contrib/publisher.rb 中删除顶层 SshDirPublisher、SshFreshDirPublisher、SshFilePublisher 和 CompositePublisher
-
删除 “rake/runtest.rb”
10.5.0 / 2016-01-13¶ ↑
增强功能¶ ↑
-
删除了 Ruby 1.8 的猴子补丁。Pablo Herrero 的 #46 拉取请求。
-
Rake::FileList
的继承类始终返回 self 类。Thomas Scholz 的 #74 拉取请求
10.4.2 / 2014-12-02¶ ↑
缺陷修复¶ ↑
-
Rake 不再编辑 ARGV。这允许您从 rake 任务重新执行 rake。Matt Palmer 的 #9 拉取请求。
-
记录了
Rake::DSL#desc
如何处理任务描述中的句子。Raza Sayed 的问题 #7。 -
修复了带有旧版 RubyGems 的 1.9.3 上的测试错误。Matt Palmer 的问题 #8。
-
删除了重复的历史条目。Yuji Yamamoto 的 #10 拉取请求。
10.4.1 / 2014-12-01¶ ↑
缺陷修复¶ ↑
-
还原了对 #277 的修复,因为它给 rake 用户带来了许多问题。rails/spring 问题 #366 by Gustavo Dutra。
10.4.0 / 2014-11-22¶ ↑
增强功能¶ ↑
-
升级到 minitest 5。Teo Ljungberg 的 #292 拉取请求。
-
在 rake 任务中添加了对 Pathname 的支持。Randy Coulman 的 #271 拉取请求。
-
Rake 现在忽略虚假的依赖项,这使得可以更容易地以编程方式创建任务。Manav 的 #273 拉取请求。
-
Rake 不再编辑 ARGV。这允许您从 rake 任务重新执行 rake。Matt Palmer 的问题 #277。
-
Etc.nprocessors 用于计算 CPU 的数量。
缺陷修复¶ ↑
-
更新了 rake 手册页。Nathan Long 的问题 #283,skittleys 的 #291 拉取请求。
-
添加了 Rake::LATE 以允许重建依赖于已删除文件的文件。David Grayson 的 Bug #286,#287 拉取请求。
-
修复重新打包时文件的重新链接。Muenze 的 Bug #276。
-
修复了一些拼写错误。Jed Northridge 的 #280 拉取请求。
-
如果未匹配 host_os,则尝试通过 cpuinfo 计算 CPU。Edouard B 的 #282 拉取请求。
10.3.2 / 2014-05-15¶ ↑
缺陷修复¶ ↑
-
当显示相互引用的异常原因时,Rake 不再无限循环。Chris Bandy 的 Bug #272。
-
修复了文档中的拼写错误。由 Jake Worth 提交的 Bug #275。
10.3.1 / 2014-04-17¶ ↑
缺陷修复¶ ↑
-
当清理已删除的文件时,不再报告错误。由 Randy Coulman 提交的 Pull request #269。
-
修复了在 Windows 上清理已删除的文件时出现的无限循环问题。
10.3 / 2014-04-15¶ ↑
增强功能¶ ↑
-
向 rake 添加了 –build-all 选项,该选项将所有文件先决条件都视为过期。由 Andrew Gilbert 提交的 Pull request #254。
-
添加了
Rake::NameSpace#scope
。由 Jon San Miguel 提交的 Issue #263。
缺陷修复¶ ↑
-
为 JRuby 用户在 rake 错误消息中抑制 org.jruby 包文件。由 Charles Nutter 提交的 Issue #213。
-
修复了拼写错误,删除了多余的 “h”。由 Hsing-Hui Hsu 提交的 Pull request #267。
-
当清理已删除的文件时,Rake 不再报告错误。由 Randy Coulman 提交的 Pull request #266。
-
在确定 CPU 计数时消耗 stderr 以避免挂起。由 Albert Sun 提交的 Issue #268。
10.2.2 / 2014-03-27¶ ↑
缺陷修复¶ ↑
-
恢复了 Ruby 1.8.7 的兼容性
10.2.1 / 2014-03-25¶ ↑
缺陷修复¶ ↑
-
包含 ‘:’ 的文件任务现在再次成为顶级任务。由 Josh Holtrop 提交的 Issue #262。
-
对所有 BSD 使用 sysctl 获取 CPU 计数。由 Joshua Stein 提交的 Pull request #261。
-
修复了未知平台的 CPU 检测。
10.2.0 / 2014-03-24¶ ↑
增强功能¶ ↑
-
Rake 现在需要 Ruby 1.9 或更新版本。对我来说,这是一个重大更改,但 Jim 似乎计划在 Rake 10.2 中发布它。另请参阅 Philip Arndt 提交的 Pull request #247。
-
Rake 现在允许您在命名空间下声明任务,例如
task 'a:b' do ... end
由 Judson Lester 提交的 Pull request #232。
-
Task#source 默认为非规则任务中的第一个先决条件。由 Avdi Grimm 提交的 Pull request #215。
-
Rake 现在会自动重建并重新加载导入的文件。由 Randy Coulman 提交的 Pull request #209。
-
rake 任务参数可以包含转义的逗号。由 Filip Hrbek 提交的 Pull request #214。
-
Rake 现在会在错误时打印异常类。由 David Cornu 提交的 Patch #251。
缺陷修复¶ ↑
-
修复了拼写错误。由 Valera Rozuvan 提交的 Pull request #256,由 Jake Worth 提交的 #250,由 Zachary Scott 提交的 #260。
-
修复了使用参数调用任务的文档。由 John Varghese 提交的 Pull request #235。
-
澄清了 ‘rake -f` 的用法消息。由 Marco Pfatschbacher 提交的 Pull request #252。
-
修复了 Windows 上的测试失败。由 Hiroshi Shirosaki 提交的 Pull request #231。
-
修复了损坏的 rake.1.gz。由 Michel Boaventura 提交的 Pull request #225。
-
修复了测试中 can_detect_signals? 中的错误。来自 Alexey Borzenkov 的 #243 的补丁。
10.1.1¶ ↑
-
使用 github.com/jimweirich/rake 而不是 rake.rubyforge.org 作为规范的项目 URL。
10.1.0¶ ↑
更改¶ ↑
新功能¶ ↑
-
添加对可变长度任务参数列表的支持。如果提供的实际参数多于命名参数,则额外的参数值将在 args.extras 中。
-
应用程序名称不会显示在帮助横幅中。(以前“rake”是硬编码的,现在基于 rake 的应用程序可以显示自己的名称)。
Bug 修复¶ ↑
Bug 修复包括
-
修复了回溯抑制问题。
-
规则现在显式获取传递给它们 的任务参数。
-
将 FileList#exclude? 重命名为 FileList#exclude_from_list? 以避免与新的 Rails 方法冲突。
-
Clean / Clobber 任务现在报告删除文件失败。
-
以及大量的内部代码清理。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁,提出了建议或提供了其他有益的评论。感谢 …
-
Michael Nikitochkin(通用代码清理)
-
Vipul A M(通用代码清理)
-
Dennis Bell(可变长度任务参数列表)
-
Jacob Swanner(规则参数)
-
Rafael Rosa Fu(文档拼写错误)
-
Stuart Nelson(install.rb 修复)
-
Lee Hambley(帮助横幅中的应用程序名称)
– Jim Weirich
10.0.3¶ ↑
"Jim, when will Rake reach version 1.0?"
在过去的几年中,我曾在会议、小组讨论和推特上被问到这个问题。由于历史原因(或者可能只是纯粹的懒惰),Rake (不正确地) 将版本的第二个数字视为主要发行版本号。所以在我的头脑中,Rake 已经到了 9 版本。
好吧,是时候解决问题了。下一个版本的 Rake 放弃了旧的、粗糙的、向后兼容的黑客行为,例如顶级常量、在 Object
中定义的 DSL 方法以及其他许多不再需要的功能。现在也是时候从版本号中删除前导零,并将这个新版本的 rake 称为它真正的版本:10 版本。
所以,欢迎使用 Rake 10.0!
Rake 10 实际上与最新版本的 Rake 9(即版本号为 0.9.3 的版本)在功能上是相同的,除了 Rake 10 放弃了多年来积累的所有各种已弃用的功能。
如果您的 Rakefile 是最新的并且与 Rake 10 的所有新功能保持一致,那么您就可以开始了。如果您的 Rakefile 仍然使用一些已弃用的功能,请随意使用具有相同功能集的 Rake 9 (0.9.3)。请注意,未来的功能将位于 Rake 10 系列中。
更改¶ ↑
如上所述,Rake 10 中没有新功能。但是,缺少许多功能
-
经典的命名空间现在已消失。Rake 不再能够反映全局变量($rakefile、$show_tasks、$show_prereqs、$trace、$dryrun 和 $silent)中的选项设置。不再支持
--classic-namespace
选项。 -
不再支持全局常量。这包括
Task
、FileTask
、FileCreationTask
和RakeApp
)。已删除用于警告使用全局 rake 常量的常量缺失钩子。 -
Rake DSL 方法(task、file、directory 等)位于它们自己的模块 (
Rake::DSL
) 中。已删除Object
中这些方法的存根版本(打印警告)。但是,DSL 方法会添加到顶级的main
对象中。由于main
不在继承树中,因此 main 中 DSL 方法的存在应该对其他库影响不大。如果您想从您自己的代码中使用 Rake DSL 命令,只需将
Rake::DSL
包含到您自己的类和模块中。 -
已删除任务参数的已弃用语法(使用
:needs
的语法)。 -
已删除
--reduce-compat
标志(不再需要)。 -
已删除已弃用的
rake/sys.rb
库。 -
已删除已弃用的
rake/rdoctask.rb
库。RDoc
现在提供自己的 rake 任务。 -
已删除已弃用的
rake/gempackagetask.rb
库。 Gem 现在提供自己的包任务。
有一个小的行为更改
-
非文件任务现在始终将当前时间报告为其时间戳。这与之前的行为不同,之前的行为是非文件任务仅在没有先决条件的情况下报告当前时间,否则报告最大先决条件时间戳。这导致了在向任务添加先决条件(这些任务反过来又是文件任务的先决条件)时出现不一致且令人惊讶的行为。新行为更加一致且可预测。
更改(从 0.9.3、0.9.4、0.9.5)¶ ↑
由于 Rake 10 包括了最新版本 Rake 9 中的更改,我们将在此处重复 0.9.3 到 0.9.5 版本的更改。
新功能(在 0.9.3 中)¶ ↑
-
Multitask 任务现在使用线程池。使用 -j 限制可用线程数。
-
使用 -m 将常规任务转换为 multitasks(使用风险自负)。
-
您现在可以在 Rakefile 中执行“Rake.add_rakelib ‘dir’”以编程方式添加 rake 任务库。
-
您可以指定回溯抑制模式(请参阅 –suppress-backtrace)
-
Directory 任务现在可以接受先决条件和操作
-
使用 –backtrace 请求完整的回溯,而无需任务跟踪。
-
您可以说 “–backtrace=stdout” 和 “–trace=stdout” 将跟踪输出路由到标准输出而不是标准错误。
-
可选的 “phony” 目标(使用 ‘require ’rake/phony’’ 启用)用于特殊用途构建。
-
Task#clear 现在会清除任务注释以及操作和先决条件。Task#clear_comment 将专门针对注释。
-
–all 选项将强制 -T 和 -D 考虑所有任务,无论是否有描述。
Bug 修复(在 0.9.3 中)¶ ↑
-
Windows rakefile 路径中的分号现在可以工作了。
-
改进了调用多个测试套件时的 Control-C 支持。
-
egrep 方法现在以文本模式读取文件(更好地支持 Windows)
-
更好的弃用行号报告。
-
-W 选项现在适用于所有任务,无论它们是否有描述。
-
rake 中的文件 glob 不应按字母顺序排序,而应独立于文件系统和平台。
-
许多内部改进。
-
文档拼写错误和修复。
Bug 修复(在 0.9.4 中)¶ ↑
-
未通过测试的退出状态未正确设置为非零。
-
简化了伪任务的语法(对于旧版本的
RDoc
)。 -
独立的 FileList 用法获取 glob 函数(无需加载额外的依赖项)
Bug 修复(在 0.9.5 中)¶ ↑
-
–trace 和 –backtrace 不再吞噬后续的任务名称。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁,提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
10.0.2¶ ↑
更改¶ ↑
Bug 修复¶ ↑
-
–trace 和 –backtrace 不再吞噬后续的任务名称。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁,提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
10.0.1¶ ↑
更改¶ ↑
Bug 修复¶ ↑
-
未通过测试的退出状态未正确设置为非零。
-
简化了伪任务的语法(对于旧版本的
RDoc
)。 -
独立的 FileList 用法获取 glob 函数(无需加载额外的依赖项)
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁,提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
10.0.0¶ ↑
"Jim, when will Rake reach version 1.0?"
在过去的几年中,我曾在会议、小组讨论和推特上被问到这个问题。由于历史原因(或者可能只是纯粹的懒惰),Rake (不正确地) 将版本的第二个数字视为主要发行版本号。所以在我的头脑中,Rake 已经到了 9 版本。
好吧,是时候解决问题了。下一个版本的 Rake 放弃了旧的、粗糙的、向后兼容的黑客行为,例如顶级常量、在 Object
中定义的 DSL 方法以及其他许多不再需要的功能。现在也是时候从版本号中删除前导零,并将这个新版本的 rake 称为它真正的版本:10 版本。
所以,欢迎使用 Rake 10.0!
Rake 10 实际上与最新版本的 Rake 9(即版本号为 0.9.3 的版本)在功能上是相同的,除了 Rake 10 放弃了多年来积累的所有各种已弃用的功能。
如果您的 Rakefile 是最新的并且与 Rake 10 的所有新功能保持一致,那么您就可以开始了。如果您的 Rakefile 仍然使用一些已弃用的功能,请随意使用具有相同功能集的 Rake 9 (0.9.3)。请注意,未来的功能将位于 Rake 10 系列中。
10.0 中的更改¶ ↑
如上所述,Rake 10 中没有新功能。但是,缺少许多功能
-
经典的命名空间现在已消失。Rake 不再能够反映全局变量($rakefile、$show_tasks、$show_prereqs、$trace、$dryrun 和 $silent)中的选项设置。不再支持
--classic-namespace
选项。 -
不再支持全局常量。这包括
Task
、FileTask
、FileCreationTask
和RakeApp
)。已删除用于警告使用全局 rake 常量的常量缺失钩子。 -
Rake DSL 方法(task、file、directory 等)位于它们自己的模块 (
Rake::DSL
) 中。已删除Object
中这些方法的存根版本(打印警告)。但是,DSL 方法会添加到顶级的main
对象中。由于main
不在继承树中,因此 main 中 DSL 方法的存在应该对其他库影响不大。如果您想从您自己的代码中使用 Rake DSL 命令,只需将
Rake::DSL
包含到您自己的类和模块中。 -
已删除任务参数的已弃用语法(使用
:needs
的语法)。 -
已删除
--reduce-compat
标志(不再需要)。 -
已删除已弃用的
rake/sys.rb
库。 -
已删除已弃用的
rake/rdoctask.rb
库。RDoc
现在提供自己的 rake 任务。 -
已删除已弃用的
rake/gempackagetask.rb
库。 Gem 现在提供自己的包任务。
有一个小的行为更改
-
非文件任务现在始终将当前时间报告为其时间戳。这与之前的行为不同,之前的行为是非文件任务仅在没有先决条件的情况下报告当前时间,否则报告最大先决条件时间戳。这导致了在向任务添加先决条件(这些任务反过来又是文件任务的先决条件)时出现不一致且令人惊讶的行为。新行为更加一致且可预测。
更改(从 0.9.3 开始)¶ ↑
由于 Rake 10 包括了最新版本 Rake 9 中的更改,我们将在此处重复 0.9.3 版本的更改。
新功能¶ ↑
-
Multitask 任务现在使用线程池。使用 -j 限制可用线程数。
-
使用 -m 将常规任务转换为 multitasks(使用风险自负)。
-
您现在可以在 Rakefile 中执行“Rake.add_rakelib ‘dir’”以编程方式添加 rake 任务库。
-
您可以指定回溯抑制模式(请参阅 –suppress-backtrace)
-
Directory 任务现在可以接受先决条件和操作
-
使用 –backtrace 请求完整的回溯,而无需任务跟踪。
-
您可以说 “–backtrace=stdout” 和 “–trace=stdout” 将跟踪输出路由到标准输出而不是标准错误。
-
可选的 “phony” 目标(使用 ‘require ’rake/phony’’ 启用)用于特殊用途构建。
-
Task#clear 现在会清除任务注释以及操作和先决条件。Task#clear_comment 将专门针对注释。
-
–all 选项将强制 -T 和 -D 考虑所有任务,无论是否有描述。
Bug 修复¶ ↑
-
Windows rakefile 路径中的分号现在可以工作了。
-
改进了调用多个测试套件时的 Control-C 支持。
-
egrep 方法现在以文本模式读取文件(更好地支持 Windows)
-
更好的弃用行号报告。
-
-W 选项现在适用于所有任务,无论它们是否有描述。
-
rake 中的文件 glob 不应按字母顺序排序,而应独立于文件系统和平台。
-
许多内部改进。
-
文档拼写错误和修复。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁,提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
0.9.6¶ ↑
Rake 0.9.6 版本包含许多修复程序,主要用于将 Rake 合并到 Ruby 源代码树中并修复测试。
更改¶ ↑
Bug 修复 (0.9.6)¶ ↑
-
使用多线程 Rakefile 时,更好的跟踪输出。
-
任务和多任务的参数解析现在是一致的。
-
跳过 Ruby 版本中不支持的退出代码测试。
为更好地与 Ruby 源代码树集成而进行的更改
-
修复 Ruby 源代码树构建的版本文字。
-
更好地加载用于 Ruby 构建中测试的库。
-
使用 Ruby 测试提供的 Ruby 版本。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
0.9.5¶ ↑
Rake 0.9.5 版本包含许多错误修复。
更改¶ ↑
Bug 修复 (0.9.5)¶ ↑
-
–trace 和 –backtrace 不再吞噬后续的任务名称。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
0.9.4¶ ↑
Rake 0.9.4 版本包含许多错误修复。
更改¶ ↑
Bug 修复 (0.9.4)¶ ↑
-
未通过测试的退出状态未正确设置为非零。
-
简化了伪任务的语法(对于旧版本的
RDoc
)。 -
独立的 FileList 用法获取 glob 函数(无需加载额外的依赖项)
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
0.9.3¶ ↑
Rake 版本 0.9.3 包含一些新的、向后兼容的功能以及一些 bug 修复。
更改¶ ↑
新功能¶ ↑
-
Multitask 任务现在使用线程池。使用 -j 限制可用线程数。
-
使用 -m 将常规任务转换为 multitasks(使用风险自负)。
-
您现在可以在 Rakefile 中执行“Rake.add_rakelib ‘dir’”以编程方式添加 rake 任务库。
-
您可以指定回溯抑制模式(请参阅 –suppress-backtrace)
-
Directory 任务现在可以接受先决条件和操作
-
使用 –backtrace 请求完整的回溯,而无需任务跟踪。
-
您可以说 “–backtrace=stdout” 和 “–trace=stdout” 将跟踪输出路由到标准输出而不是标准错误。
-
可选的 “phony” 目标(使用 ‘require ’rake/phony’’ 启用)用于特殊用途构建。
-
Task#clear 现在会清除任务注释以及操作和先决条件。Task#clear_comment 将专门针对注释。
-
–all 选项将强制 -T 和 -D 考虑所有任务,无论是否有描述。
Bug 修复¶ ↑
-
Windows rakefile 路径中的分号现在可以工作了。
-
改进了调用多个测试套件时的 Control-C 支持。
-
egrep 方法现在以文本模式读取文件(更好地支持 Windows)
-
更好的弃用行号报告。
-
-W 选项现在适用于所有任务,无论它们是否有描述。
-
rake 中的文件 glob 不应按字母顺序排序,而应独立于文件系统和平台。
-
许多内部改进。
-
文档拼写错误和修复。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Aaron Patterson
-
Dylan Smith
-
Jo Liss
-
Jonas Pfenniger
-
Kazuki Tsujimoto
-
Michael Bishop
-
Michael Elufimov
-
NAKAMURA Usaku
-
Ryan Davis
-
Sam Grönblom
-
Sam Phippen
-
Sergio Wong
-
Tay Ray Chuan
-
grosser
-
quix
此外,非常感谢 Eric Hodel 协助完成此版本的发布。
– Jim Weirich
Rake 0.9.2.2¶ ↑
Rake 版本 0.9.2.2 主要进行的是 bug 修复。
更改¶ ↑
-
rake 测试加载器现在会删除它已处理的参数。问题 #51
-
Rake::TaskArguments
现在响应 values_at -
RakeFileUtils.verbose_flag = nil 静默输出的效果与 0.8.7 相同
-
Rake 测试现在与目录无关
-
Rake 测试不再需要 flexmock
-
Commands 常量不再污染顶级命名空间。
-
默认情况下,仅显示回溯中有趣的部分(James M. Lawrence)。
-
添加了 –reduce-compat 选项,以删除向后兼容的 DSL hack(James M. Lawrence)。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence (quix)
-
Roger Pack
-
Cezary Baginski
-
Sean Scot August Moon
-
R.T. Lechow
-
Alex Chaffee
-
James Tucker
-
Matthias Lüdtke
-
Santiago Pastorino
此外,还要感谢 Eric Hodel 协助发布此版本(“协助”包括但不限于“推动”我完成它)。
– Jim Weirich
0.9.2¶ ↑
Rake 版本 0.9.2 有一些小修复。详见下文。
更改¶ ↑
-
修复了对 Ruby 1.8.6 的支持。
-
全局 DSL 警告现在遵守 –no-deprecate
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence (quix)
-
Roger Pack
-
Cezary Baginski
-
Sean Scot August Moon
-
R.T. Lechow
-
Alex Chaffee
-
James Tucker
-
Matthias Lüdtke
-
Santiago Pastorino
此外,还要感谢 Eric Hodel 协助发布此版本(“协助”包括但不限于“推动”我完成它)。
– Jim Weirich
0.9.1¶ ↑
Rake 版本 0.9.1 有许多 bug 修复和增强功能(详见下文)。此外,内部结构已略作调整和改进。
更改¶ ↑
Rake 0.9.1 添加回全局 DSL 方法,但带有弃用消息。这允许 Rake 0.9.1 与带有警告消息的较旧的 rakefile 一起使用。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence (quix)
-
Roger Pack
-
Cezary Baginski
-
Sean Scot August Moon
-
R.T. Lechow
-
Alex Chaffee
-
James Tucker
-
Matthias Lüdtke
-
Santiago Pastorino
此外,还要感谢 Eric Hodel 协助发布此版本(“协助”包括但不限于“推动”我完成它)。
– Jim Weirich
0.9.0¶ ↑
Rake 版本 0.9.0 有许多 bug 修复和增强功能(详见下文)。此外,内部结构已略作调整和改进。
更改¶ ↑
0.9.0 版本中的新功能/增强功能/Bug 修复¶ ↑
-
Rake 现在在使用了已弃用的 :needs 语法时发出警告(并在警告中建议正确的语法)。
-
将 Rake DSL 命令移至顶级 ruby 对象“main”。Rake DSL 命令不再是
Object
中的私有方法。(由 James M. Lawrence/quix 建议) -
Rake 现在使用不区分大小写的比较来在 Windows 上查找 Rakefile。基于 Roger Pack 的补丁。
-
Rake 现在在测试任务中需要(而不是加载)文件。Cezary Baginski 的补丁。
-
修正了拼写错误。Sean Scot August Moon 和 R.T. Lechow 的补丁。
-
Rake 现在仅在 Rakefile 目录与当前目录不同时才打印该目录。Alex Chaffee 的补丁。
-
改进了 Windows 上 rakefile_location 的发现。James Tucker 的补丁。
-
Rake 现在将“Windows Server”识别为 Windows 系统。Matthias Lüdtke 的补丁
-
Rake::RDocTask 已弃用。请使用
RDoc
2.4.2+ 中的 RDoc::Task(需要 ‘rdoc/task’) -
Rake::GemPackageTask 已弃用。请使用 Gem::PackageTask(需要 ‘rubygems/package_task’)
-
Rake 现在将各种消息输出到 $stderr 而不是 $stdout。
-
Rake 不再为 Config 发出警告。Santiago Pastorino 的补丁。
-
从顶层作用域中删除了 Rake 的 DSL 方法。如果需要在代码中调用 “task :xzy”,请将
Rake::DSL
包含到您的类中,或将代码放在 Rake::DSL.environment do ... end 块中。 -
将 rake.rb 分割为单独的文件。
-
支持 -where (-W) 标志,用于显示任务的定义位置。
-
修复了测试任务中的引用问题。(onestepback.org/redmine/issues/show/44, www.pivotaltracker.com/story/show/1223138)
-
修复了静默选项解析问题。(onestepback.org/redmine/issues/show/47)
-
修复了 sh 和 ruby 命令上的 :verbose=>false 标志。
-
Rake 命令行选项可以通过 RAKEOPT 环境变量默认给出。
-
Rake 中的错误现在将显示错误发生时生效的任务调用链。
-
接受了 warnickr 的更改,不在 shell 中展开测试模式(允许测试套件中包含更多文件)。
-
修复了文件任务未在作用域中执行 prereq 查找的问题(Redmine #57)。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence (quix)
-
Roger Pack
-
Cezary Baginski
-
Sean Scot August Moon
-
R.T. Lechow
-
Alex Chaffee
-
James Tucker
-
Matthias Lüdtke
-
Santiago Pastorino
此外,还要感谢 Eric Hodel 协助发布此版本(“协助”包括但不限于“推动”我完成它)。
– Jim Weirich
0.8.7¶ ↑
Rake 版本 0.8.5 引入了对在 Windows 上执行命令的极大改进的支持。“sh”命令现在在 Windows 上具有与在基于 Unix 的平台上相同的语义。
Rake 版本 0.8.6 包括对 RDoc
生成的细微修复。Rake 版本 0.8.7 包括对在 Windows 上运行的 JRuby 的细微修复。
更改¶ ↑
0.8.5 版本中的新功能/增强功能¶ ↑
-
改进了 Windows 的 Rake 系统命令的实现。(来自 James M. Lawrence/quix 的补丁)
-
支持 Ruby 1.9 改进的系统命令。(来自 James
-
Lawrence/quix 的补丁)
-
-
Rake 现在在调用可执行文件时包括配置的扩展名 (Config::CONFIG)
0.8.5 版本中的 Bug 修复¶ ↑
-
环境变量键现在被正确地使用了大小写(在某些实现中很重要)。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Charles Nutter
– Jim Weirich
0.8.6¶ ↑
Rake 版本 0.8.5 引入了对在 Windows 上执行命令的极大改进的支持。“sh”命令现在在 Windows 上具有与在基于 Unix 的平台上相同的语义。
Rake 版本 0.8.5 包括对 RDoc
生成的细微修复。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence/quix
-
Luis Lavena
– Jim Weirich
0.8.5¶ ↑
Rake 版本 0.8.5 是 Rake 的新版本,它极大地改进了对在 Windows 上执行命令的支持。“sh”命令现在在 Windows 上具有与在基于 Unix 的平台上相同的语义。
更改¶ ↑
0.8.5 版本中的新功能/增强功能¶ ↑
-
改进了 Windows 的 Rake 系统命令的实现。(来自 James M. Lawrence/quix 的补丁)
-
支持 Ruby 1.9 改进的系统命令。(来自 James
-
Lawrence/quix 的补丁)
-
-
Rake 现在在调用可执行文件时包括配置的扩展名 (Config::CONFIG)
0.8.5 版本中的 Bug 修复¶ ↑
-
环境变量键现在被正确地使用了大小写(在某些实现中很重要)。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence/quix
-
Luis Lavena
– Jim Weirich
0.8.4¶ ↑
Rake 版本 0.8.4 是 rake 的 bug 修复版本。
注意:Ruby 1.9 附带的 Rake 版本已发生差异
slightly from the core Rake code base. Rake 0.8.4 will work with Ruby 1.9, but is not a strict upgrade for the Rake that comes with Ruby 1.9. A (near) future release of Rake will unify those two codebases.
写信活动¶ ↑
感谢 Aaron Patterson (@tenderlove) 和 Eric Hodel (@drbrain) 在组织写信活动中给予的鼓励性支持,该活动旨在游说发布 Rake 0.8.4 的“无警告”版本。特别要感谢 Jonathan D. Lord, Sr (Dr. Wingnut),他的明信片是第一个真正到达我手中的。(有关详细信息,请参阅 tenderlovemaking.com/2009/02/26/we-need-a-new-version-of-rake/)
更改¶ ↑
0.8.4 版本中的新功能/增强功能¶ ↑
-
在 rakefile 名称上保留大小写。(来自 James 的补丁)
-
Lawrence/quix 的补丁)
-
-
改进了 Rakefile 不区分大小写的测试(来自 Luis Lavena 的补丁)。
-
Windows 系统目录搜索顺序现在为:HOME、HOMEDRIVE + HOMEPATH、APPDATA、USERPROFILE(来自 Luis Lavena 的补丁)
-
MingGW 现在被识别为 Windows 平台。(来自 Luis Lavena 的补丁)
0.8.4 版本中的 Bug 修复¶ ↑
-
删除了对 manage_gem 的引用,以修复 gem 包任务产生的警告。
-
修复了干扰 Test::Unit::Runner 的无关 ARGV 选项问题。(来自 Pivotal Labs 的补丁)
0.8.4 版本中的基础设施改进¶ ↑
-
对 Windows 测试套件的众多修复(来自 Luis Lavena 的补丁)。
-
改进了 Rakefile 不区分大小写的测试(来自 Luis Lavena 的补丁)。
-
更好地支持测试任务中的 Windows 路径(来自 Simon Chiang/bahuvrihi 的补丁)
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James M. Lawrence/quix
-
Luis Lavena
-
Pivotal Labs
-
Simon Chiang/bahuvrihi
– Jim Weirich
0.8.3¶ ↑
Rake 版本 0.8.3 是 rake 的 bug 修复版本。
更改¶ ↑
0.8.3 版本中的 Bug 修复¶ ↑
-
增强了 Windows 中的系统目录检测。如果找不到 APPDATA,我们现在会检查 HOMEDRIVE/HOMEPATH 和 USERPROFILE。(James Tucker 提供的补丁)。如果找不到目录,Rake 不再中止。
-
添加了修复程序,以处理名称中带有空格的目录中的 ruby 安装。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Edwin Pratomo
-
Gavin Stark
-
Adam Q. Salter
-
Adam Majer
-
Emanuel Indermühle
-
Ittay Dror
-
Bheeshmar Redheendran(花了一个下午和我一起调试 Windows 问题)
– Jim Weirich
0.8.2¶ ↑
Rake 版本 0.8.2 是 rake 的新版本,其中包含许多新功能和大量 bug 修复。
更改¶ ↑
0.8.2 版本中的新功能¶ ↑
-
从 getoptlong 切换到 optparse(由 Edwin Pratomo 提供的补丁)。
-
-T 选项现在将尝试动态感知终端的大小。-T 输出仅在输出是 tty 时才会自行截断。但是,如果显式设置了 RAKE_COLUMNS,它将在任何情况下都受到遵守。(Gavin Stark 提供的补丁)。
-
以下公共方法已添加到 rake 任务对象
-
task.clear – 清除目标 rake 任务的先决条件和操作。
-
task.clear_prerequisites – 清除目标 rake 任务中的所有现有先决条件。
-
task.clear_actions – 清除目标 rake 任务中的所有现有操作。
-
task.reenable – 重新启用任务,允许在调用任务时再次执行其操作。
-
-
更改了
RDoc
测试任务,使其没有默认模板。这使得模板更容易从环境中获取模板。 -
任务参数的默认值可以使用 :with_defaults 方法轻松指定。(默认参数合并的想法由 (Adam Q. Salter) 提供)
0.8.2 版本中的 Bug 修复¶ ↑
-
修复了包任务中的错误,以便它将子目录包含在包中以进行测试。(Adam Majer 发现的错误)
-
修复了 test_inspect_pending 和 test_to_s_pending 中的文件名依赖顺序错误。(Adam Majer 发现的错误)
-
修复了文件实用程序选项的检查,使其不受符号/字符串差异的影响。(Edwin Pratomo 提供的补丁)
-
修复了涉及多个源的规则中的错误,其中规则的第一个依赖项才有效(由 Emanuel Indermühle 提供的补丁)
-
FileList#clone 和 FileList#dup 在污点和冻结方面具有更好的语义。
-
从使用互斥锁(Mutex)改为使用监视器(Monitor)。显然,当 Ruby 使用 -disable-pthreads 编译时,互斥锁会导致线程连接错误。(补丁由 Ittay Dror 提供)
-
修复了 makefile 解析器中的一个错误,该错误在文件任务名称中有多余空格时会出现问题。(补丁由 Ittay Dror 提供)
0.8.2 版本中的其他更改¶ ↑
-
在 rake 自身的 Rakefile 中添加了 ENV 变量,以防止 OS X 在 rake 包的 tar 文件中包含扩展属性垃圾。(错误由 Adam Majer 发现)
-
添加了一个用于读取大型 makefile 依赖文件的性能补丁。(补丁由 Ittay Dror 提供)
任务参数示例¶ ↑
在 0.8.0 版本之前,rake 只能处理通过 ENV 哈希传递给 Rake 的 NAME=VALUE 形式的命令行参数。许多人要求使用某种简单的命令行参数,可能使用 “–” 来分隔命令行中的常规任务名称和参数值。问题在于,没有简单的方法可以将命令行中的位置参数与不同的任务关联起来。假设任务 :a 和 :b 都需要一个命令行参数:第一个值应该与 :a 关联吗?如果 :b 先运行呢?它应该获取第一个命令行参数吗?
Rake 0.8.0 通过将值直接传递给需要它们的任务来解决这个问题。例如,如果我有一个需要版本号的发布任务,我可以这样说
rake release[0.8.2]
字符串 “0.8.2” 将被传递给 :release 任务。可以通过逗号分隔传递多个参数,例如
rake name[john,doe]
请注意一些事项。rake 任务名称及其参数需要是 rake 的单个命令行参数。这通常意味着没有空格。如果需要空格,则整个 rake + 参数字符串应该用引号引起来。类似这样
rake "name[billy bob, smith]"
(不同操作系统和 shell 之间的引号规则有所不同,因此请务必查阅您的操作系统/shell 的相应文档)。
需要参数的任务¶ ↑
参数仅传递给设置为需要参数的任务。为了处理命名参数,任务的任务声明语法已略作扩展。
例如,需要名字和姓氏的任务可以声明为
task :name, :first_name, :last_name
第一个参数仍然是任务的名称(在本例中为 :name)。接下来的两个参数是 :name 期望的参数名称(例如中的 :first_name 和 :last_name)。
为了访问参数的值,定义任务行为的代码块现在可以接受第二个参数
task :name, :first_name, :last_name do |t, args| puts "First name is #{args.first_name}" puts "Last name is #{args.last_name}" end
代码块的第一个参数 “t” 始终绑定到当前任务对象。第二个参数 “args” 是一个类似于 open-struct 的对象,允许访问任务参数。传递给任务的额外命令行参数将被忽略。缺少的命令行参数将被赋予 nil 值。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Edwin Pratomo
-
Gavin Stark
-
Adam Q. Salter
-
Adam Majer
-
Emanuel Indermühle
-
Ittay Dror
-
Bheeshmar Redheendran(花了一个下午和我一起调试 Windows 问题)
– Jim Weirich
0.8.0/0.8.1¶ ↑
Rake 0.8.0 版本是 rake 的一个新版本,其中包含几个新功能。
更改¶ ↑
0.8.0 版本中的新功能¶ ↑
-
任务现在可以接收命令行参数。有关详细信息,请参见下面的示例。
-
注释在输出时限制为 80 列,但可以使用 -D 参数查看完整的注释。(功能由 Jamis Buck 建议)。
-
显式的 exit(n) 调用现在会将退出状态设置为 n。(补丁由 Stephen Touset 提供)。
-
Rake 现在与 Ruby 1.9 兼容。
0.8.1 版本是一个次要更新,其中包含其他 Ruby 1.9 兼容性修复。
任务参数示例¶ ↑
在 0.8.0 版本之前,rake 只能处理通过 ENV 哈希传递给 Rake 的 NAME=VALUE 形式的命令行参数。许多人要求使用某种简单的命令行参数,可能使用 “–” 来分隔命令行中的常规任务名称和参数值。问题在于,没有简单的方法可以将命令行中的位置参数与不同的任务关联起来。假设任务 :a 和 :b 都需要一个命令行参数:第一个值应该与 :a 关联吗?如果 :b 先运行呢?它应该获取第一个命令行参数吗?
Rake 0.8.0 通过将值直接传递给需要它们的任务来解决这个问题。例如,如果我有一个需要版本号的发布任务,我可以这样说
rake release[0.8.0]
字符串 “0.8.0” 将被传递给 :release 任务。可以通过逗号分隔传递多个参数,例如
rake name[john,doe]
请注意一些事项。rake 任务名称及其参数需要是 rake 的单个命令行参数。这通常意味着没有空格。如果需要空格,则整个 rake + 参数字符串应该用引号引起来。类似这样
rake "name[billy bob, smith]"
(不同操作系统和 shell 之间的引号规则有所不同,因此请务必查阅您的操作系统/shell 的相应文档)。
需要参数的任务¶ ↑
参数仅传递给设置为需要参数的任务。为了处理命名参数,任务的任务声明语法已略作扩展。
例如,需要名字和姓氏的任务可以声明为
task :name, :first_name, :last_name
第一个参数仍然是任务的名称(在本例中为 :name)。接下来的两个参数是 :name 期望的参数名称(例如中的 :first_name 和 :last_name)。
为了访问参数的值,定义任务行为的代码块现在可以接受第二个参数
task :name, :first_name, :last_name do |t, args| puts "First name is #{args.first_name}" puts "Last name is #{args.last_name}" end
代码块的第一个参数 “t” 始终绑定到当前任务对象。第二个参数 “args” 是一个类似于 open-struct 的对象,允许访问任务参数。传递给任务的额外命令行参数将被忽略。缺少的命令行参数将被赋予 nil 值。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Jamis Buck(提出注释格式建议)
-
Stephen Touset(提供退出状态补丁)。
– Jim Weirich
0.7.3¶ ↑
Rake 0.7.3 版本是一个次要版本,其中包含一些重构,以更好地支持自定义 Rake 应用程序。
更改¶ ↑
0.7.3 版本中的新功能¶ ↑
-
添加了
init
和top_level
方法,以使创建自定义 Rake 应用程序更容易。例如gem 'rake', ">= 0.7.3" require 'rake' Rake.application.init('myrake') task :default do something_interesting end Rake.application.top_level
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
– Jim Weirich
0.7.2¶ ↑
0.7.2 版本提供了一个错误修复和一些小的改进。特别是,新版本修复了与即将发布的 Ruby 1.8.6 的不兼容性。我们强烈建议升级到 Rake 0.7.2,以便与新版本的 Ruby 兼容。
更改¶ ↑
0.7.2 中的错误修复¶ ↑
在新的 0.7.2 版本 Rake 中有相当多的错误修复
-
删除了对来自
FileUtils
的内部 fu_xxx 函数的依赖。 -
错误消息现在发送到 stderr 而不是 stdout(来自 Payton Quackenbush)。
-
更好地处理无效的命令行参数(来自 Payton Quackenbush)。
-
修复了一些错误,这些错误导致应用程序对象使用全局应用程序而不是使用自己的数据。
-
修复了来自
FileUtils
的方法名称泄漏(错误由 Glenn Vanderburg 发现)。 -
为 sh 命令添加了 noop、bad_option 和 verbose 标志的测试。
-
在 GemPackageTask 中为 gem 任务添加了描述。
-
修复了规则具有多个先决条件时的错误(补丁由 Joel VanderWerf 提供)
-
还将一些 RakeFileUtils 添加到私有方法中。
0.7.2 中的新功能¶ ↑
以下新功能在 Rake 0.7.2 版本中可用
-
向 FileList#include 添加了方括号和花括号模式 (Tilman Sauerbeck)。
-
FileList 现在可以将代码块传递给 FileList#exclude,以根据计算值排除文件。
-
向规则依赖项添加了纯文件名支持(由 Nobu Nakada 建议)。
-
向规则依赖项添加了 pathmap 支持。换句话说,如果 pathmap 格式(以 “%” 开头)作为 Rake 规则依赖项给出,则依赖项的名称将是应用了 pathmap 格式的目标名称。
-
向命名空间添加了一个 “tasks” 方法,以获取与命名空间关联的任务列表。
-
向 Package 任务添加了 tar_command 和 zip_command 选项。
-
如果 “core” 是一个目录,则 clean 任务将不再删除它。
内部 Rake 改进¶ ↑
以下更改主要是内部改进和重构,对最终用户几乎没有影响。但它们可能引起公众的兴趣。
-
添加了 rcov 任务,并更新了单元测试以获得更好的代码覆盖率。
-
在 Rakefile 中添加了一个 “shame” 任务。
-
添加了 rake_extension 来处理扩展冲突的检测。
-
在 test/test_application 中添加了一个受保护的 “require 'rubygems'”,以取消对 cruisecontrol.rb 的破坏。
-
删除了 rake_dup。现在我们只是简单地救援一个错误的 dup。
-
重构了 FileList 的拒绝逻辑,以消除重复。
-
删除了 rake.rb 文件末尾的 if _FILE_。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Payton Quackenbush – 进行了几项错误处理改进。
-
Glenn Vanderburg – 查找并修复了来自
FileUtils
的方法名称泄漏。 -
Joel VanderWerf – 用于查找和修复处理多个先决条件时的错误。
-
Tilman Sauerbeck – 用于增强 FileList 以支持更高级的文件 globbing。
-
Nobu Nakada – 用于建议对规则依赖项的纯文件名支持。
– Jim Weirich
0.7.1¶ ↑
0.7.1 版本提供了一个错误修复和一些小的改进。
更改¶ ↑
0.7.1 中的错误修复¶ ↑
-
FileUtils.ln 报告的异常更改导致 safe_ln 因 NotImplementedError 而失败。Rake 0.7.1 现在将捕获该错误或任何 StandardError,并正确回退到使用
cp
。
0.7.1 中的新功能¶ ↑
-
您可以通过提供可选的正则表达式来过滤 –task 选项的结果。这允许用户在很长的可能名称列表中轻松找到特定的任务名称。
-
规则中的转换过程现在可以返回先决条件列表。这允许更灵活的规则形成。
-
FileList 和
String
现在支持pathmap
方法,这使得转换路径更容易。有关详细信息,请参见pathmap
的 API 文档。 -
没有值的 -f 选项将禁用对 Rakefile 的搜索。这允许完全在库中定义 Rakefile(并使用 -r 选项加载)。执行此操作时,当前工作目录不会更改。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
James Britt 和 Assaph Mehr 报告并帮助调试 safe_ln 问题。
– Jim Weirich
0.7.0¶ ↑
Rake 的这些更改已经酝酿了很长时间。它们在这里,我希望你喜欢它们。
更改¶ ↑
新功能¶ ↑
-
支持任务名称的命名空间(见下文)。
-
可以并行执行先决条件(见下文)。
-
添加了对 openAFS 的 safe_ln 支持(通过 Ludvig Omholt)。
-
RDoc
默认为内部(进程内)调用。通过将external
标志设置为 true,仍然可以使用旧的行为。 -
Rakefile 现在使用扩展路径加载,以防止 Ruby 加载路径的意外污染。
-
任务对象现在可以直接在先决条件列表中使用。
-
任务对象(除了任务名称)现在可以包含在任务的先决条件列表中。
-
内部清理和重构。
Bug 修复¶ ↑
-
针对 Ruby 1.8.4
FileUtils
更改的兼容性修复。
命名空间¶ ↑
任务现在可以嵌套在自己的命名空间中。一个命名空间内的任务不会意外地干扰另一个命名空间中命名的任务。
例如
namespace "main" do task :build do # Build the main program end end namespace "samples" do task :build do # Build the sample programs end end task :build_all => ["main:build", "samples:build"]
尽管这两个任务都名为 :build,但它们是各自命名空间中的单独任务。:build_all 任务(在顶层命名空间中定义)在其先决条件中引用了这两个 build 任务。
您可以使用以下命令调用每个单独的 build 任务
rake main:build rake samples:build
或通过 :build_all 命令调用两者
rake build_all
命名空间可以任意嵌套。由于文件任务的名称对应于外部文件系统中的文件名,因此 FileTask 不受命名空间的影响。
有关更多信息,请参见 Rakefile 格式文档(在 Rake API 文档中)。
并行任务¶ ↑
有时,您有几个可以并行执行的任务。通过将这些任务指定为 multitask
任务的先决条件。
在以下示例中,任务 copy_src、copy_doc 和 copy_bin 将在其自己的线程中并行执行。
multitask :copy_files => [:copy_src, :copy_doc, :copy_bin] do puts "All Copies Complete" end
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Doug Young(并行任务的灵感来源)
-
David Heinemeier Hansson(用于增强 –trace 消息和推动命名空间支持)。
-
Ludvig Omholt(用于 openAFS 修复)
– Jim Weirich
0.6.1¶ ↑
-
重建了未签名的 0.6.0 gem。
0.6.0¶ ↑
是时候进行一些期待已久的增强功能和大量的错误修复了……以及一个全新的网页。
新网页¶ ↑
rake 的主要文档已从基于 RubyForge 的 wiki 迁移到其自己的基于 Hieraki 的网站。wiki 上不断的垃圾邮件使其难以保持清洁。新网站将更容易更新和组织。
请查看新文档:docs.rubyrake.org
我们将随着时间的推移向该网站添加新文档。
除了新的文档页面外,请务必查看 Martin Fowler 关于 rake 的文章:martinfowler.com/articles/rake.html
更改¶ ↑
新功能¶ ↑
-
现在允许 Rake 规则有多个先决条件。但是,请记住以下几点:
-
必须在触发规则之前提供规则的所有先决条件,“启用”表示 (a) 现有文件,(b) 已定义的规则,或 (c) 另一个也必须可触发的规则。
-
规则按定义顺序检查,因此正确排序规则非常重要。如果一个文件可以通过两个不同的规则创建,请将更具体的规则放在前面(否则,更通用的规则将首先触发,而具体的规则将永远不会触发)。
-
source
方法现在返回规则中列出的第一个先决条件的名称。sources
返回所有规则先决条件的名称,按它们在规则中定义的顺序排列。如果任务有其他未在规则中定义的先决条件(但在显式任务定义中定义),则它们将不会包含在源列表中。
-
-
FileList 现在可以使用 egrep 命令。这个流行的增强功能现在是 FileList 对象的核心部分。如果您想获取所有待办事项、修复和 TBD 注释的列表,请将以下内容添加到您的 Rakefile 中。
desc "Look for TODO and FIXME tags in the code" task :todo do FileList['**/*.rb'].egrep /#.*(FIXME|TODO|TBD)/ end
-
将
investigation
方法添加到任务对象中以转储一些重要的值。这使得调试 Rake 任务变得更容易一些。例如,如果您在某个特定任务中遇到问题,只需将其打印出来即可
task :huh do puts Rake::Task['huh'].investigation end
-
Rake::TestTask
类现在支持 “ruby_opts” 选项,以将任意 Ruby 选项传递给测试子进程。
一些不兼容性¶ ↑
-
当使用
ruby
命令启动 Ruby 子进程时,默认情况下使用当前正在运行 rake 的 Ruby 解释器。这使得在具有多个 ruby 安装的环境中使用 rake 更加容易。(以前,使用在 PATH 中找到的第一个 ruby 命令)。如果您希望选择其他 Ruby 解释器,可以通过
sh
命令显式选择解释器。 -
主要的 rake 类(Task、FileTask、FileCreationTask、RakeApp)已从顶级作用域移出,现在可以作为
Rake::Task
、Rake::FileTask
、Rake::FileCreationTask
和Rake::Application
访问。如果您的 Rakefile 直接引用了这些任务中的任何一个,您可以-
更新您的 Rakefile 以使用新的类名
-
在 rake 命令中使用 –classic-namespace 选项以获得旧的行为,
-
将
require 'rake/classic_namespace'
添加到 Rakefile 以获得旧的行为。
每当引用已弃用的类名而未启用经典命名空间时,
rake
将打印一个相当烦人的警告。 -
Bug 修复¶ ↑
-
修复了几个单元测试和功能测试,使其在 Windows 下运行得更好。
-
目录任务现在是文件任务的特殊版本。目录任务仅在其不存在时才会被触发。如果它相对于其任何先决条件过期,则不会触发。
-
修复了 Rake::GemPackageTask 类中的一个错误,以便 gem 现在正确包含平台名称。
-
修复了一个错误,其中
file
任务的先决条件如果不存在会导致异常。
感谢¶ ↑
像往常一样,是用户的意见推动了这些更改。以下人员贡献了补丁、提出了建议或提供了其他有益的评论。感谢 …
-
Greg Fast (更好的 ruby_opt 测试选项)
-
Kelly Felkins(要求更好的命名空间支持)
-
Martin Fowler(建议 Task.investigation)
-
Stuart Jansen(发送多个先决条件的初始补丁)。
-
Masao Mutch(更好地支持非 Ruby Gem 平台)
-
Philipp Neubeck(用于文件任务异常修复的补丁)
– Jim Weirich
0.5.4¶ ↑
是时候进行一些小的错误修复和小的增强了
更改¶ ↑
以下是 0.5.4 版本的更改 …
-
在测试运行器中添加了双引号。这允许测试(和运行器)的位置位于包含空格的目录路径中(例如 “C:/Program Files/ruby/bin”)。
-
将 .svn 添加到默认忽略列表。现在 Rake 的 FileList 会自动忽略 subversion 项目元数据。
-
更新了 FileList#include 以支持嵌套数组和文件列表。FileList 是文件名的平面列表。在 include 中使用 FileList 将展平嵌套的文件名。
感谢¶ ↑
像往常一样,用户的输入推动了许多这些更改。感谢 …
-
Tilman Sauerbeck 提出的嵌套 FileList 建议。
-
Josh Knowles 指出的目录名称问题中的空格。
– Jim Weirich
0.5.3¶ ↑
尽管自上次发布以来仅过了两周,但我们对 Rake 程序进行了足够的更新,因此是时候进行另一次发布了。
更改¶ ↑
以下是 0.5.3 版本的更改 …
-
FileList 已经过广泛更改,以便更紧密地模仿真实数组的行为。特别是,返回新集合的 FileList 上的操作(例如 collect、reject)现在将返回 FileList 而不是数组。此外,还修复了多个在使用前未正确扩展 FileList 的位置。
-
向
String
和 Array 添加了一个用于简化文件扩展名处理的方法 (ext
)。 -
test/unit 中的 'testrb' 脚本倾向于默默地吞噬测试套件中的语法错误。因此,默认的测试加载器现在是 rake 提供的脚本。您仍然可以通过将测试任务中的加载器标志设置为 :testrb 来使用 'testrb'。(有关所有加载器标志值,请参阅 TestTask 的 API 文档)。
-
FileUtil 方法(例如 cp、mv、install)现在声明为私有。这将减少与用户定义的同名方法的干扰。
-
修复了 TestTask 中的 verbose 标志,以便测试代码受该标志控制。还缩短了一些失败消息。(感谢 Tobias Luetke 的建议)。
-
规则现在将正确检测可以生成源文件的任务。以前,规则只会考虑已存在的源文件。
-
添加了一个
import
命令,该命令允许 Rake 将依赖项动态导入到正在运行的 Rake 会话中。import
命令可以运行任务以在加载依赖项文件之前更新它们。依赖项文件可以是 rake 或 make 格式,允许 rake 与设计用于为 make 生成依赖项的工具一起使用。
感谢¶ ↑
像往常一样,用户的输入推动了许多这些更改。感谢 …
-
Brian Gernhardt 用于规则修复(特别是耐心向我解释问题,直到我理解了他的意思)。
-
Stefan Lang 用于指出 FileList 实现黑暗角落中的问题。
-
Alexey Verkhovsky 指出测试中默默吞噬语法错误的问题。
-
Tobias Luetke 用于美化测试任务输出。
-
Sam Roberts 用于依赖加载背后的一些想法。
– Jim Weirich
0.5.0¶ ↑
经过漫长的等待,我们终于有了一个新的 Rake 版本可用。
更改¶ ↑
-
修复了缺少 Rake 模块名称的文档 (Tilman Sauerbeck)。
-
向 package 任务添加了 tar.gz 和 tar.bz2 支持 (Tilman Sauerbeck)。
-
现在支持递归规则 (Tilman Sauerbeck)。
-
为 Test Task 添加了警告选项(由 Eric Hodel 请求)。
-
仅当 jamis rdoc 模板存在时才使用它。
-
添加了针对 Ruby 1.8.2 test/unit 和 rails 问题的修复。
-
添加了贡献的 rake man 文件 (Jani Monoses)。
-
添加了 Brian Candler 针对 –trace 和 –dry-run 模式下问题的修复。
感谢¶ ↑
很多人为这个版本提供了意见。感谢 Tilman Sauerbeck 提供了许多补丁、文档修复和建议。并感谢他推动我发布此版本。此外,感谢 Brian Candler 发现并修复了 –trace/dry-run 修复。那是一个晦涩的错误。还要感谢 Eric Hodel 提出了一些好的建议。
– Jim Weirich
0.4.15¶ ↑
更改¶ ↑
0.4.15 版本是对 Ruby 1.8.2 兼容性更改的错误修复更新。此版本包括
-
修复了阻止 TESTOPTS 标志与为 1.8.2 修订的测试任务一起工作的错误。
-
更新了 –trace 的文档,以表明它还会启用错误上的完整回溯。
-
针对生成的新警告进行了几处修复。
迷你路线图¶ ↑
我将继续在 0.4.xx 系列中发布 Rake 更新,因为新的 Ruby-1.8.2 问题会显现出来。一旦代码库稳定下来,我将发布一个包含所有更改的 0.5.0 版本。如果您没有使用 Ruby-1.8.2 并希望避免版本动荡,我建议保留 Rake-0.4.14 之前的版本。
0.4.14¶ ↑
0.4.14 版本是一个兼容性修复,允许 Rake 的测试任务在 Ruby 1.8.2 下工作。Test::Unit 的自动运行功能中的更改阻止 Rake 运行任何测试。此版本修复了该问题。
对于任何使用 Ruby 1.8.2 的人,推荐使用 Rake 0.4.14 版本。
0.4.13¶ ↑
-
修复了 dry-run 标志,使其再次运行。
-
sh 和 ruby 命令的多个参数不会被 shell 解释(Jonathan Paisley 提供的补丁)。
0.4.12¶ ↑
-
添加了 –silent (-s) 以禁止显示(在目录中)rake 消息。
0.4.11¶ ↑
-
更改了 “不知道如何 rake” 的消息(终于)
-
将对文字 “Rakefile” 的引用更改为引用全局变量 $rakefile(其中包含 rakefile 的实际名称)。
0.4.10¶ ↑
-
为 “sh” 命令添加了块支持,允许用户对系统调用的结果执行特殊操作。例如
sh "shell_command" do |ok, res| puts "Program returned #{res.exitstatus}" if ! ok end
0.4.9¶ ↑
-
切换到 Jamis Buck 的
RDoc
模板。 -
从 Rake 的 gem 规范中移除 autorequire。这可以防止在使用 rails 时加载 Rake 库。
0.4.8¶ ↑
-
增加了对 Rakefile 的 .rb 版本的支持。
-
从测试任务中移除了 \n。
-
修复了 Ruby 1.9 中 FileList 的兼容性问题。
0.4.7¶ ↑
-
修复了 FileList 中导致 Ruby 1.9 进入无限递归的问题。由于 to_a 已从
Object
中移除,因此无需将其添加回 FileList 中要重写的方法列表中。(感谢 Kent Sibilev 指出这一点)。
0.4.6¶ ↑
-
移除了
FileUtils
中 ln 的测试版本,该版本阻止了 safe_ln 使用 ln。
0.4.5¶ ↑
-
升级了 TestTask 中的注释。
-
FileList 的 to_s 和 inspect 现在自动解析待处理的更改。
-
FileList#exclude 正确返回 FileList。
0.4.4¶ ↑
-
修复了 @comment 的初始化问题。
-
现在在 TestTask 中使用 multi -r 技术。将 Rakefile 切回使用内置的测试任务宏,因为不再需要 rake 运行时。
-
在测试任务宏中添加了 ‘TEST=filename’ 和 ‘TESTOPTS=options’。
-
允许测试任务中存在
test_files
属性。这使得指定测试文件更加灵活。
0.4.3¶ ↑
-
修复了注释泄漏。
0.4.2¶ ↑
-
添加了 safe_ln,如果不支持文件链接,则会回退到复制。
-
包构建器现在使用 safe_ln。
0.4.1¶ ↑
-
任务注释现在是累加的,与“/”组合。
-
适用于(即将发布的)rubygems 0.6.2(或 0.7.0)
0.4.0¶ ↑
-
FileList 现在使用延迟加载。直到第一次调用需要文件名时,才会搜索文件系统。
-
VAR=VALUE 选项现在可以在命令行上接受,并被视为环境变量。可以通过引用 ENV 在 Rakefile 中测试这些值。
-
现在使用 File.mtime(而不是 File.new().mtime)。
0.3.2.x¶ ↑
-
移除了一些对 rubygems 的隐藏依赖。现在,只有在安装了 gem 时才会测试它们。
-
从一些示例文件中移除了 Sys。我相信这是 contrib 区域之外对 Sys 的最后一次引用。
-
更新了所有版权声明,使其包含 2004 年。
0.3.2¶ ↑
-
GEM 安装现在可以使用应用程序存根。
0.3.1¶ ↑
-
FileLists 现在自动忽略 CVS、.bak 和 !
-
GEM 安装现在可以使用。
0.3.0¶ ↑
提升为 0.2.10。
0.2.10¶ ↑
常规
-
为 Rake 的 rdocs 添加了标题
-
Contrib 包不再包含在文档中。
RDoc
问题
-
移除了 ‘–main’ 选项的默认值
-
修复了 rdoc 选项的渲染
-
修复了 rerdoc 的 clean/clobber 混淆
-
添加了 ‘title’ 属性
包任务库问题
-
版本(或显式的 :noversion)是必需的。
-
package_file
属性现在是可写的
FileList 问题
-
删除了 exclude 的 bang 版本。现在使用类似 ant 的 include/exclude 语义。
-
在 FileList#initialize 中启用了 “yield self” 习惯用法。
0.2.9¶ ↑
此版本包含许多更改,因为正在准备 RubyConf.new(2003) 演示文稿。这些更改包括
-
单体 rubyapp 任务库正在被放弃,转而采用更轻量级的任务库。
0.2.7¶ ↑
-
为任务描述添加了 “desc”。
-
-T 现在将显示带有描述的任务。
-
-P 将显示任务和先决条件。
-
放弃了 Sys 模块,转而使用 1.8.x
FileUtils
模块。Sys 仍然在 contrib 区域中受支持。
0.2.6¶ ↑
-
迁移到 RubyForge
0.2.5¶ ↑
-
切换到标准的 ruby 应用程序构建器。
-
为文件匹配器添加了 no_match 选项。
0.2.4¶ ↑
-
修复了 indir,它忽略了实际更改目录。
0.2.3¶ ↑
-
为帮助目标添加了 rake 模块
-
为 Sys 添加了 ‘for_files’
-
添加了 $rakefile 常量
-
添加了用于选择具有多个目标的正确规则的测试。