Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/ide/jetbrains/image/resolve-latest-ide-version.sh
2499 views
1
#!/bin/bash
2
# Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
# Licensed under the GNU Affero General Public License (AGPL).
4
# See License.AGPL.txt in the project root for license information.
5
6
set -Eeuo pipefail
7
8
ROOT_DIR="$(dirname "$0")/../../../.."
9
PRODUCT_CODE=${1}
10
JB_FALLBACK_URL=${2}
11
TEMP_FILENAME=$(mktemp)
12
PLUGIN_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.7571
13
14
curl -sL "https://data.services.jetbrains.com/products/releases?code=$PRODUCT_CODE&type=eap,rc,release&platform=linux" > "$TEMP_FILENAME"
15
IDE_BUILD_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.build | contains(\"$PLUGIN_PLATFORM_VERSION\")) | .build)" < "$TEMP_FILENAME") # Example: IDE_BUILD_VERSION: 223.7571.176
16
IDE_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.build | contains(\"$PLUGIN_PLATFORM_VERSION\")) | .version)" < "$TEMP_FILENAME") # Example: IDE_VERSION: 2022.3
17
18
if [ -z "$IDE_BUILD_VERSION" ] || [ -z "$IDE_VERSION" ]; then
19
if [ -n "$JB_FALLBACK_URL" ]; then
20
# echo "Could not resolve latest IDE version for $PRODUCT_CODE. Falling back to find $JB_FALLBACK_URL"
21
IDE_BUILD_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.downloads.linux.link == \"$JB_FALLBACK_URL\") | .build)" < "$TEMP_FILENAME") # Example: IDE_BUILD_VERSION: 223.7571.176
22
IDE_VERSION=$(jq -r -c "first(.${PRODUCT_CODE}[] | select(.downloads.linux.link == \"$JB_FALLBACK_URL\") | .version)" < "$TEMP_FILENAME") # Example: IDE_VERSION: 2022.3
23
fi
24
fi
25
26
rm "$TEMP_FILENAME"
27
28
echo "{\"IDE_BUILD_VERSION\": \"$IDE_BUILD_VERSION\", \"IDE_VERSION\": \"$IDE_VERSION\"}"
29
30