Okay, I'll check in my thing cause I have no idea how the heck to do
that, and then Ian can make a patch to fix it better. At least my
thing gets all the silly file moves out of the way.

Sounds perfect :)

- Cassie


On Wed, Apr 16, 2008 at 2:51 AM, David Primmer <[EMAIL PROTECTED]> wrote:
> Sound good. Looking forward to the patch.
>
>
> On Tue, Apr 15, 2008 at 5:42 PM, Kevin Brown <[EMAIL PROTECTED]> wrote:
>> +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