[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Clarification on EE specification in practice


David, I believe the Bundle-RequiredExecutionEnvironment: is to specify "minimum where it would run", I see "minimum that plugin requires, without considering it's pre-reqs" similar with that when you use the min pre-reqs (in our case EMF min=2.2.2 would let us to set JRE min=1.4, if in TPTP 4.4 we start to use EMF 2.3.0 features and have EMF min=2.3.0 although our code will compile on JRE 1.4 we cannot run it there because of EMF 2.3.0 pre-req).

At compile time we can emulate the execution environment by setting the right JRE and dependencies (as we do in TPTP, compile against EMF 2.2.2 and JRE 1.4.2 so we don't create by mistake code that won't run in that environment).

If we declare that Bundle-RequiredExecutionEnvironment: for Europa update site (if we could specify something like this for an update site) is J2SE-1.5 then everything becomes more clear and in the TPTP 4.4 readme we could just say if you need to run TPTP 4.4 in J2SE-1.4 environment you could pick Eclipse and TPTP from Europa, but must pick EMF from Calisto (as Ed mentioned in another note).

Thanks !

Marius Slavescu
IBM Toronto Laboratory, Canada
Phone: 905-413-3610





David M Williams <david_williams@xxxxxxxxxx>
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx

01/17/2007 12:16 PM

Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>

To
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
cc
Subject
Re: [cross-project-issues-dev] Clarification on EE specification in        practice






I'm not sure you are agreeing with John, Marius :)
You say "minimum where it would run" and John said "minimum that plugin requires, without considering it's pre-reqs" (which, as I see it, is more of a compile time thing).


I think Europa, as a whole, will pretty clearly require Java 5 ... we've said before that WTP, as a whole, will require Java 5, to run. So, maybe I'm biased, but what good
is Europa without webtools :)


Some of our WTP plugins will still only pre-req 1.4, but that's really only useful for cases where adopters are "mixing and matching" their own sets of plugins/features and running something
other than Europa (and something other then WTP as a whole).


Also ... if you require EMF 2.2.2, should you ask the EMF team if they will provide that on Europa update site? Or, have they already said no?


Maybe this list is starting to get more active now that the deadlines are approaching :)


Thanks,





Marius Slavescu <slavescu@xxxxxxxxxx>
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx

01/17/2007 11:33 AM

Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>

To
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
cc
Subject
Re: [cross-project-issues-dev] Clarification on EE specification in        practice








I agree with John, and I would say that you need to say what is the minimum execution environment where your code can run, basically if you need to actually test your code against that environment.


For example TPTP model plugin will require at least EMF 2.2.2 which works on J2SE-1.4 (although is not specified in the manifest file) and we will also specify J2SE-1.4, that's why we won't prereq at least EMF 2.3.0 which require J2SE-1.5


The question that I still have is what happens when somebody tries to install Europa using a J2SE-1.4 environment, would the bundles that requires at least J2SE-1.5 be ignored, how would be handled a bundle that doesn't specify the required execution environment  (like EMF 2.2.2) or what happens if I run on J2SE 1.5 and I have both EMF 2.2.2 and EMF 2.3.0 which one will be proposed/picked (in my bundle I have specified EMF min=2.2.2 max=3.0.0)?


I've asked before if Europa will has a preferred (if not required) execution environment and I still don't know the answer, as I explained before the number of plugins (although there are still 603 bundles that don't have Bundle-RequiredExecutionEnvironment: specified, see my snapshot from http://wiki.eclipse.org/index.php/Image:Europa-manifest-files-20070115.zip) that will work only on J2SE-1.5 and those dependent on them seems to make J2SE-1.5 required in order to use Europa in a meaningful way.

Thanks !

Marius Slavescu
IBM Toronto Laboratory, Canada
Phone: 905-413-3610



John Arthorne/Ottawa/IBM@IBMCA
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx

01/17/2007 10:22 AM

Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>


To
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
cc
Subject
Re: [cross-project-issues-dev] Clarification on EE specification in        practice










I think you should only ever specify the execution environment requirements for your own bundle.  Otherwise, you are unnecessarily exposing yourself to details of the prerequisite bundle that could change.  For a similar reason, you don't list the transitive prerequisites in the require-bundle header; it's just redundant information that can easily become stale and incorrect over time.  Let the OSGi resolver do its job - if your bundle relies on another bundle whose constraints aren't satisfied, then it will already mark your bundle as unresolved.  Perhaps I'm missing something, but I don't see any advantage to propagating the required execution environment to downstream bundles.


John

David M Williams <david_williams@xxxxxxxxxx>
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx

16/01/2007 07:39 PM

Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>


To
cross-project-issues-dev@xxxxxxxxxxx
cc
Subject
[cross-project-issues-dev] Clarification on EE specification in        practice












I just wanted a sanity check with other Europa projects. I first thought the answer to this was obvious.
Now I'm wondering if I could have been mistaken (as often is the case :)
or if it's ambiguous for others.

I've been assuming that if one of our bundles requires a bundle that requires J2SE 1.5 EE, then
we should also mark our bundle as requiring J2SE 1.5. (Even though, all by itelf, it doesn't).
That is, spec'ing what we really need to run correctly, taking pre-reqs into account.

Then, today, someone asked "why" ...  if the required bundle was 'optional', it wouldn't. But even if not optional,
at runtiime, things still won't run (for our bundle), and will simply be a longer chain of log messages (that one of it's
required bundles wasn't available ... and it woudl be logged as not available since a sufficient EE wasn't being used).
So in this case, we'd be spec'ing what our own specific code needed, not considering pre-reqs.

So ... just thought I'd ask ... anyone have a clear answer to this ... am I correct and "its obvious" or have I oversimplified.
I especially want to be sure we are consistent in Europa.

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev