antigravity: skip updates when version unchanged
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user