| #!/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 |
| download_font notosanscjk tar.bz2 |
| download_font notoserifcjk tar.bz2 |