81a7bd4765
Add the OAuth gerrit plugin to our mini collection of Gerrit plugins. This includes a patch to make the plugin work correctly with CAS 6.x, which has changed the attributes into a JSON object with the attributes nested inside, instead of a JSON list. Change-Id: I4741f137cca9c8eb45b9ea660fb4cbf6962be9a4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2782 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
26 lines
885 B
Nix
26 lines
885 B
Nix
{ depot, pkgs, ... }@args:
|
|
|
|
let
|
|
inherit (import ../builder.nix args) buildGerritBazelPlugin;
|
|
in buildGerritBazelPlugin rec {
|
|
name = "oauth";
|
|
depsOutputHash = "sha256:0g0cga9s1bmzvii8nh372kdaxypc1rj0hlyhralwiyh67r4zlv2c";
|
|
src = pkgs.fetchgit {
|
|
url = "https://gerrit.googlesource.com/plugins/oauth";
|
|
rev = "4aa7322db5ec221b2419e12a9ec7af5b8c66659c";
|
|
sha256 = "1szra3pjl0axf4a7k96flpk7rhfvp37rdxay4gbglh939gzbba88";
|
|
};
|
|
overlayPluginCmd = ''
|
|
chmod +w "$out" "$out/plugins/external_plugin_deps.bzl"
|
|
cp -R "${src}" "$out/plugins/${name}"
|
|
cp "${src}/external_plugin_deps.bzl" "$out/plugins/external_plugin_deps.bzl"
|
|
'';
|
|
|
|
# The code in the OAuth repo expects CAS to return oauth2 access tokens as urlencoded.
|
|
# Our version of CAS returns them as JSON instead.
|
|
postPatch = ''
|
|
pushd plugins/oauth
|
|
patch -p1 <${./cas-6x.patch}
|
|
popd
|
|
'';
|
|
}
|