Re: [cross-project-issues-dev] Re: EMF usage in TPTP 4.4.0
I've done a quick investigation of the
Europa plugins regarding EMF and required execution environment.
I've downloaded all the M4 or latest
SDK drivers (or update site zips) for the projects listed in http://wiki.eclipse.org/index.php/Europa_Simultaneous_Release.
Here are some full text search results
in the MANIFEST.MF files from all Europa plugins (the search strings are
on the left side and the plugin count is on the right side):
Bjorn, regarding your previous comment:
as long as you do not regenerate your models, the code will continue to
work on JVM 1.4 without change or reduced functionality. I also assume,
but have not verified, that you could always re-generate your
models using an older EMF and thus continue to use
JVM 1.4 with newer models."
we used EMF 2.2.2 to generate, and we
ran the code against EMF 2.3.0 (under J2SE 1.5) to confirm that the binary
compatibility works fine, we didn't find any problems yet (we covered most
of our functions in one day of extensive testing, we will see if this finding
remains true after a full test pass).
The main problem is that EMF 2.3.0 requires
J2SE-1.5 at runtime, I haven't tried yet to remove that requirement and
run it on J2SE-1.4 to see if it works in our scenarios, if it works then
I don't understand why they require J2SE-1.5 at runtime.
Based on the large number of plugins
that uses EMF (more than 50 direct dependencies on EMF, and I didn't include
XSD which also requires J2SE 1.5) and the fact that Europa will not provide
EMF 2.2.0 I believe a significant part of Europa functions will not be
available on J2SE 1.4 although most of the code could be compatible with
(runnable on) J2SE 1.4.
Although I focused on EMF in this investigation
I've seen other plugins that requires J2SE 1.5, besides Mylar (which probably
is not required by anybody, so no impact on other components) I also found
that org.eclipse.gmf.common (by name looks to be a root plugin in GMF)
requires J2SE 1.5, so the J2SE 1.5 requirement might be much larger.
I still think Europa should state more
clearly what really works on each target deployment environment, just saying
that (hopefully) most part of it works on J2SE 1.4 and another (small)
part would surface only on J2SE 1.5 might not be enough for the user to
decide how it can be used.
IBM Toronto Laboratory, Canada
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx
01/07/2007 07:33 PM
Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
|Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
tptp-pmc@xxxxxxxxxxx, Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
|Re: [cross-project-issues-dev] Re: EMF
usage in TPTP 4.4.0|
Bjorn wrote on 01/06/2007 12:52:41 PM:
> TPTP PMC, (cc for FYI to Europa leads)
> While reading the TPTP PMC mailing list, I encountered this statement:
> I think Europa should declare the JRE level that's required to run
> it otherwise most of the components might not work (not sure if they
> can be installed either when Java 1.4 is used).
> One of the requirements for participation in Europa is #8 on the wiki
> 8. All plug-ins must correctly list their required JVM
> in the manifest/plugin.xml.
> As I understand it, plug-ins for JVM 5 will not load when a JVM 1.4
> is being used, as long as the manifests are correct. Thus the Europa
> distro will run on both JVM 5 and JVM 1.4 (although perhaps with
> reduced functionality on 1.4 because fewer plug-ins will load). Does
> this solve the issue or am I missing something?
Indeed a bundle declaring an Execution Environment that is not supported
at runtime will not be resolved and will not run. Having each bundle
marked with its *minimum* required execution environment is an important
part of communicating the usability of the bundle to consumers. In
a complex system however there is still a challenge in determining the
"real" minimum. For example, it is likely that the 3.3
Eclipse SDK will ship with a few plugins marked as requireing Java 5 and
Java 6 whereas the vast majority of the rest of the plugins will be marked
as Foundation 1.0 or J2SE 1.4. Our intention is that the SDK work
just fine on 1.4 but some of the additional function requiring Java 5 or
6 just not be available. In this case the "reduced functionality"
is likely quite understandable and acceptable to end users.
In the larger context of Europa, when some basic infrastructure piece like
EMF (just to pick on Ed) says it needs Java 5, there may be a ripple on
that causes whole swaths of plugins to no longer resolve or function. We
don't currently have any markup or other means of indicating the difference
between these two cases. So people need to look a little more deeply
when considering these scenarios.
cross-project-issues-dev mailing list
Description: MS-Excel spreadsheet