| #!/bin/bash |
| |
| quietCVS=-Q |
| supportDir=/shared/eclipse/e4/build/e4 |
| projRelengBranch="HEAD"; # default set below |
| arch="x86" |
| archProp="" |
| processor=$( uname -p ) |
| if [ $processor = ppc -o $processor = ppc64 ]; then |
| archProp="-ppc" |
| arch="ppc" |
| fi |
| |
| # |
| # Real Build on build.eclipse.org |
| # |
| builddate=$( date +%Y%m%d ) |
| buildtime=$( date +%H%M ) |
| |
| #tag maps |
| #projRoot='pwebster@dev.eclipse.org:/cvsroot/eclipse' |
| #tagMaps=-tagMaps |
| |
| #publish |
| #publishDir="pwebster@dev.eclipse.org:/home/data/httpd/download.eclipse.org/e4/downloads/drops " |
| |
| # available builds |
| #basebuilderBranch=$( grep v2008 /cvsroot/eclipse/org.eclipse.releng.basebuilder/about.html,v | head -1 | cut -f1 -d: | tr -d "[:blank:]" ) |
| #eclipseIBuild=$( ls -d /home/data/httpd/download.eclipse.org/eclipse/downloads/drops/I*/eclipse-SDK-I*-linux-gtk${archProp}.tar.gz | tail -1 | cut -d/ -f9 ) |
| |
| |
| # |
| # test Build |
| # |
| #builddate=20081215 |
| #buildtime=1845 |
| projRoot=':pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse' |
| basebuilderBranch=v20081210a |
| eclipseIBuild=I20090106-1323 |
| |
| |
| # first, let's check out all of those pesky projects |
| cd $supportDir |
| |
| |
| if [[ ! -d org.eclipse.releng.basebuilder_${basebuilderBranch} ]]; then |
| echo "[start] [`date +%H\:%M\:%S`] get org.eclipse.releng.basebuilder_${basebuilderBranch}" |
| cmd="cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse $quietCVS ex -r $basebuilderBranch -d org.eclipse.releng.basebuilder_${basebuilderBranch} org.eclipse.releng.basebuilder" |
| echo $cmd |
| $cmd |
| fi |
| |
| echo "[start] [`date +%H\:%M\:%S`] setting org.eclipse.releng.basebuilder_${basebuilderBranch}" |
| rm org.eclipse.releng.basebuilder |
| ln -s ${supportDir}/org.eclipse.releng.basebuilder_${basebuilderBranch} org.eclipse.releng.basebuilder |
| |
| if [[ ! -d org.eclipse.e4.builder_${projRelengBranch} ]]; then |
| echo "[start] [`date +%H\:%M\:%S`] get org.eclipse.e4.builder_${projRelengBranch}" |
| cmd="cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse $quietCVS co -r $projRelengBranch -d org.eclipse.e4.builder_${projRelengBranch} e4/releng/org.eclipse.e4.builder" |
| echo $cmd |
| $cmd |
| else |
| cmd="cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse $quietCVS update -d org.eclipse.e4.builder_${projRelengBranch} " |
| echo $cmd |
| $cmd |
| fi |
| |
| echo "[start] [`date +%H\:%M\:%S`] setting org.eclipse.e4.builder_${projRelengBranch}" |
| rm org.eclipse.e4.builder |
| ln -s ${supportDir}/org.eclipse.e4.builder_${projRelengBranch} org.eclipse.e4.builder |
| |
| cd $supportDir/org.eclipse.e4.builder/scripts |
| |
| |
| echo "[start] [`date +%H\:%M\:%S`] setting eclipse $eclipseIBuild" |
| |
| |
| buildFeature() { |
| if [ "$1" = "repo" ]; then |
| repo="-genRepo" |
| shift |
| else |
| repo="" |
| fi |
| |
| ./start.sh \ |
| -writableBuildRoot /shared/eclipse/e4 \ |
| -version 4.0.0 \ |
| -buildDate $builddate \ |
| -buildTime $buildtime \ |
| -projRelengRoot "$projRoot" \ |
| -projRelengPath 'e4/releng' \ |
| -projRelengBranch $projRelengBranch \ |
| -basebuilderBranch ${basebuilderBranch} \ |
| -eclipseIBuild $eclipseIBuild \ |
| -javaHome /opt/public/common/ibm-java2-ppc-50 \ |
| -featureId "$1" \ |
| $repo \ |
| $tagMaps \ |
| $publ \ |
| 2>&1 | tee -a /shared/eclipse/e4/logs/buildlog_${builddate}${buildtime}.txt |
| |
| |
| } |
| |
| buildFeature repo org.eclipse.e4.resources.feature |
| buildFeature repo org.eclipse.e4.swt.as.feature |
| buildFeature repo org.eclipse.e4.ui.feature |
| buildFeature repo org.eclipse.e4.ui.css.feature |
| buildFeature repo org.eclipse.e4.xwt.feature |
| buildFeature repo org.eclipse.e4.xwt.tools.feature |
| |
| buildFeature org.eclipse.e4.resources.tests.feature |
| buildFeature org.eclipse.e4.swt.as.tests.feature |
| buildFeature org.eclipse.e4.ui.examples.feature |
| buildFeature org.eclipse.e4.ui.tests.feature |
| buildFeature org.eclipse.e4.xwt.tests.feature |
| |
| buildTimestamp=${builddate}-${buildtime} |
| buildDir=/shared/eclipse/e4/build/e4/downloads/drops/4.0.0 |
| buildDirectory=$buildDir/I$buildTimestamp |
| |
| # copy some other logs |
| |
| cat >$buildDirectory/I$buildTimestamp/compilelogs.html <<EOF |
| <html><head><title>compile logs</title></head> |
| <body> |
| <table border="1"> |
| EOF |
| for f in $buildDirectory/I$buildTimestamp/compilelogs/plugins/*/*; do |
| |
| FN=$( basename $f ) |
| FN_DIR=$( dirname $f ) |
| PA_FN=$( basename $FN_DIR ) |
| cat >>$buildDirectory/I$buildTimestamp/compilelogs.html <<EOF |
| <tr><td><a href="compilelogs/plugins/$PA_FN/$FN">$PA_FN - $FN</a></td></tr> |
| EOF |
| done |
| cat >>$buildDirectory/I$buildTimestamp/compilelogs.html <<EOF |
| </table> |
| </body> |
| </html> |
| |
| EOF |
| |
| |
| # try some tests |
| testDir=$buildDirectory/tests |
| mkdir -p $testDir |
| |
| cd $testDir |
| unzip $buildDirectory/../eclipse-Automated-Tests-${eclipseIBuild}.zip |
| cd eclipse-testing |
| |
| cp $buildDirectory/../eclipse-SDK-${eclipseIBuild}-linux-gtk${archProp}.tar.gz . |
| cp $buildDirectory/../emf-runtime-2.5.0M4.zip . |
| cp $buildDirectory/../xsd-runtime-2.5.0M4.zip . |
| cp $buildDirectory/../GEF-SDK-3.5.0M4.zip . |
| cp $buildDirectory/../wtp-wst-S-3.1M4-20081219210304.zip . |
| |
| cat $buildDirectory/test.properties \ |
| | grep -v org.eclipse.core.tests.resources.prerequisite.testplugins \ |
| | sed 's/org.eclipse.e4.ui.tests.css.swt.prerequisite.testplugins=/org.eclipse.e4.ui.tests.css.swt.prerequisite.testplugins=**\/${org.eclipse.core.tests.harness}**/g' \ |
| | sed 's/org.eclipse.e4.xwt.tests.prerequisite.testplugins=/org.eclipse.e4.xwt.tests.prerequisite.testplugins=**\/${org.eclipse.core.tests.harness}**/g' >> test.properties |
| cat $buildDirectory/label.properties >> label.properties |
| |
| for f in $buildDirectory/I$buildTimestamp/*.zip; do |
| FN=$( basename $f ) |
| echo Copying $FN |
| cp $f . |
| done |
| |
| cp $supportDir/org.eclipse.e4.builder/builder/general/tests/* . |
| |
| ./runtests -os linux -ws gtk \ |
| -arch ${arch} e4 \ |
| 2>&1 | tee -a /shared/eclipse/e4/logs/buildlog_${builddate}${buildtime}.txt |
| |
| cp /shared/eclipse/e4/logs/buildlog_${builddate}${buildtime}.txt \ |
| $buildDirectory/I$buildTimestamp/buildlog.txt |
| |
| mkdir -p $buildDirectory/I$buildTimestamp/results |
| cp -r results/* $buildDirectory/I$buildTimestamp/results |
| |
| cp $supportDir/org.eclipse.e4.builder/templates/build.testResults.html \ |
| $buildDirectory/I$buildTimestamp/testResults.html |
| |
| if [ ! -z "$publishDir" ]; then |
| echo Publishing $buildDirectory/I$buildTimestamp to "$publishDir" |
| scp -r $buildDirectory/I$buildTimestamp "$publishDir" |
| mailx -s "Integration Build: I$buildTimestamp" e4-dev@eclipse.org <<EOF |
| |
| Check here for test results and update site: |
| http://download.eclipse.org/e4/downloads/drops/I$buildTimestamp |
| |
| EOF |
| fi |