1

我对 Buildr 很陌生,我正在尝试在我的项目中启动并运行它。有没有办法在 buildr 执行时调试和逐步执行 »buildfile« 中的实际脚本?

如果是,哪个 IDE 支持这个,可以设置吗?

到目前为止感谢!

4

2 回答 2

3

您可以将-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?
于 2013-10-23T17:33:45.907 回答
0

在调试 »buildfile« 的过程中,我遇到了调试 ruby​​ 的一般问题。我找到了几个解决方案,包括用于 eclipse 的 aptana 插件等等,但是由于我使用的是 ruby​​ 1.9,所以没有任何工作正常。

幸运的是,在 SO 的帮助下,我可以找到这个项目,它应该可以正常工作。我对使用命令行进行调试感到有些陌生,但它也适用于 »buildfile«,因此该解决方案最适合我的需求。

是一个不错的小截屏视频,展示了如何使用 cli 调试器,这里有一些非常有用的页面,它对我使用 ruby​​ 1.9 安装 buildr 帮助很大。完成安装所需的 cli 行是:

sudo env JAVA_HOME=$JAVA_HOME gem install buildr
于 2013-10-26T18:15:14.257 回答