Project Plan For Mobile Tools for Java, version 1.0.1

Introduction

The goal of the Mobile Tools for Java TM (MTJ) project is to extend existing Eclipse frameworks to support mobile device Java application development. MTJ will enable developers to develop, debug and deploy mobile Java applications to emulators and real devices. The base code of MTJ is EclipseME version 1.7.9.

DSDP MTJ recently graduated as an Eclipse Project. MTJ 1.0 was released with Galileo Train and several new features are available on it. A complete listy is available on the News and note worthy. MTJ is also a major component of Eclipse Pulsar Distribution, which is an Eclipse package that targets mobile application developers.

Next MTJ release will be part of Galileo Service Release 1 with a target date of Sep/25/2009. The main focus of this release is bug fixes. The plan is to address as much as possible all issues that are raised from the community after the 1.0 release. Besides that, there were several requests from the community to improve MTJ documentation and this is going to be one of the targets on the next release. It will also be necessary to do some house cleaning of the releng build system.

DSDP 1.0.1 scope is listed below

  • Fix major bugs of MTJ 1.0,
  • Improve User Documentation,
  • Releng house cleaning.

Release Deliverables

There are three main deliverables on DADP Mobile Tools for Java project:

  • MTJ SDK that includes all binaries and source files,
  • MTJ Runtime that includes only the binaries,
  • MTJ Examples that includes examples of how to use each of MTJ APIs.
  • Eclipse Pulsar Specific Package.

The source code repository is available at the MTJ SVN Repository . Besides that, it will also be included as deliverables, a set of project documentation:

  • Update Requirements Document,
  • Update Manual Test Procedure Document and
The above documentation is available on the Project Wiki

Table of Contents

Release Milestones

Below is a list of all milestones of this release. Those dates care aligned with Eclipse Galileo Train SR1 milestones dates. MTJ is integrated on the train with a +1 offset of each milestone.
RC1AUG/25/2009
1.0.1 RC1 (API + Feature freeze)
RC2SEP/01/2009
1.0.1 RC2 (Bug Fixes)
RC3SEP/08/2009
1.0.1 RC3 (Documentation and major bug fixes Only)
RC4SEP/15/2009
1.0.1 RC4 (Documentation and major bug fixes Only)
GASEP/25/2009
1.0.1 GA

Table of Contents

Target Environments

MTJ Deliverables will be tested on the following platforms

Mobile Tools for Java Reference Platforms
Operating system OS version Processor architecture Window system Java 2 Platform JavaME SDK
Microsoft Windows XP x86 Win32 Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows MOTODEV SDK for JavaME 1.3
Microsoft Windows XP x86 Win32 Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows Sun Java Wireless Toolkit 2.5.2 for CLDC
Microsoft Windows XP x86 Win32 Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows Nokia Series 40 Developer Platform 2.0 SDK
Red Hat Enterprise Linux WS 4 update 2 x86 GTK Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86 Sun Java Wireless Toolkit 2.5.2 for CLDC
Apple Mac OS X 10.5 x86 Carbon Apple Java 2 Platform Standard Edition (J2SE) 5, service release 4 Mpowerplayer build 1185
Apple Mac OS X 10.5 x86 Carbon Apple Java 2 Platform Standard Edition (J2SE) 5, service release 4 Microemu 2.0.3

Although untested, MTJ should work fine on other OSes that support the same window system. For Win32: NT, 2000, Vista, and Server 2003; SWT HTML viewer requires Internet Explorer 5 (or higher). For GTK on other Linux systems: version 2.2.1 of the GTK+ widget toolkit and associated libraries (GLib, Pango).

Internationalization

DSDT Mobile Tools for Java is completely preparaded to be used by localized products. All of its UI components have externalized strings. English is provided as the default language, but MTJ is part of Eclipse Babel and the community helps to generate other translations.

Table of Contents

Compatibility with Previous Releases

In terms of compatibility, there are three main aspects that need to be considered.

API Contract Compatibility: MTJ API will keep the contract compatibility on 1.0.1 release.

SDK Workspace format compatibility: Currently there is no plan to change the format that the imported SDKs are stored.

MIDlet Workspace format compatibility: Currently there is no plan to change the MIDlet project format on the 1.0.1 release.

Table of Contents

Themes and Priorities

Plan items listed below are based on the original planning objectives that were established on the Mobile Tools for Java Project 1.0.1.

Fix and Improve

  • Committed
    • [fiximprove][SDK]: MTJ keep references of removed SDKs [282738] (target milestone: 1.0.1)
    • [fiximprove]: Unable to import Java ME platform SDK 3.0 configurations [273298] (target milestone: 1.0.1)
    • [fiximprove] : Inconsistent launch behavior [273670] (target milestone: 1.0.1)
    • [fiximprove] Remove warnings from template Display Manager [278990] (target milestone: 1.0.1)
    • [fiximprove] [SignEnhancements]: Issue with Signing keystore locator window (file browser) [279105] (target milestone: 1.0.1)
    • [fiximprove][SDK] : dsdp-mtj-runtime-1.0 is so slowly when import mobile devices [281605] (target milestone: 1.0.1)
    • [fiximprove]: Correct/Improve preverification [281733] (target milestone: 1.0.1)
    • [fiximprove][debug]: Cant debug in eclipse. [281815] (target milestone: 1.0.1)
    • [fiximprove][debug]: Debugger broken. eclipse 3.5 sucks [281818] (target milestone: 1.0.1)
    • [fiximprove] : Import project functionality throws exceptions [284310] (target milestone: 1.0.1)
    • [fiximprove] : The Eclipse folder does not support blank spaces. [284461] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: EmptyOutlinePage illegally implements IPage via ISortableContentOutlinePage [287960] (target milestone: 1.0.1)
    • [fiximprove] : User defined exclusion paths are not being kept by jmunit. [288165] (target milestone: 1.0.1)
    • [fiximprove]: At New Project wizard there is no option to select Working Set [245896] (target milestone: 1.0.1)
    • [fiximprove][localization]: The location editor doesn't provides the Quick Fix feature [257367] (target milestone: 1.0.1)
    • [fiximprove]: Enhancements on the project creation wizard [261873] (target milestone: 1.0.1)
    • [fiximprove][SDK]: Importing a SDK that does not provide Manifest.mf fails [278171] (target milestone: 1.0.1)
    • [fiximprove][SDK]: Match runtime SDKs and devices against installed ones [284262] (target milestone: 1.0.1)
    • [fiximprove] [AppDescEditor]: Review Optional / Over the air / Push registry Application Descriptor tabs. [284452] (target milestone: 1.0.1)
    • [fiximprove]: Stack trace source linkage does not create links to emulators that print bci [284571] (target milestone: 1.0.1)
    • [fiximprove]: Enablement state of the specific configuration Combo control [284737] (target milestone: 1.0.1)
    • [fiximprove][SDK]: Device importing. WTK 3.0.0 devices have incorrect Configuration and Profile values upon import. [284768] (target milestone: 1.0.1)
    • [fiximprove]: Proguard root directory is misplaced [285288] (target milestone: 1.0.1)
    • [fiximprove][localization]: Localization Data model does not implements semantic validation [285589] (target milestone: 1.0.1)
    • [fiximprove] Error when selecting project preverification properties page [285763] (target milestone: 1.0.1)
    • [fiximprove][localization]: The Localization Data should accept the acute accent [286873] (target milestone: 1.0.1)
    • [fiximprove]: User defined symbol sets not exported during antenna export for MTJ 1.0.1RC3 [289186] (target milestone: 1.0.1)
    • [fiximprove][proguard]: Add proguard preverifier [234139] (target milestone: 1.0.1)
    • [fiximprove] Build editor does not show new source folders [284790] (target milestone: 1.0.1)
    • [fiximprove]: "Symbol Set Definitions" screen does not enable "Add" button [246717] (target milestone: 1.0.1)
    • [fiximprove] [AppDescEditor]: The "MIDlet Jar URL" field does not validate the name of the file [246783] (target milestone: 1.0.1)
    • [fiximprove] [AppDescEditor]: Application descriptor does not inform error on the "Package Explorer" [246787] (target milestone: 1.0.1)
    • [fiximprove][localization]: Externalize Strings [251154] (target milestone: 1.0.1)
    • [fiximprove][localization]: Ant Task to Generate Bundles [251158] (target milestone: 1.0.1)
    • [fiximprove] [unittestsupport]: Disabling JMUnit causes confusion [264521] (target milestone: 1.0.1)
    • [fiximprove]: Problem when try to import a project without copy the files to the workspace [270157] (target milestone: 1.0.1)
    • [fiximprove] [SignEnhancements]: Add security permissions for more MIDP compatible JSRs [276087] (target milestone: 1.0.1)
    • [fiximprove] : MTJ extension points should handle dynamic add/remove of plugins [276095] (target milestone: 1.0.1)
    • [fiximprove] [localization]: Problem in Localization functionality [278954] (target milestone: 1.0.1)
    • [fiximprove] : Project error after changing sdk folder location [278955] (target milestone: 1.0.1)
    • [fiximprove] : Cannot create package after adding or deleting devices [278984] (target milestone: 1.0.1)
    • [fiximprove][antenna] : Duplicated dependencies in mtj-build.xml [280544] (target milestone: 1.0.1)
    • [fiximprove]: Do not scrub "deployed" subdirectories [281596] (target milestone: 1.0.1)
    • [fiximprove] : Wrong classpath when moving MIDlets [282552] (target milestone: 1.0.1)
    • [fiximprove] : Non public top level classes are not being packaged. [283705] (target milestone: 1.0.1)
    • [fiximprove] build.properties out of sync [283772] (target milestone: 1.0.1)
    • [fiximprove] [AppDescEditor]: Lower the User Defined JAD editor tab priority [284432] (target milestone: 1.0.1)
    • [fiximprove]: Execution broken after refactoring (rename) class name [284939] (target milestone: 1.0.1)
    • [fiximprove][localization]: Localization editor should be able to synchronize locale entries [285298] (target milestone: 1.0.1)
    • [fiximprove] Avoid changing build state machine state when Java Builder is invoked alone. [285432] (target milestone: 1.0.1)
    • [fiximprove] : Fix some empty tasks on the generated mtj-build.xml file. [285440] (target milestone: 1.0.1)
    • [fiximprove]: MTJBuildPropertiesResourceListener Throws NullPointerException on Project Creation [285712] (target milestone: 1.0.1)
    • [fiximprove] : L10nBuilder is avoiding properties files to be packaged when removing them during clean. [286593] (target milestone: 1.0.1)
    • [fiximprove]: org.eclipse.mtj.ui\icons has a great number of unused icons [286614] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: Illegal instantiation of MTJRuntime [286618] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: JavaSourceViewer illegally extends ProjectionViewer [286620] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: Illegal implementation of IMTJCoreConstants [286621] (target milestone: 1.0.1)
    • [fiximprove] The MotorolaDeviceImporter have fields never read locally [286624] (target milestone: 1.0.1)
    • [fiximprove]: The TestCase's import clauses are not added to TestSuit class [287429] (target milestone: 1.0.1)
    • [fiximprove][antenna]: Antenna export is not including reference to third party libraries into the mtj-build.xml build path. [287468] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: MTJProjectionViewer illegally extends ProjectionViewer [287956] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: ConfigManageComponent illegally instantiates MTJRuntimeList [287957] (target milestone: 1.0.1)
    • [fiximprove][API Usage Problem]: PreprocessedSourceMapper illegally implements SourceMapper [287964] (target milestone: 1.0.1)
    • [fiximprove]: Update JMUnit Test Suit [287965] (target milestone: 1.0.1)
    • [fiximprove]: The same name used on two areas on the project creation [288113] (target milestone: 1.0.1)
    • [fiximprove]: The text of the entries table appears selected [288115] (target milestone: 1.0.1)
    • [fiximprove][localization]: Problems to select an item on the Localization table [288117] (target milestone: 1.0.1)
    • [fiximprove][AppDescEditor]: JAD file descriptor does not include the midlet icon file name [288230] (target milestone: 1.0.1)
    • [fiximprove]: Add button "Validate" in default preverifier settings [244007] (target milestone: 1.0.1)
  • Proposed
    • [fiximprove][API Usage Problem]: Issue with MTJ API [292790] (target milestone: ---)
    • [fiximprove]: Define a way to select default domain for a SDK [297344] (target milestone: ---)
  • Deferred
    • [fiximprove][Device] : Problem when change a device that is in use on the workspace [276084] (target milestone: Future)
    • [fiximprove][Device] : Can not create a MIDlet project for a renamed Device [277078] (target milestone: Future)
    • [fiximprove][SDK] : Automatically search for UEI SDKs [239971] (target milestone: Future)
    • [fiximprove] : Launch of emulator produces an incorrect jar file [273720] (target milestone: Future)
    • [fiximprove] [AppDescEditor]: No preferences for the JAD editor [274009] (target milestone: Future)
    • [fiximprove][antenna] : Investigate Antenna functionality for Mac OS [279129] (target milestone: Future)
    • [fiximprove]: Report MTJ bugs directly from Help Menu [284609] (target milestone: Future)
    • [fiximprove]: Use "Babel Pseudo Translation Test" to verify our translatability [285600] (target milestone: Future)
    • [fiximprove][SDK]: Device editing. Leaving preverifier field blank is not allowed, but should be. [286528] (target milestone: Future)
    • [fiximprove][API Usage Problem]: AbstractDeviceEditorPage.editDevice declared as non-API type AbstractMIDPDevice [286619] (target milestone: Future)
    • [fiximprove][antenna]: Ant buildfile External Tool Configuration is broken for buildfiles shared across projects [287364] (target milestone: Future)
    • [fiximprove][API Usage Problem]: EmptyOutlinePage illegally implements IPage via ISortableContentOutlinePage [287958] (target milestone: Future)
    • [fiximprove][API Usage Problem]: JADPropertiesEditorPage.createStringFieldEditor(FormToolkit, Composite, DescriptorPropertyDescription) has non-API return type ExtendedStringFieldEditor [287959] (target milestone: Future)
    • [fiximprove][API Usage Problem]: ListDescriptorPropertyDescription illegally extends DescriptorPropertyDescription [287961] (target milestone: Future)
    • [fiximprove][API Usage Problem]: MTJCore.getDeviceMatchCache() has non-API return type IDeviceMatchCache [287962] (target milestone: Future)
    • [fiximprove]: Exceptions during project build [288289] (target milestone: Future)
    • [fiximprove]: Flag disallowed Java SE keywords as errors in the editor, e.g. finalize() and native [297336] (target milestone: Future)
    • [fiximprove][localization]: Localization doesn't change correctly the Locale tree view [287615] (target milestone: Future)
    • [fiximprove]: java.lang.NoClassDefFoundError on emulator launch [287904] (target milestone: Future)
    • [fiximprove]: MIDlet javadoc [239977] (target milestone: Future)
    • [fiximprove]: Review MTJ Preferences page layout [240669] (target milestone: Future)
    • [fiximprove]: Preverification is extremely slow / loops when automatic build is enabled [283113] (target milestone: Future)
    • [fiximprove][localization]: Up/Down buttons get into wrong enabled/disabled state [286447] (target milestone: Future)

Documentation

  • Committed
    • [docs]: New & Noteworthy [285597] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Getting Started > Creating a MIDlet project [288481] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Getting Started > Creating a simple MIDlet [288483] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Getting Started > Running a Java ME MIDlet [288485] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Getting Started > Debuging a Java ME MIDlet [288486] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Getting Started > Add localization support to a MIDlet [288487] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Getting Started > Writing and running JMUnit tests [288488] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Tasks > Adding preprocessing support to a MIDlet project [288500] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Tasks > Signing MIDlet suites [288501] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Tasks > JMUnit > Disable JMunit [288502] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Reference > Editors > Application Descriptor Editor [288509] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Reference > Editors > Device Editor [288515] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Reference > Launchers [288516] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Reference > Preferences > Over the Air Preferences [288518] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Reference > Preferences > Preverification Preference [288519] (target milestone: 1.0.1)
    • [docs] Java ME Development User Guide > Reference > Property Pages > Java ME [288522] (target milestone: 1.0.1)
    • [docs]: Add a note about Proguard path [281094] (target milestone: 1.0.1)
    • [docs]: Document new build.properties format. [284934] (target milestone: 1.0.1)
    • [docs]: Update user documentation to cover the enhancements on the project creation wizard [285147] (target milestone: 1.0.1)
    • [docs][antenna]: The "Antenna Support" section on User documentation is outdated [285164] (target milestone: 1.0.1)
    • [docs]: Update user documentation [285705] (target milestone: 1.0.1)
    • [docs]: Localization Data editor user documentation should be updated [286570] (target milestone: 1.0.1)
    • [docs]: #include preprocessor directive documentation is wrong [287317] (target milestone: 1.0.1)
  • Proposed
    • [docs] Cannot import SE SDK While it has been done in Windows Vista Premium [295813] (target milestone: ---)
  • Deferred
    • [docs] Java ME Development User Guide > Tasks > Localize Strings [288508] (target milestone: Future)
    • [docs] Java ME Development User Guide > Reference > Preferences [288520] (target milestone: Future)

Build system

  • Committed
    • [releng]: Update org.objectweb.asm dependency from version 3.0.0 to 3.1.0 [264956] (target milestone: 1.0.1)
    • [releng]: Set up API Tooling on build [282159] (target milestone: 1.0.1)
    • [releng]: Change downloads to be p2 repositories [284132] (target milestone: 1.0.1)
  • Proposed
    • No items.
  • Deferred
    • [releng]: Investigate how to port releng to Athena Common Build [285578] (target milestone: Future)
    • [releng]: write FAQ for MTJ developers [238123] (target milestone: Future)
    • [releng]: include RSS in build [238139] (target milestone: Future)

Table of Contents

view raw xml of project plan
from project meta-data key "projectplanurl"