Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 25 lines 933 B view raw
1#! /usr/bin/env nix-shell 2#! nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts 3# shellcheck shell=bash 4 5set -euo pipefail 6 7cd "$(dirname "${BASH_SOURCE[0]}")" 8 9old_vs_version="$(sed -nE 's/\s*vsVersion = "(.*)".*/\1/p' ./package.nix)" 10new_vs_version="$(curl -s "https://api.github.com/repos/dotnet/vscode-csharp/tags?per_page=1" | jq -r '.[0].name' | sed 's/v//')" 11 12if [[ "$new_vs_version" == "$old_vs_version" ]]; then 13 echo "Already up to date!" 14 exit 0 15fi 16 17old_roslyn_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)" 18new_roslyn_version="$(curl -s "https://raw.githubusercontent.com/dotnet/vscode-csharp/v$new_vs_version/package.json" | jq -r .defaults.roslyn)" 19 20sed -i "s/ = \"${old_roslyn_version}\"/ = \"${new_roslyn_version}\"/" ./package.nix 21 22cd ../../../.. 23update-source-version roslyn-ls "${new_vs_version}" --version-key=vsVersion 24 25$(nix-build -A roslyn-ls.fetch-deps --no-out-link)