Hi again,

I think I'm ready to establish the project on the rubyforge. I've some
basic 'infrastructure' for writing tests against the protocol. Mainly
for classic-debugger now but should be easy to use it in the
remote-debug case as well, not sure how much it differ now after Markus'
changes. So for a writing a new test you just You just extend the
'TestBase' class and then just write a test like this:

====
  def test_breakpoint_and_continue_from_other_file
create_test2 ["class Test2", "def print12", "puts 'one'","puts 'two'", "end", "end"] create_socket ["require 'test2.rb'", "Test2.new.print12", "puts 'three'"]
    send_test_breakpoint(2)
    assert_breakpoint_added_no(1)
    send_ruby("b [EMAIL PROTECTED]:4")
    assert_breakpoint_added_no(2)
    send_cont # test:1 -> test:2
    assert_test_breakpoint(2)
    send_next # test:1 -> test2:4
    assert_breakpoint(@test2_name, 4)
    send_cont # test2:4 -> finish
  end
====

I've migrated hopefully all important tests from the debug.core.tests,
maybe some have forgotten and some new added. Current state is:

  34 tests, 527 assertions, 0 failures, 0 errors

The project is simple Rake-based project with some TBDs (gem, probably
we do not need it that much?). The tests serve as a good specification
(should quickly fail whenever there is anything unexpected like
redundant '\n' :) or when debugger doesn't finish). But I'm going to
describe at least basic communication in classic-debug.txt (see attached
README).

Current project structure:

  ./README
  ./Rakefile
  ./lib/classic-debug-verbose.rb
  ./lib/classic-debug.rb
  ./test/cd_stepping_breakpoints_test.rb
  ./test/cd_threads_and_frames_test.rb
  ./test/cd_variables_test.rb
  ./test/readers.rb
  ./test/test_base.rb

TBD: mainly adding ruby-debug.rb and license, see attached proposed
README.

So do you agree with the proposed/initial README, does not it sound too
stupid :), have false information, whatever? English-fixing is welcomed
as well. Also please check the README's license TBD.

The last question is the project's name. Seems that we agreed on the
debug-commons. So I would found a new project under
http://rubyforge.org/projects/debug-commons/ or
http://debug-commons.rubyforge.org/ respectively. Please send me your
rubyforge logins so I can add you as project admins.

Finally I did some trivial changes into classic debugger. I would send
you a diff for RDT if needed. Not sure. I was without access to Ruby SVN
for last 14 days. I think there is a bug directly in debug.rb in Ruby. I
have to investigate now when I have fresh checkout of everything I need.

I suppose that I would create project either this weekend or at the
beginning of the next week.

Question, comments? For now good-night :)

  m.


= debug-commons


== Overview

debug-commons currently consist of wrappers around various Ruby debugging
backends By wrapping is meant that backends are enriched about unified XML-based
protocol. Currently there are two wrappers, one for Ruby "classic debugger"
(debug.rb) and other for Kent Sibilev's ruby-debug fast implementation. Both
protocols have a lot in common however are still slightly different due to the
nature of particular backends implementations and their behaviours. Take a look
at classic-debugger.txt and ruby-debug.txt files for more detailed information
about individual protocols.


== History, Future, Aims

The project were originally developed as part of Ruby Development Tools[1]. The
debugger plugin was mainly developed by Markus Barchfeld with the help of
Christopher Williams, Werner Schuster (murphee), Mirko Stocker (and others) who
work on other parts of RDT. Later Martin Krauskopf implementing NetBeans
debugger module wrote to RDT people about possible cooperation on the backend
they had. First official email here:

http://sourceforge.net/mailarchive/forum.php?thread_id=31511654&forum_id=9198

(MK: RDT folks have invested and brought a nice bunch of work. I believe
both sides (and hopefully others) will gain a lot in the end).


So this project was found since there doesn't seem to be a general open
source solution in Ruby world for debugger-frontend implementers. The
aim is to provide such a solution for anyone who wants to start (or is
already working) on the debugger frontend (standalone GUI debugger, an
IDE or editor plugin, remote CLI-based one, ...).

Currently there are RDT and NetBeans people working on it and anyone is very
welcomed to join.

There are some consideration to be done like joining/supporting a Common
Debugger Protocol (http://www.xdebug.org/docs-dbgp.php), better support for
JRuby, ... [TBD - probably separate TODO] so feel free to join the mailing
list(s) for a discussion about current and feature plans [TBD - link to MLs]


== Requirements

TBD - MK: I still think I'm getting Segmentation Fault with latest stable Ruby,
          but did not tried for longer period. Needs to investigate.

JRuby status doesn't work that much due to reopened:
  http://jira.codehaus.org/browse/JRUBY-445


== Install

TBD - MK: Presumably available as a gem. But currently IDEs need to bundle it
          within the module.


== License

TBD - MK: Ruby License? Opinions? I'm quite bad on this. But I think that Ruby
          License would be OK. But we have to also keep Kent's license. Any
          lawyer here? :)

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Rubyeclipse-development mailing list
Rubyeclipse-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development

Reply via email to