mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
Merge pull request #282445 from lelgenio/protoc-gen-dart-update
protoc-gen-dart: add passthru.updateScript
This commit is contained in:
commit
5c33cba26b
@ -17,6 +17,8 @@ buildDartApplication rec {
|
||||
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Protobuf plugin for generating Dart code";
|
||||
mainProgram = "protoc-gen-dart";
|
||||
|
33
pkgs/development/tools/protoc-gen-dart/update.sh
Executable file
33
pkgs/development/tools/protoc-gen-dart/update.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p yq ripgrep common-updater-scripts dart
|
||||
|
||||
set -xeu -o pipefail
|
||||
|
||||
PACKAGE_DIR="$(realpath "$(dirname "$0")")"
|
||||
cd "$PACKAGE_DIR/.."
|
||||
while ! test -f flake.nix; do cd .. ; done
|
||||
NIXPKGS_DIR="$PWD"
|
||||
|
||||
version="$(
|
||||
list-git-tags --url=https://github.com/google/protobuf.dart \
|
||||
| rg '^protobuf-v(.*)' -r '$1' \
|
||||
| sort --version-sort \
|
||||
| tail -n1
|
||||
)"
|
||||
|
||||
cd "$NIXPKGS_DIR"
|
||||
update-source-version protoc-gen-dart "$version"
|
||||
|
||||
TMPDIR="$(mktemp -d)"
|
||||
cd "$TMPDIR"
|
||||
|
||||
src="$(nix-build --no-link "$NIXPKGS_DIR" -A protoc-gen-dart.src)/protoc_plugin"
|
||||
cp $src/pubspec.* .
|
||||
|
||||
if ! test -f pubspec.lock; then
|
||||
dart pub update
|
||||
fi
|
||||
|
||||
yq . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json"
|
||||
|
||||
rm -rf "$TMPDIR"
|
Loading…
Reference in New Issue
Block a user