我有以下构建器构建文件段:
require "buildr/protobuf"
....
define "protobuf-stuff" do
pbs = protoc(
Dir[_("pbsrc/some/pkg/*.proto")], {
:include => [_("pbsrc")],
})
comp = compile.from(pbs).with(PROTOBUF_LIB) # MARK
package :jar
end
Buildr 是 1.4.4,在两台机器上安装了 Linux 安装脚本。
- 机器 1: Debian 32bit, ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- 机器 2:Ubuntu 64 位,ruby 1.8.7(2010-01-10 补丁级别 249)[x86_64-linux]
机器 1 编译所有文件。MARK
机器 2 在-ed 位置失败,使用
Buildr aborted!
TypeError : can't convert Rake::FileTask into String
/usr/lib/ruby/gems/1.8/gems/buildr-1.4.4/lib/buildr/core/application.rb:414:in `raw_load_buildfile'
/usr/lib/ruby/gems/1.8/gems/buildr-1.4.4/lib/buildr/core/application.rb:218:in `load_buildfile'
/usr/lib/ruby/gems/1.8/gems/buildr-1.4.4/lib/buildr/core/application.rb:213:in `load_buildfile'
现在我可以看到这pbs
是一个 FileTask 而不是一个字符串.. 但是为什么一台机器接受它,另一台不接受呢?是否有强制转换为字符串?
一些构建器跟踪附加在http://pastebin.com/nf4HiYx9上。
谢谢你。