1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p yq jq common-updater-scripts dart
3
4set -xeu -o pipefail
5
6PACKAGE_DIR="$(realpath "$(dirname "$0")")"
7cd "$PACKAGE_DIR/.."
8while ! test -f flake.nix; do cd ..; done
9NIXPKGS_DIR="$PWD"
10
11# Get latest version number from GitHub
12version="$(
13 curl --silent https://api.github.com/repos/Merrit/vscode-runner/releases/latest |
14 jq '.tag_name | ltrimstr("v")' --raw-output
15)"
16
17# Update to latest version
18cd "$NIXPKGS_DIR"
19update-source-version vscode-runner "$version"
20
21# Create new pubspec.lock.json
22TMPDIR="$(mktemp -d)"
23cd "$TMPDIR"
24
25src=$(nix-build --no-link "$NIXPKGS_DIR" -A vscode-runner.src)
26cp $src/pubspec.* .
27
28if ! test -f pubspec.lock; then
29 dart pub update
30fi
31
32yq . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json"
33
34rm -rf "$TMPDIR"