Amethyst Help

Back to -Products -Amethyst IDE -Amethyst Help

Amethyst 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.


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.


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:



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


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

- User custom web server

  • Server url: If you wish to use another web server, specify the server url here.


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’.


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:


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:


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.


Assume you have two configurations named Release and Debug. The Release build defines these constants:


The Debug build defines these constants:


You 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...


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.

Bookmark and Share   Keywords:  Amethyst  help
© SapphireSteel Software 2014