Jump to: navigation, search

New Help for Old Friends II

Revision as of 04:15, 13 February 2007 by David williams.acm.org (Talk | contribs) (initial transition help page)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page to to collect miscellaneous notes and pointers to changes coming up in the WTP 2.0 (Europa) release. Its purpose it to be a central "jump off" point for those adopters of WTP 1.5, that are moving to WTP 2.0. Most of this information may be already contained in various mailing lists and bugzilla's, but ... we thought it best if there as a central place to get people started.

Adopters: if you run into trouble or notice things that are not covered here, please let us know (wtp-dev@eclilpse.org is a good place). This will not only help us keep this list up to date, but will help us better learn, over time, the discipline of "platform development" and help make sure we learn to provide compatible API's, migration instructions, etc., in the future. [ It isn't always easy, but our intent is to make it as simple and painless as possible for adopters to use WTP as a true platform.

One thing we've learned in the past is that some don't adopt every version ... some early adopters went from 0.7 directly to 1.5, for example. Unfortunately, it's hard for us to present the information in that way, covering perhaps multiple changes, but hopefully as we develop these for each release, they will all flow together to aide all adopters.

Note: as these notes develop and grow in number, they may occasionally be re-organized into categories, etc.

Version Changes

Often, adopters will have to increase the version per-req ranges to match. This is easiest to do by loading WTP as part of your PDE target and see what breaks. Also, for a bit of peek ahead, we list versioning information with each build. See for the M4 Build page for an example of "Versioning Information".

Classloading Behavior

There's some changes with OSGI classloading that I _think_ we've protected adopters from ... but, is still something Adopters should watch out for. One typical symptom would be to see Classcast Exceptions from "dom.Node" to "dom.Node". See | bug 167695 for details.

Some API's changed to use Java 5 Generics

This can be a perfectly transparent transition to make, but, there are various ways to react:

  1. clients can set their compiler to compile to the 1.4 spec, in which case, all is transparent (but do not get the extra compile time checking that generics provide).
  2. clients can compile to Java 5, and then do a bunch of quick fixes to add casts, quick and easy, but also hides the advantage of compile time checking.
  3. clients that want to compile to Java 5 can actually change their code to use the proper types in the Collections so that they will get compile time errors, if the wrong type is ever used accidentally.

Breaking changes related to Dnd

There's some changes with platform text DnD that I _think_ only effects source editors. We are not not sure yet of effects on multipage editors).