diff options
-rw-r--r-- | pkgs/by-name/jd/jdt-language-server/package.nix (renamed from pkgs/development/tools/language-servers/jdt-language-server/default.nix) | 2 | ||||
-rw-r--r-- | pkgs/by-name/jd/jdt-language-server/update.sh | 21 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 23 insertions, 2 deletions
diff --git a/pkgs/development/tools/language-servers/jdt-language-server/default.nix b/pkgs/by-name/jd/jdt-language-server/package.nix index 626db26e89b1b..2e25aa24f7898 100644 --- a/pkgs/development/tools/language-servers/jdt-language-server/default.nix +++ b/pkgs/by-name/jd/jdt-language-server/package.nix @@ -48,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: { install -Dm444 -t $out/bin bin/jdtls.py ''; + passthru.updateScript = ./update.sh; + meta = { homepage = "https://github.com/eclipse/eclipse.jdt.ls"; description = "Java language server"; diff --git a/pkgs/by-name/jd/jdt-language-server/update.sh b/pkgs/by-name/jd/jdt-language-server/update.sh new file mode 100644 index 0000000000000..b482db22ee056 --- /dev/null +++ b/pkgs/by-name/jd/jdt-language-server/update.sh @@ -0,0 +1,21 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash --pure -p curl cacert libxml2 yq nix jq + +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")" +DRV_DIR="$PWD" + +# scrape the downloads page for release info +newver=$(curl -s 'https://download.eclipse.org/jdtls/milestones/' | xmllint --html - --xmlout 2>/dev/null | xq --raw-output '.html.body.main.div.div.div[0].div.table.tr | max_by(.td[3]).td[1].a.["#text"]') + +prefix="https://download.eclipse.org/jdtls/milestones/$newver" + +filename=$(curl -s "$prefix/latest.txt") +newtimestamp=$(echo $filename | sed "s|^.*-$newver-||;s|\.tar\.gz$||") +newhash="$(nix-hash --to-sri --type sha256 $(nix-prefetch-url "$prefix/$filename"))"; + +sed -i default.nix \ + -e "/^ version =/ s|\".*\"|\"$newver\"|" \ + -e "/^ timestamp =/ s|\".*\"|\"$newtimestamp\"|" \ + -e "/^ hash =/ s|\".*\"|\"$newhash\"|" \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 32b6cc46bb5d2..535dfa67207dc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18324,8 +18324,6 @@ with pkgs; javascript-typescript-langserver = callPackage ../development/tools/language-servers/javascript-typescript-langserver { }; - jdt-language-server = callPackage ../development/tools/language-servers/jdt-language-server { }; - jsonnet-language-server = callPackage ../development/tools/language-servers/jsonnet-language-server { }; kotlin-language-server = callPackage ../development/tools/language-servers/kotlin-language-server { }; |