[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
RE: [cdt-dev] API changes in IOption (cdt.managedbuilder.core)
 | 
Hi Andrew,
 
I had a quick look at the patch and I don't think that this 
requires a breaking change.
The additional attribute is optional, so you can define a 
new extension interface which all
internal implementations of IOption (Option, 
OptionReference) implement.
 
On the other hand, IOption looks 
like it is not meant to be implemented by clients,
therefore it should have the "@noimplement" tag which 
allows you to add methods
without breaking the API. Adding the 
"@noimplement" is a breaking change in itself, 
though.
 
In other words, if you are going to increment the major 
version number, I'd recommend
to tag public interfaces which are not meant to be 
implemented by clients with "@noimplement"
and thus avoid breaking changes later 
on.
 
Cheers,
Toni
  
  Hi,
  There a new contribution 
bug 
  300707 to Build Settings UI to allow an integrator to specify a 
  file-extension filter for FileListControl when browseType 'file' is used for 
  an option (one example is C++ Linker->Misc->Other objects).
 
  
  The request makes sense, however it breaks API adding new methods to 
  IOption interface. Since we decided in favor of CDT 7.0 it is legitimate. 
  However it is a core interface for MBS and I suppose some existing 
  integrations may be broken. Is there any reservations against making these 
  breaking changes in IOption for CDT 7.0?
  
  Andrew