README.md
Apache Flex FlexUnit
==================

Apache Flex FlexUnit is a unit testing framework for Apache Flex and ActionScript 3.0
applications and libraries. It mimics the functionality of JUnit, a Java
unit testing framework, and comes with a graphical test runner.

Getting the latest sources via git
==================================

You can always checkout the latest source via git using the following
command:

git clone https://git-wip-us.apache.org/repos/asf/flex-flexunit.git flexunit
cd flexunit
git checkout develop

For further information visit http://flex.apache.org/download-source.html

Building Apache Flex FlexUnit
=========================

Apache Flex FlexUnit requires some build tools which must be installed
prior to building FlexUnit and it depends on some external software which
are downloaded as part of the build process. Some of these have different licenses.
See the Software Dependencies section for more information on the external software
dependencies.

Install Prerequisites
---------------------

Before building FlexUnit you must install the following software and set the
corresponding environment variables using absolute file paths. Relative file paths
will result in build errors.

==================================================================================
SOFTWARE ENVIRONMENT VARIABLE (absolute paths)
==================================================================================

Java SDK 1.6 or greater (*1) JAVA_HOME
(for Java 1.7 see note at (*2))

Ant 1.7.1 or greater (*1) ANT_HOME
(for Java 1.7 see note at (*2))

Apache Flex (*3) FLEX_HOME

==================================================================================

*1) The bin directories for ANT_HOME and JAVA_HOME should be added to your PATH.

On Windows, set PATH to

PATH=%PATH%;%ANT_HOME%\bin;%JAVA_HOME%\bin

On the Mac (bash), set PATH to

export PATH="$PATH:$ANT_HOME/bin:$JAVA_HOME/bin"

On Linux make sure you path include ANT_HOME and JAVA_HOME.

*2) If you are using Java SDK 1.7 or greater on a Mac you must use Ant 1.8 or
greater.

If you use Java 1.7 with Ant 1.7, ant reports the java version as 1.6
so the JVM args for the data model (-d32/-d64) will not be set correctly and
you will get compile errors.

Also if you use Java SDK 1.7 you may encounter SSL errors when downloading
3rd party files as part of the build process to fix this issue

On Windows:

create an environment variable called ANT_OPTS with the value
-Djsse.enableSNIExtension=false

On the Mac (bash):

export ANT_OPTS="-Djsse.enableSNIExtension=false"


*3) FLEX_HOME should be set to a valid Apache Flex installation.


Software Dependencies
---------------------

Apache Flex FlexUnit uses third-party code that will be downloaded as part of the Apache
Flex FlexUnit build.

When you have all the prerequisites in place and the environment variables set,
(see Install Prerequisites above), use

cd <flexunit.dir>
ant thirdparty-downloads

The Apache Version 2.0 license is in the LICENSE file.

The following dependencies have licenses which are, or are compatible with, the Apache
Version 2.0 license. You will not be prompted to acknowledge the download.

(jars)
ant - http://search.maven.org/remotecontent?filepath=org/apache/ant/ant/1.7.1/ant-1.7.1.jar (Apache 2.0 License)
ant-contrib - http://search.maven.org/remotecontent?filepath=ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar (Apache 2.0 License)
ant-launcher - http://search.maven.org/remotecontent?filepath=org/apache/ant/ant-launcher/1.7.1/ant-launcher-1.7.1.jar (Apache 2.0 License)
ant-testutil - http://search.maven.org/remotecontent?filepath=org/apache/ant/ant-testutil/1.7.1/ant-testutil-1.7.1.jar (Apache 2.0 License)
maven-ant-tasks - http://search.maven.org/remotecontent?filepath=org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar (Apache 2.0 License)
dom4j - http://search.maven.org/remotecontent?filepath=dom4j/dom4j/1.6.1/dom4j-1.6.1.jar (BSD License)
jaxen - http://search.maven.org/remotecontent?filepath=jaxen/jaxen/1.1-beta-6/jaxen-1.1-beta-6.jar (BSD License)

(swcs)
coverageagent - https://flexcover.googlecode.com/files/flexcover-0.90.zip (MIT License)
fluint - https://github.com/flexunit/flexunit/raw/master/FlexUnit4Test/libs/fluint-1_2.swc (MIT License)
mockolate - http://cloud.github.com/downloads/drewbourne/hamcrest-as3/hamcrest-as3-flex-1.1.3.zip (MIT License)
mock-as - https://github.com/flexunit/flexunit/raw/master/FlexUnit4Test/libs/mock-as3.swc (BSD License)
hamcrest - http://cloud.github.com/downloads/drewbourne/hamcrest-as3/mockolate-0.9.5.zip (BSD License)
flexunit1lib - https://github.com/flexunit/flexunit/raw/master/FlexUnit4Test/libs/FlexUnit1Lib.swc (BSD License)

The following dependencies have licenses which Apache considers to be reciprocal
licenses so you will be prompted to acknowledge the license before the software is
downloaded to your system.

(jars)
junit - http://search.maven.org/remotecontent?filepath=junit/junit/3.8.1/junit-3.8.1.jar (License - CPL 1.0)
saxon9he - http://search.maven.org/remotecontent?filepath=net/sf/saxon/Saxon-HE/9.4/Saxon-HE-9.4.jar (License - MPL 1.1)


Building Apache Flex FlexUnit
-----------------------------------------------

When you have all the prerequisites in place and the environment variables set,
(see Install Prerequisites above), to build Apache Flex FlexUnit use:

cd <flexunit.dir>
ant

To clean the build use:

ant clean

To package the build use:

ant package

For information on setting up FlexUnit, creating tests, using FlexUnit with
ant or continuous integration please see the FlexUnit section of the Apache
Flex wiki.

https://cwiki.apache.org/confluence/display/FLEX/FlexUnit

Thanks for using Apache Flex FlexUnit. Enjoy!

The Apache Flex Project
<http://flex.apache.org>