To summarize recent decisions, and keep all informed
as best we can
Recall we had a bit of a surprise in RC0 with bug 187975 Update-installed features can't seem
to handle two versions of same plugin https://bugs.eclipse.org/bugs/show_bug.cgi?id=187975
So, my fault ... my last minute change with my last
minute testing .... but here's how we plan to handle, unless anyone knows of any problematic
technical issues with this approach. Its less than ideal, but given the late
timing, seems the best approach to gain stability.
First, be aware the bug in update manager appears
to only be with cases where there's multiple versions in the _same_ feature ... though,
it does, as some have said, illustrates that we are (still) pushing the boundaries
of update manager.
But, rather than make a stub, separate feature just
to have it separate, and hope all else went well, we decided it was safer to use a specially
named bundle for this case where the version number was part of the bundle ID, similar
to what has been and still is the case for org.junit.
We picked 1.5 to have the version number in it's ID
since this one is basically the "new" one this release, and from our WTP
perspective, this version is only used by other third party code ... our own WTP tooling and
models, have for years been built around the 1.4 version (and previously used a bundle
named org.wsdl4j).
So, in Orbit, we will actually provide three
"versions" of WSDL javax.wsdl, version 1.4.0 javax.wsdl, version 1.5.1 javax.wsdl15, version 1.5.1 The latter two will be identical, except for the bundle
ID. The first in the list is the one that's basically
equivalent to the Callisto org.wsdl4j, but we have made improvements in its manifest.mf
file.
We in WTP in RC1 and beyond, will only "ship"
(use) the first and third bundles. Also in Orbit and as consumed by WTP, the org.apache.axis
and org.apache.wsil4j will use (pre-req) the javax.wsdl15 bundle.
In our code that uses/depends on the 1.4 version,
we've specified a narrow pre-req range, just in case someone else ships/uses the javax.wsdl,
version 1.5.1 bundle. Hopefully for most, the 1.4 and 1.5 version will be
compatible, but we would recommend using wide ranges only if you have time to adequate
test with both (one and then the other) versions in your stack (recall, this is third party
code, and while I'm sure their intent was to make it compatible similar to what that
means in Eclipse ... that should not be blindly assumed ... we have found some indication
that our WTP WSDL tooling will need some work to run on the 1.5 version, but, that's pretty
complicated code, EMF models, etc., so, not sure that is true for everyone.
For those of you that still use the "old"
version of org.wsdl4j, version 1.4 from the Callisto release, I would not blame you at all if
you just kept on using it (assuming it was all basically "internal" to your
own plugins and not part of your interface, or interaction with other wsdl tools). If you do use
either of the newer javax.wsdl bundles, we'd recommend narrow pre-req ranges, unless
you have time for very thorough testing. We'd recommend that no one (else) use the
javax.wsdl15 bundle, unless there is some technical or compatibility reason you need
to. Since, after all, we will be looking to get rid of that early next release.
So, are we having fun yet? I hope this "summary"
wasn't too long to read.
Feel free to ask, if you still have questions, concerns,
comments.