diff --git downloadsites/eclipse/downloads/createIndex4x.php downloadsites/eclipse/downloads/createIndex4x.php index fd9066e..a8e4913 100644 --- downloadsites/eclipse/downloads/createIndex4x.php +++ downloadsites/eclipse/downloads/createIndex4x.php @@ -1,26 +1,97 @@ - - -getProjectCommon()); -?> - - - -Eclipse Project Downloads - +# All on the same line to unclutter the user's desktop' +/******************************************************************************* + * Copyright (c) 2009-2010 Eclipse Foundation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * + *******************************************************************************/ + + # + # Begin: page-specific settings. Change these. + $pageTitle = "Eclipse Project Downloads"; + $pageKeywords = ""; + $pageAuthor = ""; + + ini_set("display_errors", "true"); + error_reporting (E_ALL); + $eclipseStream="4"; + $otherIndexFile="eclipse3x.html"; + $otherStream="3"; + include('dlconfig4.php'); + $subdirDrops="drops4"; + + + $op = '<' . '?php' ; + $cl = ' ?' . '>'; + + # Paste your HTML content between the EOHTML markers! + ob_start(); + + + //options: php, html. If not define default + $layout = (!isset($_GET['layout']) || ($_GET['layout'] != "php" && $_GET['layout'] != "html")) ? 'default' : $_GET['layout']; + + + switch($layout){ + case 'html': + ?> + + + + + + <?php print $pageTitle;?> + + + + $pageTitle = ""; + $pageKeywords = ""; + $pageAuthor = ""; + require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); + require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); + require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); + $App = new App(); + $Nav = new Nav(); + $Menu = new Menu(); + include($App->getProjectCommon()); + $App->AddExtraHtmlHeader(''); + ob_start(); + + AddExtraHtmlHeader(''); + break; + }?> + +
\n"; + print "\n"; return; } // get build name, date and time @@ -145,13 +215,13 @@ // presumably this particular md5 was choosen since last one made, I'd guess? //$build_done=file_exists("$dropDir/checksum/swt-$buildName-win32-wce_ppc-arm-j2me.zip.md5"); $build_done=file_exists("$dropDir/eclipse-SDK-$buildName-linux-gtk.tar.gz"); - echo "\n"; + print "\n"; return $buildName; } ?> @@ -226,7 +296,7 @@ if ($anEntry != "." && $anEntry!=".." && $anEntry!="TIME" && startsWithDropPrefix($anEntry,$dropPrefix)) { $parts = explode("-", $anEntry); - // echo "

an entry: $anEntry\n"; + // print "

an entry: $anEntry\n"; if (count($parts) == 3) { $buckets[$parts[0]][] = $anEntry; @@ -289,8 +359,8 @@ $prefix=$typeToPrefix[$value]; // if empty bucket, do not print this row if (array_key_exists($prefix,$buckets)) { - echo "

\n"; - echo "\n"; + print "\n"; + print "\n"; if (array_key_exists($prefix,$latestFile)) { @@ -299,7 +369,7 @@ $parts = explode("-", $fileName); // Uncomment the line below if we need click through licenses. - // echo "\n"; + // print "\n"; // Comment the line below if we need click through licenses. @@ -308,13 +378,13 @@ $buildName=$parts[1]; } if ($fileName == "") { - echo "\n"; + print "\n"; } else { - echo "\n"; + print "\n"; } $buildName = printBuildColumns($fileName, $parts); - echo "\n"; - echo "\n"; + print "\n"; + print "\n"; } } ?> @@ -327,31 +397,31 @@ // skip whole section, if bucket is empty if (array_key_exists($prefix,$buckets)) { - echo "
- Eclipse Project .x Stream Downloads
+ Eclipse Project .x Stream Downloads
Latest downloads from the Eclipse project
@@ -55,7 +126,7 @@ Software User Agreement unless otherwise specified.

-

Eclipse .x downloads are available.

+

Eclipse .x downloads are available.

See the main Eclispe download site for other packages and projects.

Help out with Eclipse translations - check out the Babel project.

If you prefer, try downloading with the SDK Torrents

@@ -79,7 +150,7 @@ // sanity check input if (isset($dirName) && strlen($dirName) > 0) { $firstChar = substr($dirName, 0, 1); - //echo "first char: ".$firstChar; + //print "first char: ".$firstChar; foreach($dropPrefix as $type) { if ($firstChar == "$type") { $result = true; @@ -89,7 +160,7 @@ } } else { - echo "dropPrefix not defined as expected\n"; + print "dropPrefix not defined as expected\n"; } return $result; } @@ -97,7 +168,6 @@ // hard code for now the tests ran on one box // https://bugs.eclipse.org/bugs/show_bug.cgi?id=378706 return 1; - global $subdirDrops; $testBoxes=array("linux", "macosx", "win32"); $length=count($testBoxes); @@ -120,7 +190,7 @@ global $subdirDrops; // no file name, write empty column if ($fileName == "") { - echo "
\n"; + print "\n"; // hard code for now the build is done // https://bugs.eclipse.org/bugs/show_bug.cgi?id=378706 // if ($build_done) { if (true) { $boxes=runTestBoxes($fileName); - echo "\"Build\n"; + print "\"Build\n"; //$testResults="$dropDir/testresults/xml"; //if (file_exists("$testResults")) { switch ($boxes) { @@ -160,21 +230,21 @@ //if ($diff > 480) { // for now, hard code to "0" since we are not reunning tests if ($diff > 0) { - echo "\"Regression\n"; + print "\"Regression\n"; } else { - echo "\"Regression\n"; + print "\"Regression\n"; } break; case 5: - echo "\"Tests\n"; + print "\"Tests\n"; break; default: // if more than 12 hours then consider that the regression tests did not finish if ($diff > 720) { - echo "\"Tests\n"; + print "\"Tests\n"; } else { - echo "\"Tests\n"; + print "\"Tests\n"; } } //break; @@ -184,9 +254,9 @@ // $perfsFile="$perfsDir/performance.php"; // if (file_exists("$perfsFile")) { // if (file_exists("$perfsDir/global.php")) { - //echo "\"Performance\n"; + //print "\"Performance\n"; // } else { - // echo "\"No\n"; + // print "\"No\n"; /// } // } else { // if (file_exists("$perfsDir/consolelogs")) { @@ -197,9 +267,9 @@ // } else { // $reason="either they were not stored in DB or not generated"; // } - // echo "\"No\n"; + // print "\"No\n"; //} else { - // echo "\"Performance\n"; + // print "\"Performance\n"; // } // } // } @@ -208,12 +278,12 @@ else { // if more than 5 hours then consider that the build did not finish if ($diff > 300) { - echo "\"Build\n"; + print "\"Build\n"; } else { - echo "\"Build\n"; + print "\"Build\n"; } } - echo "
$value
$value$parts[1]$parts[1]$buildName$buildName$timeStamps[$fileName]
$timeStamps[$fileName]
\n"; + print "
\n"; // header, colored row - echo "\n"; + print "\n"; // name attribute can have no spaces, so we tranlate them to underscores // (could effect targeted links) $valueName=strtr($value,' ','_'); - echo "\n"; - echo "\n"; + print "\n"; + print "\n"; - echo "\n"; - echo "
\n"; - echo "$value\n"; - echo "
\n"; + print "$value\n"; + print "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + print "\n"; + print "\n"; - echo "
\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + print "\n"; + print "\n"; + print "\n"; - echo "\n"; + print "\n"; $aBucket = $buckets[$prefix]; if (isset($aBucket)) { @@ -359,34 +429,57 @@ foreach($aBucket as $innerValue) { $parts = explode("-", $innerValue); - echo "\n"; + print "\n"; // Uncomment the line below if we need click through licenses. - // echo "\n"; + // print "\n"; // Comment the line below if we need click through licenses. $buildName=$innerValue; if (count ($parts)==3) { - echo "\n"; + print "\n"; } else if (count ($parts)==2) { - echo "\n"; + print "\n"; } else { - echo "\n"; + print "\n"; } $buildName = printBuildColumns($innerValue, $parts); - echo "\n"; - echo "\n"; + print "\n"; + print "\n"; } } - echo "
Build NameBuild StatusBuild DateBuild NameBuild StatusBuild Date
$parts[1]$parts[1]$parts[1]$parts[1]$innerValue$innerValueUnexpected numberof parts?Unexpected numberof parts?$timeStamps[$innerValue]
$timeStamps[$innerValue]
\n"; - echo "
\n"; + print "
\n"; + print "\n"; + print "\n"; } } - -?> - - + print '
'; + $html = ob_get_clean(); + + switch($layout){ + case 'html': + print $html; + print ''; + print ''; + break; + + case 'php': + print $html; + print $op; ?> + + $html = ob_get_clean(); + $App->Promotion = FALSE; + $App->generatePage('Nova', $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html); + + Promotion = FALSE; + $App->generatePage('Nova', $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html); + break; + } diff --git eclipse/buildConfigs/sdk.tests/testScripts/runtests.bat eclipse/buildConfigs/sdk.tests/testScripts/runtests.bat index 40c3a8c..4a7f5eb 100644 --- eclipse/buildConfigs/sdk.tests/testScripts/runtests.bat +++ eclipse/buildConfigs/sdk.tests/testScripts/runtests.bat @@ -2,7 +2,7 @@ REM default java executable for outer and test vm set vmcmd=java -set no_proxy=localhost,dev.eclipse.org,hudson.eclipse.org +rem set no_proxy=localhost,dev.eclipse.org,hudson.eclipse.org REM reset list of ant targets in test.xml to execute set tests= @@ -55,9 +55,14 @@ REM get name of org.eclipse.equinox.launcher_*.jar with version label dir /b eclipse\plugins\org.eclipse.equinox.launcher_*.jar>launcher-jar-name.txt set /p launcher-jar= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -installIU ${extraIU} + - - - - - - - - - - - - - - - - - - - - - - - - -installIU ${testPlugin} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - trying to find ${testPlugin}_* - - - - - trying to find ${testPluginX} - - - - - - - - - - - - - - - - - - - - - - - - - - trying to find ${testPlugin}_* - - - - - trying to find ${testPluginX} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git eclipse/publishingFiles/staticDropFiles/buildNotes.php eclipse/publishingFiles/staticDropFiles/buildNotes.php index e3f2dd2..7df68bd 100644 --- eclipse/publishingFiles/staticDropFiles/buildNotes.php +++ eclipse/publishingFiles/staticDropFiles/buildNotes.php @@ -56,7 +56,7 @@ if ($hasNotes) { echo "\n"; } - echo "

Build notes (if any) are used to notify the community of notable, but temporary, issues or changes in a particular build.

"; + echo "

Build notes (if any) are used to notify the community of notable issues or changes in a particular build.

"; echo "

Committers, to include build notes for your component, add a file with the pattern buildnotes_<component-name>.html to the root of one of your bundle's source tree.

"; aDirectory.closedir(); diff --git eclipse/publishingFiles/templateFiles/testResults.php.template eclipse/publishingFiles/templateFiles/testResults.php.template index 89b9859..37c2235 100644 --- eclipse/publishingFiles/templateFiles/testResults.php.template +++ eclipse/publishingFiles/templateFiles/testResults.php.template @@ -3,6 +3,7 @@ Zip of .api_filters files used in the build"; ?> Cvs tag v$buildName of org.eclipse.releng.eclipsebuilder and org.eclipse.releng.basebuilder was used to create this build. "; -} + + echo"
  • org.eclipse.releng.eclipsebuilder: $eclipsebuilderBranch
  • "; + echo"
  • org.eclipse.releng.basebuilder: $basebuilderBranch
  • "; + ?> diff --git extras/pack.properties extras/pack.properties index 5fa7783..9806ba2 100644 --- extras/pack.properties +++ extras/pack.properties @@ -1,3 +1,3 @@ pack200.default.args=-E4 -pack.excludes=content.jar,artifacts.jar,plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar,plugins/org.eclipse.ecf.source_3.1.300.v20120319-0616.jar,plugins/org.eclipse.ecf.ssl_1.0.100.v20120319-0616.jar,plugins/org.eclipse.ecf.ssl.source_1.0.100.v20120319-0616.jar,plugins/org.eclipse.ecf.identity_3.1.200.v20120319-0616.jar,plugins/org.eclipse.ecf.identity.source_3.1.200.v20120319-0616.jar,plugins/org.eclipse.ecf.filetransfer_5.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.filetransfer.source_5.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer_3.2.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.source_3.2.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl.source_1.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient_4.0.200.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.source_4.0.200.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source_1.0.0.v20120319-0616.jar,@excludejars@ -sign.excludes=content.jar,artifacts.jar,plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar,plugins/org.eclipse.ecf.source_3.1.300.v20120319-0616.jar,plugins/org.eclipse.ecf.ssl_1.0.100.v20120319-0616.jar,plugins/org.eclipse.ecf.ssl.source_1.0.100.v20120319-0616.jar,plugins/org.eclipse.ecf.identity_3.1.200.v20120319-0616.jar,plugins/org.eclipse.ecf.identity.source_3.1.200.v20120319-0616.jar,plugins/org.eclipse.ecf.filetransfer_5.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.filetransfer.source_5.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer_3.2.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.source_3.2.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl.source_1.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient_4.0.200.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.source_4.0.200.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.v20120319-0616.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source_1.0.0.v20120319-0616.jar,@excludejars@ \ No newline at end of file +pack.excludes=content.jar,artifacts.jar,plugins/org.eclipse.ecf_3.1.300.v20120608-0148.jar,plugins/org.eclipse.ecf.source_3.1.300.v20120608-0148.jar,plugins/org.eclipse.ecf.ssl_1.0.100.v20120608-0148.jar,plugins/org.eclipse.ecf.ssl.source_1.0.100.v20120608-0148.jar,plugins/org.eclipse.ecf.identity_3.1.200.v20120608-0148.jar,plugins/org.eclipse.ecf.identity.source_3.1.200.v20120608-0148.jar,plugins/org.eclipse.ecf.filetransfer_5.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.filetransfer.source_5.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer_3.2.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.source_3.2.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl.source_1.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient_4.0.200.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.source_4.0.200.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source_1.0.0.v20120608-0148.jar,@excludejars@ +sign.excludes=content.jar,artifacts.jar,plugins/org.eclipse.ecf_3.1.300.v20120608-0148.jar,plugins/org.eclipse.ecf.source_3.1.300.v20120608-0148.jar,plugins/org.eclipse.ecf.ssl_1.0.100.v20120608-0148.jar,plugins/org.eclipse.ecf.ssl.source_1.0.100.v20120608-0148.jar,plugins/org.eclipse.ecf.identity_3.1.200.v20120608-0148.jar,plugins/org.eclipse.ecf.identity.source_3.1.200.v20120608-0148.jar,plugins/org.eclipse.ecf.filetransfer_5.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.filetransfer.source_5.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer_3.2.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.source_3.2.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.ssl.source_1.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient_4.0.200.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.source_4.0.200.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.v20120608-0148.jar,plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source_1.0.0.v20120608-0148.jar,@excludejars@ \ No newline at end of file diff --git runTests2.xml runTests2.xml index e6adbfa..d4f22e8 100644 --- runTests2.xml +++ runTests2.xml @@ -159,7 +159,7 @@ --> - + - + - + ${buildResults}/buildProperties.php +echo "\$basebuilderBranch='${basebuilderBranch}';" >> ${buildResults}/buildProperties.php +echo "\$eclipsebuilderBranch='${eclipsebuilderBranch}';" >> $buildResults/buildProperties.php +echo "?>" >> $buildResults/buildProperties.php updateBaseBuilder checkForErrorExit $? "Failed while updating Base Buidler" diff --git scripts/promotionRelated/milestonePromotionRelated/createEquinoxPromotionScriptFunction.sh scripts/promotionRelated/milestonePromotionRelated/createEquinoxPromotionScriptFunction.sh new file mode 0 index 0000000..559e576 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/createEquinoxPromotionScriptFunction.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +function createPromotionScriptEq () { + +buildId=$1 +if [[ -z "${buildId}" ]] +then + echo "ERROR: this function requires buildId or label to promote" + exit 1 +fi + +scriptName="promote-${buildId}.sh" + +# remember, there is no 'downloads' segment in equinox locations, +# unlike the eclipse locations +buildRoot=/shared/eclipse/eclipse4I +siteDir=${buildRoot}/siteDir +equinoxPostingDirectory=${siteDir}/equinox/drops + +# The 'workLocation' provides a handy central place to have the +# promote script, and log results. ASSUMING this works for all +# types of builds, etc (which is the goal for the sdk promotions). +workLocationEquinox=/shared/eclipse/equinox/promotion + +# the cron job must know about and use this same +# location to look for its promotions scripts. (i.e. implicite tight coupling) +promoteScriptLocationEquinox=${workLocationEquinox}/queue + +# directory should normally exist -- best to create with committer's ID -- +# but in case not +mkdir -p "${promoteScriptLocationEquinox}" + +eqFromDir=${equinoxPostingDirectory}/${buildId} +eqToDir="/home/data/httpd/download.eclipse.org/equinox/drops/" + +# Note: for proper mirroring at Eclispe, we probably do not want/need to +# maintain "times" on build machine, but let them take times at time of copying. +# If it turns out to be important to maintain times (such as ran more than once, +# to pick up a "more" output, such as test results, then add -t to rsync +# Similarly, if download server is set up right, it will end up with the +# correct permissions, but if not, we may need to set some permissions first, +# then use -p on rsync + +# Here is content of promtion script (note, use same ptimestamp created above): +echo "#!/usr/bin/env bash" > ${promoteScriptLocationEquinox}/${scriptName} +echo "# promotion script created at $ptimestamp" >> ${promoteScriptLocationEquinox}/${scriptName} +echo "rsync --recursive \"${eqFromDir}\" \"${eqToDir}\"" >> ${promoteScriptLocationEquinox}/${scriptName} + +# we restrict "others" rights for a bit more security or safety from accidents +chmod -v ug=rwx,o-rwx ${promoteScriptLocationEquinox}/${scriptName} + +} diff --git scripts/promotionRelated/milestonePromotionRelated/promoteDropSite38.sh scripts/promotionRelated/milestonePromotionRelated/promoteDropSite38.sh new file mode 0 index 0000000..98f66e5 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/promoteDropSite38.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +DROP_ID=I20120531-0600 +DL_LABEL=3.8RC3 +BUILD_TIMESTAMP=${DROP_ID//[I-]/} +DL_DROP_ID=S-${DL_LABEL}-${BUILD_TIMESTAMP} + +source updateIndexFilesFunction.sh + +DL_SITE_PATH=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/ + +cd /opt/public/eclipse/eclipse3I/siteDir/eclipse/downloads/drops +echo "PWD: ${PWD}" +cp /opt/public/eclipse/sdk/renameBuild.sh . + +echo "save temp backup" +rsync -ra ${DROP_ID}/ ${DROP_ID}ORIG + +echo "rename ${DROP_ID} ${DL_DROP_ID} ${DL_LABEL}" +./renameBuild.sh ${DROP_ID} ${DL_DROP_ID} ${DL_LABEL} + +echo "rsync ${DL_DROP_ID} to ${DL_SITE_PATH}" +rsync -r ${DL_DROP_ID} ${DL_SITE_PATH} + +updateIndex 3 + +echo "move backup back to original" +mv ${DROP_ID}ORIG ${DROP_ID} + +rm renameBuild.sh + diff --git scripts/promotionRelated/milestonePromotionRelated/promoteDropSite42.sh scripts/promotionRelated/milestonePromotionRelated/promoteDropSite42.sh new file mode 0 index 0000000..62b91a7 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/promoteDropSite42.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# +# + +DROP_ID=I20120531-1500 +DL_LABEL=4.2RC3 + +BUILD_TIMESTAMP=${DROP_ID//[I-]/} +DL_DROP_ID=S-${DL_LABEL}-${BUILD_TIMESTAMP} + +source updateIndexFilesFunction.sh + +DL_SITE_PATH=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/ + +cd /opt/public/eclipse/eclipse4I/siteDir/eclipse/downloads/drops4 +echo "PWD: ${PWD}" +cp /opt/public/eclipse/sdk/renameBuild.sh . + +echo "save temp backup copy to ${DROP_ID}ORIG" +rsync -ra ${DROP_ID}/ ${DROP_ID}ORIG + +echo "rename ${DROP_ID} ${DL_DROP_ID} ${DL_LABEL}" +./renameBuild.sh ${DROP_ID} ${DL_DROP_ID} ${DL_LABEL} + +echo "rsync ${DL_DROP_ID} to ${DL_SITE_PATH}" +rsync -r ${DL_DROP_ID} ${DL_SITE_PATH} + +updateIndex 4 + +echo "move backup back to original" +mv ${DROP_ID}ORIG ${DROP_ID} + +rm renameBuild.sh diff --git scripts/promotionRelated/milestonePromotionRelated/promoteDropSiteEq42.sh scripts/promotionRelated/milestonePromotionRelated/promoteDropSiteEq42.sh new file mode 0 index 0000000..8cce4f3 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/promoteDropSiteEq42.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# note, for equinox, we use the "4.2 build", +# but label is "3.8" + +DROP_ID=I20120531-1500 +DL_LABEL=3.8RC3 + +BUILD_TIMESTAMP=${DROP_ID//[I-]/} +DL_DROP_ID=S-${DL_LABEL}-${BUILD_TIMESTAMP} + +source createEquinoxPromotionScriptFunction.sh + +# + +cd /opt/public/eclipse/eclipse4I/siteDir/equinox/drops +echo "PWD: ${PWD}" +cp /opt/public/eclipse/sdk/renameBuild.sh . + +echo "save temp backup copy to ${DROP_ID}ORIG" +rsync -ra ${DROP_ID}/ ${DROP_ID}ORIG + +echo "rename ${DROP_ID} ${DL_DROP_ID} ${DL_LABEL}" +./renameBuild.sh ${DROP_ID} ${DL_DROP_ID} ${DL_LABEL} + +# For Equinox, we don't do the promotion, just create a +# script to do it and put it in the right place for others to run. +createPromotionScriptEq ${DL_DROP_ID} + +echo "move backup back to original" +mv ${DROP_ID}ORIG ${DROP_ID} + +rm renameBuild.sh diff --git scripts/promotionRelated/milestonePromotionRelated/promoteRepo38.sh scripts/promotionRelated/milestonePromotionRelated/promoteRepo38.sh new file mode 0 index 0000000..48bbb7c 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/promoteRepo38.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + + +DROP_SITE_ID=I20120531-0600 + +DROP_LABEL=S-3.8RC3 + +BUILD_TIMESTAMP=${DROP_SITE_ID//[I-]/} + +DL_SITE_ID="${DROP_LABEL}"-"${BUILD_TIMESTAMP}" + +BUILDMACHINE_BASE_SITE=/opt/public/eclipse/eclipse3I/siteDir/updates/3.8-I-builds + +DLMACHINE_BASE_SITE=/home/data/httpd/download.eclipse.org/eclipse/updates/3.8milestones + +BUILDMACHINE_SITE=${BUILDMACHINE_BASE_SITE}/${DROP_SITE_ID} + +DLMACHINE_SITE=${DLMACHINE_BASE_SITE}/${DL_SITE_ID} + +# remember, need trailing slash since going from existing directories +# contents to new directories contents +echo "BUILDMACHINE_SITE: ${BUILDMACHINE_SITE}/" +echo "DLMACHINE_SITE: ${DLMACHINE_SITE}" +rsync --dry-run -vr "${BUILDMACHINE_SITE}/" "${DLMACHINE_SITE}" + +echo " ... remember to update composite files ... " + diff --git scripts/promotionRelated/milestonePromotionRelated/promoteRepo42.sh scripts/promotionRelated/milestonePromotionRelated/promoteRepo42.sh new file mode 0 index 0000000..bc63e9c 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/promoteRepo42.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + + +DROP_SITE_ID=I20120531-1500 + +DROP_LABEL=S-4.2RC3 + +BUILD_TIMESTAMP=${DROP_SITE_ID//[I-]/} + +DL_SITE_ID="${DROP_LABEL}"-"${BUILD_TIMESTAMP}" + +BUILDMACHINE_BASE_SITE=/opt/public/eclipse/eclipse4I/siteDir/updates/4.2-I-builds + +DLMACHINE_BASE_SITE=/home/data/httpd/download.eclipse.org/eclipse/updates/4.2milestones + +BUILDMACHINE_SITE=${BUILDMACHINE_BASE_SITE}/${DROP_SITE_ID} + +DLMACHINE_SITE=${DLMACHINE_BASE_SITE}/${DL_SITE_ID} + +# remember, need trailing slash since going from existing directories +# contents to new directories contents +echo "BUILDMACHINE_SITE: ${BUILDMACHINE_SITE}/" +echo "DLMACHINE_SITE: ${DLMACHINE_SITE}" +rsync --dry-run -vr "${BUILDMACHINE_SITE}/" "${DLMACHINE_SITE}" + +echo " ... remember to update composite files ... " + diff --git scripts/promotionRelated/milestonePromotionRelated/updateIndexFilesFunction.sh scripts/promotionRelated/milestonePromotionRelated/updateIndexFilesFunction.sh new file mode 0 index 0000000..f2c4540 0 --- /dev/null +++ scripts/promotionRelated/milestonePromotionRelated/updateIndexFilesFunction.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +# this function accomplished "from a client" the same function that +# could be done like this, on the download server (in .../eclipse/downloads directory): +# php createIndex4x.php > index.html +# php eclipse3x.php > eclipse3x.html + +function internalUpdateIndex () +{ + + if [[ $# != 2 ]] + then + echo "PROGRAM ERROR: this function requires to arguments, in order, " + echo " the php page to use to create the html page, named in second argument)." + exit 1 + fi + + PHP_PAGE=$1 + HTML_PAGE=$2 + + TEMP_INDEX_TXT=tempIndex.txt + + wget -O ${TEMP_INDEX_TXT} http://download.eclipse.org/eclipse/downloads/${PHP_PAGE} + rccode=$? + if [ $rccode -eq 0 ] + then + rsync ${TEMP_INDEX_TXT} /home/data/httpd/download.eclipse.org/eclipse/downloads/${HTML_PAGE} + rccode=$? + if [ $rccode -eq 0 ] + then + echo "INFO: Upated http://download.eclipse.org/eclipse/downloads/${HTML_PAGE}" + return 0 + else + echo "ERROR: Could not copy ${HTML_PAGE} to downlaods. rccode: $rccode" + return $rccode + fi + else + echo "ERROR: Could not create or pull ${TEMP_INDEX_TXT} from downloads file ${PHP_PAGE}. rccode: $rccode" + return $rccode + fi + + rm ${TEMP_INDEX_TXT} +} + + +function updateIndex () +{ + + + x4X_PHP_PAGE="createIndex4x.php" + x4X_HTML_PAGE="index.html" + x3X_PHP_PAGE="eclipse3x.php" + x3X_HTML_PAGE="eclipse3x.html" + + # if no arguments, do both, else we expect "3" or "4" + # TODO: would be polite to detect unexpected arguments and give warnings. + if [[ $# == 0 ]] + then + internalUpdateIndex ${x4X_PHP_PAGE} ${x4X_HTML_PAGE} + internalUpdateIndex ${x3X_PHP_PAGE} ${x3X_HTML_PAGE} + else + if [[ "$1" == "3" ]] + then + internalUpdateIndex ${x3X_PHP_PAGE} ${x3X_HTML_PAGE} + elif [[ "$1" == "4" ]] + then + internalUpdateIndex ${x4X_PHP_PAGE} ${x4X_HTML_PAGE} + fi + fi + +} + + diff --git scripts/testScriptArea/dateTimeFormats.sh scripts/testScriptArea/dateTimeFormats.sh index ccb5b15..ce6baf0 100755 --- scripts/testScriptArea/dateTimeFormats.sh +++ scripts/testScriptArea/dateTimeFormats.sh @@ -12,3 +12,13 @@ timestamp=$( date +%Y%m%d-%H%M ) echo $timestamp + + +START_TIME=`date +%s` +sleep 62 +END_TIME=`date +%s` +ELAPSED=$((END_TIME-START_TIME)) +echo "Raw Elapsed: $ELAPSED" +echo "FINISHED at " `date` " Elapsed time: " `date -d 00:00:$ELAPSED +%H:%M:%S` + +printf "Pretty format Elapsed Time: %02d:%02d:%02d:%02d\n" "$((ELAPSED/86400))" "$(($ELAPSED/3600%24))" "$(($ELAPSED/60%60))" "$(($ELAPSED%60))" \ No newline at end of file diff --git scripts/testScriptArea/testPHPWrite.sh scripts/testScriptArea/testPHPWrite.sh new file mode 0 index 0000000..bd3af6c 0 --- /dev/null +++ scripts/testScriptArea/testPHPWrite.sh @@ -0,0 +1,11 @@ + +buildResults="/home/davidw/temp" +basebuilderBranch="abcd" +eclipsebuilderBranch="1234" + +# make sure exists, before we write a file there +mkdir -p $buildResults +echo " ${buildResults}/buildProperties.php +echo "\$basebuilderBranch='${basebuilderBranch}';" >> ${buildResults}/buildProperties.php +echo "\$eclipsebuilderBranch='${eclipsebuilderBranch}';" >> $buildResults/buildProperties.php +echo "?>" >> $buildResults/buildProperties.php \ No newline at end of file diff --git scripts/testScriptArea/testbuildidTotimestamp.sh scripts/testScriptArea/testbuildidTotimestamp.sh new file mode 0 index 0000000..3d893c7 0 --- /dev/null +++ scripts/testScriptArea/testbuildidTotimestamp.sh @@ -0,0 +1,8 @@ + + +buildId=I20120526-0900 + +timestamp=${buildId//[I-]/} + +echo "buildId: $buildId" +echo "timestamp: $timestamp" diff --git scripts/utilities/git-map-check.sh scripts/utilities/git-map-check.sh new file mode 0 index 0000000..434e196 0 --- /dev/null +++ scripts/utilities/git-map-check.sh @@ -0,0 +1,117 @@ +#!/usr/bin/env bash +# +# This utility is to double check the "sanity" of the map files +# produced in earlier step. +# Repos must be checked out on the branch you +# expect to tag, map file tags already computed, "added" to repo, +# and committed (to local workspace), but not yet pushed ... not good +# to push, if turns our there are errors and we cancel build. +# +# +# USAGE: repoRoot buildTag relengRoot repoURL [repoURL]* +# repoRoot - absolute path to a folder containing cloned git repositories +# buildTag - build tag to tag all repositories +# relengRoot - asolute path to releng project containing map files +# repoURL - git repository urls to check, must match entries in the map files (i.e. git://... form) +# EXAMPLE: +# ./git-map-check.sh \ +# /opt/public/eclipse/eclipse3I/build/supportDir/gitCache \ +# I20120529-2100 \ +# /opt/public/eclipse/eclipse3I/build/supportDir/gitCache/eclipse.platform.releng.maps/org.eclipse.releng \ +# $( cat clones.txt ) | tee mapcheckout.txt +# +# returns 1 if FAILURE, else 0. Examine the maps-check.txt file for details. +# + +LOGFILE="${PWD}/maps-check.txt" +echo "LOGFILE: $LOGFILE" +echo "# `basename ${0}` started at $( date +%Y%m%d-%H%M%S )" > "${LOGFILE}" +START_TIME=`date +%s` + +check_map () { + #echo check_map "$@" + REPO=$1 + REPO_DIR=$( basename $REPO .git ) + MAP=$2 + # assume no error, 0, but set to true, 1, if error found + FOUND_ERROR=0 + pushd "$gitCache/$REPO_DIR" >/dev/null + grep "repo=${REPO}," "$MAP" >/tmp/maplines_$$.txt + # check that file exists and is not empty. + # (probably some type of an error if it does not, + # but, not the type of error we are interested in here). + if [ ! -s /tmp/maplines_$$.txt ]; then + return $FOUND_ERROR + fi + while read LINE; do + LINE_START=$( echo $LINE | sed 's/^\([^=]*\)=.*$/\1/g' ) + PROJ_PATH=$( echo $LINE | sed 's/^.*path=//g' ) + CURRENT_TAG=$( echo $LINE | sed 's/.*tag=\([^,]*\),.*$/\1/g' ) + LAST_COMMIT=$( git rev-list -1 HEAD -- "$PROJ_PATH" ) + if [ -z "$LAST_COMMIT" ]; then + echo "#SKIPPING $LINE_START, no commits for $PROJ_PATH" >> "${LOGFILE}" + continue + fi + + if ! ( git tag --contains $LAST_COMMIT | grep $CURRENT_TAG >/dev/null ); then + echo FAIL $PROJ_PATH ":" $LAST_COMMIT not contained in $CURRENT_TAG ":" "$REPO" >> "${LOGFILE}" + FOUND_ERROR=1 + else + echo "OK $LINE_START $CURRENT_TAG" >> "${LOGFILE}" + fi + done /dev/null + return $FOUND_ERROR +} + + +STATUS=OK +STATUS_MSG="" +LATEST_SUBMISSION="" + + +if [ $# -lt 4 ]; then + echo "USAGE: $0 repoRoot buildTag relengRoot repoURL [repoURL]*" + exit 1 +fi + + +gitCache=$1; shift +buildTag=$1; shift +RELENG=$1; shift +REPOS="$@" + +echo "DEBUG: gitCache: $gitCache" +echo "DEBUG: buildTag: $buildTag" +echo "DEBUG: RELENG: $RELENG" +echo "DEBUG: REPOS: $REPOS" + +# If there is one failure, the whole thing is a failure, +# but, important to keep going to check all in one run, in case +# there is more than one inaccuracy. +OVERALL_FAIL=0 + +cd $gitCache +for REPO in $REPOS; do + + MAPS=$( find $RELENG -name "*.map" -exec grep -l "repo=${REPO}," {} \; ) + echo " " + echo "DEBUG: REPO: $REPO" + echo "DEBUG: MAPS: $MAPS" + if [ ! -z "$MAPS" ]; then + for MAP in $MAPS; do + echo "DEBUG: MAP : $MAP" + FAILED=$( check_map $REPO $MAP ) + if [[ $FAILED == 1 ]] + then + OVERALL_FAIL=1; + fi + done + fi +done +echo "# check maps file ended at $( date +%Y%m%d-%H%M%S )" >> "${LOGFILE}" +END_TIME=`date +%s` +ELAPSED=$((END_TIME-START_TIME)) +echo "# Elapsed seconds: $ELAPSED" >> "${LOGFILE}" +exit $OVERALL_FAIL