2013-10-23 2 views
1

저는 Buildr을 매우 신중하게 사용하고 있으며 프로젝트를 시작하려고합니다. »buildr에 의해 실행되는 동안»buildfile 내부의 실제 스크립트를 디버깅하고 단계별 실행하는 방법이 있습니까?Buildr - 빌드 파일 디버깅

예인 경우 어떤 IDE가이를 지원하며이 기능을 설정할 수 있습니까?

감사합니다.

답변

3

사용자가 실행을 추적 Buildr에 -t/--trace 플래그를 통과 할 수있다 예를 들어,

% buildr -t debug package 

특정 주제 추적의 양을 좁힐 추적 플래그 지원 여러 (미등록) 분류; 여기에 현재의 것들 중 일부입니다 : 내가 와서«빌드 파일»를 디버깅하는 방법에

$ 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? 
+0

대단히 감사합니다. 이것은 실제로 매우 도움이됩니다. 나는 buildfile을 디버깅하는 방법을 찾았지만, 내 대답은 아래에 나와있다.하지만 Ruby에 조금 익숙하지 않기 때문에 이것은 놀랄 일이 아니다. – philipp

0

: 당신은 주제의 전체 목록을 원하는 경우

-t java # runs java in -verbose mode 
-t javac # runs javac in -verbose mode 
... 

, 당신은 소스 코드를 grep을 할 수 있습니다 루비 디버깅의 일반적인 문제. 이클립스 용 aptana 플러그인 등 여러 가지 솔루션을 찾았지만 루비 1.9를 사용하고 있기 때문에 아무 것도 제대로 작동하지 않았습니다.

다행히 SO의 도움으로 나는 this 프로젝트를 제대로 수행 할 수 있습니다. 디버깅 할 때 명령 행을 사용하는 것이 조금 이상하다고 생각하지만,»buildfile에 대해서도 잘 작동합니다. 그래서이 솔루션은 제 요구에 가장 잘 맞습니다.

는 멋진 디버거와 here ruby ​​1.9를 사용하여 buildr을 설치하는 데 매우 도움이되는 몇 가지 매우 유용한 페이지를 보여줍니다. 설치를 완료하는 데 필요한 줄은 다음과 같습니다.

sudo env JAVA_HOME=$JAVA_HOME gem install buildr