1{ lib, stdenv, fetchurl, makeWrapper, jdk }:
2
3stdenv.mkDerivation rec {
4 pname = "lombok";
5 version = "1.18.32";
6
7 src = fetchurl {
8 url = "https://projectlombok.org/downloads/lombok-${version}.jar";
9 sha256 = "sha256-l1dGdOKiX1Z6MTc2rOAN+Hh9RD3jFkB9V/yHfZ8Zpl0=";
10 };
11
12 nativeBuildInputs = [ makeWrapper ];
13
14 outputs = [ "out" "bin" ];
15
16 buildCommand = ''
17 mkdir -p $out/share/java
18 cp $src $out/share/java/lombok.jar
19
20 makeWrapper ${jdk}/bin/java $bin/bin/lombok \
21 --add-flags "-cp ${jdk}/lib/openjdk/lib/tools.jar:$out/share/java/lombok.jar" \
22 --add-flags lombok.launch.Main
23 '';
24
25 meta = {
26 description = "A library that can write a lot of boilerplate for your Java project";
27 mainProgram = "lombok";
28 platforms = lib.platforms.all;
29 sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
30 license = lib.licenses.mit;
31 homepage = "https://projectlombok.org/";
32 maintainers = [ lib.maintainers.CrystalGamma ];
33 };
34}