From 4ec7cd46465fca672759be818fdcf03323f250f4 Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Thu, 14 Sep 2023 18:27:39 +0200 Subject: [PATCH] buildMavenPackage: hide offline build behind feature flag The feature flags allows for packages to opt in and should not break current packages. --- .../apache-maven/build-package.nix | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/build-managers/apache-maven/build-package.nix b/pkgs/development/tools/build-managers/apache-maven/build-package.nix index 45abbb5db1d9..f083095a97bc 100644 --- a/pkgs/development/tools/build-managers/apache-maven/build-package.nix +++ b/pkgs/development/tools/build-managers/apache-maven/build-package.nix @@ -5,6 +5,7 @@ { src , sourceRoot ? null +, buildOffline ? false , patches ? [ ] , pname , version @@ -28,19 +29,28 @@ let maven ]; - buildPhase = '' - runHook preBuild + buildPhase = + if buildOffline + then '' + runHook preBuild - mvn dependency:go-offline -Dmaven.repo.local=$out/.m2 ${mvnDepsParameters} + mvn dependency:go-offline -Dmaven.repo.local=$out/.m2 ${mvnDepsParameters} - for artifactId in ${builtins.toString manualMvnArtifactIds} - do - echo "downloading manual $artifactId" - mvn dependency:get -Dartifact="$artifactId" -Dmaven.repo.local=$out/.m2 - done + for artifactId in ${builtins.toString manualMvnArtifactIds} + do + echo "downloading manual $artifactId" + mvn dependency:get -Dartifact="$artifactId" -Dmaven.repo.local=$out/.m2 + done - runHook postBuild - ''; + runHook postBuild + '' + else '' + runHook preBuild + + mvn package -Dmaven.repo.local=$out/.m2 ${mvnDepsParameters} + + runHook postBuild + ''; # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside installPhase = ''