at master 746 B view raw
1{ 2 jdk, 3 jre, 4 pkgs, 5}: 6 7# 'Hello world' Java application derivation for use in tests 8let 9 source = pkgs.writeTextDir "src/Hello.java" '' 10 class Hello { 11 public static void main(String[] args) { 12 System.out.println("Hello, world!"); 13 } 14 } 15 ''; 16in 17pkgs.stdenv.mkDerivation { 18 pname = "hello"; 19 version = "1.0.0"; 20 21 src = source; 22 23 buildPhase = '' 24 runHook preBuild 25 ${jdk}/bin/javac src/Hello.java 26 runHook postBuild 27 ''; 28 installPhase = '' 29 runHook preInstall 30 31 mkdir -p $out/lib 32 cp src/Hello.class $out/lib 33 34 mkdir -p $out/bin 35 cat >$out/bin/hello <<EOF; 36 #!/usr/bin/env sh 37 ${jre}/bin/java -cp $out/lib Hello 38 EOF 39 chmod a+x $out/bin/hello 40 41 runHook postInstall 42 ''; 43}