构建器调试构建文件

时间:2013-10-23 08:29:05

标签: ruby debugging buildr

我是Buildr的新手,我正在努力让我的项目得以运行。有没有办法在buildr执行时调试并逐步执行»buildfile«中的实际脚本?

如果是,哪个IDE支持此功能并且可以设置?

到目前为止感谢!

2 个答案:

答案 0 :(得分: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?

答案 1 :(得分:0)

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

幸运的是,在SO的帮助下,我可以找到正常工作的this项目。使用命令行进行调试我觉得奇怪有点新,但它也适用于»buildfile«,所以这个解决方案最适合我的需要。

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

sudo env JAVA_HOME=$JAVA_HOME gem install buildr