about summary refs log tree commit diff
path: root/ops/gerrit-tvl/default.nix
diff options
context:
space:
mode:
authorLuke Granger-Brown <git@lukegb.com>2021-04-06T16·47+0100
committerlukegb <lukegb@tvl.fyi>2021-04-06T18·43+0000
commit21765a140705dbd6c89c77ffb974c2143a953f5c (patch)
tree3daaecee7af9fb0c350ffffe8673c47cda8c9f15 /ops/gerrit-tvl/default.nix
parent79aa14278832be17c41ea179b92047454c511789 (diff)
feat(ops/gerrit-tvl): init TVL Gerrit plugin r/2452
This is just going to be a grab bag of things which do TVL-specific
things to Gerrit, whether that be exposing new Prolog predicates or, as
I intend to do as the first thing, expose Buildkite builds as checks.

Change-Id: Iaeab987a1fdbd078b85e274691c986489903bf3a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2872
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'ops/gerrit-tvl/default.nix')
-rw-r--r--ops/gerrit-tvl/default.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/ops/gerrit-tvl/default.nix b/ops/gerrit-tvl/default.nix
new file mode 100644
index 000000000000..f3bec7a3a242
--- /dev/null
+++ b/ops/gerrit-tvl/default.nix
@@ -0,0 +1,33 @@
+{ depot, pkgs, lib, ... }:
+
+let
+  classPath = lib.concatStringsSep ":" [
+    "${depot.third_party.gerrit}/share/api/extension-api_deploy.jar"
+  ];
+in
+pkgs.stdenvNoCC.mkDerivation rec {
+  name = "${pname}-${version}.jar";
+  pname = "gerrit-tvl";
+  version = "0.0.1";
+
+  src = ./.;
+
+  nativeBuildInputs = with pkgs; [
+    jdk
+  ];
+
+  buildPhase = ''
+    mkdir $NIX_BUILD_TOP/build
+
+    # Build Java components.
+    export JAVAC="javac -cp ${classPath} -d $NIX_BUILD_TOP/build --release 11"
+    $JAVAC ./HttpModule.java
+
+    # Install static files.
+    cp -R static $NIX_BUILD_TOP/build/static
+  '';
+
+  installPhase = ''
+    jar --create --file $out --manifest $src/MANIFEST.MF -C $NIX_BUILD_TOP/build .
+  '';
+}