check_ccache.sh 2.0 KB
Newer Older
1 2 3 4
#!/bin/bash

OS_NAME="linux"
CODE_NAME=$(lsb_release -sc)
5
BUILD_ENV_DOCKER_IMAGE_ID="${BUILD_ENV_IMAGE_ID}"
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
BRANCH_NAMES=$(git log --decorate | head -n 1 | sed 's/.*(\(.*\))/\1/' | sed 's=[a-zA-Z]*\/==g' | awk -F", " '{$1=""; print $0}')
ARTIFACTORY_URL=""
CCACHE_DIRECTORY="${HOME}/.ccache"

while getopts "l:d:h" arg
do
        case $arg in
             l)
                ARTIFACTORY_URL=$OPTARG
                ;;
             d)
                CCACHE_DIRECTORY=$OPTARG
                ;;
             h) # help
                echo "

parameter:
-l: artifactory url
-d: ccache directory
-h: help

usage:
./build.sh -l \${ARTIFACTORY_URL} -d \${CCACHE_DIRECTORY} [-h]
                "
                exit 0
                ;;
             ?)
                echo "ERROR! unknown argument"
        exit 1
        ;;
        esac
done

if [[ -z "${ARTIFACTORY_URL}" || "${ARTIFACTORY_URL}" == "" ]];then
    echo "you have not input ARTIFACTORY_URL !"
    exit 1
fi

44 45 46 47
check_ccache() {
    BRANCH=$1
    echo "fetching ${BRANCH}/ccache-${OS_NAME}-${CODE_NAME}-${BUILD_ENV_DOCKER_IMAGE_ID}.tar.gz"
    wget -q --method HEAD "${ARTIFACTORY_URL}/${BRANCH}/ccache-${OS_NAME}-${CODE_NAME}-${BUILD_ENV_DOCKER_IMAGE_ID}.tar.gz"
48
    if [[ $? == 0 ]];then
49
        wget "${ARTIFACTORY_URL}/${BRANCH}/ccache-${OS_NAME}-${CODE_NAME}-${BUILD_ENV_DOCKER_IMAGE_ID}.tar.gz" && \
50
        mkdir -p ${CCACHE_DIRECTORY} && \
51 52
        tar zxf ccache-${OS_NAME}-${CODE_NAME}-${BUILD_ENV_DOCKER_IMAGE_ID}.tar.gz -C ${CCACHE_DIRECTORY} && \
        rm ccache-${OS_NAME}-${CODE_NAME}-${BUILD_ENV_DOCKER_IMAGE_ID}.tar.gz
53 54 55 56 57
        if [[ $? == 0 ]];then
            echo "found cache"
            exit 0
        fi
    fi
58 59 60 61
}

for BRANCH_NAME in ${BRANCH_NAMES}
do
Q
quicksilver 已提交
62 63 64
    if [[ "${BRANCH_NAME}" != "HEAD" ]];then
        check_ccache ${BRANCH_NAME}
    fi
65 66
done

Q
quicksilver 已提交
67
if [[ -n "${CHANGE_BRANCH}" && "${BRANCH_NAME}" =~ "PR-" ]];then
68 69
    check_ccache ${CHANGE_BRANCH}
    check_ccache ${BRANCH_NAME}
Q
quicksilver 已提交
70 71
fi

72 73
echo "could not download cache" && exit 1