38 lines
1.2 KiB
Bash
38 lines
1.2 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
#
|
||
|
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||
|
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||
|
#
|
||
|
|
||
|
set -e
|
||
|
|
||
|
SOURCE="${BASH_SOURCE[0]}"
|
||
|
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||
|
SOURCE="$(readlink "$SOURCE")"
|
||
|
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||
|
done
|
||
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||
|
|
||
|
source "$DIR/../common/_common.sh"
|
||
|
|
||
|
if [ ! -z "$CI_BUILD" ]; then
|
||
|
# periodically clear out the package cache on the CI server
|
||
|
PackageCacheFile="$NUGET_PACKAGES/packageCacheTime.txt"
|
||
|
if [ ! -f $PackageCacheFile ]; then
|
||
|
date > $PackageCacheFile
|
||
|
else
|
||
|
#$NUGET_PACKAGES_CACHE_TIME_LIMIT is in hours
|
||
|
CacheTimeLimitInSeconds=$(($NUGET_PACKAGES_CACHE_TIME_LIMIT * 3600))
|
||
|
CacheExpireTime=$(($(date +%s) - $CacheTimeLimitInSeconds))
|
||
|
|
||
|
if [ $(date +%s -r $PackageCacheFile) -lt $CacheExpireTime ]; then
|
||
|
header "Clearing package cache"
|
||
|
|
||
|
rm -Rf $NUGET_PACKAGES
|
||
|
mkdir -p $NUGET_PACKAGES
|
||
|
date > $PackageCacheFile
|
||
|
fi
|
||
|
fi
|
||
|
fi
|