diff options
Diffstat (limited to 'third_party/gerrit_plugins/builder.nix')
-rw-r--r-- | third_party/gerrit_plugins/builder.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/third_party/gerrit_plugins/builder.nix b/third_party/gerrit_plugins/builder.nix new file mode 100644 index 000000000000..0b6501801cd1 --- /dev/null +++ b/third_party/gerrit_plugins/builder.nix @@ -0,0 +1,35 @@ +{ depot, pkgs, ... }: +{ + buildGerritBazelPlugin = + { name + , src + , depsOutputHash + , overlayPluginCmd ? '' + cp -R "${src}" "$out/plugins/${name}" + '' + , postPatch ? "" + , + }: ((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" + ''; + postPatch = + if super ? postPatch then '' + ${super.postPatch} + ${postPatch} + '' else postPatch; + })); +} |