The Flex SDK project is located in the Subversion repository at /flex/sdk
. The URL for the project is http://opensource.adobe.com/svn/opensource/flex/sdk/.
Within this project are directories named trunk
, branches
, and tags
, as is standard for Subversion projects. Mainline development, currently for Flex 4, is underway in trunk
. The Flex 3 code can be found in branches/3.0.x
. The code which shipped as the 3.0.0.477 release of the SDK has been tagged as tags/3.0.0.477
.
Inside either the trunk or a branch or a tag, the most important directories to understand are:
modules | Java source code for the SDK's compile-time command-line tools, such as mxmlc , compc , and fdb . |
lib | JAR files containing compiled Java code for the SDK's command-line tools. When you build the Flex SDK, JARs are compiled into this directory from the Java source code in modules . The JARs that have been checked into Subversion are precompiled; most of these are third-party open-source libraries but a few are proprietary Adobe libraries. |
bin | Launchers for the SDK's command-line tools. Each launcher simply runs the corresponding JAR file in lib , by executing the main () method of the class specified in the JAR's manifest file. |
frameworks | ActionScript source code for the SDK's runtime functionality. When you build the Flex SDK, SWC files are compiled into frameworks/libs and frameworks/locale . The command-line compilers link your application or library against these framework SWCs. |
Other top-level directories that may be of interest are:
asdoc | A tool that builds HTML documentation for ActionScript classes. |
development | IDE projects useful for building and debugging the command-line tools in Eclipse, and the framework SWCs in Flex Builder. |
in | Flash Players and AIR support. |
mustella | An automated testing framework for Flex applications and components. |
samples | Sample applications developed with Flex. |
templates | HTML templates for browser-based Flex applications. |
tools | Miscellaneous tools for Flex development. |
modules
directoryInside modules
, you'll find the following Java source code for the SDK's author-time command-line tools:
antTasks |
Flex-related Ant tasks such as <mxmlc> and <compc> . This code builds flexTasks.jar . |
asc | The ActionScript 3 compiler. This code builds asc.jar. (This directory is not in tags/3.0.0.477; instead, this tag has a prebuilt asc.jar.) |
compiler |
The MXML compiler. This code builds mxmlc.jar , compc.jar , fcsh.jar , flex-compiler-oem.jar , asdoc.jar , optimizer.jar , digest.jar , and copylocale.jar . |
debugger |
The command-line debugger. This code builds fdb.jar . |
swfutils | A library for reading and writing SWF files. This code builds swfutils.jar and swfdump.jar .
(This directory is not in tags/3.0.0.477; instead, this tag has a prebuilt JARs.) |
frameworks
directoryInside frameworks
, you'll find the ActionScript code for the SDK's runtime framework. The most important directories to understand are:
projects | Directories containing ActionScript code for each Flex component library. For example, the framework directory is used to build framework.swc . |
libs | The output directory in which component libraries are built. |
locale | The output directory in which resource bundle libraries are built. This directory is not in Subversion but is created when you build the SDK. |
rsls | The output directory in which runtime shared libraries (RSLs) are built. This directory is not in Subversion but is created when you build the SDK. |
Other frameworks
subdirectories that may be of interest are:
flash-integration | The Adobe Flex Component Kit for Flash CS3. It lets you create Flex controls, containers, skins, and other assets in Flash CS3 Professional. You can then import those assets into your Flex application. |
javascript | JavaScript code that the Flex framework can call, such as the Flex AJAX Bridge (FABridge). |
tests | A few basic tests that run inside the Mustella automated test harness. These tests must pass before code can be committed into the Subversion repository. |
themes | A directory containing some visual themes that can be used to change the apperance of a Flex application. |
frameworks/projects
directoryThis directory contains source code for the following component libraries:
airframework |
AIR-only classes such as WindowedApplication and HTML . |
flex | Very basic classes to support applications that don't require the larger framework. |
framework |
The main Flex component library, containing classes such as UIComponent , DataGrid , VBox , DateFormatter , CreditCardValidator , etc. |
haloclassic | Old skin classes from Flex 1.5. |
rpc |
Client-side networking classes such as HTTPService . |
utilities | Miscellaneous utility classes. |