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 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 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 into DrJava’s build script. I filtered out a few warnings that we weren’t interested in, but in general the FindBugs results were useful. I already made several changes based on the results.

I also re-integrated Clover into DrJava’s build script and updated the Clover reports for the main part of DrJava and the PLT utilities. All of this is kind of in support of Corky’s COMP 312 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 would not make DrJava throw an exception anymore. I addressed a problem with the Project Properties dialog when the Main Document did not exist. And I fixed an error introduced by refactoring 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. I also began adding two new features, “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, though.


About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in DrJava, Ramblings. Bookmark the permalink.

Leave a Reply