| <?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; | |
| } | |