我对 Buildr 很陌生,我正在尝试在我的项目中启动并运行它。有没有办法在 buildr 执行时调试和逐步执行 »buildfile« 中的实际脚本?
如果是,哪个 IDE 支持这个,可以设置吗?
到目前为止感谢!
您可以将-t
/--trace
标志传递给 Buildr 以跟踪执行,例如,
% buildr -t debug package
跟踪标志支持几个(未记录的)类别以缩小对特定主题的跟踪量;以下是一些当前的:
-t java # runs java in -verbose mode
-t javac # runs javac in -verbose mode
...
如果你想要完整的主题列表,你可以 grep 源代码:
$ find lib -name "*.rb" | xargs grep -E "trace\?"
lib/buildr/scala/doc.rb: cmd_args << '-verbose' if trace?(:scaladoc)
lib/buildr/scala/doc.rb: cmd_args = [ '-d', target, (trace?(:vscaladoc) ? '-verbose' : ''),
lib/buildr/scala/compiler.rb: cmd_args << "-debug" if trace?(:scalac)
lib/buildr/scala/compiler.rb: args << "-verbose" if trace?(:scalac)
lib/buildr/java/doc.rb: cmd_args = [ '-d', target, trace?(:javadoc) ? '-verbose' : '-quiet' ]
lib/buildr/java/ecj.rb: args << '-verbose' if trace?(:ecj)
lib/buildr/java/compiler.rb: args << '-verbose' if trace? :javac
lib/buildr/java/compiler.rb: cmd_args = [ trace?(:apt) ? '-verbose' : '-nowarn' ]
lib/buildr/java/external.rb: args << '-verbose' if trace?(:javac)
lib/buildr/java/ant.rb: options.merge!(:logger=> Logger.new(STDOUT), :loglevel=> Logger::DEBUG) if trace?(:ant)
lib/buildr/java/ant.rb: setMessageOutputLevel((trace?(:ant) && 4) || (verbose && 2) || 0)
lib/buildr/java/emma.rb: ant.emma :verbosity=>(trace?(:emma) ? 'verbose' : 'warning') do
lib/buildr/java/commands.rb: options[:verbose] ||= trace?(:java)
lib/buildr/java/commands.rb: cmd_args = [ trace?(:apt) ? '-verbose' : '-nowarn' ]
lib/buildr/java/commands.rb: cmd_args = [ '-d', options[:output], trace?(:javadoc) ? '-verbose' : '-quiet' ]
lib/buildr/groovy/doc.rb: cmd_args = [ '-d', target, trace?(:groovydoc) ? '-verbose' : nil ].compact
lib/buildr/groovy/compiler.rb: options[:verbose] ||= trace?(:groovyc) if options[:verbose].nil?
lib/buildr/core/application.rb:def trace?(*category)
lib/buildr/core/test.rb: error ex.backtrace.join("\n") if trace?
在调试 »buildfile« 的过程中,我遇到了调试 ruby 的一般问题。我找到了几个解决方案,包括用于 eclipse 的 aptana 插件等等,但是由于我使用的是 ruby 1.9,所以没有任何工作正常。
幸运的是,在 SO 的帮助下,我可以找到这个项目,它应该可以正常工作。我对使用命令行进行调试感到有些陌生,但它也适用于 »buildfile«,因此该解决方案最适合我的需求。
这是一个不错的小截屏视频,展示了如何使用 cli 调试器,这里有一些非常有用的页面,它对我使用 ruby 1.9 安装 buildr 帮助很大。完成安装所需的 cli 行是:
sudo env JAVA_HOME=$JAVA_HOME gem install buildr