antigravity: skip updates when version unchanged

This commit is contained in:
Kamil Monicz
2025-11-18 20:32:55 +01:00
parent 2bb9b781cc
commit 0313ae4db4
+14 -10
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep gnused jq
#!nix-shell -i bash -p curl gnugrep gnused gnutar jq
# shellcheck shell=bash
set -euo pipefail
@@ -7,10 +7,9 @@ set -euo pipefail
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
PACKAGE_NIX="${SCRIPT_DIR}/package.nix"
SOURCES_JSON="${SCRIPT_DIR}/sources.json"
DOWNLOAD_PAGE_URL="https://antigravity.google/download/linux"
# Fetch download page
page=$(curl -fsSL --compressed "$DOWNLOAD_PAGE_URL")
echo "Fetching latest release information..."
page=$(curl -fsSL --compressed "https://antigravity.google/download/linux")
script_name=$(printf '%s\n' "$page" | grep -o 'main-[a-zA-Z0-9]*\.js' | head -n 1)
js_content=$(curl -fsSL --compressed "https://antigravity.google/$script_name")
@@ -21,14 +20,19 @@ linux_x86_64_url=$(
| head -n 1
)
# Extract Version
# Extract version and check for update
version=$(
printf '%s\n' "$linux_x86_64_url" \
| sed -n 's#.*/stable/\([^/]*\)/linux-x64/Antigravity.tar.gz#\1#p'
)
echo "Version: $version"
current_version=$(sed -n 's/.*version = "\(.*\)".*/\1/p' "$PACKAGE_NIX" | head -n1)
if [[ "$version" == "$current_version" ]]; then
echo "Antigravity is already up-to-date"
exit 0
fi
# Derive URLs
linux_aarch64_url="${linux_x86_64_url/linux-x64\/Antigravity.tar.gz/linux-arm\/Antigravity.tar.gz}"
darwin_x86_64_url="${linux_x86_64_url/linux-x64\/Antigravity.tar.gz/darwin-x64\/Antigravity.zip}"
@@ -53,18 +57,18 @@ echo "Prefetching aarch64-darwin from $darwin_aarch64_url..."
darwin_aarch64_hash_base32=$(nix-prefetch-url "$darwin_aarch64_url")
darwin_aarch64_hash=$(nix-hash --type sha256 --to-sri "$darwin_aarch64_hash_base32")
echo "Extracting VS Code version..."
# Extract VS Code version from metadata
vscodeVersion=$(
tar -Oxzf "$archive_path" "Antigravity/resources/app/product.json" \
| jq -r '.version'
)
echo "VS Code version: $vscodeVersion"
echo "Updating package.nix..."
echo "Updating package.nix"
sed -i "s/version = \".*\"/version = \"$version\"/" "$PACKAGE_NIX"
sed -i "s/vscodeVersion = \".*\"/vscodeVersion = \"$vscodeVersion\"/" "$PACKAGE_NIX"
echo "Updating sources.json..."
echo "Updating sources.json"
jq -n \
--arg linux_x86_64_url "$linux_x86_64_url" \
--arg linux_x86_64_hash "$linux_x86_64_hash" \
@@ -81,4 +85,4 @@ jq -n \
"aarch64-darwin": { url: $darwin_aarch64_url, hash: $darwin_aarch64_hash }
}' > "$SOURCES_JSON"
echo "Update complete."
echo "Update complete"