Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 bazel 3, bazelTest 4, bazel-examples 5, stdenv 6, darwin 7, lib 8, openjdk8 9, jdk11_headless 10, runLocal 11, runtimeShell 12, writeScript 13, writeText 14, distDir 15}: 16 17let 18 19 toolsBazel = writeScript "bazel" '' 20 #! ${runtimeShell} 21 22 export CXX='${stdenv.cc}/bin/clang++' 23 export LD='${darwin.cctools}/bin/ld' 24 export LIBTOOL='${darwin.cctools}/bin/libtool' 25 export CC='${stdenv.cc}/bin/clang' 26 27 # XXX: hack for macosX, this flags disable bazel usage of xcode 28 # See: https://github.com/bazelbuild/bazel/issues/4231 29 export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 30 31 exec "$BAZEL_REAL" "$@" 32 ''; 33 34 workspaceDir = runLocal "our_workspace" {} ('' 35 cp -r ${bazel-examples}/java-tutorial $out 36 find $out -type d -exec chmod 755 {} \; 37 '' 38 + (lib.optionalString stdenv.isDarwin '' 39 mkdir $out/tools 40 cp ${toolsBazel} $out/tools/bazel 41 '')); 42 43 testBazel = bazelTest { 44 name = "bazel-test-java"; 45 inherit workspaceDir; 46 bazelPkg = bazel; 47 buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ]; 48 bazelScript = '' 49 ${bazel}/bin/bazel \ 50 run \ 51 --distdir=${distDir} \ 52 --verbose_failures \ 53 --curses=no \ 54 --sandbox_debug \ 55 --strict_java_deps=off \ 56 //:ProjectRunner \ 57 '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' 58 --host_javabase='@local_jdk//:jdk' \ 59 --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \ 60 --javabase='@local_jdk//:jdk' \ 61 ''; 62 }; 63 64in testBazel 65