1{ lib, stdenv, fetchurl, makeWrapper, jdk }:
2
3stdenv.mkDerivation rec {
4 pname = "lombok";
5 version = "1.18.26";
6
7 src = fetchurl {
8 url = "https://projectlombok.org/downloads/lombok-${version}.jar";
9 sha256 = "sha256-KvH6g2hIdhtuUUQOxii0ncOAgOmHG7NScB+4yDWAh88=";
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 platforms = lib.platforms.all;
28 sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
29 license = lib.licenses.mit;
30 homepage = "https://projectlombok.org/";
31 maintainers = [ lib.maintainers.CrystalGamma ];
32 };
33}