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.
- checksums.yaml +4 -4
- data/CHANGES +75 -75
- data/ChangeLog.archive +1073 -1073
- data/ChangeLog.md +594 -594
- data/Gemfile +38 -38
- data/MIT-LICENSE +24 -24
- data/Rakefile +92 -92
- data/bin/gdb_wrapper +96 -96
- data/bin/rdebug-ide +200 -200
- data/ext/mkrf_conf.rb +44 -44
- data/lib/ruby-debug-ide/attach/debugger_loader.rb +20 -20
- data/lib/ruby-debug-ide/attach/gdb.rb +73 -73
- data/lib/ruby-debug-ide/attach/lldb.rb +71 -71
- data/lib/ruby-debug-ide/attach/native_debugger.rb +133 -133
- data/lib/ruby-debug-ide/attach/process_thread.rb +54 -54
- data/lib/ruby-debug-ide/attach/util.rb +114 -114
- data/lib/ruby-debug-ide/command.rb +187 -187
- data/lib/ruby-debug-ide/commands/breakpoints.rb +128 -128
- data/lib/ruby-debug-ide/commands/catchpoint.rb +64 -64
- data/lib/ruby-debug-ide/commands/condition.rb +51 -51
- data/lib/ruby-debug-ide/commands/control.rb +164 -158
- data/lib/ruby-debug-ide/commands/enable.rb +203 -203
- data/lib/ruby-debug-ide/commands/eval.rb +64 -64
- data/lib/ruby-debug-ide/commands/expression_info.rb +71 -71
- data/lib/ruby-debug-ide/commands/file_filtering.rb +106 -106
- data/lib/ruby-debug-ide/commands/frame.rb +155 -155
- data/lib/ruby-debug-ide/commands/inspect.rb +25 -25
- data/lib/ruby-debug-ide/commands/load.rb +17 -17
- data/lib/ruby-debug-ide/commands/stepping.rb +108 -108
- data/lib/ruby-debug-ide/commands/threads.rb +178 -178
- data/lib/ruby-debug-ide/commands/variables.rb +154 -154
- data/lib/ruby-debug-ide/event_processor.rb +71 -71
- data/lib/ruby-debug-ide/greeter.rb +42 -42
- data/lib/ruby-debug-ide/helper.rb +33 -33
- data/lib/ruby-debug-ide/ide_processor.rb +155 -155
- data/lib/ruby-debug-ide/interface.rb +47 -45
- data/lib/ruby-debug-ide/multiprocess/monkey.rb +46 -46
- data/lib/ruby-debug-ide/multiprocess/pre_child.rb +58 -58
- data/lib/ruby-debug-ide/multiprocess/starter.rb +10 -10
- data/lib/ruby-debug-ide/multiprocess/unmonkey.rb +30 -30
- data/lib/ruby-debug-ide/multiprocess.rb +22 -22
- data/lib/ruby-debug-ide/thread_alias.rb +26 -26
- data/lib/ruby-debug-ide/version.rb +3 -3
- data/lib/ruby-debug-ide/xml_printer.rb +570 -570
- data/lib/ruby-debug-ide.rb +230 -228
- data/ruby-debug-ide.gemspec +47 -47
- metadata +4 -4
data/lib/ruby-debug-ide.rb
CHANGED
@@ -1,228 +1,230 @@
|
|
1
|
-
require 'pp'
|
2
|
-
require 'stringio'
|
3
|
-
require "socket"
|
4
|
-
require 'thread'
|
5
|
-
if RUBY_VERSION < '2.0' || defined?(JRUBY_VERSION)
|
6
|
-
require 'ruby-debug-base'
|
7
|
-
Debugger::FRONT_END = "ruby-debug-base"
|
8
|
-
else
|
9
|
-
require 'debase'
|
10
|
-
Debugger::FRONT_END = "debase"
|
11
|
-
end
|
12
|
-
|
13
|
-
require 'ruby-debug-ide/greeter'
|
14
|
-
require 'ruby-debug-ide/xml_printer'
|
15
|
-
require 'ruby-debug-ide/ide_processor'
|
16
|
-
require 'ruby-debug-ide/event_processor'
|
17
|
-
|
18
|
-
module Debugger
|
19
|
-
|
20
|
-
class << self
|
21
|
-
def find_free_port(host)
|
22
|
-
server = TCPServer.open(host, 0)
|
23
|
-
port = server.addr[1]
|
24
|
-
server.close
|
25
|
-
port
|
26
|
-
end
|
27
|
-
|
28
|
-
# Prints to the stderr using printf(*args) if debug logging flag (-d) is on.
|
29
|
-
def print_debug(*args)
|
30
|
-
if Debugger.cli_debug
|
31
|
-
$stderr.printf("#{Process.pid}: ")
|
32
|
-
$stderr.printf(*args)
|
33
|
-
$stderr.printf("\n")
|
34
|
-
$stderr.flush
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def cleanup_backtrace(backtrace)
|
39
|
-
cleared = []
|
40
|
-
return cleared unless backtrace
|
41
|
-
backtrace.each do |line|
|
42
|
-
if line.index(File.expand_path(File.dirname(__FILE__) + "/..")) == 0
|
43
|
-
next
|
44
|
-
end
|
45
|
-
if line.index("-e:1") == 0
|
46
|
-
break
|
47
|
-
end
|
48
|
-
cleared << line
|
49
|
-
end
|
50
|
-
cleared
|
51
|
-
end
|
52
|
-
|
53
|
-
attr_accessor :attached
|
54
|
-
attr_accessor :key_value_mode
|
55
|
-
attr_accessor :cli_debug, :xml_debug, :evaluation_timeout
|
56
|
-
attr_accessor :trace_to_s, :debugger_memory_limit, :inspect_time_limit
|
57
|
-
attr_accessor :control_thread
|
58
|
-
attr_reader :interface
|
59
|
-
# protocol extensions
|
60
|
-
attr_accessor :catchpoint_deleted_event, :value_as_nested_element
|
61
|
-
|
62
|
-
|
63
|
-
#
|
64
|
-
# Interrupts the last debugged thread
|
65
|
-
#
|
66
|
-
def interrupt_last
|
67
|
-
skip do
|
68
|
-
if context = last_context
|
69
|
-
return nil unless context.thread.alive?
|
70
|
-
context.interrupt
|
71
|
-
end
|
72
|
-
context
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
def start_server(host = nil, port = 1234, notify_dispatcher = false)
|
77
|
-
_start_server_common(host, port, nil, notify_dispatcher)
|
78
|
-
end
|
79
|
-
|
80
|
-
def start_server_unix(socket_path, notify_dispatcher = false)
|
81
|
-
_start_server_common(nil, 0, socket_path, notify_dispatcher)
|
82
|
-
end
|
83
|
-
|
84
|
-
def prepare_debugger(options)
|
85
|
-
@mutex = Mutex.new
|
86
|
-
@proceed = ConditionVariable.new
|
87
|
-
|
88
|
-
if options.socket_path.nil?
|
89
|
-
start_server(options.host, options.port, options.notify_dispatcher)
|
90
|
-
else
|
91
|
-
start_server_unix(options.socket_path, options.notify_dispatcher)
|
92
|
-
end
|
93
|
-
|
94
|
-
raise "Control thread did not start (#{@control_thread}}" unless @control_thread && @control_thread.alive?
|
95
|
-
|
96
|
-
# wait for 'start' command
|
97
|
-
@mutex.synchronize do
|
98
|
-
@proceed.wait(@mutex)
|
99
|
-
end unless options.skip_wait_for_start
|
100
|
-
end
|
101
|
-
|
102
|
-
def debug_program(options)
|
103
|
-
prepare_debugger(options)
|
104
|
-
|
105
|
-
abs_prog_script = File.expand_path(Debugger::PROG_SCRIPT)
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
s
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
$stderr.puts "Connected from
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
return unless
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
$stderr.puts
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
1
|
+
require 'pp'
|
2
|
+
require 'stringio'
|
3
|
+
require "socket"
|
4
|
+
require 'thread'
|
5
|
+
if RUBY_VERSION < '2.0' || defined?(JRUBY_VERSION)
|
6
|
+
require 'ruby-debug-base'
|
7
|
+
Debugger::FRONT_END = "ruby-debug-base"
|
8
|
+
else
|
9
|
+
require 'debase'
|
10
|
+
Debugger::FRONT_END = "debase"
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'ruby-debug-ide/greeter'
|
14
|
+
require 'ruby-debug-ide/xml_printer'
|
15
|
+
require 'ruby-debug-ide/ide_processor'
|
16
|
+
require 'ruby-debug-ide/event_processor'
|
17
|
+
|
18
|
+
module Debugger
|
19
|
+
|
20
|
+
class << self
|
21
|
+
def find_free_port(host)
|
22
|
+
server = TCPServer.open(host, 0)
|
23
|
+
port = server.addr[1]
|
24
|
+
server.close
|
25
|
+
port
|
26
|
+
end
|
27
|
+
|
28
|
+
# Prints to the stderr using printf(*args) if debug logging flag (-d) is on.
|
29
|
+
def print_debug(*args)
|
30
|
+
if Debugger.cli_debug
|
31
|
+
$stderr.printf("#{Process.pid}: ")
|
32
|
+
$stderr.printf(*args)
|
33
|
+
$stderr.printf("\n")
|
34
|
+
$stderr.flush
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def cleanup_backtrace(backtrace)
|
39
|
+
cleared = []
|
40
|
+
return cleared unless backtrace
|
41
|
+
backtrace.each do |line|
|
42
|
+
if line.index(File.expand_path(File.dirname(__FILE__) + "/..")) == 0
|
43
|
+
next
|
44
|
+
end
|
45
|
+
if line.index("-e:1") == 0
|
46
|
+
break
|
47
|
+
end
|
48
|
+
cleared << line
|
49
|
+
end
|
50
|
+
cleared
|
51
|
+
end
|
52
|
+
|
53
|
+
attr_accessor :attached
|
54
|
+
attr_accessor :key_value_mode
|
55
|
+
attr_accessor :cli_debug, :xml_debug, :evaluation_timeout
|
56
|
+
attr_accessor :trace_to_s, :debugger_memory_limit, :inspect_time_limit
|
57
|
+
attr_accessor :control_thread
|
58
|
+
attr_reader :interface
|
59
|
+
# protocol extensions
|
60
|
+
attr_accessor :catchpoint_deleted_event, :value_as_nested_element
|
61
|
+
|
62
|
+
|
63
|
+
#
|
64
|
+
# Interrupts the last debugged thread
|
65
|
+
#
|
66
|
+
def interrupt_last
|
67
|
+
skip do
|
68
|
+
if context = last_context
|
69
|
+
return nil unless context.thread.alive?
|
70
|
+
context.interrupt
|
71
|
+
end
|
72
|
+
context
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def start_server(host = nil, port = 1234, notify_dispatcher = false)
|
77
|
+
_start_server_common(host, port, nil, notify_dispatcher)
|
78
|
+
end
|
79
|
+
|
80
|
+
def start_server_unix(socket_path, notify_dispatcher = false)
|
81
|
+
_start_server_common(nil, 0, socket_path, notify_dispatcher)
|
82
|
+
end
|
83
|
+
|
84
|
+
def prepare_debugger(options)
|
85
|
+
@mutex = Mutex.new
|
86
|
+
@proceed = ConditionVariable.new
|
87
|
+
|
88
|
+
if options.socket_path.nil?
|
89
|
+
start_server(options.host, options.port, options.notify_dispatcher)
|
90
|
+
else
|
91
|
+
start_server_unix(options.socket_path, options.notify_dispatcher)
|
92
|
+
end
|
93
|
+
|
94
|
+
raise "Control thread did not start (#{@control_thread}}" unless @control_thread && @control_thread.alive?
|
95
|
+
|
96
|
+
# wait for 'start' command
|
97
|
+
@mutex.synchronize do
|
98
|
+
@proceed.wait(@mutex)
|
99
|
+
end unless options.skip_wait_for_start
|
100
|
+
end
|
101
|
+
|
102
|
+
def debug_program(options)
|
103
|
+
prepare_debugger(options)
|
104
|
+
|
105
|
+
abs_prog_script = File.expand_path(Debugger::PROG_SCRIPT)
|
106
|
+
# debase debug_load will misbehave if it's started without a breakpoint
|
107
|
+
Debugger.add_breakpoint("debase_filler.rb", 1, nil) if Debugger.breakpoints.empty?
|
108
|
+
bt = debug_load(abs_prog_script, options.stop, options.load_mode)
|
109
|
+
if bt && !bt.is_a?(SystemExit)
|
110
|
+
$stderr.print "Uncaught exception: #{bt}\n"
|
111
|
+
$stderr.print Debugger.cleanup_backtrace(bt.backtrace).map{|l| "\t#{l}"}.join("\n"), "\n"
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def run_prog_script
|
116
|
+
return unless @mutex
|
117
|
+
@mutex.synchronize do
|
118
|
+
@proceed.signal
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
def start_control(host, port, notify_dispatcher)
|
123
|
+
_start_control_common(host, port, nil, notify_dispatcher)
|
124
|
+
end
|
125
|
+
|
126
|
+
def start_control_unix(socket_path, notify_dispatcher)
|
127
|
+
_start_control_common(nil, 0, socket_path, notify_dispatcher)
|
128
|
+
end
|
129
|
+
|
130
|
+
private
|
131
|
+
|
132
|
+
def _start_server_common(host, port, socket_path, notify_dispatcher)
|
133
|
+
return if started?
|
134
|
+
start
|
135
|
+
_start_control_common(host, port, socket_path, notify_dispatcher)
|
136
|
+
end
|
137
|
+
|
138
|
+
def _start_control_common(host, port, socket_path, notify_dispatcher)
|
139
|
+
raise "Debugger is not started" unless started?
|
140
|
+
return if @control_thread
|
141
|
+
@control_thread = DebugThread.new do
|
142
|
+
begin
|
143
|
+
if socket_path.nil?
|
144
|
+
# 127.0.0.1 seemingly works with all systems and with IPv6 as well.
|
145
|
+
# "localhost" and nil have problems on some systems.
|
146
|
+
host ||= '127.0.0.1'
|
147
|
+
|
148
|
+
server = notify_dispatcher_if_needed(host, port, notify_dispatcher) do |real_port, port_changed|
|
149
|
+
s = TCPServer.new(host, real_port)
|
150
|
+
print_greeting_msg $stderr, host, real_port, port_changed ? "Subprocess" : "Fast" if defined? IDE_VERSION
|
151
|
+
s
|
152
|
+
end
|
153
|
+
else
|
154
|
+
raise "Cannot specify host and socket_file at the same time" if host
|
155
|
+
File.delete(socket_path) if File.exist?(socket_path)
|
156
|
+
server = UNIXServer.new(socket_path)
|
157
|
+
print_greeting_msg $stderr, nil, nil, "Fast", socket_path if defined? IDE_VERSION
|
158
|
+
end
|
159
|
+
|
160
|
+
return unless server
|
161
|
+
|
162
|
+
while (session = server.accept)
|
163
|
+
if Debugger.cli_debug
|
164
|
+
if session.peeraddr == 'AF_INET'
|
165
|
+
$stderr.puts "Connected from #{session.peeraddr[2]}"
|
166
|
+
else
|
167
|
+
$stderr.puts "Connected from local client"
|
168
|
+
end
|
169
|
+
end
|
170
|
+
dispatcher = ENV['IDE_PROCESS_DISPATCHER']
|
171
|
+
if dispatcher
|
172
|
+
ENV['IDE_PROCESS_DISPATCHER'] = "#{session.peeraddr[2]}:#{dispatcher}" unless dispatcher.include?(":")
|
173
|
+
ENV['DEBUGGER_HOST'] = host
|
174
|
+
end
|
175
|
+
begin
|
176
|
+
@interface = RemoteInterface.new(session)
|
177
|
+
self.handler = EventProcessor.new(interface)
|
178
|
+
IdeControlCommandProcessor.new(interface).process_commands
|
179
|
+
rescue StandardError, ScriptError => ex
|
180
|
+
bt = ex.backtrace
|
181
|
+
$stderr.printf "#{Process.pid}: Exception in DebugThread loop: #{ex.message}(#{ex.class})\nBacktrace:\n#{bt ? bt.join("\n from: ") : "<none>"}\n"
|
182
|
+
exit 1
|
183
|
+
end
|
184
|
+
end
|
185
|
+
rescue
|
186
|
+
bt = $!.backtrace
|
187
|
+
$stderr.printf "Fatal exception in DebugThread loop: #{$!.message}\nBacktrace:\n#{bt ? bt.join("\n from: ") : "<none>"}\n"
|
188
|
+
exit 2
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
def notify_dispatcher_if_needed(host, port, need_notify)
|
194
|
+
return yield port unless need_notify
|
195
|
+
|
196
|
+
return unless ENV['IDE_PROCESS_DISPATCHER']
|
197
|
+
acceptor_host, acceptor_port = ENV['IDE_PROCESS_DISPATCHER'].split(":")
|
198
|
+
acceptor_host, acceptor_port = '127.0.0.1', acceptor_host unless acceptor_port
|
199
|
+
connected = false
|
200
|
+
|
201
|
+
3.times do |i|
|
202
|
+
begin
|
203
|
+
s = TCPSocket.open(acceptor_host, acceptor_port)
|
204
|
+
dispatcher_answer = s.gets.chomp
|
205
|
+
|
206
|
+
if dispatcher_answer == "true"
|
207
|
+
port = Debugger.find_free_port(host)
|
208
|
+
end
|
209
|
+
|
210
|
+
server = yield port, dispatcher_answer == "true"
|
211
|
+
|
212
|
+
s.print(port)
|
213
|
+
s.close
|
214
|
+
connected = true
|
215
|
+
print_debug "Ide process dispatcher notified about sub-debugger which listens on #{port}\n"
|
216
|
+
return server
|
217
|
+
rescue => bt
|
218
|
+
$stderr.puts "#{Process.pid}: connection failed(#{i+1})"
|
219
|
+
$stderr.puts "Exception: #{bt}"
|
220
|
+
$stderr.puts bt.backtrace.map { |l| "\t#{l}" }.join("\n")
|
221
|
+
sleep 0.3
|
222
|
+
end unless connected
|
223
|
+
end
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
class Exception # :nodoc:
|
228
|
+
attr_reader :__debug_file, :__debug_line, :__debug_binding, :__debug_context
|
229
|
+
end
|
230
|
+
end
|
data/ruby-debug-ide.gemspec
CHANGED
@@ -1,47 +1,47 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/lib/ruby-debug-ide/version'
|
2
|
-
require "date"
|
3
|
-
|
4
|
-
# ------- Default Package ----------
|
5
|
-
RUBY_DEBUG_IDE_VERSION = Debugger::IDE_VERSION unless defined? RUBY_DEBUG_IDE_VERSION
|
6
|
-
|
7
|
-
unless defined? FILES
|
8
|
-
FILES = ['CHANGES',
|
9
|
-
'ChangeLog.md',
|
10
|
-
'ChangeLog.archive',
|
11
|
-
'MIT-LICENSE',
|
12
|
-
'Rakefile',
|
13
|
-
'ext/mkrf_conf.rb',
|
14
|
-
'Gemfile',
|
15
|
-
'ruby-debug-ide.gemspec'
|
16
|
-
]
|
17
|
-
FILES.push(*Dir['bin/*'])
|
18
|
-
FILES.push(*Dir['lib/**/*'])
|
19
|
-
# 'test/**/*',
|
20
|
-
end
|
21
|
-
|
22
|
-
Gem::Specification.new do |spec|
|
23
|
-
spec.name = "ruby-debug-ide22"
|
24
|
-
|
25
|
-
spec.homepage = "https://github.com/ruby-debug/ruby-debug-ide"
|
26
|
-
spec.summary = "IDE interface for ruby-debug."
|
27
|
-
spec.description = <<-EOF
|
28
|
-
An interface which glues ruby-debug to IDEs like Eclipse (RDT), NetBeans and RubyMine.
|
29
|
-
EOF
|
30
|
-
|
31
|
-
spec.version = RUBY_DEBUG_IDE_VERSION
|
32
|
-
|
33
|
-
spec.author = "
|
34
|
-
spec.email = "
|
35
|
-
spec.license = "MIT"
|
36
|
-
spec.platform = Gem::Platform::RUBY
|
37
|
-
spec.require_path = "lib"
|
38
|
-
spec.bindir = "bin"
|
39
|
-
spec.executables = ["rdebug-ide", "gdb_wrapper"]
|
40
|
-
spec.files = FILES
|
41
|
-
|
42
|
-
spec.extensions << "ext/mkrf_conf.rb" unless ENV['NO_EXT']
|
43
|
-
spec.add_dependency("rake", ">= 0.8.1")
|
44
|
-
|
45
|
-
spec.required_ruby_version = '>= 1.8.2'
|
46
|
-
spec.date = DateTime.now
|
47
|
-
end
|
1
|
+
require File.dirname(__FILE__) + '/lib/ruby-debug-ide/version'
|
2
|
+
require "date"
|
3
|
+
|
4
|
+
# ------- Default Package ----------
|
5
|
+
RUBY_DEBUG_IDE_VERSION = Debugger::IDE_VERSION unless defined? RUBY_DEBUG_IDE_VERSION
|
6
|
+
|
7
|
+
unless defined? FILES
|
8
|
+
FILES = ['CHANGES',
|
9
|
+
'ChangeLog.md',
|
10
|
+
'ChangeLog.archive',
|
11
|
+
'MIT-LICENSE',
|
12
|
+
'Rakefile',
|
13
|
+
'ext/mkrf_conf.rb',
|
14
|
+
'Gemfile',
|
15
|
+
'ruby-debug-ide.gemspec'
|
16
|
+
]
|
17
|
+
FILES.push(*Dir['bin/*'])
|
18
|
+
FILES.push(*Dir['lib/**/*'])
|
19
|
+
# 'test/**/*',
|
20
|
+
end
|
21
|
+
|
22
|
+
Gem::Specification.new do |spec|
|
23
|
+
spec.name = "ruby-debug-ide22"
|
24
|
+
|
25
|
+
spec.homepage = "https://github.com/ruby-debug/ruby-debug-ide"
|
26
|
+
spec.summary = "IDE interface for ruby-debug."
|
27
|
+
spec.description = <<-EOF
|
28
|
+
An interface which glues ruby-debug to IDEs like Eclipse (RDT), NetBeans and RubyMine.
|
29
|
+
EOF
|
30
|
+
|
31
|
+
spec.version = RUBY_DEBUG_IDE_VERSION
|
32
|
+
|
33
|
+
spec.author = "Markus Barchfeld, Martin Krauskopf, Mark Moseley, Alexandr Evstigneev"
|
34
|
+
spec.email = "hurricup@gmail.com"
|
35
|
+
spec.license = "MIT"
|
36
|
+
spec.platform = Gem::Platform::RUBY
|
37
|
+
spec.require_path = "lib"
|
38
|
+
spec.bindir = "bin"
|
39
|
+
spec.executables = ["rdebug-ide", "gdb_wrapper"]
|
40
|
+
spec.files = FILES
|
41
|
+
|
42
|
+
spec.extensions << "ext/mkrf_conf.rb" unless ENV['NO_EXT']
|
43
|
+
spec.add_dependency("rake", ">= 0.8.1")
|
44
|
+
|
45
|
+
spec.required_ruby_version = '>= 1.8.2'
|
46
|
+
spec.date = DateTime.now
|
47
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-debug-ide22
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Markus Barchfeld, Martin Krauskopf, Mark Moseley, Alexandr Evstigneev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -28,7 +28,7 @@ description: 'An interface which glues ruby-debug to IDEs like Eclipse (RDT), Ne
|
|
28
28
|
and RubyMine.
|
29
29
|
|
30
30
|
'
|
31
|
-
email:
|
31
|
+
email: hurricup@gmail.com
|
32
32
|
executables:
|
33
33
|
- rdebug-ide
|
34
34
|
- gdb_wrapper
|