Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 337071

Summary: does ws.explorer require org.eclipse.help.appserver?
Product: [WebTools] WTP Webservices Reporter: David Williams <david_williams>
Component: wst.wsAssignee: David Williams <david_williams>
Status: RESOLVED FIXED QA Contact: Keith Chong <keith.chong.ca>
Severity: normal    
Priority: P3 CC: mahutch
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
patch to remove dependency on "appserver" bundle none

Description David Williams CLA 2011-02-13 11:52:28 EST
I tried, locally, to re-start the wtp builds against Eclipse 4.1, and saw one error where ws.explorer _requires_ o.e.help.appserver. Is that a hard requirement? (i.e. will ws.explorer fail to compile without it?). 

Any (easy) alternatives? 

We don't want to "split streams", but I'm wondering if it could be optional requirement? 


249624 [build-wtpe4-jste4-sdk] generateScript:
249625 [build-wtpe4-jste4-sdk] [eclipse.buildScript] Some inter-plug-in dependencies have not been satisfied.
249626 [build-wtpe4-jste4-sdk] [eclipse.buildScript] Bundle org.eclipse.wst.ws.explorer:
249627 [build-wtpe4-jste4-sdk] [eclipse.buildScript]   Missing required plug-in org.eclipse.help.appserver_[3.1.100,3.2.0).
249628 [build-wtpe4-jste4-sdk]
249629 [build-wtpe4-jste4-sdk] BUILD FAILED
249630 [build-wtpe4-jste4-sdk] /home/shared/webtools/projectBuilders/wtpe4-R3.3.0-I/webtools.releng/releng.wtpbuilder/scripts/build/runbuild.xml:143: The following error occurred while executing this line:
249631 [build-wtpe4-jste4-sdk] /home/shared/webtools/basebuilders/R37_M5/org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build_3.6.100.v20110121-1730/scripts/build.xml:35: The following error occurred while executing this line:
249632 [build-wtpe4-jste4-sdk] /home/shared/webtools/basebuilders/R37_M5/org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build_3.6.100.v20110121-1730/scripts/build.xml:91: The following error occurred while executing this line:
249633 [build-wtpe4-jste4-sdk] /home/shared/webtools/projectBuilders/wtpe4-R3.3.0-I/webtools.releng/releng.wtpbuilder/components/jste4-sdk/customTargets.xml:103: The following error occurred while executing this line:
249634 [build-wtpe4-jste4-sdk] /home/shared/webtools/projectBuilders/wtpe4-R3.3.0-I/webtools.releng/releng.wtpbuilder/components/jste4-sdk/allElements.xml:37: The following error occurred while executing this line:
249635 [build-wtpe4-jste4-sdk] /home/shared/webtools/basebuilders/R37_M5/org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build_3.6.100.v20110121-1730/scripts/genericTargets.xml:107: Processing inclusion from feature org.eclipse.wst.       ws_ui.feature: Bundle org.eclipse.wst.ws.explorer_1.0.507.v201004220342 failed to resolve.:
249636 [build-wtpe4-jste4-sdk]         Missing required plug-in org.eclipse.help.appserver_[3.1.100,3.2.0).
249637 [build-wtpe4-jste4-sdk]
249638 [build-wtpe4-jste4-sdk]
249639 [build-wtpe4-jste4-sdk] Total time: 12 minutes 14 seconds
249640 [build-wtpe4-jste4-sdk] An error has occurred. See the log file
249641 [build-wtpe4-jste4-sdk] /home/shared/webtools/projects/wtpe4-R3.3.0-I/workdir/I-3.3.0-20110213061727/buildworkspaces/workspace-runbuild-jste4-sdk/.metadata/.log.
249642 [build-wtpe4-jste4-sdk] Java Result: 13
Comment 1 David Williams CLA 2011-02-13 12:27:31 EST
FYI, I opened bug 337073 to track the "change in 4.1 that breaks us" ... but not sure it is something they should fix on their end. Pretty sure this was always meant as "for the help system only" and not generally intended as "API-like" guarantee. 

FWIW, I am trying a local test build with 
resolution.devMode=true
as a test. If it passes, it does mean the requirement is at least to some extent optional (though, of course, the function would probably not actually work without that bundle present ... perhaps there is a better, more general way to "invoke an app server" with less assumptions about who is actually providing it?).
Comment 2 David Williams CLA 2011-02-14 02:57:05 EST
(In reply to comment #1)

> 
> FWIW, I am trying a local test build with 
> resolution.devMode=true

No effect. (I think I don't really know what reslution.devMode does ... but ... ) 

I did hack in a step in the build that snags org.eclipse.help.appserver from the 3.7 platform, plops it into place, and this allows the build and compile to complete. But webservices still wouldn't run, of course. I suspect it is more complicated than getting just that one appserver plugin, to make it run, and hopefully there's a better solution than packaging part of the 3.7 platform with WTP. There's a "public" build running I expect to finish by morning, though, work is still required, the compilelogs should be there (and looks like everything else is ok, still).
Comment 3 David Williams CLA 2011-02-14 12:17:07 EST
Created attachment 188917 [details]
patch to remove dependency on "appserver" bundle

It appears this dependency was left in by accident, years ago. There was only one line of code that depended on it, and that method did not seem to be called from anywhere ... and the rest of the code seemed to be converted to use "JettyRunnable" ... and it, under the covers, softly uses org.eclipse.equinox.http.registry to get what services it needs. From what I can tell. 

Unfortunately, my workspace, at the moment, isn't "runnable" so will see if I can test this patch ... unless ws team can tell by looking it is the right fix to make (even for WTP 3.3, running on 3.7, of course).
Comment 4 David Williams CLA 2011-02-14 13:02:09 EST
I could run from workspace (after some cleanup/closing) and the ws explorer seemed to launch fine without this dependency or line of code. 

I'm sure I didn't "run it through all its paces" but seems unlikely appServer.isStarted() would effect anything (since, presumably, we are not even using _that_ old tomcat app server. 

Let me know if something seems amiss.
Comment 5 Keith Chong CLA 2011-02-17 14:37:27 EST
Thanks David for looking at this.  We'll check this out and make any adjustments if necessary.