Add script to dl and extract verible tarball Change-Id: I3048d374cbdf0710b2928317ac9453fd947eae41
diff --git a/install-verible.sh b/install-verible.sh new file mode 100755 index 0000000..9fc445a --- /dev/null +++ b/install-verible.sh
@@ -0,0 +1,63 @@ +#!/bin/bash +# +# Copyright 2022 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Install prebuilt verible linter/formatter + +function clean { + if [[ ! -f "${PREINSTALL_DIR}/${VERIBLE_TARBALL}" ]]; then + rm "${DOWNLOAD_DIR}/${VERIBLE_TARBALL}" + rmdir "${DOWNLOAD_DIR}" + fi +} + +if [[ -z "${ROOTDIR}" ]]; then + echo "Source build/setup.sh first" + exit 1 +fi + +# TODO Check where this full name belongs (e.g. build folder?) +VERIBLE_TARBALL="verible.tar.gz" + +trap clean EXIT + +# Used by the CI shodan docker image +PREINSTALL_DIR=/usr/src + +if [[ -f "${PREINSTALL_DIR}/${VERIBLE_TARBALL}" ]]; then + echo "${VERIBLE_TARBALL} stored in the machine at ${PREINSTALL_DIR}" + DOWNLOAD_DIR="${PREINSTALL_DIR}" +else + echo "Download ${VERIBLE_TARBALL} from GCS..." + DOWNLOAD_URL="https://storage.googleapis.com/shodan-public-artifacts/verible.tar.gz" + DOWNLOAD_DIR="${OUT}/tmp/verible" + + if [[ ! -d "${DOWNLOAD_DIR}" ]]; then + mkdir -p "${DOWNLOAD_DIR}" + fi + + wget -P "${DOWNLOAD_DIR}" "${DOWNLOAD_URL}" +fi + +if [[ ! -d "${OUT}/host/verible" ]]; then + mkdir -p "${OUT}/host/verible" +fi + +tar -C "${OUT}/host/verible" --strip-components 1 -xf "${DOWNLOAD_DIR}/${VERIBLE_TARBALL}" + +if [[ -d "${OUT}/host/verible/bin" ]]; then + echo "Verible binaries now available in ${OUT}/host/verible/bin" +fi +