RE: [eclipse.org-planning-council] Re: [cross-project-issues-dev] Re:EMF usage in TPTP 4.4.0
these statistics are fabulous!
Really interesting how
much one can find by just doing a text search.
My notes below are not directly relevant for the current
(EMF) discussion, but I found it interesting to note:
When I understand this right, the list of "non-compliant"
Manifest.mf (e.g. that do not specify a manifest version) can be obtained
saving the list of file names which contain matches of the String
"Bundle-" into a file,
and then comparing against a sorted list of file names when searching
for the string "Bundle-ManifestVersion".
With respect to the Bundle-RequiredExecutionEnvironment,
10+147+98 = 255 bundles are J2SE-1.
from the remaining (279-255 =) 24 ones we have 2 in TM:
org.apache.oro and org.apache.commons.net are both
I wonder what the other 22 might
Since you seem to have set up a directory with all of
Europa extracted already, it might be helpful if you could save all the
Manifest's into an archive for further investigation:
find . -name 'manifest.mf' -print > manifest-names.txt
&& tar cfvz Europa-m4-manifests.tgz --files-from
Actually, such a "combined archive" of all manifests might
be a nice result of the Europa automated builds in the
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
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:
"So 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.
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
Cross project issues
|Cross project issues
tptp-pmc@xxxxxxxxxxx, Cross project issues
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
> it otherwise most of the components might not work (not sure if
> can be installed either when Java 1.4 is used).
> One of the requirements for
participation in Europa is #8 on the wiki list:
> 8. All
plug-ins must correctly list their required JVM versions
> in the
> 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
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.