From d80367e6d852f8a24af6a0ffe599b284894e2305 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Fri, 11 Aug 2006 21:09:12 +0000 Subject: [PATCH] Add nightly build scripts and files to repository --- .../org.eclipse.rse.build/bin/doit_ibuild.sh | 49 ++++ .../org.eclipse.rse.build/bin/doit_nightly.sh | 50 ++++ .../downloads/build_types.html | 72 ++++++ .../downloads/dlconfig.txt | 2 + .../org.eclipse.rse.build/downloads/index.php | 216 ++++++++++++++++++ 5 files changed, 389 insertions(+) create mode 100755 releng/org.eclipse.rse.build/bin/doit_ibuild.sh create mode 100755 releng/org.eclipse.rse.build/bin/doit_nightly.sh create mode 100644 releng/org.eclipse.rse.build/downloads/build_types.html create mode 100644 releng/org.eclipse.rse.build/downloads/dlconfig.txt create mode 100644 releng/org.eclipse.rse.build/downloads/index.php diff --git a/releng/org.eclipse.rse.build/bin/doit_ibuild.sh b/releng/org.eclipse.rse.build/bin/doit_ibuild.sh new file mode 100755 index 00000000000..218d2e931d7 --- /dev/null +++ b/releng/org.eclipse.rse.build/bin/doit_ibuild.sh @@ -0,0 +1,49 @@ +#!/bin/sh +#Bootstrapping script to perform I-builds on build.eclipse.org + +#nothing we do should be hidden from the world +##newgrp dsdp-tm-rse # newgrp doesnt work from shellscripts -- use sg instead +umask 2 + +#Use Java5 on build.eclipse.org +#export PATH=/shared/common/ibm-java2-ppc64-50/bin:$PATH +export PATH=/shared/webtools/apps/IBMJava2-ppc64-142/bin:$PATH +#export PATH=/shared/webtools/apps/IBMJava2-ppc-142/bin:$PATH + +curdir=`pwd` + +#Remove old logs and builds +echo "Removing old logs and builds..." +cd $HOME/ws +#rm log-*.txt +if [ -d working/build ]; then + rm -rf working/build +fi +if [ -d working/package ]; then + rm -rf working/package +fi + +#Do the main job +echo "Updating builder from CVS..." +cd org.eclipse.rse.build +stamp=`date +'%Y%m%d-%H%M'` +log=$HOME/ws/log-$stamp.txt +sg dsdp-tm-rse -c "touch $log" +sg dsdp-tm-rse -c "cvs -q update -d" +daystamp=`date +'%Y%m%d-%H'` +echo "Enter tag to fetch from CVS (default is HEAD):" +echo "Enter build type (P,N,I,S):" +echo "Enter the build id (default is x$stamp):" +sg dsdp-tm-rse -c "perl ./build.pl >> $log 2>&1" +#tail -50 $log + +#Fixup permissions and group id on download.eclpse.org (just to be safe) +chmod -R g+w $HOME/ws/working/package/*${daystamp}* + +#Publish +echo "sg dsdp-tm-rse -c \"cp -R $HOME/ws/working/package/*${daystamp}* $HOME/ws/publish\"" +sg dsdp-tm-rse -c "cp $HOME/ws/working/package/*${daystamp}*/* $HOME/ws/publish" +sg dsdp-tm-rse -c "rm -rf $HOME/ws/publish/*${daystamp}*/updates" +echo "chmod -R g+w $HOME/ws/publish/*${daystamp}*" +chmod -R g+w $HOME/ws/publish/*${daystamp}* + diff --git a/releng/org.eclipse.rse.build/bin/doit_nightly.sh b/releng/org.eclipse.rse.build/bin/doit_nightly.sh new file mode 100755 index 00000000000..25a379ba76c --- /dev/null +++ b/releng/org.eclipse.rse.build/bin/doit_nightly.sh @@ -0,0 +1,50 @@ +#!/bin/sh +#Bootstrapping script to perform N-builds on build.eclipse.org + +#nothing we do should be hidden from the world +##newgrp dsdp-tm-rse # newgrp doesnt work from shellscripts -- use sg instead +umask 2 + +#Use Java5 on build.eclipse.org +#export PATH=/shared/common/ibm-java2-ppc64-50/bin:$PATH +export PATH=/shared/webtools/apps/IBMJava2-ppc64-142/bin:$PATH +#export PATH=/shared/webtools/apps/IBMJava2-ppc-142/bin:$PATH + +curdir=`pwd` + +#Remove old logs and builds +echo "Removing old logs and builds..." +cd $HOME/ws +rm log-*.txt +if [ -d working/package ]; then + rm -rf working/package +fi + +#Do the main job +cd org.eclipse.rse.build +stamp=`date +'%Y%m%d-%H%M'` +log=$HOME/ws/log-$stamp.txt +sg dsdp-tm-rse -c "touch $log" +sg dsdp-tm-rse -c "cvs -q update -d >> $log 2>&1" +daystamp=`date +'%Y%m%d-%H'` +sg dsdp-tm-rse -c "./nightly.sh >> $log 2>&1" +tail -50 $log + +#Fixup permissions and group id on download.eclpse.org (just to be safe) +chmod -R g+w $HOME/ws/publish/N${daystamp}* + +#Copy latest SDK in order to give access to DOC server +cd $HOME/ws/publish +FILES=`ls N${daystamp}*/RSE-SDK-N${daystamp}*.zip 2>/dev/null` +echo "FILES=$FILES" +if [ "$FILES" != "" ]; then + rm N.latest/RSE-SDK-N*.zip + cp N${daystamp}*/RSE-SDK-N${daystamp}*.zip N.latest + cd N.latest + mv -f RSE-SDK-N${daystamp}*.zip RSE-SDK-latest.zip +fi + +#Cleanup old nightly builds (leave only last 5 in place) +cd $HOME/ws/publish +ls -d N200* | sort | head -n-5 | xargs rm -rf + diff --git a/releng/org.eclipse.rse.build/downloads/build_types.html b/releng/org.eclipse.rse.build/downloads/build_types.html new file mode 100644 index 00000000000..056a19fc1e8 --- /dev/null +++ b/releng/org.eclipse.rse.build/downloads/build_types.html @@ -0,0 +1,72 @@ + + + +Eclipse Corner + + + + + + + + + + + + + + + + + + + + + + + + +
Eclipse + Project Build Types
+

Releases +
+ Releases are builds + that have been declared major releases by the development team - for example + "R1.0". Releases are the right builds for people who want to + be on a stable, tested release, and don't need the latest greatest features + and improvements. Release builds always have an "R" at the beginning + of the name i.e. R1.0, R2.0 etc. Non-release builds are named according to the + date of the build - for example 20060427 is the build from April 27, 2006.
+

+
Stable Builds +
+ Stable builds are integration + builds that have been found to be stable enough for most people to use. + They are promoted from integration build to stable build by the architecture + team after they have been used for a few days and deemed reasonably stable. + The latest stable build is the right build for people who want to stay up + to date with what is going on in the latest development stream, and don't + mind putting up with a few problems n in order to get the latest greatest + features and bug fixes. The latest stable build is the one the development + team likes people to be using, because of the valuable and timely feedback. +
+

Integration Builds +
+ Periodically, component + teams version off their work in what they believe is a stable, consistent + state, and they update the build configuration to indicate that the next + integration build should take this version of the component. Integration + builds are built from these stable component versions that have been specified + by each component team as the best version available. Integration builds + may be promoted to stable builds after a few days of testing. Integration + builds are built whenever new stable component versions are released into + the build.

+
Nightly Builds
+ Nightly builds are produced + every night from whatever has been released into the HEAD stream of the + CVS repository. They are completely untested and will almost always have + major problems. Many will not work at all. These drops are normally only + useful to developers actually working on the Eclipse Project.
+

 

+ + diff --git a/releng/org.eclipse.rse.build/downloads/dlconfig.txt b/releng/org.eclipse.rse.build/downloads/dlconfig.txt new file mode 100644 index 00000000000..010ea16227b --- /dev/null +++ b/releng/org.eclipse.rse.build/downloads/dlconfig.txt @@ -0,0 +1,2 @@ +dropPrefix[]=R&dropPrefix[]=S&dropPrefix[]=I&dropPrefix[]=N& +dropType[]=Latest Release&dropType[]=1.0 Stream Stable Build&dropType[]=1.0 Stream Integration Build&dropType[]=1.0 Stream Nightly Build& diff --git a/releng/org.eclipse.rse.build/downloads/index.php b/releng/org.eclipse.rse.build/downloads/index.php new file mode 100644 index 00000000000..d34a57450f9 --- /dev/null +++ b/releng/org.eclipse.rse.build/downloads/index.php @@ -0,0 +1,216 @@ + + +Target Management Project RSE Downloads + + + + + + + + +
Target Management project
RSE downloads
+
+ latest downloads from the dsdp-tm project
+
+ + + + + + + + + + + +
Download Information

On this +page you can find the latest builds for the Remote Systems Explorer (RSE), +produced by the +Target Management project. + +To get started, see the build notes provided with each drop. + +If you have problems downloading the drops, contact the +webmaster. +All downloads are provided under the terms and conditions of the +Eclipse.org +Software User Agreement unless otherwise specified.

+

For information +about different kinds of builds read our build types page.

+

+ +

Latest + Downloads
+ read()) { + + // Short cut because we know aDirectory only contains other directories. + if ($anEntry != "." && $anEntry!="..") { + $aDropDirectory = dir("drops/".$anEntry); + $fileCount = 0; + while ($aDropEntry = $aDropDirectory->read()) { + if (stristr($aDropEntry, ".zip") || stristr($aDropEntry, ".tar")) { + // Count the files in the directory + $fileCount = $fileCount + 1; + } + } + $aDropDirectory.closedir(); + // Read the count file + $countFile = "drops/".$anEntry."/package.count"; + $indexFile = "drops/".$anEntry."/index.php"; + if (file_exists($countFile) && file_exists($indexFile)) { + $anArray = file($countFile); + + // If a match - process the directory + if ($anArray[0] == $fileCount) { + $parts = explode("-", $anEntry); + if (count($parts) == 2) { + + //N-builds and I-builds + $datePart = $parts[0]; + $timePart = $parts[1]; + $buildtype = substr($datePart, 0, 1); + $buckets[$buildtype][] = $anEntry; + + $year = substr($datePart, 1, 4); + $month = substr($datePart, 5, 2); + $day = substr($datePart, 7, 2); + $hour = substr($timePart,0,2); + $minute = substr($timePart,2,2); + $timeStamp = mktime($hour, $minute, 0, $month, $day, $year); + + $timeStamps[$anEntry] = date("D, j M Y -- H:i (O)", $timeStamp); + + if ($timeStamp > $latestTimeStamp[$buildtype]) { + $latestTimeStamp[$buildtype] = $timeStamp; + $latestFile[$buildtype] = $anEntry; + } + + } else if (count($parts) == 3) { + + //S-builds and R-builds + $buckets[$parts[0]][] = $anEntry; + + $timePart = $parts[2]; + $year = substr($timePart, 0, 4); + $month = substr($timePart, 4, 2); + $day = substr($timePart, 6, 2); + $hour = substr($timePart,8,2); + $minute = substr($timePart,10,2); + $timeStamp = mktime($hour, $minute, 0, $month, $day, $year); + + $timeStamps[$anEntry] = date("D, j M Y -- H:i (O)", $timeStamp); + + if ($timeStamp > $latestTimeStamp[$parts[0]]) { + $latestTimeStamp[$parts[0]] = $timeStamp; + $latestFile[$parts[0]] = $anEntry; + } + } + } + } + } + } + // $aDirectory.closedir(); + ?> + + +
+ + + + + + + + + "; + + $parts = explode("-", $fileName); + if (count($parts) == 2) { + $buildName=$fileName; + } else { + $buildName=$parts[1]; + } + + // Uncomment the line below if we need click through licenses. + // echo ""; + + // Comment the line below if we need click through licenses. + echo ""; + + echo ""; + echo ""; + } +?> +
Build TypeBuild NameBuild Date
$value$buildName$buildName$timeStamps[$fileName]
+
+  + + + $value"; + echo "s + + + + + + + + "; + + $aBucket = $buckets[$prefix]; + if (isset($aBucket)) { + rsort($aBucket); + foreach($aBucket as $innerValue) { + $parts = explode("-", $innerValue); + if (count($parts) == 2) { + $buildName=$innerValue; + } else { + $buildName=$parts[1]; + } + echo ""; + + // Uncomment the line below if we need click through licenses. + // echo ""; + + // Comment the line below if we need click through licenses. + echo ""; + + echo " + "; + } + } + echo "
Build NameBuild Date
$buildName$buildName$timeStamps[$innerValue]
 "; + } +?> + +  +