Slow Compiles in Flex Builder with Multiple Library Projects

At See4th, we are developing an Enterprise AIR application that has a growing number of Library Projects. We hit 10 rather large Library Projects a few days ago and could no longer deal with the pain associated with 2 minute compiles. So the solution took our compile times from over 2 minutes down to 5 seconds! The solution works for both Flex Builder standalone and Eclipse Plugin.

We have created two Eclipse/Flex Builder workspaces. Workspace “A” contains our Library Projects that are tested one at time with a “test harness” or “thin-client”. Since only a few Library Projects are open at any given time, builds are peppy.

Workspace “B” is where our main application lives. Instead of pointing the main application to all 10 Library Projects via App Properties > Flex Build Path > Library Path > Project, we point to src directory of each Library Project via  App Properties > Flex Build Path > Library Path > Source Path.

This has improved compile times significantly: from over 2 minutes down to about 5 seconds. Very nice. And if you use the “Linked Resources” feature of eclipse (ours is ‘FLEX_SERVER_ROOT’), there are no path conflict issues in a collaborative environment.

For those of you who haven’t migrated to the tiny six leg creature to do your compiles and prefer using Flex Builder or Eclipse Flex Builder plugin for the job, this a great way to get huge compile-time performance improvements with very little effort. Additionally, the two workspaces gives you the ability to build modular application components as a swc and improved compile times by accessing the swc’s source path.