我是Buildr的新手,我正在努力让我的项目得以运行。有没有办法在buildr执行时调试并逐步执行»buildfile«中的实际脚本?
如果是,哪个IDE支持此功能并且可以设置?
到目前为止感谢!
答案 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