50 lines
1.3 KiB
Bash
Executable File
50 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
if [ "$#" -ne 2 ]; then
|
|
echo "Usage: $0 <publisher.extension> <version>"
|
|
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"
|