blob: 6df95b25f54bfd95297198498620186b136fd2e7 [file] [log] [blame]
#!/bin/bash
# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -eu
readonly SCRIPT_ROOT="$(cd $(dirname ${BASH_SOURCE[0]} ) && pwd)"
# download <url> <path>
function download() {
local url="${1}"
local path="${2}"
curl -f --progress-bar -continue-at=- --location --output "${path}" "${url}"
}
# download_file_if_needed <name> <base path> <extension>
function download_file_if_needed() {
local name="${1}"
local base_path="${2}"
local extension="${3}"
local path="${base_path}.${extension}"
local stamp_path="${base_path}.stamp"
local requested_url="$(cat "${base_path}.version")"
if [[ ! -f "${stamp_path}" ]] || [[ "${requested_url}" != "$(cat "${stamp_path}")" ]]; then
echo "Downloading ${name}..."
rm -f -- "${path}"
download "${requested_url}" "${path}"
echo "${requested_url}" > "${stamp_path}"
fi
}
# download_tarball <name> <base url> <untar directory> <extension>
function download_tarball() {
local name="${1}"
local base_url="${2}"
local untar_dir="${SCRIPT_ROOT}/${3}"
local extension="${4}"
local tar_path="${untar_dir}.${extension}"
download_file_if_needed "${name}" "${untar_dir}" "${extension}"
case "x${extension}" in
xtar*) local extract_cmd="tar xf" ;;
xzip) local extract_cmd="unzip" ;;
*) echo "unknown archive type" && exit -1 ;;
esac
if [[ -f "${tar_path}" ]]; then
mkdir -p -- "${untar_dir}"
(cd -- "${untar_dir}" && ${extract_cmd} "${tar_path}")
rm -f -- "${tar_path}"
fi
}
# download_font <name> <extract>
function download_font() {
local name="${1}"
local extension="${2}"
download_tarball "${name}" "fonts/${name}" "third_party/${name}" "${extension}"
}
download_font material zip
download_font roboto tar.bz2
download_font robotocondensed tar.bz2
download_font robotomono tar.bz2
download_font robotoslab tar.bz2