Community
Participate
Working Groups
createComponent(IProject, boolean) was added by the patch in the /org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ComponentCore.java This method is used by /org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/project/facet/EarFacetInstallDelegate.java. The patch was released for 3.0.3 stream. BUT org.eclipse.jst.jee is a part of org.eclipse.jst.web_core.feature. org.eclipse.wst.common.modulecore is a part of org.eclipse.wst.web_core.feature. now, jst feature requires wst feature in version 3.0.0! So it is possible to have jst 3.0.3 and wst in 3.0.0. Since the fix for 250004 modifies the API it is necessary to adjust the dependencies.
This sounds similar to (or maybe the reverse of) a problem Neil saw with Dali 2.1 ... that it would update WST but not JST and thus illustrated some incompatible change between JST and WST. Christopher, can you detail how you see this? I'm wondering if it's still a problem with WTP 3.0.4 (And Ganymede SR2) or are you saying that's where you see it?
Yes. The problem occurred when Spring IDE was installed on Eclipse 3.4 based application with corresponding latest WST & JST. Spring requested very specific (not the latest) version of WST, so it was installed by P2. Then the environment was launched, newer JST specified it can work with older WST (and it is not true), so you cannot create EAR projects anymore. I believe that correct version dependency should cause either older JST loaded or some configuration errors at _installation_ time.
Created attachment 129587 [details] Update of required wst version for 3_0_3
Created attachment 129589 [details] Update of required wst version for 3_0_maintenance
I thought we got rid of the "<requires>" in feature.xml's ... at least for HEAD, (WTP 3.1 version). Perhaps I missed one?
Yes, you are right. But that change was done for HEAD and I am not sure how it will affect this issue. But anyway, maintenance streams should be fixed, because they are not in a perfectly valid state in the HEAD.
We should fix the feature in this case (since it lists the version), but going forward what really should have happened is that the org.eclipse.jst.jee plugin increased the lower bound of the version dependency against org.eclipse.wst.common.modulecore when EarFacetInstallDelegate started using new API. This is a very easy thing to miss, especially since the developer may not have even known it was new API when they added the dependency. It won't fix the problem, but at least the user will receive a failure at install time instead of during runtime at some point in the future.
Nitin, The org.eclipse.jst.web_core.feature is in sourceediting. Can you please apply Christopher's second patch?
Yes, and released.
Marking as fixed. Thanks, Krzysztof.