#!/bin/bash set -e if [ "$#" -ne 2 ]; then echo "Usage: $0 " exit 1 fi PACKAGE_NAME=$1 PACKAGE_VERSION=$2 if [[ "$PACKAGE_NAME" != *.* ]]; then echo "Package name must use publisher.extension format" exit 1 fi PUBLISHER=${PACKAGE_NAME%%.*} EXTENSION=${PACKAGE_NAME#*.} URL="https://marketplace.visualstudio.com/_apis/public/gallery/publishers/${PUBLISHER}/vsextensions/${EXTENSION}/${PACKAGE_VERSION}/vspackage" RESULT_INPUT="${PACKAGE_NAME}-${PACKAGE_VERSION}.vsix" mkdir -p input report output export VSIX_RUNTIME_CHECK_VER=${VSIX_RUNTIME_CHECK_VER:-latest} if [ -d ./report/git_package ]; then sync rm -rf ./report/git_package echo "Clean git_package" fi echo "Download ${PACKAGE_NAME}@${PACKAGE_VERSION} from ${URL}" curl \ --fail \ --location \ --header "Accept: application/octet-stream" \ --header "Accept-Encoding: identity" \ --output "input/${RESULT_INPUT}" \ "${URL}" if gzip -t "input/${RESULT_INPUT}" 2>/dev/null; then echo "Decompress gzip-wrapped VSIX" gzip -dc "input/${RESULT_INPUT}" > "input/${RESULT_INPUT}.tmp" mv "input/${RESULT_INPUT}.tmp" "input/${RESULT_INPUT}" fi export RELOAD_CONFIG=1 export ADD_METADATA_VOLUME='true' bash ./run.sh "${RESULT_INPUT}" "$PACKAGE_NAME" "$PACKAGE_VERSION"