Vincent Massol wrote: > > * You have gump checked out in /home/rubys/gump > * You cd in /home/rubys/gump and you call gen.sh, which generates update > and build script in /home/rubys/jakarta > * You cd to /home/rubys/jakarta and you call update.sh. This checks > out/update the different projects > * Then you call build.sh, which generates the project builds > * All logs (which will eventually go to > http://jakarta.apache.org/builds/gump/latest) from gen.sh, update.sh and > build.sh are in /home/rubys/Jakarta/log
Yup. Though the update and build scripts will do the cd for you. > * The last project to be built is gump (defined in rubix.xml). As the > home attribute is set to /home/rubys/gump, we find ourself in the same > directory where gen.sh had initially created the work dir. I wouldn't worry about that. I build gump using gump for the same reason that I build other projects using gump - to see if there are any changes to dependencies which will affect me. > At this stage I am not sure ... > > * It seems the "all" target that is called in build.xml recreates some > of the scripts that were created by the initial gen.sh, like the build > script, update script, publish script, xrefs and in addition creates > some new ones : deliver (which appears to be only for unix. No windows > version ?) and the naglist list. In addition it generates javadoc for > Gump java classes and generates the Gump website > (http://jakarta.apache.org/gump). Only if you build gump using gump. And some of the properties on that build step ... and it stops here ... What is still missing : > * Copy of the generated html files in /home/rubys/Jakarta/log to > Jakarta.apache.org. How is it done ? I use the scp command > * Copy of the Gump web site to Jakarta.apache.org. How is it done ? I use the scp command > * Copy of the project build outputs (jars and doc) to > Jakarta.apache.org. How is it done ? These aren't copied to jakarta.apache.org,,, the are left on the build machine. They are published using the generated publish.sh. > * Send emails for build failure. How is it done ? The generated naglist is used in conjunction with the nag.pl script. > * It seems there must be a master build script on top of all these steps > that ties the process together. Do you have such a script that you have > put in a crontab ? Or do you perform all these steps manually every > night :-) ? I have several master scripts. A basic one tailored per platform does the basic gump run. Here's the version for rubix: export PATH=$PATH:/home/rubys/bin:/usr/local/bin export CVS_RSH=`which ssh` export start=`date` export LOG=/home/rubys/jakarta/log/gen.html export XALAN=/opt/xalan-j_2_2_D13 cd cd bin # . jdk1312 cd /home/rubys/gump echo \<XMP\> > $LOG if ! /home/rubys/bin/timeout 1200 socksify cvs update >> $LOG; then sleep 90 echo Retrying... >> $LOG /home/rubys/bin/timeout 1200 socksify cvs update >> $LOG fi rm .timestamp sh gen.sh -cp "/home/rubys/bin/timeout 1200" 2>&1 >> $LOG cp work/naglist ~ echo >> $LOG bash work/build.sh gump clean >> $LOG echo >> $LOG export >> $LOG echo \</XMP\> >> $LOG /usr/X11R6/bin/Xvfb :8 & export DISPLAY=:8 cd /home/rubys/jakarta socksify sh update.sh all socksify sh build.sh all kill `ps -eo pid,comm | awk '/Xvfb/ { print $1 }'` ps -e | awk "/java/ {print \$1}" | xargs kill cp work/naglist ~ sh /home/rubys/bin/pubjak # echo echo Started: $start echo Complete: `date` I have several variations on this. On nagoya nightly builds are run using jdk 1.4, for example. Another nagoya run will capture javadocs. On gump.covalent.net, jars are captured. On rubix, you see a call to pubjak which is a script which uploads nightly builds and triggers the nags. I've already converted over to the naglist that Stefan added functionallity to generated. In my first attempt, it failed because the build of gump failed so no nags were sent out. I plan to convert over to the delivery stuff that Stefan has also produced once I review it. I also have other things in these scripts that I accumulated over time. Xvfb is used to similate an XWindows display... I kill all java process at the end of the script. I have timeouts throughout. - Sam Ruby -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
