Trunk code reorganization
As I'm now back home and settled from the conference, I've started integrating some of the changes I made to the trunk on my laptop. I've basically been reorganizing the source tree to better fit with how RIM's Eclipse plugin wants to look at your project. As such, the code on the trunk now has the following top-level structure:
|.BlackBerry||BlackBerry workspace||Configures Eclipse for BlackBerry projects|
|lib||Support libraries||Support for ant-based builds|
|LogicMail||Library (project)||Application code|
|LogicMailStartup||CLDC Application (project)||Application entry point|
|J2MEUnit||Library (project)||Unit test framework|
|LogicMailTests||CLDC Application (project)||Unit test entry point|
This new organization is primarily designed to make the RIM Eclipse plugin happy. The plugin is currently not very flexible on how you organize your project, and is easily confused. (I really don't think RIM even yet tested it on projects whose source is littered with hidden source-control support directories.) In order to make all the application code available to the unit-testing project, I had to basically make everything but the main() method into a library project. Also, so it wouldn't throw tons of unused-method warnings on the J2MEUnit itself, I had to move that into its own library project.
One thing to keep in mind is that all of this complexity is only to support working and debugging in the development IDE. I intend to keep actual official builds fully ant-based, and ant gives me far more flexibility. When building through ant, the only generated artifacts will be a complete "LogicMail" CLDC Application, and a complete "LogicMailTests" CLDC Application.