Path: blob/main/components/ide/jetbrains/image/resolve-latest-ide-version.sh
2499 views
#!/bin/bash1# Copyright (c) 2022 Gitpod GmbH. All rights reserved.2# Licensed under the GNU Affero General Public License (AGPL).3# See License.AGPL.txt in the project root for license information.45set -Eeuo pipefail67ROOT_DIR="$(dirname "$0")/../../../.."8PRODUCT_CODE=${1}9JB_FALLBACK_URL=${2}10TEMP_FILENAME=$(mktemp)11PLUGIN_PLATFORM_VERSION=$(grep platformVersion= "$ROOT_DIR/components/ide/jetbrains/backend-plugin/gradle-latest.properties" | sed 's/platformVersion=//' | sed 's/-EAP-CANDIDATE-SNAPSHOT//') # Example: PLUGIN_PLATFORM_VERSION: 223.75711213curl -sL "https://data.services.jetbrains.com/products/releases?code=$PRODUCT_CODE&type=eap,rc,release&platform=linux" > "$TEMP_FILENAME"14IDE_BUILD_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.build | contains(\"$PLUGIN_PLATFORM_VERSION\")) | .build)" < "$TEMP_FILENAME") # Example: IDE_BUILD_VERSION: 223.7571.17615IDE_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.build | contains(\"$PLUGIN_PLATFORM_VERSION\")) | .version)" < "$TEMP_FILENAME") # Example: IDE_VERSION: 2022.31617if [ -z "$IDE_BUILD_VERSION" ] || [ -z "$IDE_VERSION" ]; then18if [ -n "$JB_FALLBACK_URL" ]; then19# echo "Could not resolve latest IDE version for $PRODUCT_CODE. Falling back to find $JB_FALLBACK_URL"20IDE_BUILD_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.downloads.linux.link == \"$JB_FALLBACK_URL\") | .build)" < "$TEMP_FILENAME") # Example: IDE_BUILD_VERSION: 223.7571.17621IDE_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.downloads.linux.link == \"$JB_FALLBACK_URL\") | .version)" < "$TEMP_FILENAME") # Example: IDE_VERSION: 2022.322fi23fi2425rm "$TEMP_FILENAME"2627echo "{\"IDE_BUILD_VERSION\": \"$IDE_BUILD_VERSION\", \"IDE_VERSION\": \"$IDE_VERSION\"}"282930