Jump to: navigation, search

Difference between revisions of "DSDP/MTJ/Requirements/Multi-Configuration Support"

< DSDP‎ | MTJ‎ | Requirements
(Multi-Configuration Support Requirement)
(ID: Multi-Config: FR011 - MTJ shall support build configuration for each runtime configuration.)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Multi-Configuration Support Requirement ==
+
=== ID: Multi-Config: FR001 - Configuration data format & persistence===
 
+
'''ID:''' Multi-Config: FR001 - Configuration data format & persistence
+
  
 
'''Description:'''  
 
'''Description:'''  
Line 31: Line 29:
 
''2. Data persistence:''
 
''2. Data persistence:''
 
We use MTJ J2ME project meta data file (.mtj file) for configuration data
 
We use MTJ J2ME project meta data file (.mtj file) for configuration data
store. We remove the former <device> element of the file, add <configurations>
+
store. We keep the former <device> element of the file(For forward compatibility), add <configurations>
 
element to the file.
 
element to the file.
  
Line 41: Line 39:
  
 
'''Community Review:''' TBD
 
'''Community Review:''' TBD
 +
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=251171 bug251171]
  
 
----
 
----
  
  
'''ID:''' Multi-Config: FR002 - Multi-configuration Reusable Management UI component
+
=== ID: Multi-Config: FR002 - Multi-configuration Reusable Management UI component===
  
 
'''Description:'''  
 
'''Description:'''  
Line 65: Line 65:
  
 
'''Community Review:''' TBD
 
'''Community Review:''' TBD
 +
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=251172 bug251172]
  
 
----
 
----
  
'''ID:''' Multi-Config: FR003 - manage configurations
+
=== ID: Multi-Config: FR003 - manage configurations ===
  
 
'''Description:'''  
 
'''Description:'''  
Line 90: Line 92:
  
 
'''Community Review:''' TBD
 
'''Community Review:''' TBD
 +
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=249832 bug249832]
  
 
----
 
----
  
'''ID:''' Multi-Config: FR004 - Separate deploy folders for multi-target build and distribution
+
=== ID: Multi-Config: FR004 - Separate deploy folders for multi-target build and distribution ===
  
 
'''Description:'''  
 
'''Description:'''  
Line 112: Line 116:
  
 
'''Community Review:''' TBD
 
'''Community Review:''' TBD
 +
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=249834 bug249834 ]
  
 
----
 
----
  
'''ID:''' Multi-Config: FR005 - Change Antenna Ant build file & EclipseME project importer
+
=== ID: Multi-Config: FR005 - Change Antenna Ant build file & EclipseME project importer ===
  
 
'''Description:'''  
 
'''Description:'''  
Line 131: Line 137:
  
 
'''Community Review:''' TBD
 
'''Community Review:''' TBD
 +
 +
'''Related Bugs:'''
 +
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=251343 bug251343 ]
 +
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=251344 bug251344 ]
  
 
----
 
----
  
Preprocessor directives&Symbols content-assist Requirements : TBD.
+
=== ID: Multi-Config: FR006 - Preprocess directive content-assist ===
 +
 
 +
'''Description:'''
 +
when user input the right preprocess prefix("//#" or "//    #") in
 +
preprocess project(which has preprocess nature), and press content assist
 +
key("Alt+/") in right place, the supported preprocess directive will be
 +
proposed.
 +
 
 +
[https://bugs.eclipse.org/bugs/attachment.cgi?id=116911 Preprocess directive content assit]
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' Gang Ma
 +
 
 +
'''Status:''' Proposed: 04-Nov-2008
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=253648 bug253648 ]
 +
 
 +
----
 +
 
 +
=== ID: Multi-Config: FR007 - Preprocess symbols content-assist ===
 +
 
 +
'''Description:'''
 +
After the right preprocess directive, if user press content assist
 +
key in a right place, the symbols belongs to the relevant project(can be
 +
configured in the configurations of the project) will be proposed.
 +
 
 +
when a symbol is selected, a pop-up window will be used to show the following
 +
information: the configuration name that provide this symbol, the symbol value
 +
provided by this configuration.
 +
 
 +
[https://bugs.eclipse.org/bugs/attachment.cgi?id=116909 Preprocess symbols content assit]
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' Gang Ma
 +
 
 +
'''Status:''' Proposed: 04-Nov-2008
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=253653 bug 253653]
 +
 
 +
----
 +
 
 +
=== ID: Multi-Config: FR008 - Preprocess template content-assist ===
 +
 
 +
'''Description:'''
 +
Provide template content-assist for the user when he/she wants to
 +
input preprocess code.
 +
 
 +
for example, when user input '//#if', the 'if' and 'ifelse' template proposals
 +
will be provided, if user choose 'ifelse', the following code will be
 +
automatically added:
 +
 
 +
//#if ${condition1}
 +
 
 +
//#elif  ${condition2}
 +
 
 +
//#endif
 +
 
 +
[https://bugs.eclipse.org/bugs/attachment.cgi?id=116802 Preprocess template content assit]
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' Gang Ma
 +
 
 +
'''Status:''' Proposed: 04-Nov-2008
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=253162 bug 253162]
 +
 
 +
----
 +
 
 +
=== ID: Multi-Config: FR009 - Preprocess template configuration ===
 +
 
 +
'''Description:'''
 +
User can configure(add, delete, edit) the preprocess templates in
 +
Java ME ->Preprocess Template preference page
 +
 
 +
[https://bugs.eclipse.org/bugs/attachment.cgi?id=116802 Preprocess template configuration]
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' Gang Ma
 +
 
 +
'''Status:''' Proposed: 04-Nov-2008
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=253645 bug 253645]
 +
 
 +
----
 +
 
 +
=== ID: Multi-Config: FR010 - Preprocess debug/mdebug directive support ===
 +
 
 +
'''Description:'''
 +
Provide 5 types of debug level: debug, error, fatal, info and warn
 +
just like Antenna. User can configure the debug level in the project's property
 +
page and perference page.
 +
 
 +
Preprocessor can use the project's debug level setting to preprocess the source
 +
file, for example, if the project's debug level is set as 'error', the
 +
following code:
 +
 
 +
//#debug warn
 +
 
 +
System.out.println("warn");
 +
 
 +
after preprocessed, the code will be:
 +
 
 +
// #debug warn
 +
 
 +
//@              System.out.println("debug");
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' Gang Ma
 +
 
 +
'''Status:''' Proposed: 13-Nov-2008
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' [https://bugs.eclipse.org/bugs/show_bug.cgi?id=255130 bug 255130]
 +
 
 +
----
 +
 
 +
=== ID: Multi-Config: FR011 - MTJ shall support build configuration for each runtime configuration ===
 +
 
 +
'''Description:'''
 +
Each runtime configuration may require a specific set of resources, since that, MTJ shall provide a way for
 +
developers to customize the contents packaged on the application package during build.
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' David Marques
 +
 
 +
'''Status:''' Proposed: 12-Apr-2009
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' {{bug|258219}}
 +
 
 +
----
 +
 
 +
=== ID: Multi-Config: FR012 - MTJ shall provide a Build Editor ===
 +
 
 +
'''Description:'''
 +
MTJ shall provide a build editor in order to manage the build.properties file content.
 +
 
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' David Marques
 +
 
 +
'''Status:''' Proposed: 12-Apr-2009
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Images:''' [https://bugs.eclipse.org/bugs/attachment.cgi?id=131695 Build Editor Page 1]
 +
 
 +
'''Related Images:''' [https://bugs.eclipse.org/bugs/attachment.cgi?id=131696 Build Editor Page 2]
 +
 
 +
'''Related Bugs:''' {{bug|258219}}

Latest revision as of 11:04, 16 April 2009

ID: Multi-Config: FR001 - Configuration data format & persistence

Description: Each MTJ Java ME project should store the multi-configuraton (multi-device) meta data. We should define the data format and persistence the data.

1. Data format:

  <configurations>
     <configuration active="true" name="A910">
        <device group="MOTODEV SDK for Java(TM) ME" name="A910"/>
        <symbolSet>
           <symbol name="CLDC" value="1.1"/>
           <symbol name="JSR82" value="1.0"/>
        </symbolSet>
     </configuration>
     <configuration active="false" name="S40_5th_Edition_SDK_Feature_Pack_1">
        <device group="Series 40 5th Edition SDK, Feature Pack 1" name="S40_5th_Edition_SDK"/>
        <symbolSet>
           <symbol name="screen.isTouch" value="false"/>
           <symbol name="WMA" value="2.0"/>
        </symbolSet>
     </configuration>
  </configurations>

As the xml file shows above, a project meta data file contains several configurations, each configuration contains a device and a symbolSet. One and only one configuration is "active".

2. Data persistence: We use MTJ J2ME project meta data file (.mtj file) for configuration data store. We keep the former <device> element of the file(For forward compatibility), add <configurations> element to the file.

Priority: 1

Owner: Feng Wang

Status: Proposed: 20-Oct-2008

Community Review: TBD

Related Bugs: bug251171



ID: Multi-Config: FR002 - Multi-configuration Reusable Management UI component

Description: We will manage (add/remove/edit/switch-active) configurations in seviral place (such as in Application Descriptor Form Editor, in project properties page, in peojrct create wizard page, etc.), so we should create a reusable UI component for configuration management. DeviceSelector.java is a example.

Screen shot for Multi-configuration Reusable Management UI component

Screen shot for adding configuration

Priority: 1

Owner: Feng Wang

Status: Proposed: 20-Oct-2008

Community Review: TBD

Related Bugs: bug251172


ID: Multi-Config: FR003 - manage configurations

Description: To let users manage (add/remove/edit/switch-active) configurations easily, We will have 3 place to manage configurations: 1. Project create wizard page. 2. Application Descriptor Editor. 3. Project properties page.

manage configurations in project create wizard

manage configurations in project Application Descriptor Editor

manage configurations in project properties page

Priority: 1

Owner: Feng Wang

Status: Proposed: 20-Oct-2008

Community Review: TBD

Related Bugs: bug249832


ID: Multi-Config: FR004 - Separate deploy folders for multi-target build and distribution

Description: Since the project will have multiple devices associated to it, the deployment folder also need to separated according to the devices associated on the project. when the project is build it must generate a jar/jad for each of the devices associated to the project.

We will use *configuration name* as deployment folder name. User must switch configuration before build for another configuration.

One folder for each configuration

Priority: 1

Owner: Feng Wang

Status: Proposed: 20-Oct-2008

Community Review: TBD

Related Bugs: bug249834


ID: Multi-Config: FR005 - Change Antenna Ant build file & EclipseME project importer

Description: Since deployment folder structure will change for build multi-configs, exported Antenna Ant files will also change for the target folders.

Since meta data file format will change for introducing multi-config support, EclipseME project import feature should change according the new MTJ meta data format.

Maybe NetBeans project importer also suffer some change.

Priority: 1

Owner: Feng Wang

Status: Proposed: 20-Oct-2008

Community Review: TBD

Related Bugs:

bug251343

bug251344


ID: Multi-Config: FR006 - Preprocess directive content-assist

Description: when user input the right preprocess prefix("//#" or "// #") in preprocess project(which has preprocess nature), and press content assist key("Alt+/") in right place, the supported preprocess directive will be proposed.

Preprocess directive content assit

Priority: 1

Owner: Gang Ma

Status: Proposed: 04-Nov-2008

Community Review: TBD

Related Bugs: bug253648


ID: Multi-Config: FR007 - Preprocess symbols content-assist

Description: After the right preprocess directive, if user press content assist key in a right place, the symbols belongs to the relevant project(can be configured in the configurations of the project) will be proposed.

when a symbol is selected, a pop-up window will be used to show the following information: the configuration name that provide this symbol, the symbol value provided by this configuration.

Preprocess symbols content assit

Priority: 1

Owner: Gang Ma

Status: Proposed: 04-Nov-2008

Community Review: TBD

Related Bugs: bug 253653


ID: Multi-Config: FR008 - Preprocess template content-assist

Description: Provide template content-assist for the user when he/she wants to input preprocess code.

for example, when user input '//#if', the 'if' and 'ifelse' template proposals will be provided, if user choose 'ifelse', the following code will be automatically added:

//#if ${condition1}

//#elif ${condition2}

//#endif

Preprocess template content assit

Priority: 1

Owner: Gang Ma

Status: Proposed: 04-Nov-2008

Community Review: TBD

Related Bugs: bug 253162


ID: Multi-Config: FR009 - Preprocess template configuration

Description: User can configure(add, delete, edit) the preprocess templates in Java ME ->Preprocess Template preference page

Preprocess template configuration

Priority: 1

Owner: Gang Ma

Status: Proposed: 04-Nov-2008

Community Review: TBD

Related Bugs: bug 253645


ID: Multi-Config: FR010 - Preprocess debug/mdebug directive support

Description: Provide 5 types of debug level: debug, error, fatal, info and warn just like Antenna. User can configure the debug level in the project's property page and perference page.

Preprocessor can use the project's debug level setting to preprocess the source file, for example, if the project's debug level is set as 'error', the following code:

//#debug warn

System.out.println("warn");

after preprocessed, the code will be:

// #debug warn

//@ System.out.println("debug");

Priority: 1

Owner: Gang Ma

Status: Proposed: 13-Nov-2008

Community Review: TBD

Related Bugs: bug 255130


ID: Multi-Config: FR011 - MTJ shall support build configuration for each runtime configuration

Description: Each runtime configuration may require a specific set of resources, since that, MTJ shall provide a way for developers to customize the contents packaged on the application package during build.

Priority: 1

Owner: David Marques

Status: Proposed: 12-Apr-2009

Community Review: TBD

Related Bugs: bug 258219


ID: Multi-Config: FR012 - MTJ shall provide a Build Editor

Description: MTJ shall provide a build editor in order to manage the build.properties file content.

Priority: 1

Owner: David Marques

Status: Proposed: 12-Apr-2009

Community Review: TBD

Related Images: Build Editor Page 1

Related Images: Build Editor Page 2

Related Bugs: bug 258219