blob: 38f9f4ecb6fa5f27b2a13568e32dfeb8a9fab18d [file] [log] [blame]
Apache Royale Typedefs
====================
These Apache Royale Typedefs are libraries that contain ActionScript class
definitions for popular JavaScript Libraries like Google Closure, JQuery
and more.
Many of these libraries are created by starting with what the Google Closure
Compiler refers to as "externs" but are also referred to as "typedefs". These
are custom JavaScript files that don't contain runnable code and instead contain
"JSDOc" and function and variable declarations for an API of a JavaScript library.
The Royale Compiler has a compiler called EXTERNC that compiles these externs
into ActionScript, then the Royale Compiler's COMPC compiler turns that into
ActionScript Libraries (SWCs).
Getting the latest sources via git
==================================
Getting the source code is the recommended way to get the Apache Royale Typedefs.
The typedefs can also be installed by installing an Apache Royale SDK via NPM
or by unpacking Apache Royale binary distributions available from link on our
website at http://royale.apache.org/.
You can always checkout the latest source via git using the following
command:
git clone https://github.com/apache/royale-typedefs.git royale-typedefs
cd royale-typedefs
git checkout develop
Building the Apache Royale Typedefs
=================================
The Apache Royale Typedefs require the Apache Royale Compiler.
You can build the Apache Royale Typedefs with Apache Maven or Apache Ant.
Building the Apache Royale Typedefs with Apache Maven
-----------------------------------------------------
Before building the Apache Royale Typedefs with Apache Maven you must install
the following software.
==================================================================================
SOFTWARE
==================================================================================
Java SDK 1.7 or greater (*1)
Maven 3.3.9 or greater (*1)
==================================================================================
*1) The bin directories for Maven and Java should be added to your
PATH.
Then run
mvn clean install
Building the Apache Royale Typedefs with Ant
----------------------------------------------
Before building the Apache Royale Typedefs with Apache Ant 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.7 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))
==================================================================================
*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.
Once you've done that, use
ant main (or just ant since the default target is main)
to download the third-party dependencies and build the source and run
some tests. Since the third-party dependencies take a little while to
download and they don't change very often, they are not cleaned with
the regular clean target.
To clean the build of everything other than the downloaded third-party
dependencies use
ant clean
To clean the build, of everything, including the downloaded third-party
dependencies use
ant wipe (which is just thirdparty-clean followed by clean)
To get a brief listing of all the targets type
ant -projecthelp
Using the Apache Royale Typedefs
=================================
Because the typedef libraries only contain classes, interfaces, constants, top-level
variables and functions, and don't contain runnable code, they must be placed on the
external-library-path when compiling a Royale application.
The typedefs libraries are packaged into a Royale SDK and are set on the
external-library-path by various config.xml files in a Royale SDK.
Thanks for using Apache Royale. Enjoy!
The Apache Royale Project
<http://royale.apache.org>