Bug 249821 - [library]: Define library support requirements
Summary: [library]: Define library support requirements
Status: CLOSED FIXED
Alias: None
Product: MTJ (Archived)
Classification: Tools
Component: General (show other bugs)
Version: 0.9   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 0.9.1   Edit
Assignee: Diego Madruga Sandin CLA
QA Contact:
URL: http://wiki.eclipse.org/DSDP/MTJ/Requ...
Whiteboard:
Keywords: core, ui
Depends on:
Blocks: 249822 249823 249824 249825 249826 249827 249828 249829 250434 250438 250441 250467
  Show dependency tree
 
Reported: 2008-10-06 12:37 EDT by Gustavo de Paula CLA
Modified: 2008-12-30 14:23 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gustavo de Paula CLA 2008-10-06 12:37:16 EDT
Overview: library support will define the concept of midlet suite library. a midlet suite project will be able to select the different libraries that it wants to use. once that happen, those libraries will be automatically added to the final midlet suite.
Comment 1 Diego Madruga Sandin CLA 2008-10-10 09:56:23 EDT
Hi all,

i was studding possible solutions to this new feature and came up with some ideas:

1) The MTJ core will be updated to add:
   - Extension point were the implementer can define the new wireless library 
   - A new Model for the the libraries;
   - A library manager to handle all implementations of the provided Ext. Point
   - ClasspathContainer  handle to manage the libraries the user selected to be used in the project
   - update the project definition to add the library support
   

2) The MTJ UI will be updated to add:
   - new page in the New MIDlet Project Wizard, where the user can select the libraries (this page will be shown only if at least one lib is available)
   - new project page where the user can select/deselect the libraries to be used

Notes: 

- The libraries will not be user editable.
- Each new library will be composed for one or more jars.
- Each library will have an individual Classpath Container 

Time frame:

I believe I'll need something near to 3 or 4 weeks top to implement this feature, as such, we could add this to the 0.9.1 release.
Comment 2 Dan Murphy CLA 2008-10-11 12:18:45 EDT
Hi Diego,
To get around this problem, I added a simple bit of code to the PreVerificationBuilder. (adds a copyExportedClassLibraries operation that is performed after the libraries have been preverified (if they are exported). Whilst this doesn't match your overview it seems to work well enough in my simple test scenarios. Would you be interested in a patch, if it achieves enough it could reduce your workload quite a bit.
Comment 3 Craig Setera CLA 2008-10-19 20:45:51 EDT
There was a good chunk of this functionality in the EclipseME 0.7.9 release that may have been removed.  It may be worth revisiting what I had in place regarding libraries in EclipseME.  It may or may not be useful and will likely require work either way.
Comment 4 Dan Murphy CLA 2008-10-20 05:12:28 EDT
Hi Craig,
I first tried using EclipseME, but with my configuration I didn't find it copied the exported jars into the newly created project jar; it was about this time that MTJ rebooted and so I tried with MTJ without success.
The patch is quite trivial & so I'll attach a current patch once I have tested it against trunk (in a a day or so's time).
Comment 5 Diego Madruga Sandin CLA 2008-10-20 07:56:07 EDT
I've tested my implementation and it copies correctly the associated libraries to the final deployable jar. I've just had to used some JDT infrastructure. 

I have already commit the initial implementation for this feature. You can check it on the org.eclipse.mtj.core.library plug-in available in the SVN trunk.

I believe I'll have an alpha implementation by the end of week.





Comment 6 Diego Madruga Sandin CLA 2008-10-20 10:00:02 EDT
The requirements may be found at the wiki:

http://wiki.eclipse.org/DSDP/MTJ/Requirements/Library_Support
Comment 7 Diego Madruga Sandin CLA 2008-11-04 12:29:22 EST
The requirements were update on the wiki pages.
Comment 8 Gustavo de Paula CLA 2008-12-30 14:23:07 EST
bug released into 0.9.1