Amethyst Help
Back toAmethyst Project Properties
The Amethyst Project Properties settings allow you to tailor a number of parameters relating to the compilation and launching of the current project. This enables you to override the Amethyst global defaults by tailoring settings for the current project.
See also: Amethyst Global Options
Help is available on the following property pages:
Application
Publish
Web
Compiler
Launch Settings
Build Events
Configuration
Source Paths
Library Paths
Flash IDE
Named Builds
The Amethyst Project Properties are arranged over several pages. Many of these pages are ‘build dependent’. That is, they allow you to create different sets of options to be applied to named builds such as ‘Release’ or ‘Debug’. When settings are build-dependent you may select the build name from the combo boxes at the top of the properties page. When settings are not build dependent, the settings on that page apply to all builds and he combo boxes are greyed out.
To change the active Build Configuration when building a project, select its name in the Visual Studio Solution Configuration in the Standard toolbar.
Application
Not Build Dependent: Settings apply to all builds.
Flex SDK Directory
Choose the directory containing the Flex SDK which will be used when building this project.
You may browse to select an alternative SDK if one has been installed.
Example: You should specify the ‘top level’ folder of the Flex SDK such as:
C:\flex4_sdk
or
C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0
Main source folder
The top-level source folder of your Flex application. The default is src.
Project type
The project type determines a number of settings including the default launcher, whether or not a web server may be used, the compiler that will be used (either the mxml compiler or the Flash IDE’s compiler) and whether or not a Flash (FLA) project file is required. The principal settings for each project type are shown in this table:
| Project Type | Launcher | WebServer possible | Compiler | Requires FLA |
|---|---|---|---|---|
| Flex | Browser or Flash Player | Yes | mxmlc | No |
| AIR | AIR Launcher | No | mxmlc | No |
| ActionScript | Browser or Flash Player | Yes | mxmlc | No |
| Flash IDE | Browser or Flash Player | Yes | Flash IDE | Yes |
| FlashAIR | AIR Launcher | No | Flash IDE | Yes |
Output type
- Application: build as a runnable (SWF) application
- Library: build as a reusable (SWC) library
- Library name: The name of the output library (only enabled when Output type is Library)
Build version
Generates a build version number when the project is rebuilt.
A new version number may be auto-generated whenever the project is built. You may tailor the version number in the ‘Build version’ field as follows:
a) * Generate a unique version number formatted ####.#####
b) *|num Auto-increment the build number starting with num (e.g. *|100)
c) {0:d} use a date/time stamp as the version number
Note: Option (b) above saves the data into the project file to ensure that the value is incremented in subsequent builds. Here * is a substitution point and may be used more than once. Options (a) and (c) do not save data but generate the version number as required. You may use any .NET data/time formatting specifiers with option (c) above. You may also combine the options above or use them with other text entered into the ‘Build version’ field.
Examples:
| Enter this in Build Version | Results in a version number similar to this... |
|---|---|
* |
’3811.29037’ |
*|100 |
’101 ’ |
* *|100 |
’101 ’ ’101 ’ |
{0:d} |
’08/06/2010’ |
{0:MM-MMMM, ddd-dddd} |
’06-June, Tue-Tuesday’ |
Amethyst Build: * ({0:T}) |
’Amethyst Build: 3811.29283 (16:16:07)’ |
The version information is assigned to the AMETHYST::BUILDVERSION constant. You may display it (for example) in the following way:
trace( AMETHYST::BUILDVERSION );
Alert.show( AMETHYST::BUILDVERSION );Publish
Not Build Dependent: Settings apply to all builds.
This is a built in FTP program which can be used to upload selected files to a server. This is likely to be used when uploading a small number of files such as SWFs, HTML files, Stylesheets and resources. It is not intended to replace a dedicated FTP program.
FTP name: The URL to which the files will be uploaded
User name: An FTP user name
Upload timeout: The maximum time allowed for the operation to complete
Use passive mode: Sets FTP passive mode
Password: An FTP password
The List Box shows the selected source file and the destinations to which they will be uploaded. These items can be edited. To add a new source file click the ‘Add’ button. To remove a selected source file, click the ‘Remove’ button
Web
Not Build Dependent: Settings apply to all builds.
Here you may specify server information
Do not use web server: loads application from the file system
Use Visual Studio Development Server: use the mini web server provided with Visual Studio
- Auto-assign port: use the default port for Visual Studio Development Server
- Specific port: use a specific port number (e.g. if the default is in use) for Visual Studio Development Server
- Virtual Path: Specifies the virtual path of your Web site when using the Visual Studio Development Server. The default is the Web server root, which is indicated by a forward slash (/).
Use Local IIS web server: You may select this option if you wish to use the IIS server
* Project URL: This may be set to the location of the project - e.g. http://localhost/MyProject
- Create Virtual Directory: Specifies the virtual path of your Web site when using IIS. For more help see the Microsoft Knowledgebase article: How To Create a Virtual Directory in Internet Information Services (IIS).
User custom web server
- Server url: If you wish to use another web server, specify the server url here.
Compiler
Build Dependent: Different sets of settings may be defined for named builds.
You may check these options to be passed to the compiler:
Incremental: Enables incremental compilation
Warnings: Enables all warnings
Flex 3 compatibility mode: Sets Flex 3 compatibility mode when using the Flex 4 SDK
Static link runtime shared libraries: Compiles using static libraries rather than runtime shared libraries
Debug: Adds additional debugging information to the compiled output file
Strict: Checks for undefined property and function calls and performs compile-time checking
Keep generated ActionScript: Keeps (on disk) the ActionScript generated from MXML
Optimize: Enables ActionScript optimization
Show ActionScript warnings: Show ActionScript compilation warnings
Use network: When false, the application can access the local file system but will not be able to access network URLs
Player: The version number of the Flash Player to be supported when this application is compiled. When this option is empty, the default Flash Player version will be used.
Output path: The output location for compiled programs (SWF or SWC) relative to the project directory.
Additional compiler options
Include classes: Component compiler option only - a list of classes to include in output SWC.
Keep custom metadata: specifies custom metadata to be kept in the compiled program
Additional compiler arguments: Any other compiler arguments may be added here
Launch Settings
Build Dependent: Different sets of settings may be defined for named builds.
Use browser to launch
When checked, a web browser will be used when running an application. You may select a web browser in Global Settings. This has no effect for AIR or Library projects.
Use Player to launch
When selected, a Flash Player will be used when running an application.
- Use default: Use the Flash Player selected in Global Settings.
- Use alternate: Use a specific Flash Player (you may browse to select this).
Build Events
Build Dependent: Different sets of settings may be defined for named builds.
Here you may specify commands to be executed before or after each build.
Pre-build event command line: Commands to be executed prior to building this project.
Post-build event command line: Commands to be executed after building this project.
You may include a number of ‘macro’ tokens in the command line. A macro token will be expanded when the command is executed.
Available Macro Tokens
These tokens will be processed when the project is built. They are entered between round brackets preceded by a $ - e.g. $(TargetPath)
CompilerTimeout: the compiler timeout in seconds
ComponentCompiler: the full path to the component compiler
Configuration: the current configuration - e.g. ‘Debug’
DevEnvDir: the VS installation directory
FlashCompiler: the full path to the Flash IDE
MXMLCompiler: the full path to the MXML compiler
Platform: the current platform - e.g. ‘Flex3’
ProjectDir: the project folder - e.g. ‘c:\test’
ProjectName: the project name - e.g. ‘myproj’
ProjectPath: the full path to the project file - e.g. ‘c:\test\myproj.amprog’
SDKDirectory: the current SDK directory
SolutionDir: the solution directory
SolutionExt: the extension of the solution file
SolutionFileName: the filename of the solution
SolutionName: the solution name
SolutionPath: the solution path
TargetDir: the build target directory - e.g. ‘c:\test\bin\debug’
TargetExt: the build target extension - e.g. ‘.swf’
TargetFileName: the build target filename, - e.g. ‘zap.swf’
TargetName: the name of the build target - e.g. ‘zap’
TargetPath: the full path to the build target - e.g. ‘c:\test\bin\Debug\zap.swf’
Example: Post-build event command line:
copy $(TargetPath) "C:\MyApps\SWF\MyProgram.swf"
The above command copies the output SWF to the specified path (C:\MyApps\SWF\)) using the name ‘MyProgram.swf’.
Configuration
Build Dependent: Different sets of settings may be defined for named builds.
AIR configuration file AIR configuration file (created when AIR project is built)
Global configuration file (optimal) compiler configuration file
Local configuration file (optional) local configuration file for this project
Global constants (conditional compilation)
Here you may define one or more constants to be used selectively to include or exclude blocks of code from compilation of a Flex project (conditional compilation requires the MXML compiler). For example, you might include different blocks of code in a Release and a Debug build. The syntax for a conditional compilation constant is:
namespace::variable_name,value
You may define any namespace and variable name. Typically the value is Boolean. For more information see the Adobe guide to Conditional compilation.
Constant to add: The namespace, variable name and value to be defined for the selected build configuration. For example:
CONFIG::debug,true
To add this constant to be list of defined constants, click the Add Constant button.
Defined constants: The constants defined for the selected build configuration. To remove a constant, select it in the list and click the Remove button.
Example:
Assume you have two configurations named Release and Debug. The Release build defines these constants:
CONFIG::release,true
CONFIG::debug,falseThe Debug build defines these constants:
CONFIG::release,false
CONFIG::debug,trueYou may now enclose blocks of code between curly braces with the conditional compiler directive before the opening brace:
CONFIG::debug {
public function buildinfo( ):String {
return "This is the Release Build";
}
}
CONFIG::release {
public function buildinfo( ):String {
return "This is the Debug Build";
}
}Source Paths
Build Dependent: Different sets of settings may be defined for named builds.
List of paths to be searched by the compiler
Source Folder: The path to a directory on disk.
You may use the Browse button to locate this. To add it to the source paths for this Build configuration, click the ‘Add Folder’ button. The List box displays all source paths for this Build Configuration. You may click ‘Remove Folder’ to remove the selected folder from the list. Click ‘Up’ or ‘Down’ to change the order of the paths.
Tip: Adding External Files For Intellisense...
Source paths provide instructions to the compiler, not to Amethyst so files outside the current project will not provide IntelliSense when added via source paths. In order to add IntelliSense for files outside the project, add links to those files. To do this, right-click a folder in the Solution Explorer and select Add/Existing Item. Browse to the directory containing the files you wish to add, select one or more files. Click the Down Arrow on the Add Button and select Add As Link. Links to the selected files will now be inserted into your project and the code in those files will now be available for IntelliSense.
Library Paths
Build Dependent: Different sets of settings may be defined for named builds.
Here you may add folders to be searched for library (SWC) files or you may add individual SWCs.
SWC Folder
Folder containing one or more Libraries (SWCs) to be included in this Build. Click the Add SWC Folder button to add this folder to the list of library paths.
For example, assuming you have a ‘locale’ defined - that is, the Additional compiler arguments on the Compiler page, includes a directive similar to the following:
-locale zh_CN
The compiler now needs to know where to find the required library files to support this locale. The locale folders are located in the SDK and may, for example, be in this path...
C:\flex4_sdk\frameworks\locale\zh_CN
In the Library Paths page, browse to the SWC Folder then click Add SWC Folder.
SWC File
A single Library (SWC) to be included in this Build. Click the Add SWC File button to add this file to the list of library paths. Note: An alternative way of adding a Library is to add it as a reference node in the Solution Explorer. In general, adding libraries as references (right click the References node in the Solution Explorer) is the preferred way to add single SWC-library references.
The List box displays all library folder and file paths for this Build Configuration. You may click ‘Remove Item’ to remove the selected path from the list. Click ‘Up’ or ‘Down’ to change the order of the paths.
Flash IDE
This feature is currently in development and Help will be added later.

