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>
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			797 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			797 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ 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;
 | 
						|
  }));
 | 
						|
}
 |