From 1cb300ac2a31994b85eeff625f1a1d057c59d6c7 Mon Sep 17 00:00:00 2001 From: oxalica Date: Tue, 23 Jun 2020 22:08:48 +0800 Subject: [PATCH] rust-analyzer: fix update script and avoid updating nodePackages if possible --- .../tools/rust/rust-analyzer/update.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh index 92911254259..b0435be7208 100755 --- a/pkgs/development/tools/rust/rust-analyzer/update.sh +++ b/pkgs/development/tools/rust/rust-analyzer/update.sh @@ -49,13 +49,16 @@ sed "s/cargoSha256 = \".*\"/cargoSha256 = \"$cargo_sha256\"/" \ build_deps="../../../../misc/vscode-extensions/rust-analyzer/build-deps" # We need devDependencies to build vsix. jq '{ name, version, dependencies: (.dependencies + .devDependencies) }' "$node_src/package.json" \ - >"$build_deps/package.json" + >"$build_deps/package.json.new" -# FIXME: Lock the version of @type/vscode, the latest one (1.43.0) will cause build failure. -vscode_lock_ver="$(jq '.dependencies."@types/vscode".version' --raw-output "$node_src/package-lock.json")" -jq '.dependencies."@types/vscode" = "'$vscode_lock_ver'"' "$build_deps/package.json" >"$build_deps/package.json.new" -mv "$build_deps"/package.json{.new,} +if cmp --quiet "$build_deps"/package.json{.new,}; then + echo "package.json not changed, skip updating nodePackages" + rm "$build_deps"/package.json.new +else + echo "package.json changed, updating nodePackages" + mv "$build_deps"/package.json{.new,} -pushd "../../../node-packages" -./generate.sh -popd + pushd "../../../node-packages" + ./generate.sh + popd +fi