Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [eclipse-dev] Re: [platform-ui-dev] Platform UI's plug-insconverted to manifest format

It's a difficult problem. Personally, I tend to agree with Jeff. For those 
people that are doing research, or even those that just need to get a 
product out before the Eclipse community can come to a consensus on what 
some new API will look like, we really do want to allow access to non API.

Having said that, I too would like to see us move, over time, towards 
using x-internal and x-friends to accurate describe our intended uses.

McQ.




"Ed Burnette" <Ed.Burnette@xxxxxxx> 
Sent by: eclipse-dev-bounces@xxxxxxxxxxx
04/07/05 00:44
Please respond to
"General development mailing list of the Eclipse project." 
<eclipse-dev@xxxxxxxxxxx>


To
"General development mailing list of the Eclipse project." 
<eclipse-dev@xxxxxxxxxxx>
cc

Subject
RE: [eclipse-dev] Re: [platform-ui-dev] Platform UI's   plug-insconverted 
to manifest     format






Just today I had two projects fail on me when I tried to use them in 3.1M6 
(WebTools and VE) and I'm pretty sure it's because they depended upon 
internal packages that changed in M6. It's too easy to use internals by 
accident or to use them to get things working and never go back and fix it 
the right way. I've done it in my own code.
 
Therefore if I have a vote I cast it in favor of #1 for most cases. This 
a) gives developers the flexibility to change any internal package at any 
time without fear of breaking a consumer, and b) enforces a discipline of 
API usage that has been lacking up to now. 
 
If you do use #2 and/or #3, may I suggest that strict mode be the default 
for everyone, and that it be hard to turn it off, so while one developer 
or small team could be promiscuous, their code could not easily be run by 
anyone else. By 'hard' I mean don't put in UI for it, make somebody edit a 
configuration file or set a debug option or something like that.
 
Note that for RCP apps, the developer can edit the manifests or change the 
code or whatever they want so I don't think it's a big deal for them. It's 
more a big deal for add-ins to the IDE that need to work with older and 
newer IDE builds/releases.
 

From:  Jeff McAffer
Sent: Wednesday, April 06, 2005 5:25 PM
To: eclipse-dev@xxxxxxxxxxx
Subject: [eclipse-dev] Re: [platform-ui-dev] Platform UI's 
plug-insconverted to manifest format

There are four states a package can be in 
1) omitted from the Export-Package list - in this case the package is just 
plain not visible to other plugins.  Ever. 
2) Export-Package: org.eclipse.foo;x-internal:=true - in this case the 
package is available if PDE or Runtime (whichever is relevant) is in 
"promiscuous" mode.  In "strict" mode this state is equivalent to #1. 
3)  Export-Package: org.eclipse.foo;x-friends:="org.eclipse.bar" - In 
promiscuous mode foo is available to all.  In strict mode foo is only 
available to plugin b.  This is equivalent to the two plugins being 
members of the same "component" in component.xml terms 
4)  Export-Package: org.eclipse.foo - this is an unqualified export and 
allows all other plugins the opportunity to see the contents of foo in all 
modes. _______________________________________________
eclipse-dev mailing list
eclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/eclipse-dev




Back to the top