1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 15:15:25 +02:00

Add nightly build scripts and files to repository

This commit is contained in:
Martin Oberhuber 2006-08-11 21:09:12 +00:00
parent b6714d9ff9
commit d80367e6d8
5 changed files with 389 additions and 0 deletions

View file

@ -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}*

View file

@ -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

View file

@ -0,0 +1,72 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Eclipse Corner</title>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
<tr>
<td align=left valign=top colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica" color="#ffffff">Eclipse
Project Build Types</font></b></td>
</tr>
<tr>
<td align=right valign=top><img src="http://www.eclipse.org/images/Adarrow.gif" border=0 height=16 width=16></td>
<td>
<p><b><font face="arial,helvetica,geneva" size="-1">Releases</font></b>
<br>
<font size="-1" face="arial,helvetica,geneva">Releases are builds
that have been declared major releases by the development team - for example
&quot;R1.0&quot;. 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 &quot;R&quot; 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.</font><br>
</p>
</td>
</tr>
<tr>
<td align=right valign=top><img src="http://www.eclipse.org/images/Adarrow.gif" border=0 height=16 width=16></td>
<td><b><font face="arial,helvetica,geneva" size="-1">Stable Builds</font></b>
<br>
<font size="-1" face="arial,helvetica,geneva"> 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.
</font></td>
</tr>
<tr>
<td align=right valign=top><img src="http://www.eclipse.org/images/Adarrow.gif" border=0 height=16 width=16></td>
<td>
<p><b><font face="arial,helvetica,geneva" size="-1">Integration Builds</font></b>
<br>
<font size="-1" face="arial,helvetica,geneva"> 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.</font></p>
</td>
</tr>
<tr>
<td align=right valign=top><img src="http://www.eclipse.org/images/Adarrow.gif" border=0 height=16 width=16></td>
<td><b><font face="arial,helvetica,geneva" size="-1">Nightly Builds</font></b><br>
<font size="-1" face="arial,helvetica,geneva"> 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.</font></td>
</tr>
</table>
<h3>&nbsp;</h3>
</body>
</html>

View file

@ -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&

View file

@ -0,0 +1,216 @@
<html><head>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css">
<title>Target Management Project RSE Downloads</title></head>
<body>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
<tr>
<td align=left width="72%"> <font class=indextop>Target Management project<br/>RSE downloads</font>
<br>
<font class=indexsub>latest downloads from the dsdp-tm project</font><br>
</td>
<td width="28%"><img src="http://www.eclipse.org/images/Idea.jpg" height=86 width=120></td>
</tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
<tr>
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Download Information</font></b></td>
</tr>
<tr> <td> <p>On this
page you can find the latest builds for the Remote Systems Explorer (RSE),
produced by the
<a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> project.
<!--
To get started run the program and go through the
user and developer documentation provided in the online help system.
-->
To get started, see the build notes provided with each drop.
If you have problems downloading the drops, contact the
<font face="arial,helvetica,geneva" size="-1"><a href="mailto:webmaster@eclipse.org">webmaster</a></font>.
All downloads are provided under the terms and conditions of the
<a href="http://www.eclipse.org/legal/epl/notice.php">Eclipse.org
Software User Agreement</a> unless otherwise specified. </p>
<p> For information
about different kinds of builds read our <a href="build_types.html">build types</a> page.</p>
<p/>
<!--
<p>Builds can also be installed via Update Manager, from an existing installation of Eclipse, by following these
<a href="http://download.eclipse.org/dsdp/tm/downloads/updates/index.php" target="_self">steps</a>.
</p>
-->
</td></tr>
<tr>
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Latest
Downloads</font></b></td>
</tr>
</table>
<?php
$fileHandle = fopen("dlconfig.txt", "r");
while (!feof($fileHandle)) {
$aLine = fgets($fileHandle, 4096);
parse_str($aLine);
}
fclose($fileHandle);
for ($i = 0; $i < count($dropType); $i++) {
$typeToPrefix[$dropType[$i]] = $dropPrefix[$i];
}
$aDirectory = dir("drops");
while ($anEntry = $aDirectory->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();
?>
<table width="100%" cellspacing=0 cellpadding=3 align=center>
<td align=left>
<TABLE width="100%" CELLSPACING=0 CELLPADDING=3>
<tr>
<td width=\"30%\"><b>Build Type</b></td>
<td><b>Build Name</b></td>
<td><b>Build Date</b></td>
</tr>
<?php
foreach($dropType as $value) {
$prefix=$typeToPrefix[$value];
$fileName = $latestFile[$prefix];
echo "<tr>
<td width=\"30%\">$value</td>";
$parts = explode("-", $fileName);
if (count($parts) == 2) {
$buildName=$fileName;
} else {
$buildName=$parts[1];
}
// Uncomment the line below if we need click through licenses.
// echo "<td><a href=license.php?license=drops/$fileName>$buildName</a></td>";
// Comment the line below if we need click through licenses.
echo "<td><a href=\"drops/$fileName/index.php\">$buildName</a></td>";
echo "<td>$timeStamps[$fileName]</td>";
echo "</tr>";
}
?>
</table>
</table>
&nbsp;
<?php
foreach($dropType as $value) {
$prefix=$typeToPrefix[$value];
echo "
<table width=\"100%\" cellspacing=0 cellpadding=3 align=center>
<tr bgcolor=\"#999999\">
<td align=left width=\"30%\"><b><a name=\"$value\"><font color=\"#FFFFFF\" face=\"Arial,Helvetica\">$value";
echo "s</font></b></a></td>
</TR>
<TR>
<td align=left>
<TABLE width=\"100%\" CELLSPACING=0 CELLPADDING=3>
<tr>
<td width=\"30%\"><b>Build Name</b></td>
<td><b>Build Date</b></td>
</tr>";
$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 "<tr>";
// Uncomment the line below if we need click through licenses.
// echo "<td><a href=\"license.php?license=drops/$innerValue\">$buildName</a></td>";
// Comment the line below if we need click through licenses.
echo "<td><a href=\"drops/$innerValue/index.php\">$buildName</a></td>";
echo "<td>$timeStamps[$innerValue]</td>
</tr>";
}
}
echo "</table></table>&nbsp;";
}
?>
&nbsp;
</body></html>