Wednesday, January 23, 2008

Archimedes mainstream back to version without Eclipse's Rich Client Framework

I'm working on Archimedes again. After 6 long months, I decided to restart working on the project after a chat with Maddog during the OpenBeach (site in Portuguese). I admitted that the migration idea was not very bright because of the complexity involved in RCP and the state of the project so far.

This is way I decided to go back to the version 0.17.x version and work on it.
Most of my work so far has been focused on infrastructure. I've developed a small library that parses an XML file into an abstract structure and another one that transforms that structure into SWT widgets, more specifically, a menu bar and/or a cool bar (a toolbar that can be moved). I've tweaked it to adapt better with os x menu system.
The source and tests and examples of this work are available in a specific folder of the SVN tree of Archimedes:
https://incubadora.fapesp.br:8043/svn/archimedes/actionsystem/
There is no build system but if you use eclipse, you can just export the project as a jar file. I will add a build.xml file whenever I get some time to do it decently.

Another main change was restructuring the whole archimedes SVN tree. It now follows the default suggested structure. Every project is contained in the trunk folder inside the projects name. It's much easier to understand looking than explaining. Most work will still be kept on trunk. Branches will be used for main releases so that we can correct bugs for running versions more quickly. Tags will be used to keep track of what revision is related to which release.

Finally, the other thing is that I changed the build to generate an executable file for each system (.exe on Windows, .app on OSX, executable on Linux) with embedded icons (except on linux).

My next work will focus on finishing the action system so that the application that uses the library can populate, enable/disable buttons and add dynamic itens and other features desirable. Once this is done, I'll restart working on feature for archimedes mainly bringing new features implemented in the migrated version to this old system. I've got a ton of work to do until March when I finally will have another student team working with me on the project. I'll give further news as I evolve.

No comments: