logoTop pad
logoBottom
Home
History
Table of Contents
Prerequisites
Installation
Creating a new project
Creating a new MIDlet
Running/Debugging
Packaging for deployment
Advanced
Reference
FAQ
Troubleshooting
Support
For EclipseME developers
License


Eclipse Ready Logo
SourceForge.net Logo
spacer


Builder Reference

Building and packaging requires a complex set of steps. Within EclipseME there are a number of different ways to launch builds and different types of outputs. This page provides some insight into the way that EclipseME handles these different types of builds. This is advanced reference information and should not be necessary for standard use of EclipseME.

Directory Structure

  • /project
    • /.eclipseme.tmp
      • /emulation
        • project.jar
        • project.jad
      • /verified
        • /classes
        • /libs
  • /deployed
    • project.jar
    • project.jad

Contents of the /.eclipseme.tmp folder are internal and not meant to be manipulated or altered. The project JAR and JAD in the /.eclipseme.tmp/emulation folder is used when executing the emulator. This JAR/JAD is kept up to date incrementally by the builder.

NOTE: The ability to configure the verified folder name is no longer supported.

Build Types

Clean Build

  1. Clears all contents from /.eclipseme.tmp
  2. Eclipse will then launch a normal incremental build

Incremental Build

  1. Preprocessor (if configured) runs on source file
  2. Eclipse Java compiler runs on source file
  3. Preverifier is run on source file
  4. /.eclipseme.tmp/runtime/project.jar is incrementally updated
  5. /.eclipseme.tmp/runtime/project.jad is updated

Create Package

  1. Update JAD version if configured in preferences
  2. Clean project
  3. Clears all contents from /deployed
  4. Build project via Incremental Build
  5. Copy JAR to /deployed folder
  6. Write /deployed/project.jad

Create Package

  1. Update JAD version if configured in preferences
  2. Clean project
  3. Clears all contents from /deployed
  4. Build project via Incremental Build
  5. Obfuscate /.eclipseme.tmp/runtime/project.jar into /deployed/project_obf.jar
  6. Preverify /deployed/project_obf.jar into /deployed/project.jar
  7. Write /deployed/project.jad

Build Debugging

Controlling Build Logging

Logging of the build process can be enabled and controlled via a Java System property. See this for further information on how to set a System property. Build logging information is configured using the "eclipseme.build.logging" system property. The property supports a comma-separated list of logging items that may be enabled. The available options are:

  • obfuscationOutput
    Logs the standard error and output streams of the Proguard obfuscator.
  • preprocessorTrace
    Logs a trace of the preprocessor builder.
  • preverifierOutput
    Logs the standard error and output streams of the external preverifier.
  • preverifierTrace
    Logs a trace of the preverification builder.
  • all
    Turns on all of the available logging options.

For example:

-vmargs -Declipseme.build.logging=preverifierOutput,obfuscationOutput

The result of this logging will be written to the EclipseME Build Console described below.

Build Output Console

Due to the potentially large amount of data that can be output by the build logging, the EclipseME Build Console is being introduced. It should be noted that this is considered to be an advanced troubleshooting tool and is not really intended for average users. With that said, it is an important tool in collecting information when something goes wrong during the build.

The console must be explicitly launched from the Eclipse Console View, as shown below.

The console will not be opened automatically when logging is enabled. It must be explicitly opened as well as having the appropriate logging enabled using the "eclipseme.build.logging" System property. This is so that unwanted logging will not occur and cause performance problems. Once the console has been opened and build logging enabled, the results will then be displayed in the console. All of the standard console operations work against this console, including the ability to copy/paste text as well as the ability to clear the text of the console.



Copyright © 2005, http://www.eclipseme.org. All rights reserved.