- A Concurrent Affair - https://www.concurrentaffair.org -

DrJava Recap of the Last Two Weeks

By now, we’re already two weeks into the new year. Only 50 weeks left… geez.

I have to admit that I wasn’t doing very much during the first few days of the year. It wasn’t that I was hung over from our wild CS grad student board game New Year’s party (which was very nice, thank you, Mary), I was just… sleepy. And I ate a lot. Green bell peppers went on sale, so I ate about four beef-stuffed bell peppers for the first few days of the year.

At some point I made a new stable release [1] of DrJava, but apparently something went wrong and the files got corrupted. This was only on a few servers, though, because my test downloads all worked. Believe me, when I make a release, I’m very thorough. I fixed this [2] a couple of days later by re-uploading the files. I was told I should have made a completely new release, to get different version numbers, but it wasn’t that the release was problematic, the copies on some of the servers were. So I ended up just posting a news release.

After a very interesting talk by Nat Ayewah of the University of Maryland, I also integrated FindBugs [3] into DrJava’s build script. I filtered out a few warnings that we weren’t interested in, but in general the FindBugs results [4] were useful. I already made several changes based on the results [5].

I also re-integrated Clover into DrJava’s build script and updated the Clover reports for the main part of DrJava [6] and the PLT utilities [7]. All of this is kind of in support of Corky’s COMP 312 [8] class, a class that I’m neither enrolled in nor assigned to as a teaching assistant. But I just feel some (probably counterproductive) obligation to help.

I made several bug fixes: I made a temporary fix so that the “@” from a package annotation [9] would not make DrJava throw an exception anymore. I addressed a problem with the Project Properties dialog when the Main Document did not exist [10]. And I fixed an error introduced by refactoring [11] that was so far inconsequential because the feature was never used.

Another fix didn’t make it into the new stable: When “Run” is pressed, the focus goes back to the Interactions Pane [12]. I also began adding two new features [13], “Follow Files” and “Execute External Process”.

With the latter, I was having some problems, though, because the very useful class ProcessBuilder was only introduced in Java 5.0, and we’re still trying to maintain 1.4 compatibility. I had to replicate that capability. All done now [14], though.

[15] [16]Share [17]