I still don’t understand how to use sprouts with an existing project. Not without a lot of work, that is.
I’m thinking now of using rake to create a build script (which could then use the sprouts rake tasks in my own rakefile) Perhaps I’m trying to think of it it as a monolithic solution. The development environment setup, the project and class + test generators, and the rake tasks are all separate things.
Here it is in my blog post “More on Sprouts” from August 12, 2008:
“sprouts is a build tool, a project generator, a dependency resolver/ package manager, and a download, installation, and configuration tool.”
“One thing Sprouts does is set up a Flex/ActionScript development environment.”
“The next thing Sprouts does is Build your application. It does this by wrapping the Flex SDK commands like ‘mxmlc’ into Rake tasks.”
“Sprouts then gets into other magic like creating a test harness…and setting up a project environment.”
The three areas are broken down into three different ruby tools. Gems, Rake, and Rubigen.
“It mentions IDE integration and continuous integration”
though I don’t know the state of these. I think Eclipse/Flexbuilder integration is only forthcoming and Cruisecontrol support is rudimentary.
I don’t know because I haven’t explored deeper however. The place I’m at now is trying to bolt a fledgling project built in Flexbuilder into a CI framework (Cruisecontrol.RB) and use the rake tasks in my own rakefile.
Because my IDE setup is a bit different than sprouts expects, I’ll have to do some work to make it fit. That’s the dependecy bug biting you there. Sprouts gereation is fairly good at looking like the default Flexbuilder file structure, but things like debugging, debug standalone player, sdk version, etc will take some tweaking. Ironically, it’s probably easier to modify Eclipse to match Sprouts configuration & tool versions, but that’s a moving target and not really a repeatable process.
Although having your development and build environments different could be a good way to catch dependency bugs, it can also be terrible to troubleshoot. I don’t know if I want to sign up to the Sprouts version setup, because some clients might have specific requirements that would be difficult to match. Maybe a configurable ingredients list would be the way to go, like my own maven repository — which is where I don’t want to go.
One thought on “Using Sprouts with an existing project”
Thanks for the post, please keep them coming!
The problem you seem to be struggling with is related to our ‘TaskHelpers’. These are the tasks that you see in a new Sprout project, and they essentially hide a bunch of complicated duplication for the common case.
I went ahead and created a wiki page on the Github Sprouts site that should help show the basic rake tasks that are hidden by the task helpers.
Please let me know if that helps!