ruby-debug-ide22 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +75 -75
  3. data/ChangeLog.archive +1073 -1073
  4. data/ChangeLog.md +594 -594
  5. data/Gemfile +38 -38
  6. data/MIT-LICENSE +24 -24
  7. data/Rakefile +92 -92
  8. data/bin/gdb_wrapper +96 -96
  9. data/bin/rdebug-ide +200 -200
  10. data/ext/mkrf_conf.rb +44 -44
  11. data/lib/ruby-debug-ide/attach/debugger_loader.rb +20 -20
  12. data/lib/ruby-debug-ide/attach/gdb.rb +73 -73
  13. data/lib/ruby-debug-ide/attach/lldb.rb +71 -71
  14. data/lib/ruby-debug-ide/attach/native_debugger.rb +133 -133
  15. data/lib/ruby-debug-ide/attach/process_thread.rb +54 -54
  16. data/lib/ruby-debug-ide/attach/util.rb +114 -114
  17. data/lib/ruby-debug-ide/command.rb +187 -187
  18. data/lib/ruby-debug-ide/commands/breakpoints.rb +128 -128
  19. data/lib/ruby-debug-ide/commands/catchpoint.rb +64 -64
  20. data/lib/ruby-debug-ide/commands/condition.rb +51 -51
  21. data/lib/ruby-debug-ide/commands/control.rb +164 -158
  22. data/lib/ruby-debug-ide/commands/enable.rb +203 -203
  23. data/lib/ruby-debug-ide/commands/eval.rb +64 -64
  24. data/lib/ruby-debug-ide/commands/expression_info.rb +71 -71
  25. data/lib/ruby-debug-ide/commands/file_filtering.rb +106 -106
  26. data/lib/ruby-debug-ide/commands/frame.rb +155 -155
  27. data/lib/ruby-debug-ide/commands/inspect.rb +25 -25
  28. data/lib/ruby-debug-ide/commands/load.rb +17 -17
  29. data/lib/ruby-debug-ide/commands/stepping.rb +108 -108
  30. data/lib/ruby-debug-ide/commands/threads.rb +178 -178
  31. data/lib/ruby-debug-ide/commands/variables.rb +154 -154
  32. data/lib/ruby-debug-ide/event_processor.rb +71 -71
  33. data/lib/ruby-debug-ide/greeter.rb +42 -42
  34. data/lib/ruby-debug-ide/helper.rb +33 -33
  35. data/lib/ruby-debug-ide/ide_processor.rb +155 -155
  36. data/lib/ruby-debug-ide/interface.rb +47 -45
  37. data/lib/ruby-debug-ide/multiprocess/monkey.rb +46 -46
  38. data/lib/ruby-debug-ide/multiprocess/pre_child.rb +58 -58
  39. data/lib/ruby-debug-ide/multiprocess/starter.rb +10 -10
  40. data/lib/ruby-debug-ide/multiprocess/unmonkey.rb +30 -30
  41. data/lib/ruby-debug-ide/multiprocess.rb +22 -22
  42. data/lib/ruby-debug-ide/thread_alias.rb +26 -26
  43. data/lib/ruby-debug-ide/version.rb +3 -3
  44. data/lib/ruby-debug-ide/xml_printer.rb +570 -570
  45. data/lib/ruby-debug-ide.rb +230 -228
  46. data/ruby-debug-ide.gemspec +47 -47
  47. metadata +4 -4
data/bin/rdebug-ide CHANGED
@@ -1,200 +1,200 @@
1
- #!/usr/bin/env ruby
2
- require 'rubygems'
3
- require 'optparse'
4
- require "ostruct"
5
- if RUBY_VERSION < "1.9"
6
- require 'ruby-debug-ide'
7
- else
8
- require_relative '../lib/ruby-debug-ide'
9
- end
10
-
11
- $stdout.sync=true
12
-
13
- options = OpenStruct.new(
14
- 'frame_bind' => false,
15
- 'host' => nil,
16
- 'load_mode' => false,
17
- 'port' => 1234,
18
- 'stop' => false,
19
- 'tracing' => false,
20
- 'skip_wait_for_start' => false,
21
- 'keep_process_alive' => false,
22
- 'int_handler' => true,
23
- 'dispatcher_port' => -1,
24
- 'evaluation_timeout' => 10,
25
- 'trace_to_s' => false,
26
- 'debugger_memory_limit' => 10,
27
- 'inspect_time_limit' => 100,
28
- 'rm_protocol_extensions' => false,
29
- 'catchpoint_deleted_event' => false,
30
- 'value_as_nested_element' => false,
31
- 'attach_mode' => false,
32
- 'cli_debug' => false,
33
- 'key_value_mode' => false,
34
- 'socket_path' => nil
35
- )
36
-
37
- opts = OptionParser.new do |opts|
38
- opts.banner = <<EOB
39
- Using ruby-debug-base #{Debugger::VERSION}
40
- Usage: rdebug-ide is supposed to be called from RDT, NetBeans, RubyMine, or
41
- the IntelliJ IDEA Ruby plugin. The command line interface to
42
- ruby-debug is rdebug.
43
- EOB
44
- opts.separator ""
45
- opts.separator "Options:"
46
-
47
- opts.on("-h", "--host HOST", "Host name used for remote debugging") {|host| options.host = host}
48
- opts.on("-p", "--port PORT", Integer, "Port used for remote debugging") {|port| options.port = port}
49
- opts.on("--dispatcher-port PORT", Integer, "Port used for multi-process debugging dispatcher") do |dp|
50
- options.dispatcher_port = dp
51
- end
52
- opts.on('--evaluation-timeout TIMEOUT', Integer,'evaluation timeout in seconds (default: 10)') do |timeout|
53
- options.evaluation_timeout = timeout
54
- end
55
- opts.on("--evaluation-control", "trace to_s evaluation") {options.trace_to_s = true}
56
-
57
- opts.on("-m", "--memory-limit LIMIT", Integer, "evaluation memory limit in mb (default: 10)") do |limit|
58
- if defined?(JRUBY_VERSION) || RUBY_VERSION < '2.0'
59
- $stderr.puts "Evaluation memory limit is ineffective in JRuby and MRI < 2.0"
60
- limit = 0
61
- end
62
- options.debugger_memory_limit = limit
63
- options.trace_to_s ||= limit > 0
64
- end
65
-
66
- opts.on("-t", "--time-limit LIMIT", Integer, "evaluation time limit in milliseconds (default: 100)") do |limit|
67
- options.inspect_time_limit = limit
68
- options.trace_to_s ||= limit > 0
69
- end
70
-
71
- opts.on('--stop', 'stop when the script is loaded') {options.stop = true}
72
- opts.on("-x", "--trace", "turn on line tracing") {options.tracing = true}
73
- opts.on("--skip_wait_for_start", "skip wait for 'start' command") {options.skip_wait_for_start = true}
74
- opts.on("--keep-process-alive", "don't exit the process when debugger is exited") {options.keep_process_alive = true}
75
- opts.on("-l", "--load-mode", "load mode (experimental)") {options.load_mode = true}
76
- opts.on("-d", "--debug", "Debug self - prints information for debugging ruby-debug itself") do
77
- Debugger.cli_debug = true
78
- options.cli_debug = true
79
- end
80
- opts.on("--xml-debug", "Debug self - sends information <message>s for debugging ruby-debug itself") do
81
- Debugger.xml_debug = true
82
- end
83
- opts.on("-I", "--include PATH", String, "Add PATH to $LOAD_PATH") do |path|
84
- $LOAD_PATH.unshift(path)
85
- end
86
- opts.on("--attach-mode", "Tells that rdebug-ide is working in attach mode") do
87
- options.attach_mode = true
88
- end
89
- opts.on("--key-value", "Key/Value presentation of hash items") do
90
- options.key_value_mode = true
91
- end
92
- opts.on("--ignore-port", "Generate another port") do
93
- options.ignore_port = true
94
- end
95
- opts.on("--keep-frame-binding", "Keep frame bindings") {options.frame_bind = true}
96
- opts.on("--disable-int-handler", "Disables interrupt signal handler") {options.int_handler = false}
97
- opts.on("--rubymine-protocol-extensions", "Enable all RubyMine-specific incompatible protocol extensions") do
98
- options.rm_protocol_extensions = true
99
- end
100
- opts.on("--catchpoint-deleted-event", "Enable chatchpointDeleted event") do
101
- options.catchpoint_deleted_event = true
102
- end
103
- opts.on("--value-as-nested-element", "Allow to pass variable's value as nested element instead of attribute") do
104
- options.value_as_nested_element = true
105
- end
106
- opts.on("--socket-path PATH", "Listen for debugger on the given UNIX domain socket path") do |path|
107
- options.socket_path = path
108
- end
109
- opts.separator ""
110
- opts.separator "Common options:"
111
- opts.on_tail("-v", "--version", "Show version") do
112
- puts "Using ruby-debug-base #{Debugger::VERSION}"
113
- exit
114
- end
115
- end
116
-
117
- begin
118
- Debugger::ARGV = ARGV.clone
119
- rdebug_path = File.expand_path($0)
120
- if RUBY_PLATFORM =~ /mswin/
121
- rdebug_path += ".cmd" unless rdebug_path =~ /\.cmd$/i
122
- end
123
- Debugger::RDEBUG_SCRIPT = rdebug_path
124
- opts.parse! ARGV
125
- rescue StandardError => e
126
- puts opts
127
- puts
128
- puts e.message
129
- exit(1)
130
- end
131
-
132
- if ARGV.empty? && !options.attach_mode
133
- puts opts
134
- puts
135
- puts "Must specify a script to run"
136
- exit(1)
137
- end
138
-
139
- # save script name
140
- if !options.attach_mode
141
- Debugger::PROG_SCRIPT = ARGV.shift
142
- else
143
- Debugger::PROG_SCRIPT = $0
144
- end
145
-
146
- if options.dispatcher_port != -1
147
- ENV['IDE_PROCESS_DISPATCHER'] = options.dispatcher_port.to_s
148
- if RUBY_VERSION < "1.9"
149
- lib_path = File.expand_path(File.dirname(__FILE__) + "/../lib/")
150
- $: << lib_path unless $:.include? lib_path
151
- require 'ruby-debug-ide/multiprocess'
152
- else
153
- require_relative '../lib/ruby-debug-ide/multiprocess'
154
- end
155
- Debugger::MultiProcess.do_monkey
156
-
157
- ENV['DEBUGGER_STORED_RUBYLIB'] = ENV['RUBYLIB']
158
- old_opts = ENV['RUBYOPT'] || ''
159
- starter = "-r#{File.expand_path(File.dirname(__FILE__))}/../lib/ruby-debug-ide/multiprocess/starter"
160
- unless old_opts.include? starter
161
- ENV['RUBYOPT'] = starter
162
- ENV['RUBYOPT'] += " #{old_opts}" if old_opts != ''
163
- end
164
- ENV['DEBUGGER_CLI_DEBUG'] = Debugger.cli_debug.to_s
165
- end
166
-
167
- if options.int_handler
168
- # install interruption handler
169
- trap('INT') { Debugger.interrupt_last }
170
- end
171
-
172
- if options.keep_process_alive
173
- ENV['DEBUGGER_KEEP_PROCESS_ALIVE'] = "true"
174
- end
175
-
176
- # set options
177
- Debugger.keep_frame_binding = options.frame_bind
178
- Debugger.tracing = options.tracing
179
- Debugger.evaluation_timeout = options.evaluation_timeout
180
- Debugger.trace_to_s = options.trace_to_s && (options.debugger_memory_limit > 0 || options.inspect_time_limit > 0)
181
- Debugger.debugger_memory_limit = options.debugger_memory_limit
182
- Debugger.inspect_time_limit = options.inspect_time_limit
183
- Debugger.catchpoint_deleted_event = options.catchpoint_deleted_event || options.rm_protocol_extensions
184
- Debugger.value_as_nested_element = options.value_as_nested_element || options.rm_protocol_extensions
185
- Debugger.key_value_mode = options.key_value_mode
186
-
187
- if options.attach_mode
188
- if Debugger::FRONT_END == "debase"
189
- Debugger.init_variables
190
- end
191
-
192
- Debugger::MultiProcess::pre_child(options)
193
-
194
- if Debugger::FRONT_END == "debase"
195
- Debugger.setup_tracepoints
196
- Debugger.prepare_context
197
- end
198
- else
199
- Debugger.debug_program(options)
200
- end
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'optparse'
4
+ require "ostruct"
5
+ if RUBY_VERSION < "1.9"
6
+ require 'ruby-debug-ide'
7
+ else
8
+ require_relative '../lib/ruby-debug-ide'
9
+ end
10
+
11
+ $stdout.sync=true
12
+
13
+ options = OpenStruct.new(
14
+ 'frame_bind' => false,
15
+ 'host' => nil,
16
+ 'load_mode' => false,
17
+ 'port' => 1234,
18
+ 'stop' => false,
19
+ 'tracing' => false,
20
+ 'skip_wait_for_start' => false,
21
+ 'keep_process_alive' => false,
22
+ 'int_handler' => true,
23
+ 'dispatcher_port' => -1,
24
+ 'evaluation_timeout' => 10,
25
+ 'trace_to_s' => false,
26
+ 'debugger_memory_limit' => 10,
27
+ 'inspect_time_limit' => 100,
28
+ 'rm_protocol_extensions' => false,
29
+ 'catchpoint_deleted_event' => false,
30
+ 'value_as_nested_element' => false,
31
+ 'attach_mode' => false,
32
+ 'cli_debug' => false,
33
+ 'key_value_mode' => false,
34
+ 'socket_path' => nil
35
+ )
36
+
37
+ opts = OptionParser.new do |opts|
38
+ opts.banner = <<EOB
39
+ Using ruby-debug-base #{Debugger::VERSION}
40
+ Usage: rdebug-ide is supposed to be called from RDT, NetBeans, RubyMine, or
41
+ the IntelliJ IDEA Ruby plugin. The command line interface to
42
+ ruby-debug is rdebug.
43
+ EOB
44
+ opts.separator ""
45
+ opts.separator "Options:"
46
+
47
+ opts.on("-h", "--host HOST", "Host name used for remote debugging") {|host| options.host = host}
48
+ opts.on("-p", "--port PORT", Integer, "Port used for remote debugging") {|port| options.port = port}
49
+ opts.on("--dispatcher-port PORT", Integer, "Port used for multi-process debugging dispatcher") do |dp|
50
+ options.dispatcher_port = dp
51
+ end
52
+ opts.on('--evaluation-timeout TIMEOUT', Integer,'evaluation timeout in seconds (default: 10)') do |timeout|
53
+ options.evaluation_timeout = timeout
54
+ end
55
+ opts.on("--evaluation-control", "trace to_s evaluation") {options.trace_to_s = true}
56
+
57
+ opts.on("-m", "--memory-limit LIMIT", Integer, "evaluation memory limit in mb (default: 10)") do |limit|
58
+ if defined?(JRUBY_VERSION) || RUBY_VERSION < '2.0'
59
+ $stderr.puts "Evaluation memory limit is ineffective in JRuby and MRI < 2.0"
60
+ limit = 0
61
+ end
62
+ options.debugger_memory_limit = limit
63
+ options.trace_to_s ||= limit > 0
64
+ end
65
+
66
+ opts.on("-t", "--time-limit LIMIT", Integer, "evaluation time limit in milliseconds (default: 100)") do |limit|
67
+ options.inspect_time_limit = limit
68
+ options.trace_to_s ||= limit > 0
69
+ end
70
+
71
+ opts.on('--stop', 'stop when the script is loaded') {options.stop = true}
72
+ opts.on("-x", "--trace", "turn on line tracing") {options.tracing = true}
73
+ opts.on("--skip_wait_for_start", "skip wait for 'start' command") {options.skip_wait_for_start = true}
74
+ opts.on("--keep-process-alive", "don't exit the process when debugger is exited") {options.keep_process_alive = true}
75
+ opts.on("-l", "--load-mode", "load mode (experimental)") {options.load_mode = true}
76
+ opts.on("-d", "--debug", "Debug self - prints information for debugging ruby-debug itself") do
77
+ Debugger.cli_debug = true
78
+ options.cli_debug = true
79
+ end
80
+ opts.on("--xml-debug", "Debug self - sends information <message>s for debugging ruby-debug itself") do
81
+ Debugger.xml_debug = true
82
+ end
83
+ opts.on("-I", "--include PATH", String, "Add PATH to $LOAD_PATH") do |path|
84
+ $LOAD_PATH.unshift(path)
85
+ end
86
+ opts.on("--attach-mode", "Tells that rdebug-ide is working in attach mode") do
87
+ options.attach_mode = true
88
+ end
89
+ opts.on("--key-value", "Key/Value presentation of hash items") do
90
+ options.key_value_mode = true
91
+ end
92
+ opts.on("--ignore-port", "Generate another port") do
93
+ options.ignore_port = true
94
+ end
95
+ opts.on("--keep-frame-binding", "Keep frame bindings") {options.frame_bind = true}
96
+ opts.on("--disable-int-handler", "Disables interrupt signal handler") {options.int_handler = false}
97
+ opts.on("--rubymine-protocol-extensions", "Enable all RubyMine-specific incompatible protocol extensions") do
98
+ options.rm_protocol_extensions = true
99
+ end
100
+ opts.on("--catchpoint-deleted-event", "Enable chatchpointDeleted event") do
101
+ options.catchpoint_deleted_event = true
102
+ end
103
+ opts.on("--value-as-nested-element", "Allow to pass variable's value as nested element instead of attribute") do
104
+ options.value_as_nested_element = true
105
+ end
106
+ opts.on("--socket-path PATH", "Listen for debugger on the given UNIX domain socket path") do |path|
107
+ options.socket_path = path
108
+ end
109
+ opts.separator ""
110
+ opts.separator "Common options:"
111
+ opts.on_tail("-v", "--version", "Show version") do
112
+ puts "Using ruby-debug-base #{Debugger::VERSION}"
113
+ exit
114
+ end
115
+ end
116
+
117
+ begin
118
+ Debugger::ARGV = ARGV.clone
119
+ rdebug_path = File.expand_path($0)
120
+ if RUBY_PLATFORM =~ /mswin/
121
+ rdebug_path += ".cmd" unless rdebug_path =~ /\.cmd$/i
122
+ end
123
+ Debugger::RDEBUG_SCRIPT = rdebug_path
124
+ opts.parse! ARGV
125
+ rescue StandardError => e
126
+ puts opts
127
+ puts
128
+ puts e.message
129
+ exit(1)
130
+ end
131
+
132
+ if ARGV.empty? && !options.attach_mode
133
+ puts opts
134
+ puts
135
+ puts "Must specify a script to run"
136
+ exit(1)
137
+ end
138
+
139
+ # save script name
140
+ if !options.attach_mode
141
+ Debugger::PROG_SCRIPT = ARGV.shift
142
+ else
143
+ Debugger::PROG_SCRIPT = $0
144
+ end
145
+
146
+ if options.dispatcher_port != -1
147
+ ENV['IDE_PROCESS_DISPATCHER'] = options.dispatcher_port.to_s
148
+ if RUBY_VERSION < "1.9"
149
+ lib_path = File.expand_path(File.dirname(__FILE__) + "/../lib/")
150
+ $: << lib_path unless $:.include? lib_path
151
+ require 'ruby-debug-ide/multiprocess'
152
+ else
153
+ require_relative '../lib/ruby-debug-ide/multiprocess'
154
+ end
155
+ Debugger::MultiProcess.do_monkey
156
+
157
+ ENV['DEBUGGER_STORED_RUBYLIB'] = ENV['RUBYLIB']
158
+ old_opts = ENV['RUBYOPT'] || ''
159
+ starter = "-r#{File.expand_path(File.dirname(__FILE__))}/../lib/ruby-debug-ide/multiprocess/starter"
160
+ unless old_opts.include? starter
161
+ ENV['RUBYOPT'] = starter
162
+ ENV['RUBYOPT'] += " #{old_opts}" if old_opts != ''
163
+ end
164
+ ENV['DEBUGGER_CLI_DEBUG'] = Debugger.cli_debug.to_s
165
+ end
166
+
167
+ if options.int_handler
168
+ # install interruption handler
169
+ trap('INT') { Debugger.interrupt_last }
170
+ end
171
+
172
+ if options.keep_process_alive
173
+ ENV['DEBUGGER_KEEP_PROCESS_ALIVE'] = "true"
174
+ end
175
+
176
+ # set options
177
+ Debugger.keep_frame_binding = options.frame_bind
178
+ Debugger.tracing = options.tracing
179
+ Debugger.evaluation_timeout = options.evaluation_timeout
180
+ Debugger.trace_to_s = options.trace_to_s && (options.debugger_memory_limit > 0 || options.inspect_time_limit > 0)
181
+ Debugger.debugger_memory_limit = options.debugger_memory_limit
182
+ Debugger.inspect_time_limit = options.inspect_time_limit
183
+ Debugger.catchpoint_deleted_event = options.catchpoint_deleted_event || options.rm_protocol_extensions
184
+ Debugger.value_as_nested_element = options.value_as_nested_element || options.rm_protocol_extensions
185
+ Debugger.key_value_mode = options.key_value_mode
186
+
187
+ if options.attach_mode
188
+ if Debugger::FRONT_END == "debase"
189
+ Debugger.init_variables
190
+ end
191
+
192
+ Debugger::MultiProcess::pre_child(options)
193
+
194
+ if Debugger::FRONT_END == "debase"
195
+ Debugger.setup_tracepoints
196
+ Debugger.prepare_context
197
+ end
198
+ else
199
+ Debugger.debug_program(options)
200
+ end
data/ext/mkrf_conf.rb CHANGED
@@ -1,44 +1,44 @@
1
- install_dir = File.expand_path("../../../..", __FILE__)
2
- jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
3
- rbx = defined?(RUBY_ENGINE) && 'rbx' == RUBY_ENGINE
4
-
5
- unless jruby || rbx
6
- require 'rubygems'
7
- require 'rubygems/command.rb'
8
- require 'rubygems/dependency.rb'
9
- require 'rubygems/dependency_installer.rb'
10
-
11
- begin
12
- Gem::Command.build_args = ARGV
13
- rescue NoMethodError
14
- end
15
-
16
- if RUBY_VERSION < "1.9"
17
- dep = Gem::Dependency.new("ruby-debug-base", '>=0.10.4')
18
- elsif RUBY_VERSION < '2.0'
19
- dep = Gem::Dependency.new("ruby-debug-base19x", '>=0.11.30.pre15')
20
- else
21
- dep = Gem::Dependency.new("debase", '> 0')
22
- end
23
-
24
- begin
25
- puts "Installing base gem"
26
- inst = Gem::DependencyInstaller.new(:prerelease => dep.prerelease?, :install_dir => install_dir)
27
- inst.install dep
28
- rescue
29
- begin
30
- inst = Gem::DependencyInstaller.new(:prerelease => true, :install_dir => install_dir)
31
- inst.install dep
32
- rescue Exception => e
33
- puts e
34
- puts e.backtrace.join "\n "
35
- exit(1)
36
- end
37
- end unless dep.nil? || dep.matching_specs.any?
38
- end
39
-
40
- # create dummy rakefile to indicate success
41
- f = File.open(File.join(File.dirname(__FILE__), "Rakefile"), "w")
42
- f.write("task :default\n")
43
- f.close
44
-
1
+ install_dir = File.expand_path("../../../..", __FILE__)
2
+ jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
3
+ rbx = defined?(RUBY_ENGINE) && 'rbx' == RUBY_ENGINE
4
+
5
+ unless jruby || rbx
6
+ require 'rubygems'
7
+ require 'rubygems/command.rb'
8
+ require 'rubygems/dependency.rb'
9
+ require 'rubygems/dependency_installer.rb'
10
+
11
+ begin
12
+ Gem::Command.build_args = ARGV
13
+ rescue NoMethodError
14
+ end
15
+
16
+ if RUBY_VERSION < "1.9"
17
+ dep = Gem::Dependency.new("ruby-debug-base", '>=0.10.4')
18
+ elsif RUBY_VERSION < '2.0'
19
+ dep = Gem::Dependency.new("ruby-debug-base19x", '>=0.11.30.pre15')
20
+ else
21
+ dep = Gem::Dependency.new("debase", '> 0')
22
+ end
23
+
24
+ begin
25
+ puts "Installing base gem"
26
+ inst = Gem::DependencyInstaller.new(:prerelease => dep.prerelease?, :install_dir => install_dir)
27
+ inst.install dep
28
+ rescue
29
+ begin
30
+ inst = Gem::DependencyInstaller.new(:prerelease => true, :install_dir => install_dir)
31
+ inst.install dep
32
+ rescue Exception => e
33
+ puts e
34
+ puts e.backtrace.join "\n "
35
+ exit(1)
36
+ end
37
+ end unless dep.nil? || dep.matching_specs.any?
38
+ end
39
+
40
+ # create dummy rakefile to indicate success
41
+ f = File.open(File.join(File.dirname(__FILE__), "Rakefile"), "w")
42
+ f.write("task :default\n")
43
+ f.close
44
+
@@ -1,20 +1,20 @@
1
- def load_debugger(gems_to_include, new_argv)
2
- path_to_rdebug = File.expand_path(File.dirname(__FILE__)) + '/../../../bin/rdebug-ide'
3
-
4
- old_argv = ARGV.clone
5
- ARGV.clear
6
- new_argv.each do |x|
7
- ARGV << x
8
- end
9
-
10
- gems_to_include.each do |gem_path|
11
- $LOAD_PATH.unshift(gem_path) unless $LOAD_PATH.include?(gem_path)
12
- end
13
-
14
- load path_to_rdebug
15
-
16
- ARGV.clear
17
- old_argv.each do |x|
18
- ARGV << x
19
- end
20
- end
1
+ def load_debugger(gems_to_include, new_argv)
2
+ path_to_rdebug = File.expand_path(File.dirname(__FILE__)) + '/../../../bin/rdebug-ide'
3
+
4
+ old_argv = ARGV.clone
5
+ ARGV.clear
6
+ new_argv.each do |x|
7
+ ARGV << x
8
+ end
9
+
10
+ gems_to_include.each do |gem_path|
11
+ $LOAD_PATH.unshift(gem_path) unless $LOAD_PATH.include?(gem_path)
12
+ end
13
+
14
+ load path_to_rdebug
15
+
16
+ ARGV.clear
17
+ old_argv.each do |x|
18
+ ARGV << x
19
+ end
20
+ end