Sunday, March 05, 2006

Finishing, making the patch, and waiting...

This contribution was different from my last as far as me keeping in sync with the latest Eclipse builds. I spent a lot of time last time loading new versions of Eclipse and keeping the changes in sync. It was a royal pain in the butt, so this time I got one version and did all my changes without re-syncing.

This time, I got all the changes done and tested on one revision of Eclipse. Then, I downloaded the latest integration build and compared my files to the latest. There were virtually no changes to the files than mine. Eclipse had been going through a stabilization period for a milestone release (3.2 M5). I also compared to the head revision using the functions in the Eclipse CVS Repository perspective. I created a patch of all the files by control selecting all the packages I had altered in the package explorer and selecting the "Create Patch..." function from the CVS menu. (Note the package explorer doesn't come out-of-the-box in the CVS perspective, so I always add it for convenience.) I don't think I realized you could do patches for all packages by multi-selecting them last time I did this because I sent in two files.

Here are my comments for the patch:

- - - - - - - - - - -
Markus - Here is a patch that implements the fix from comment 4 as discussed.

Notes:

There's a new class "AssertionVMArg" that contains all the functionality as
static methods. Changes to existing classes are (for the most part) one line
calls to this class. This allowed me to keep the functionality encapsulated to
one place, and made changes to existing files less repetitive and messy.

You should check the changes to the UI on the JUnitPreferencePage. I took my
best guess as to the way to put the new checkbox on the page and adjust the
wording. I'll have no hard feelings if you want to change it.

Added a new test class with tests for default preference setting, the UI
hooking up correctly with the preference, and the jdt junit class creating a
config correctly. Automated tests are missing for the pde classes I had to
change, but I manually verified junit plug-in test configs work as well as
junit test configs. It seems I would have to put tests in the pde plug-in to
get to these classes, as it wouldn't let me import the pde classes into the jdt
test plug-in. I am willing to do this if you want, but I need to gather my
energies and make another run at it.

Let me know if you want any changes to the changes.
- John
- - - - - - - - -

Marcus took a bit to return this e-mail, but seemed positive.

- - - - - - - - - -

John: Thanks for the patch. I'll release it just after the milestone (sorry, I
was rather busy last week, and now we're already in the lockdown).
- - - - - - - - - -

That was from February 13th, and there's been no update since then (today is March 5). I'm concerned my patch is getting stale in all this time, but am assuming Markus will ask me for a fresh re-update if he has trouble with it.

EclipseCon is coming up. As I said long ago in an earlier post, my talk on doing things like this (making Eclipse contributions, I mean) was accepted, and I got slides done by their Feb 17 deadline. In the course of submitting the talk to the Eclipse folks (you do it as a bug report in Eclipsezilla - mine was submission 77 - http://eclipsezilla.eclipsecon.org/show_bug.cgi?id=77 ) I met another guy, Philippe Ombredanne, who had submitted basically the same talk. We decided to join forces and are giving the talk together. The talk is on Thursday afternoon, March 23rd. I hope this patch goes in before then so I can show the functionality in an official version of Eclipse.

Next, I dunno, hopefully a happy ending about how the patch went in...