The Flex SDK is one of several open-source projects in a Subversion repository hosted by Adobe. Subversion is an open-source revision control system used for many open-source projects. If you haven't used it before, please see the official documentation. For a high-level overview of source control concepts, see A Visual Guide to Version Control.
There are two ways to access the repository. You can use any web browser to see the structure of the project and view the latest version of each file. However, you must use a Subversion client to perform more complex operations such as reviewing the commit log, looking at older revisions or diffs, or checking out your own working copy to build and test.
To browse the Flex SDK project, go to http://opensource.adobe.com/svn/opensource/flex/sdk/
Within the project are directories named trunk
, branches
, and tags
, as is standard for Subversion projects.
The trunk is work-in-progress on the version under current development, which is currently Flex 4. The trunk should build and pass basic tests but may be unstable and unsuitable for use.
Branches are created when projects need to stabilize code for a release. The Flex 3 code can be found in branches/3.x
.
Tags record the code that shipped as a specific release, or other milestones in a project. The code which was used to build the 3.0.0.477 release of the Flex SDK has been tagged as tags/3.0.0.477
.
This site often uses the word “branch” as shorthand for “trunk, branch, or tag”.
To understand what's where inside each branch, see SDK Organization.
You can access directories and files inside the project by appending them onto the project's URL. For example, to browse the frameworks
directory in the trunk
of the Flex SDK, you can go directly to http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks.
To get your own working copy of the source code, you'll need a Subversion client. A client will also let you see the repository structure, look at the revision history of any file or directory, diff two versions of a file, etc.
The SDK team has had good experience with TortoiseSVN on Windows and SmartSVN on Macintosh, both of which are GUI clients. (This is not an official endorsement of these products by Adobe.) Of course, you can use whatever client you prefer, including Subversion's official command-line tool svn
. We'll assume you're using svn
in our instructions. An svn
client version of 1.6.2 or later is recommended.
You can get the Subversion installer, which includes svn
, here:
After installing svn
using the Windows installer, you should be able to execute svn
from any directory because it will be found on your PATH
.
On Macintosh, test the installation by opening Terminal and executing:
svn --version
If you get svn: command not found
, then you'll need to add the /usr/local/bin
directory onto your PATH
, since this is where svn
lives. Assuming you're using the default bash
shell in Terminal, you can do this by putting the following lines into a ~/.bash_profile
file:
PATH="/usr/local/bin:$PATH" export PATH
Otherwise, you'll have to invoke svn
as /usr/local/bin/svn
.
When you access the repository with a Subversion client, the Flex SDK project is at the URL http://opensource.adobe.com/svn/opensource/flex/sdk
To get the entire source code for the project, do a "checkout" from this URL into a local directory on your machine. Using the command-line client, you would execute
svn checkout http://opensource.adobe.com/svn/opensource/flex/sdk <local-directory>
If you only want the trunk, or a particular branch or tag, adjust the URL appropriately.
Some of the files in the repository are rather large --- 10 or 20 MB --- so expect the output from the checkout to slow down when you get to one of them.
Subversion doesn't make it possible to check out a top-level project directory without checking out every branch and tag as well. This may be too much code and take a long time. But if you check out only individual branches, you won't get a top-level project directory where you can see a project-wide log (i.e, you won't be able to run svn log
on the sdk
directory).
To solve this problem, you can download a project skeleton that we provide here. Download this file and unzip it. You can place the flex
directory anywhere convenient for command-line access.
We checked out the entire /flex/sdk
part of the repository for you and then removed the contents, leaving the .svn
directories that tell a Subversion client how to access the repository. You can simply “update” the particular directories you care about, such as trunk
, or branches/3.x
, or tags/3.0.0.477
. Using the command-line client svn
, you would execute something like
cd flex/sdk/trunk svn update
to pull down the code in the trunk.
If you're using the TortoiseSVN client, you can simply right-click on the trunk
directory and choose "SVN Update".
Of course, if you want the whole enchilada, just update the flex/sdk
directory.
Want to build and test the source code? See the sections Set up your development environment and How to build and test.
Everyone has read-only access to the Flex SDK project. You don't need a username or password.
Want to contribute? See Flex SDK Project Roles and Submitting a Patch.
If you'd like to keep up-to-date on changes to the Flex SDK project, you may subscribe to the Commits forum. Every time anyone commits a change to the Flex SDK, a description of that change is posted to this forum. You can request to receive an email for each commit, or to receive a digest on a regular basis.