e780435d09
This looks particularly obnoxious for the owners plugin, because it's actually two plugins with a common library in the same repo. Other plugins are much cleaner to deal with (hence the default for overlayPluginCmd). Change-Id: Ibb9588c8a29b63e8509436fcbb70054e89349712 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1461 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
28 lines
665 B
Nix
28 lines
665 B
Nix
{ depot, pkgs, ... }:
|
|
{
|
|
buildGerritBazelPlugin = {
|
|
name,
|
|
src,
|
|
depsOutputHash,
|
|
overlayPluginCmd ? ''
|
|
cp -R "${src}" "$out/plugins/${name}"
|
|
'',
|
|
}: ((depot.third_party.gerrit.override {
|
|
name = "${name}.jar";
|
|
|
|
src = pkgs.runCommandLocal "${name}-src" {} ''
|
|
cp -R "${depot.third_party.gerrit.src}" "$out"
|
|
chmod +w "$out/plugins"
|
|
${overlayPluginCmd}
|
|
'';
|
|
|
|
bazelTarget = "//plugins/${name}";
|
|
}).overrideAttrs (super: {
|
|
deps = super.deps.overrideAttrs (superDeps: {
|
|
outputHash = depsOutputHash;
|
|
});
|
|
installPhase = ''
|
|
cp "bazel-bin/plugins/${name}/${name}.jar" "$out"
|
|
'';
|
|
}));
|
|
}
|