Unverified Commit 0313ae4d authored by Kamil Monicz's avatar Kamil Monicz
Browse files

antigravity: skip updates when version unchanged

parent 2bb9b781
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
#!/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"