Antenna Support

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

  1. About Antenna
  2. Configuration
  3. Generating Antenna Build Files
  4. 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:

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 build.xml and selecting Run / Ant Build or selecting External Tools from the main Run menu.

Customizing the Antenna Build

Although the automatically-generated build.xml and 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.

Do not edit the mtj-build.xml and mtj-build.properties files.

These files 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 add properties to those automatically generated into mtj-build.properties file, or if you need to override the automatically-generated properties, you can do so by creating a file named user-build.properties in your workspace. The contents of this file, if it is present, will override the properties MTJ would normally generate.

If you want to add tasks to your build, add them to the build.xml file. If you look at the generated files, you will see that the build.xml file references the mtj-build.xml file using ant tasks.

Note that the default build.xml assumes that you are packaging your MIDlet suite using obfuscation. If you are not using obfuscation, you will want to modify the build.xml file appropriately. To do this, locate the line in the build.xml that reads:

<target name="deployedSuite" depends="deployable" />

and change it to read:

<target name="deployedSuite" depends="jar" />