diff options
-rw-r--r-- | tvix/castore-go/default.nix | 10 | ||||
-rw-r--r-- | tvix/default.nix | 10 | ||||
-rw-r--r-- | tvix/store-go/default.nix | 10 |
3 files changed, 16 insertions, 14 deletions
diff --git a/tvix/castore-go/default.nix b/tvix/castore-go/default.nix index 09bbb77f81d4..c5fe2f5d7834 100644 --- a/tvix/castore-go/default.nix +++ b/tvix/castore-go/default.nix @@ -1,5 +1,10 @@ { depot, pkgs, ... }: +let + regenerate = pkgs.writeShellScriptBin "regenerate" '' + (cd $(git rev-parse --show-toplevel)/tvix/castore-go && rm *.pb.go && cp ${depot.tvix.castore.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + ''; +in (pkgs.buildGoModule { name = "castore-go"; src = depot.third_party.gitignoreSource ./.; @@ -10,10 +15,10 @@ label = ":water_buffalo: ensure generated protobuf files match"; needsOutput = true; command = pkgs.writeShellScript "pb-go-check" '' - ${depot.tvix.castore-go-generate} + ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, run //tvix:castore-go-generate" + echo ".pb.go files need to be updated, mg run //tvix/castore-go/regenerate" echo "-----------------------------" git status -unormal exit 1 @@ -22,4 +27,5 @@ alwaysRun = true; }; }; + passthru.regenerate = regenerate; }) diff --git a/tvix/default.nix b/tvix/default.nix index 28e64d574a6e..43b942cef096 100644 --- a/tvix/default.nix +++ b/tvix/default.nix @@ -106,16 +106,6 @@ in # workspace too. shell = (import ./shell.nix { inherit pkgs; }); - # Update `.pb.go` files in tvix/castore-go with the generated ones. - castore-go-generate = pkgs.writeShellScriptBin "castore-go-protogen" '' - (cd $(git rev-parse --show-toplevel)/tvix/castore-go && rm *.pb.go && cp ${depot.tvix.castore.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) - ''; - - # Update `.pb.go` files in tvix/store-go with the generated ones. - store-go-generate = pkgs.writeShellScriptBin "store-go-protogen" '' - (cd $(git rev-parse --show-toplevel)/tvix/store-go && rm *.pb.go && cp ${depot.tvix.store.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) - ''; - # Build the Rust documentation for publishing on docs.tvix.dev. rust-docs = pkgs.stdenv.mkDerivation { inherit cargoDeps; diff --git a/tvix/store-go/default.nix b/tvix/store-go/default.nix index b559594a27f2..eb814d1e3ae9 100644 --- a/tvix/store-go/default.nix +++ b/tvix/store-go/default.nix @@ -1,5 +1,10 @@ { depot, pkgs, ... }: +let + regenerate = pkgs.writeShellScriptBin "regenerate" '' + (cd $(git rev-parse --show-toplevel)/tvix/store-go && rm *.pb.go && cp ${depot.tvix.store.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + ''; +in (pkgs.buildGoModule { name = "store-go"; src = depot.third_party.gitignoreSource ./.; @@ -10,10 +15,10 @@ label = ":water_buffalo: ensure generated protobuf files match"; needsOutput = true; command = pkgs.writeShellScript "pb-go-check" '' - ${depot.tvix.store-go-generate} + ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, run //tvix:store-go-generate" + echo ".pb.go files need to be updated, mg run //tvix/store-go/generate" echo "-----------------------------" git status -unormal exit 1 @@ -22,4 +27,5 @@ alwaysRun = true; }; }; + passthru.regenerate = regenerate; }) |