Current MTJ
- Release 0.9 on 08/oct./08
- All EclipseME feature + enhancements & bug fixes
- Build against Europa (tested on Europa and Ganymede)
MTJ future objective
1 - Join galileo train (we have to join the train up to Galileo M4 - December/January)
- use galileo specific features, such as JDT preprocessing (?)
2 - Enhance the preprocessor support
3 - Re-factor MTJ code to define a MTJ API (new APIs)
- focus on build process
- enable support to non-midp2 sdks (rim, midp3, cdc, etc.)
4 - External library support (new apis): select external libraries that will be included with one specific project
5 - Gui builder: SVG, LCDUI gui builder. MIDP flow execution
6 - Fix and improve 0.9 code
Planning options
- Option 1: 0.9.1 release until the end of 2008 with new features
- Keep single development branch
- MTJ 0.9.1 release until the end of the year
- keep support to Europa / Ganymede
- bug fix
- some new features
- need to close this scope
- some new new APIs (not sure if this is a good idea)
- Join eclipse Galileo train on M4
pros.:
- MTJ users will be able to use new features before eclipse Galileo release
- Objectives 2 and 6 are ok. objective 1 is ok, but with possible code rework
- Other objectives might be ok, if we agree to add / change APIs
- 0.9.1 release will have new features and run on Europa / Galileo
- We will probably open a branch to do 0.9.2, 0.9.3 release only with bug fixes. new features only with Galileo release.
cons.:
- Might rework some code that will be on galileo (such as preprocessing)
- Option 2: 1.0 release until the end of 2008 with new features
- Keep single branch
- MTJ 1.0 release until the end of the year (or January) (are we ready to graduate?)
- keep support to Europa / Ganymede
- bug fix
- some new features
- need to close this scope
- new APIs
- Join eclipse Galileo train on M4
- MTJ 1.1 release with the train (need to define scope)
pros.:
- similar to option 1, but we would be ok to add / remove apis
cons.:
- not sure if we are ready to graduate
- Option 3: 0.9.X releases after 0.9 only with bug fix
- Open a separate branch to do bug fix
- Keep doing 0.9.x release on this branch only with bug fixes
- Join eclipse Galileo train on November and focus on 1.0 release on jun 2009
pros.:
- focus on improving the code and use Galileo specific features
cons.:
- MTJ users will need to wait until jun 2009 for new features
- 1.0 will be specific to Galileo (no Europa/Ganymede support)
Main question to answer
- When should we join the train? we have up to the end of December/08
- After MTJ join the train:
- Will MTJ only run with Galileo?
- Or should we keep the code base compliant with Ganymede? (don't use Galileo specific features)
- Or should we have another version that is Europa/Ganymede compliant? (possible if we open a separated branch)
- When MTJ is ready to graduate?
- If we are not ready, are we ok to add /remove APIs on a 0.9.x release? (should we?)
- When should we do a 0.9.X release? what is the scope of it?