geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Blevins <dblev...@gluecode.com>
Subject Re: Wanna build nightly too?
Date Fri, 03 Dec 2004 09:15:01 GMT
Assuming the three or four of us that do make changes to both projects 
publish at least the openejb jars when we do make such changes, then 
this works:

   tranql
   tranql-connector
   geronimo
   openejb

The uberbuild is not at all a guaranteed way to build as building that 
many projects from source has problems of its own.  The odds of 
catching a developer in mid-checkin is that much higher.  Also, if one 
of the dependent projects screw up their build, it will cause the 
Geronimo build to fail even if the latest snapshot for that project is 
good.

It's really a matter of preference which set of problems you want.  
None of the approaches are without issues.

-David

On Dec 3, 2004, at 2:06 AM, David Jencks wrote:

> 1. note that due to the circular dependencies between geronimo and 
> openejb this process is apt to not work if a change to both openejb 
> and geronimo has occurred.
>
> 2. in any case the order is more or less backwards:
>
> geronimo (for spec changes)
> tranql
> tranql-connector
> geronimo (for modules)
> openejb
> geronimo (for assembly)
>
> is more likely to pick up changes.
>
> Currently the only guaranteed way to build when several projects have 
> changed is using the uberbuild.
>
> david jencks
>
>
>
> On Dec 2, 2004, at 11:50 PM, David Blevins wrote:
>
>> Hey Geronimo community!  You can help out by building Geronimo on 
>> your machine nightly.
>>
>> We try and keep Geronimo building on as many machines as possible, 
>> but it is a lot of work maintaining so many process on so many boxes.
>>
>>
>> SIMPLE APPROACH
>> ------------------
>>
>> The easiest way to help is to put this in a bash script and run it 
>> nightly from cron:
>>
>>     (cd geronimo && svn update && maven )
>>     (cd openejb && cvs update -dP && maven )
>>     (cd tranql && cvs update -dP && maven )
>>     (cd tranql-connector && cvs update -dP && maven )
>>
>> Note the parens "(...)" are required and are not there for 
>> aesthetics.  The commands assume you have previously checked out the 
>> projects into the current working directory.  If not, something like 
>> this will work:
>>
>>     (svn co http://svn.apache.org/repos/asf/geronimo/trunk geronimo)
>>     (cvs -d :ext:dblevins@openejb.org:/scm/openejb co openejb)
>>     (cvs -d :ext:dblevins@cvs.codehaus.org:/scm/tranql co tranql)
>>     (cvs -d :ext:dblevins@cvs.codehaus.org:/scm/tranql co -d 
>> tranql-connector connector)
>>
>> You'll have to adjust the CVSROOTs to use anoncvs if you are not a 
>> committer on any of the above projects.
>>
>>
>> FULLY AUTOMATED APPROACH
>> ---------------------------
>>
>> If you don't like looking through build output and writing up emails 
>> to the list telling us the build failed, you can add in the attached 
>> script and modify the above bash code to look as follows.
>>
>>     LOG="megabuild-$(date +%Y%m%d-%H%M).log"
>>     {
>>         (cd geronimo && svn update && maven )
>>         (cd openejb && cvs update -dP && maven )
>>         (cd tranql && cvs update -dP && maven )
>>         (cd tranql-connector && cvs update -dP && maven )
>>     } 2&> $LOG
>>     monitorlog $LOG scm@geronimo.apache.org && rm $LOG
>>
>> Please try it out with a different email than scm@geronimo.apache.org 
>> before sending emails to the scm list.
>>
>> If you work up any fancy additions to this basic logic feel free to 
>> send them back to the list.
>>
>> -David
>> <monitorlog>


Mime
View raw message