diff options
author | Uri Baghin <uri@canva.com> | 2023-04-05 12:59:54 +1000 |
---|---|---|
committer | Uri Baghin <uri@canva.com> | 2023-04-05 12:59:54 +1000 |
commit | 440b4de588d950e7fcf7add3b049fb209f097367 (patch) | |
tree | 204dfe272acd0820a5c9e03621d99605621aa318 /pkgs/build-support/build-bazel-package | |
parent | 45306ddf55def3ca1303ebc9133c5ca6ab941fc2 (diff) |
buildBazelPackage: support multiple targets
Diffstat (limited to 'pkgs/build-support/build-bazel-package')
-rw-r--r-- | pkgs/build-support/build-bazel-package/default.nix | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix index a3f331b23cb89..ab2014ea6a63f 100644 --- a/pkgs/build-support/build-bazel-package/default.nix +++ b/pkgs/build-support/build-bazel-package/default.nix @@ -10,7 +10,7 @@ args@{ , bazelBuildFlags ? [] , bazelTestFlags ? [] , bazelFetchFlags ? [] -, bazelTarget +, bazelTargets , bazelTestTargets ? [] , buildAttrs , fetchAttrs @@ -69,11 +69,11 @@ let ''; in stdenv.mkDerivation (fBuildAttrs // { - inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets; + inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTargets bazelTestTargets; deps = stdenv.mkDerivation (fFetchAttrs // { name = "${name}-deps.tar.gz"; - inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets; + inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTargets bazelTestTargets; impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or []; @@ -94,21 +94,18 @@ stdenv.mkDerivation (fBuildAttrs // { buildPhase = fFetchAttrs.buildPhase or '' runHook preBuild - # See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]. - # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads: - # https://github.com/bazelbuild/bazel/issues/6502 - BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ - USER=homeless-shelter \ - bazel \ - --batch \ - --output_base="$bazelOut" \ - --output_user_root="$bazelUserRoot" \ - ${if fetchConfigured then "build --nobuild" else "fetch"} \ - --loading_phase_threads=1 \ - $bazelFlags \ - $bazelFetchFlags \ - ${bazelTarget} \ - ${lib.strings.concatStringsSep " " bazelTestTargets} + ${ + bazelCmd { + cmd = if fetchConfigured then "build --nobuild" else "fetch"; + additionalFlags = [ + # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads: + # https://github.com/bazelbuild/bazel/issues/6502 + "--loading_phase_threads=1" + "$bazelFetchFlags" + ]; + targets = bazelTargets ++ bazelTestTargets; + } + } runHook postBuild ''; @@ -232,7 +229,7 @@ stdenv.mkDerivation (fBuildAttrs // { bazelCmd { cmd = "build"; additionalFlags = bazelBuildFlags; - targets = [bazelTarget]; + targets = bazelTargets; } } runHook postBuild |