Doing Gymnastics

As part of the OpenStudy project, we need to come up with a way to deploy a Flex app and a Rails app together. The Rails side forms mostly the backend, with some frontend stuff such as the landing page also handled there. The Flex app presents the main UI for the application.

The trouble with this is that the Flex app is done in FlexBuilder, but the deployment side should be fully automatable, and therefore should only have to rely on mxmlc (the Flex command-line compiler) or perhaps fcsh (the compiler shell that allows incremental compiles and such). This is a problem because these tools rely either on XML configuration files or on command-line parameters to tell them how and what to compile. FlexBuilder, meantime, tracks this information in its own, different XML configuration files, namely .actionScriptProperties and (sometimes) .flexProperties.

Now, the most annoying part about this is that you can't really get these two playing together nicely, unless you write your own glue code. Cue gymnast ( The purpose of gymnast is set to be hitting up the *Properties files, reading out the information about them, and building a nice Ruby object structure that describes the projects and their inter-relations.

Right now I'm not sure exactly what I'll be doing with this. It's possible that we would initially set up some basic rake or capistrano tasks for compiling the app in order to deploy more easily. Eventually it would probably be a better idea to actually hook into the Sprouts project ( and provide information at least in one direction, potentially in both.

For now, gymnast is just focused on extracting the metadata. What we end up doing with that metadata... Well, I'll worry about that once I actually have it.