Skip to content
mohlendo edited this page Aug 30, 2011 · 3 revisions

The Ext AS to config class converter allows to generate config classes from Ext JS components written in old style AS (Jangaroo 0.8.4 exml projects) and convert all EXML files to the new naming schema.

You can download the tool jar here: exml-converter.jar

EXML Migration Procedure

The migration process from Jangaroo 0.8.4 exml projects or earlier to a current Jangaroo release (Version 0.8.5 or later) is supported by a tool for converting EXML files and for generating config classes.

Follow these steps when upgrading from Jangaroo 0.8.4 or earlier:

  • While running the migration tool, the Maven build files must still reference the old Jangaroo release and all old Jangaroo dependencies (Jangaroo libs version 0.8.8 or earlier).
  • Make sure all of your source files are properly under version control.
  • Create a file mapping.properties to specify the packages for config classes of dependent modules and of your own modules. Your file might look like this:

Mapping file used to convert Jangaroo examples:

hello-world-2-as3=com.acme.extas.as3.config
hello-world-3-exml=com.acme.extas.exml.config
hello-world-4-as3-exml=com.acme.extas.as3exml.config
hello-world-5-localized=com.acme.extas.localized.config
  • Run mvn clean install to make sure that all temporary files of the old Jangaroo version have been generated. The conversion tool relies on them.
  • Download the latest version of exml-converter.jar from exml-converter.jar
  • For each module declaring Ext JS components run the conversion tool in the following way, substituting paths and module names as appropriate:

Usage:

java -jar exml-converter.jar -m path/to/my-module-a -p path/to/mapping.properties
  • Replace xtype by ptype or type in the generated config classes as needed for non-component classes.
  • Upgrade to the new Studio release and Jangaroo release.
  • You may want to upgrade to the most recent release of the Jangaroo plugin for Intellij Idea at this point (if you are using Idea).
  • Compile using Maven, cleaning up potential errors.
  • Unless specific obstacles exist, remove the old registration code calling ext.ComponentMgr and the @cfg annotations from the component classes. This reduces dead code and avoids future inconsistencies.
  • At your discretion, remove the .exml.bak files provided as a fallback by the conversion tool and also remove the mapping.properties used during the conversion.
  • At your discretion, change the types of the ActionScript component class constructors to the generated config classes.
  • At your discretion, add links to config classes in ASDoc comments as appropriate.

From this point on, you can create Jangaroo application with type-safe configuration objects and comprehensive documentation in the form of ASDoc.

Clone this wiki locally