The other night I did some tinkering and got Soashable + xmpp4js building with Maven2 (without JSLibBuilder). Basically what I did was create some ‘war’ artifacts for scriptaculous + prototype, extjs, and xmpp4js (none are checked in yet). I also created one for soashable-web that depends on xmpp4js.
Basically the dependency tree looks like this:
- soashable-web
- xmpp4js
- extjs
- scriptaculous
- extjs
- scriptaculous
I have a preliminary way to run the JSUnits on xmpp4js (though I'd really like to just create a plugin, probably based on Selenium), and hopefully the Selenium plugin works as advertised.
This means I’ll need to open up a repository for the soashable-web, xmpp4js and js dependency artifacts, and at that point one will be able to build soashable-web with a single mvn jetty:run command on the checkout. In the longer haul, hopefully I can sync up with the central repository and extjs/scriptaculous will create and maintain their own artifacts.
It's a little ghetto at this point. The projects are war projects and the overlay happens 1:1 over the war (may be possible to override, but I don't want to look into it now), so a standardized tree under src/main/webapp will need to be used; js/xmpp4js/..., js/extjs/..., etc. However there is a little hope for JS development on the horizon; just yesterday a maven jstools library was checked in to CVS.
If I can get JSUnit working, this stuff should be in by late tonight or tomorrow evening. Matt and I will be working tonight.
On a side note, it would be cool to start something like 'jsrepo.com' as a public maven2 js library repo. At the very least, I’ll contact the authors of extjs et all.