+1 -- I like this a lot, even if it is slightly more complex.

On Tue, Apr 15, 2008 at 5:13 PM, Ian Boston <[EMAIL PROTECTED]> wrote:

>
> Looking at the patch and just having updated from svn, I think this means
> that
> in addition to the patch Cassie is working on....
>
> java/social-api   becomes a jar
> java/gadget        becomes a jar
>
> ---------
> There is a new project to build a overlay war from features/**
> javascript/** config/** ,
> perhapse split into 2, one for gadgets and one for social-api (not certain
> about the split)
> eg
>
> java/gadget-resources
> java/social-api-resources
>
> These just contain a pom.xml that builds the overlay.
>
> ----------------
> Then there is a new webapp
> java/server
>
> That contains src/main/webapp/WEB-INF/web.xml
>
> that unpacks the overlay wars, pulls in the jars and packages as a war...
> for running in jetty.
>
> This would not enforce boundaries between social-api and gadget, but would
> enable both to run, and for others to construct a target.
>
>
> Perhaps thats too complex and there could be some simplification.... I
> would be happy to generate a patch once Cassie is done....
>
>
> One other thing. I have found that the maven plugins that build sites
> (less important) and perform releases(more important) are picky about the
> relationship between the directory name, the artifact ID, how the group ID
> changes as the directory structure gets  deeper.
>
> If you want to use these plugins in multiproject mode, then it probably
> worth trying them now... just to make certain that they do work. If the
> entire build is maven2 based, the the release plugin is well worth the
> hassle Changing artifact names and structure later an be a complete pain,
> see https://source.sakaiproject.org/svn//kernel/trunk/ to see what I mean.
>
> Ian
>
>
>
>
> On 16 Apr 2008, at 00:40, Kevin Brown wrote:
>
> > On Tue, Apr 15, 2008 at 3:14 PM, Ian Boston <[EMAIL PROTECTED]> wrote:
> >
> >  One way might be...
> > >
> > > add a webapp project that takes a jar from gadgets and a jar from
> > > social
> > > api and a jar from common and builds the war.
> > >
> >
> >
> > That's what I'm in favor of doing.
> >
> >
> >  It might also overlay wars or zips containing all the javascript html
> > > and
> > > css files.. so that in the war project there is just the web.xml
> > > thatis used
> > > for a sample deployment.
> > >
> >
> >
> > These would belong in there as well, as resources.
> >
> >
> >
> > >
> > > Then with the jetty target, run that war.
> > >
> > > For those who want to construct their own webapp and perhaps customize
> > > the
> > > injection of the service layer, they can pull the gadgets jar, the
> > > social-api jar and the javascript zip/jar/war from the maven repo and
> > > merge
> > > with their own webapp project (with a customized web.xml, service
> > > implementation jar and guice service module)
> > >
> >
> >
> > And that's exactly what I've been asking for. It's exactly what I want
> > to do
> > for our deployments at google, and I'm sure it's a model that other
> > people
> > would like as well.
> >
> >
> >
> > >
> > >
> > > Ian
> > >
> > >
> > >
> > >
> > > On 15 Apr 2008, at 17:08, Cassie wrote:
> > >
> > >  Okay, so I think we are mostly in agreement that the setup of the
> > > > Shindig java code needs to evolve towards something like this:
> > > >
> > > > java/gadgets/* -- gadget rendering code
> > > > java/social-api/* -- code for serving social data (eventually all in
> > > > the restful wire format)
> > > > java/common/* -- all the rest of the common code shared by everybody
> > > >
> > > > In order to start going this direction I have a patch that does the
> > > > following:
> > > > 1. Moves the java social code and javatests social code into the
> > > > java/social-api component (out of java/gadgets)
> > > > 2. Moves the socialdata servlet registration from the gadgets
> > > > web.xml
> > > > to the social-api web.xml
> > > > 3. Moves the pom/parent/pom.xml into java/pom.xml This is necessary
> > > > for making a multi-module project (See things like this:
> > > > http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html
> > > > ?page=2
> > > > for more info) We need a multi-module project because currently
> > > > social-api depends on gadgets (and eventually they will both depend
> > > > on
> > > > common)
> > > >
> > > > Using this ridiculously large patch you can do the following:
> > > > - use mvn jetty:run-war in java/gadgets like usual. however, the
> > > > socialdata servlet won't be there and so all social stuff will break
> > > > (including the samplecontainer - we will have to fix this later)
> > > > - use mvn compile in java/ to compile all the gadgets stuff and all
> > > > the social-api stuff.
> > > > - use mvn jetty:run in java/social-api to run the social server (ie
> > > > the socialdata servlet) this has to be done after the compile.
> > > >
> > > > We could do mvn:jetty-run in the top directory if we put in a
> > > > web.xml
> > > > file. This may be the best option for the samplecontainer and
> > > > example
> > > > friends.
> > > > Oh, and please tell me if there is a better way to do this!
> > > >
> > > > Please review this patch, I would like it to go in soon:
> > > > https://issues.apache.org/jira/browse/SHINDIG-199
> > > >
> > > > And note: this is a regression! So after I commit this people should
> > > > probably not sync up their svn clients if they are dependent on the
> > > > samplecontainer or the tight integration between socialdata and the
> > > > gagdet renderer. We'll fix it all again soon somehow.
> > > >
> > > > Thanks.
> > > >
> > > > - Cassie
> > > >
> > > >
> > >
> > >
> >
> > --
> > ~Kevin
> >
>
>


-- 
~Kevin

Reply via email to