Mercurial > hg > buildbot
view buildslave/tools/wget.cache.wrapper @ 2:15bb449380ba
Initial checkin of buildslave wget cache wrapper.
This is a wrapper for wget that caches files fetched using
wget foo -O file
This wget cache wrapper are currently being run on the buildslaves
jaunty-ia32, natty-armv7l and squeeze-armv7l connected to the
http://builder.classpath.org/icedtea/buildbot/ buildmaster
To prevent the buildslaves to re-download all openjdk drops for each build
author | Xerxes R?nby <xerxes@zafena.se> |
---|---|
date | Mon, 21 Feb 2011 11:08:43 +0100 |
parents | |
children | 72316564535a |
line wrap: on
line source
#!/bin/bash # Copyright (C) 2011, Xerxes Ranby <xerxes@zafena.se> # This wget cache wrapper is free software; you can redistribute it # and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # http://www.gnu.org/copyleft/gpl.html # This is a wrapper for wget that caches files fetched using # wget foo -O files # This wget cache wrapper are currently being run on the buildslaves # jaunty-ia32, natty-armv7l and squeeze-armv7l connected to the # http://builder.classpath.org/icedtea/buildbot/ buildmaster # to prevent the buildslaves to re-download all openjdk drops for each build ##### Please configure me to match your setup. WGET=/usr/bin/wget.real CACHEDIR=/home/wgetcache/ ##### Please do not change anything below this line TARGETDIR=$(pwd) #remeber all arguments to wget ALLARG=$* #find out if the last argument are -O file FILEINDEX=$# shift $((${FILEINDEX}-2)) ARG=$1 FILE=$2 if [ ${ARG} == "-O" ] ; then if [ ! -e ${CACHEDIR}${FILE} ]; then # file do not exist in cache # download the file to the cache using wget! cd ${CACHEDIR} # make sure subdirs in the cache exist CACHEDIRSUBPATH=$(dirname ${FILE}) mkdir -p ${CACHEDIRSUBPATH} ${WGET} ${ALLARG} fi if [ -e ${CACHEDIR}${FILE} ] ; then # ok good, file exist now in cache # copy the file from cache to destination cd ${TARGETDIR} cp ${CACHEDIR}${FILE} ${FILE} exit 0 else #something got wrong exit 1 fi else # Last argument are something else than -O file # We do not know how to cache this.... sorry. # instead we simply run wget with all passed arguments # and pretend we dont exist ${WGET} ${ALLARG} fi