[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] IRequiredCapability internal?

This got replaced by the getMin getMax on IRequirement.
You will also notice that IRequiredCapability is no longer API.

On 2010-03-08, at 9:10 PM, Thomas M Houser wrote:


In "eclipse-SDK-I20100217-1031-win32.zip", the isOptional() method of IRequiredCapability was removed.  This is a change from 3.6M5.   Where did this go?  What should be used instead?


From: Pascal Rapicault <Pascal_Rapicault@xxxxxxxxxx>
To: P2 developer discussions <p2-dev@xxxxxxxxxxx>
Cc: P2 developer discussions <p2-dev@xxxxxxxxxxx>, p2-dev-bounces@xxxxxxxxxxx
Date: 01/25/2010 06:36 AM
Subject: Re: [p2-dev] IRequiredCapability internal?
Sent by: p2-dev-bounces@xxxxxxxxxxx





Good point. The work on MetadataFactory needs to be done.


<Mail Attachment.gif>Thomas M Houser ---22/01/2010 04:02:42 PM---I understand that there are potentially many forms of IRequirement. That makes sense, but that does not mean that the API prov
<Mail Attachment.gif>
From:
<Mail Attachment.gif>
Thomas M Houser <tmhouser@xxxxxxxxxx>
<Mail Attachment.gif>
To:
<Mail Attachment.gif>
P2 developer discussions <p2-dev@xxxxxxxxxxx>
<Mail Attachment.gif>
Date:
<Mail Attachment.gif>
22/01/2010 04:02 PM
<Mail Attachment.gif>
Subject:
<Mail Attachment.gif>
Re: [p2-dev] IRequiredCapability internal?






I understand that there are potentially many forms of IRequirement. That makes sense, but that does not mean that the API provided by IRequiredCapability is not still useful to clients. They just need to be aware that this isn't the only kind of IRequirement. For example, we create requirements via MetadataFactory.createRequiredCapability(). How do we create concrete requirements without an API?

From: Pascal Rapicault <Pascal_Rapicault@xxxxxxxxxx>
To: P2 developer discussions <p2-dev@xxxxxxxxxxx>
Cc: p2-dev@xxxxxxxxxxx, p2-dev-bounces@xxxxxxxxxxx
Date: 01/22/2010 12:39 PM
Subject: Re: [p2-dev] IRequiredCapability internal?
Sent by: p2-dev-bounces@xxxxxxxxxxx






IRequiredCapability was limiting in what it could express. For example it could not express negation and or'ing, and it could only described dependencies on something that had a namespace, a name and a version and we are striving to express requirements and capabilities on other things (for example BundleExecutionEnvironment). As such, to ensure for API evolution we have turned the too specific IRequiredCapability into an IRequirement.
IProvidedCapability is still API, but it is very likely that it will either be turned into something more generic, or be marked internal if we don't have the time to make it API.
As for IRequirementChange the reference to IRequiredCapability is something that we have still left to do (
https://bugs.eclipse.org/bugs/show_bug.cgi?id=299506)

The situation of the API now is that we have tried to move all the types that we needed to see made API in a final package for M5, however we still have work to do to reach the final state for 3.6 (hopefully by M6).

If you have feedback, it is very much appreciated,

HTH



<Mail Attachment.gif>Thomas M Houser ---22/01/2010 03:23:08 PM---I'm migrating from Eclipse 3.5 to Eclipse 3.6 (I20100119-0800). Can someone explain why IRequiredCapability is now internal in
<Mail Attachment.gif>
From:
<Mail Attachment.gif>
Thomas M Houser <tmhouser@xxxxxxxxxx>
<Mail Attachment.gif>
To:
<Mail Attachment.gif>
p2-dev@xxxxxxxxxxx
<Mail Attachment.gif>
Date:
<Mail Attachment.gif>
22/01/2010 03:23 PM
<Mail Attachment.gif>
Subject:
<Mail Attachment.gif>
[p2-dev] IRequiredCapability internal?







I'm migrating from Eclipse 3.5 to Eclipse 3.6 (I20100119-0800). Can someone explain why IRequiredCapability is now internal in 3.6 when it was provisional API in 3.5? What is the rationale for making this internal? Why is IProvidedCapability considered API when IRequiredCapability is not? Why does the IRequirementChange API have a matches() method whose parameter type is IRequiredCapability an internal API?
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev


_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev