blob: 49a60a398c86f5b3f25b924e7415f14b1b533f67 [file] [log] [blame]
<?php
// This snippet must some before the "repository URLs" as is it used to
// "compute" the proper URLs for the various streams and types of builds.
// It requires, for following variables to have already been defined in outter script:
// $BUILD_ID, $STREAM_MAJOR, $STREAM_MINOR, $BUILD_TYPE, $TIMESTAMP
// It "outputs" two values:
// $STREAM_REPO_URL
// $$BUILD_REPO_URL
// "RCs" have complicated rules, but in short:
// RC's for an initial release (in June) go from 4.x-M-build repos to 4xmilestone repos
// RC's for SRs "stay" in the 4.x-M-build repo. And, no easy way to tell if service release,
// from the build id alone. The hard way is to part the first "digit groups" of build id, and,
// if service field is 0 (or does not exist) then it is not a service release.
// checking for existence is especially important for BUILD_REPOs, since they might have been removed.
// but we do it also for sanity check.
// relative patch can be either 3 or 4 "up", depending on if on downloads, or build machine.
// either can be used to "prove existence".
// We define them here, but used in "main", outter script.
$relativePath4="../../../..";
$relativePath3="../../..";
function isSRRC ( $buildid ) {
$SRPATTERN="/([0-9]+)\\.([0-9]+)\\.([1-9]+)RC[1-4]/";
return (preg_match($SRPATTERN, $buildid));
}
function isRRC ( $buildid ) {
$RPATTERN="/([0-9]+)\\.([0-9]+)((\\.0)?)RC[1-4]/";
return (preg_match($RPATTERN, $buildid));
}
function computeSTREAM_REPO_NAME () {
global $BUILD_ID, $BUILD_TYPE, $STREAM_MAJOR, $STREAM_MINOR;
// We expect $BUILD_ID to be defined in buildproperties.php
// But it can be defined several times in reference URI, such as once in directory name,
// and once in filename. We want the directory-like part.
// And to complicate things, in S and R builds, the segment is no longer BUILD_ID,
// but a more complicated concatenation.
if ($BUILD_TYPE === "M" && isSRRC($BUILD_ID)) {
$STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-"."$BUILD_TYPE"."-builds";
} else {
if ($BUILD_TYPE === "M" && isRRC($BUILD_ID)) {
$STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."milestones";
} else {
if ($BUILD_TYPE === "N" || $BUILD_TYPE === "I" || $BUILD_TYPE === "M" || $BUILD_TYPE === "P" || $BUILD_TYPE === "U" || $BUILD_TYPE === "X" || $BUILD_TYPE === "Y") {
$STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-".$BUILD_TYPE."-"."builds";
} else {
if ($BUILD_TYPE === "S") {
$STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-"."I"."-"."builds";
} else {
if ($BUILD_TYPE === "R") {
$STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR;
}
else {
echo "Unexpected value of BUILD_TYPE: $BUILD_TYPE. <br />\n";
// We will make an assumption that might work.
$STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-".$BUILD_TYPE."-"."builds";
}
}
}
}
}
return $STREAM_REPO_NAME;
}
function computeSTREAM_REPO_URL () {
$STREAM_REPO_URL="https://download.eclipse.org/eclipse/updates/".computeSTREAM_REPO_NAME ()."/";
return $STREAM_REPO_URL;
}
function computeBUILD_REPO_NAME () {
global $BUILD_ID, $BUILD_TYPE, $TIMESTAMP ;
// There are two types of M builds, some RCs, some not.
if ($BUILD_TYPE === "N" || $BUILD_TYPE === "I" || $BUILD_TYPE === "P" || $BUILD_TYPE === "U" || $BUILD_TYPE === "X" || $BUILD_TYPE === "Y" || $BUILD_TYPE === "M" && ! ((isSRRC($BUILD_ID)) || isRRC($BUILD_ID))) {
$BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/".$BUILD_ID;
} else {
if ($BUILD_TYPE === "S") {
$BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/"."I"."$TIMESTAMP";
} else {
$timestamp = str_replace('-', '', $TIMESTAMP);
if ($BUILD_TYPE === "R" || ($BUILD_TYPE === "M" && (isSRRC($BUILD_ID) || isRRC($BUILD_ID)))) {
$BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/".$BUILD_TYPE."-".$BUILD_ID."-"."$timestamp";
} else {
echo "Unexpected value of BUILD_TYPE: $BUILD_TYPE. <br />\n";
// We will make an assumption that might work.
$BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/".$BUILD_ID;
}
}
}
return $BUILD_REPO_NAME;
}
function computeBUILD_REPO_URL () {
$BUILD_REPO_URL="https://download.eclipse.org/eclipse/updates/".computeBUILD_REPO_NAME()."/";
return $BUILD_REPO_URL;
}