Hi folks,
sorry for the build spam yesterday. But I was working on integration of the mockito library (http://mockito.org/) into the RAP runtime build (https://hudson.eclipse.org/hudson/job/rap-runtime/). Unfortunately it turned out that there are problems using mockito from the orbit repository. I've filed a bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=349164) regarding the main problem and we'll see whether this can be solved.
In the meanwhile I've introduced a little hack in the customTarget.xml of the RAP runtime build to provide a mockito bundle for building purpose. The ant target in question (createMockito) checks out mockito v1_8_4 from the orbit module, patches the manifest and zips a mockito.jar. This is copied into the target platform used by the hudson build (ugly ugly ugly - improvements welcome).
For the daily work I've attached a zip that contains a patched mockito version and its required bundles.
Please note that there are two new projects in CVS-Head (org.eclipse.rap.rwt.osgi, org.eclipse.rap.rwt.osgi.test) and a new API package called org.eclipse.rwt.engine in org.eclipse.rap.rwt. The latter defines a configuration API for RWT web application instances. This API will relieve the various configuration approaches (RWTServletContextListener, RWTConfigurationWrapper in workbench). The bundle org.eclipse.rap.rwt.osgi already uses the new approach to provide an OSGi service that allows to start and stop RWT context instances. RWTServletContextListener and
RWTConfigurationWrapper will soon be adjusted to use this mechanism too. All this work is related to https://bugs.eclipse.org/bugs/show_bug.cgi?id=347883.
For those of you who are interested in playing a little bit around with the rwt-osgi integration I've attachted a demo project (see the getHelp() method of RWTServiceCommandProvider for console command usage). Note that you need org.eclipse.equinox.ds and org.eclipse.equinox.cm in your target to run the demo. Once you have launched the RWT-OSGi Integration launch configuration provided by the project type following into the osgi console:
osgi> 2011-06-13 10:27:37.813:INFO:org.mortbay.log:Logging to STDERRorg.mortbay.log via org.mortbay.log.Slf4jLog
startHttpService 10010
osgi> 2011-06-13 10:27:45.715:INFO::jetty-6.1.x
2011-06-13 10:27:45.751:INFO::Started SelectChannelConnector@0.0.0.0:10010
startHttpService 10020
osgi> 2011-06-13 10:27:57.384:INFO::jetty-6.1.x
2011-06-13 10:27:57.388:INFO::Started SelectChannelConnector@0.0.0.0:10020
deployRWTContext helloWorld 10010 context1
osgi> deployRWTContext datePicker 10020 context2
osgi>
After that point your browser to http://127.0.0.1:10010/context1/helloworld - now you should see a shell saying 'helloWorld' and http://127.0.0.1:10020/context2/datepicker shows a pretty useless datepicker application…
Note also that this is work in process - structure, names and implementations don't have their final shape - feedback and criticism are highly appreciated :-)
Cheerio!
Frank