Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-debug-dev] API contract change in IVMInstall

This note is important for clients that implement 
org.eclipse.jdt.launching.IVMInstall.

For the 3.1 release we orginally intended to add 3 new API methods to 
IVMInstall, to address bugs 73493 and 81870. This required clients to not 
implement IVMInstall directly, but rather subclass AbstractVMInstall. Late 
in the release we discovered that some clients do implement IVMInstall 
directly without subclassing AbstractVMInstall, and thus, our new 3.1 
contract breaks binary compatibility with some 3.0 based plug-ins (see bug 
98160). To avoid this breaking change, we will instead add the new methods 
to an optional interface, IVMInstall2. 

It is still recommended that clients subclass AbstractVMInstall rather 
than implement IVMInstall and IVMInstall2 directly. However, clients that 
do not subclass AbstractVMInstall will be binary compatible with the 3.1 
release.

Clients that have alrady migrated to the new suggested contract will 
continue to work. Clients that have already implemented the new methods on 
IVMInstall should also declare they implement IVMInstall2. These changes 
will be available in the next nightly build.

This is documented in the 3.1 migration guide.

Darin 




Back to the top