# Antenna Support

This document describes MTJ's support for exporting Antenna build files.

- About Antenna
- Configuration
- Generating Antenna Build Files
- Customizing the Antenna Build

## About Antenna

Antenna (http://antenna.sourceforge.net) is an Ant extension. Antenna provides a set of Ant tasks suitable for developing wireless Java applications targeted at the Mobile Information Device Profile (MIDP). With Antenna, you can compile, preverify, package, obfuscate, and run your MIDP applications (aka MIDlets), manipulate Java Application Descriptor (JAD) files, as well as convert JAR files to PRC files designed to run on the MIDP for PalmOS implementations from Sun and IBM. Thus, Antenna does many of the things in the Ant world that MTJ does in the IDE world.

MTJ has the ability to automatically generate and update a set of Antenna-compatible build files. This allows MTJ users to easily publish Antenna build files for non-Eclipse users, or to use Antenna in conjunction with MTJ to perform operations, such as PRC conversion, that MTJ does not provide. It also allows MTJ projects to be included in automated builds of larger projects.

## Configuration

Before you can use MTJ's Antenna generation feature, you must first provide MTJ with the location of the Antenna JAR file and a Sun WTK. This configuration item is part of the Basic Preferences page.

## Generating Antenna Build Files

In order to actually generate the Antenna Build Files, all you need to do is to right-click on the project in the Package Explorer window, select the Mobile Tools for Java item from the context menu and then select Export Antenna Build Files from the submenu.

Performing this operation the first time will result in three files being added to your project's mtj-build folder:

- mtj-build/mtj-build.xml
  This is the generated Antenna build file.
- mtj-build/mtj-build.properties
  This file contains properties that mtj-build.xml imports.
- mtj-build/*.symbols - Files with a name "<Configuration_Name>.symbols", such as "DefaultColorPhone.symbols", "A910.symbols". These files contain symbols for each configurations for Antenna preprocess task.
- mtj-build/custom-tasks
  This folder contains some custom ant tasks used by MTJ.

Ant support is built into Eclipse, and Antenna build support is included in MTJ, so you can execute the Antenna build directly by right-clicking on mtj-build.xml and selecting Run / Ant Build or selecting External Tools from the main Run menu.The ant build generates the application JAD and JAR files within the deployed/ folder just like MTJ does on the IDE.

## Customizing the Antenna Build

Although the automatically-generated mtj-build.xml file contains most of the common operations you would typically want to perform with Antenna, the designers of MTJ obviously can't anticipate all possible situations. As such, MTJ's automatic generation process includes the ability to customize the generated build files.

NOTE: The files mtj-build.xml and mtj-build.properties are automatically re-generated if and when you repeat the export process, and so any changes you make will be overwritten. In addition, the format and organization of the mtj-build.xml file is subject to change.

If you want to change symbols in *.symbols for a configuration, please do that via Configuration Edit Dialog, and then re-export Antenna build files.