Stop Coding!

The Unofficial Flex Compiler Blog

Posts Tagged ‘hfcd

HFCD zip Arhives for Ant Lovers

Some developers don’t use Flex Builder and wonder how they can use HFCD from the command line or with their favorite Flex IDEs.

I have just made some HFCD zip archives available:

You don’t have to download all of them… just pick the version that you intend to use.

Unzip the archive. You’ll find a build.xml inside. Edit ${flex.sdk.dir} to point to your corresponding Flex SDK installation directory. Run ant. After running build.xml, you should see the HFCD “client” directory and HFCD “server” directory.

You start HFCD by running server/bin/hfcd. If you want to use ant to call HFCD, use client/lib/hfcd-ant-tasks.jar. For more information on how to use the HFCD ant tasks, please check out the HFCD ant task language reference:

Some developers want to see Maven/Flexmojos support. I like that idea too and I’m going to investigate. Stay tuned.


Written by Clement Wong

July 21, 2010 at 10:00 am

HFCD For Flex 4.1 Now Available

Dear readers,

HFCD for Flex 4.1 is now available. Sorry for the delay. I thought it would take me a week or two to release it. But I wasted a little bit of time working on the wrong Flex SDK revision! Boo…

The good news is that there is no Flex Compiler API changes in Flex 4.1. However, there will be some new methods added to the API in the upcoming Flex 4.5.

I think the most notable fix in the compiler in 4.1 is SDK-25206. If you occasionally switch between airglobal.swc and playerglobal.swc in your Flex Builder workspace, you may run into this issue. But this is a good fix and helps build performance too.

HFCD 4ドキュメントは現在日本語で入手可能です。

このたびHFCD 4の日本語版ドキュメントが、ご利用いただけるようになりましたのでお知らせします。

Written by Clement Wong

July 5, 2010 at 6:17 pm

HFCD For Flex 4.1 Coming Soon…

leave a comment »

I started working on an HFCD update for Flex 4.1 yesterday. Looks like it will not be a lot of work for me so I plan to make it available early next week.

If you would like to know the progress, you can follow me on (@stopcoding) Twitter.

It’s Time To Hit The Road!

with 2 comments

I’m going to present at the Flex User Group meetings in Toronto and Ottawa this month (2010/06) and in Washington DC next month (2010/07).

Title: In-depth look at the Flex compiler and HFCD


  1. Basic architecture of the Flex compiler
  2. Compiler extensibility
  3. Overview of the Flex compiler API
  4. HellFire Compiler Daemon(HFCD)

Toronto (June 10th, 2010):

Ottawa (June 23rd, 2010):

Washington DC (July 7th, 2010):

If you don’t live there but want me to give a talk, please contact me or your Flex UG organizer.

See you there.

Written by Clement Wong

June 2, 2010 at 9:58 am

HFCD 4 Is Now Officially Available.

Hi, I’m pleased to announce that HFCD 4 is now officially available.

HFCD 4 for Flash Builder achieves better Flex (full and incremental) build performance than Flex 3 and Flex 4 by utilizing:

  1. all of the Flex 4 compiler performance improvements
  2. multicore processor technology
  3. techniques to build Flex apps in the background.

and allows builds to be distributed to multiple machines on a local network. The HFCD ant tasks also make it easy to integrate HFCD with custom build systems or popular build systems like Hudson CI, etc.

To learn more about HFCD, please visit

Those who purchased HFCD 3 before today will receive their FREE copies of HFCD 4. Sorry, this special offer ends today.

But don’t be disappointed. If you find a HFCD bug and file it and I can reproduce it, you will get a HFCD license for free. Click here for details. The offer ends by the end of this month (2010/04) but I’m going to extend it until further notice…

Download HFCD:

Using Apache Ant To Run Parallel HFCD Builds

with one comment

In several of my previous posts about the use of the HFCD ant tasks,

I only mentioned in the build.xml example that you can connect to one HFCD server instance. What I did not mention was that you could script your build.xml to connect to multiple HFCD server instances by using the Apache Ant <parallel> task.

        <hfcd hostname="host1" buildData="${basedir}/build.hfcd.1">
        <hfcd hostname="host2" buildData="${basedir}/build.hfcd.2">
        <!-- more hfcd tasks... -->

The build.xml code snippet above shows the use of the Apache Ant <parallel> task with the <hfcd> task. If you are able to separate your extremely large project workspace into multiple pieces (e.g. project workspace with a large number of modules), you could use the above technique to distribute the build to multiple HFCD server instances, further improving overall build performance.

I did not mention it then because the above technique was not possible without being able to store the build data sent from multiple HFCD server instances separately. But now, it is possible. In the latest HFCD build (i.e. build 20100420), I added the buildData tag attribute to the <hfcd> task. The tag attribute specifies the directory where build data from a HFCD server instance should be stored.

The latest HFCD build is here:

The HFCD Ant Task Language Reference is here:

Written by Clement Wong

April 20, 2010 at 2:19 pm