source: autobuild/scripts/autobuild @ 1425

Last change on this file since 1425 was 1425, checked in by moo, 13 months ago

error when specified release version is not found

File size: 2.4 KB
Line 
1#!/bin/sh
2
3isTest() { # {{{1
4    [[ ! -z "$isTest" ]]
5}
6
7cd() { # {{{1
8    builtin cd "$@"
9    if isTest ; then
10        if [[ $OLDPWD != $PWD ]]; then
11            echo cd "$PWD"
12        fi
13    fi
14}
15
16getOutputDir() { # {{{1
17    valueof "$1"OutputDir
18}
19
20getSubdirs() { # {{{1
21    pushd "$1" >/dev/null 2>&1
22    local dir
23    for dir in *; do
24        [[ -d $dir ]] && echo "$dir"
25    done
26    popd >/dev/null 2>&1
27}
28# }}}
29
30getExtVersions() { # {{{1
31    local ext=$1
32    local len=${#ext}
33    local dir
34    ((len=len+1))
35    getSubdirs "$topdir/$1" | while read dir; do
36        echo ${dir:$len}
37    done
38}
39
40loadExt() { # {{{1
41    ext="$1"
42    extDir="$topdir/$ext"
43
44    extVersions=($(getExtVersions "$ext"))
45
46    configFile="$extDir/.config"
47    if [[ ! -f $configFile ]]; then
48        die "$configFile not found"
49    fi
50    . "$configFile"
51    unset configFile
52}
53
54foreachExt() { # {{{1
55    local ext
56    for ext in "${exts[@]}"; do (
57            loadExt "$ext"
58            "$@"
59    ); done
60}
61
62loadExtVersion() { # {{{1
63    extVersion="$1"
64    extDirVersioned="$topdir/$ext/$ext-$extVersion"
65    if [[ ! -d $extDirVersioned ]]; then
66        die "$extDirVersioned not found"
67    fi
68    configFile="$extDirVersioned/.config"
69    if [[ -f $configFile ]]; then
70        . "$configFile"
71    fi
72    unset configFile
73}
74
75foreachExtVersion() { # {{{1
76    local extVersion
77    for extVersion in "${extVersions[@]}"; do (
78            loadExtVersion "$extVersion"
79        "$@"
80    ); done
81}
82
83loadPhpVersion() { # {{{1
84    phpVersion="$1"
85    phpSourcePackage="$sourceDir/php-$phpVersion.tar.bz2"
86    develDirVersioned="$develDir/php-$phpVersion"
87}
88
89foreachPhpVersion() { # {{{1
90    local phpVersion
91    local badVersion
92    local ok
93    for phpVersion in "${phpVersions[@]}"; do (
94        ok=1
95        for badVersion in "${extBadPhpVersions[@]}"; do
96            case "$extVersion-$phpVersion" in
97            $badVersion)
98                ok=0
99                ;;
100            esac
101        done
102        case "$ok" in
103        1)
104            loadPhpVersion "$phpVersion"
105            "$@"
106            ;;
107        esac
108    ); done
109}
110foreachPhpReleaseVersion() { # {{{1
111    local arch
112    local compiler
113    local nts
114    local phpReleaseVersion
115    local phpReleaseDir
116
117    for nts in '' '-nts'; do
118        case "$phpVersion" in
119        4.*|5.0.*|5.1.*)
120            phpReleaseVersion="php-$phpVersion-Win32"
121            phpReleaseDir="$develDir/$phpReleaseVersion"
122            arch=x86
123            compiler=VC6
124            nts=
125            "$@"
126            break
127            ;;
128        *)
129            for compiler in "${compilers[@]}"; do
130                for arch in "${arches[@]}"; do
131                    phpReleaseVersion=php-$phpVersion$nts-Win32-$compiler-$arch$snapVersion
132                    phpReleaseDir="$develDir/$phpReleaseVersion"
133                    phpReleaseFile="$sourceDir/$phpReleaseVersion"
134                    if [[ -d $phpReleaseDir || -f $phpReleaseFile ]]; then
135                        "$@"
136                    fi
137                done
138            done
139        esac
140    done
141}
142# }}}
Note: See TracBrowser for help on using the repository browser.