mirror of
https://github.com/tadfisher/gradle2nix.git
synced 2026-01-11 23:40:37 -05:00
buildGradlePackage: always set GRADLE_USER_HOME
This commit is contained in:
48
gradle.nix
48
gradle.nix
@@ -128,7 +128,6 @@ let
|
|||||||
|
|
||||||
inherit (lib)
|
inherit (lib)
|
||||||
mapAttrsToList
|
mapAttrsToList
|
||||||
optionalString
|
|
||||||
readFile
|
readFile
|
||||||
versionAtLeast
|
versionAtLeast
|
||||||
versionOlder
|
versionOlder
|
||||||
@@ -167,9 +166,6 @@ let
|
|||||||
https = fetchurl;
|
https = fetchurl;
|
||||||
} // fetchers;
|
} // fetchers;
|
||||||
|
|
||||||
# Fetch urls using the scheme for the first entry only; there isn't a
|
|
||||||
# straightforward way to tell Nix to try multiple fetchers in turn
|
|
||||||
# and short-circuit on the first successful fetch.
|
|
||||||
fetch =
|
fetch =
|
||||||
name:
|
name:
|
||||||
{ url, hash }:
|
{ url, hash }:
|
||||||
@@ -304,37 +300,41 @@ let
|
|||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ finalAttrs.gradle ];
|
||||||
finalAttrs.gradle
|
|
||||||
] ++ lib.optional (finalAttrs.buildJdk != null) finalAttrs.buildJdk;
|
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase =
|
||||||
|
let
|
||||||
|
finalGradleFlags =
|
||||||
|
[
|
||||||
|
"--console=plain"
|
||||||
|
"--no-build-cache"
|
||||||
|
"--no-configuration-cache"
|
||||||
|
"--no-daemon"
|
||||||
|
"--no-watch-fs"
|
||||||
|
"--offline"
|
||||||
|
]
|
||||||
|
++ lib.optional (finalAttrs.buildJdk != null) "-Dorg.gradle.java.home=${finalAttrs.buildJdk.home}"
|
||||||
|
++ lib.optional finalAttrs.enableDebug "-Dorg.gradle.debug=true"
|
||||||
|
++ lib.optional finalAttrs.enableParallelBuilding "--parallel"
|
||||||
|
++ lib.optional (versionAtLeast finalAttrs.gradle.version "8.0") "--init-script=${initScript}"
|
||||||
|
++ finalAttrs.gradleFlags;
|
||||||
|
in
|
||||||
|
''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
|
|
||||||
(
|
(
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
export NIX_OFFLINE_REPO='${offlineRepo}'
|
export NIX_OFFLINE_REPO='${offlineRepo}'
|
||||||
|
export GRADLE_USER_HOME="$(mktemp -d)"
|
||||||
|
|
||||||
${optionalString (versionOlder finalAttrs.gradle.version "8.0") ''
|
${lib.optionalString (versionOlder finalAttrs.gradle.version "8.0") ''
|
||||||
# Work around https://github.com/gradle/gradle/issues/1055
|
# Work around https://github.com/gradle/gradle/issues/1055
|
||||||
TMPHOME="$(mktemp -d)"
|
mkdir -p "$GRADLE_USER_HOME/init.d"
|
||||||
mkdir -p "$TMPHOME/init.d"
|
ln -s ${initScript} "$GRADLE_USER_HOME/init.d/nix-init.gradle"
|
||||||
export GRADLE_USER_HOME="$TMPHOME"
|
|
||||||
cp ${initScript} $TMPHOME/
|
|
||||||
''}
|
''}
|
||||||
|
|
||||||
gradle --offline --no-daemon --no-build-cache --no-watch-fs \
|
gradle ${builtins.toString finalGradleFlags}
|
||||||
--info --full-stacktrace --warning-mode=all \
|
|
||||||
--no-configuration-cache --console=plain \
|
|
||||||
-Dmaven.repo.local=${offlineRepo} \
|
|
||||||
${optionalString finalAttrs.enableParallelBuilding "--parallel"} \
|
|
||||||
${optionalString finalAttrs.enableDebug "-Dorg.gradle.debug=true"} \
|
|
||||||
${
|
|
||||||
optionalString (finalAttrs.buildJdk != null) "-Dorg.gradle.java.home=${finalAttrs.buildJdk.home}"
|
|
||||||
} \
|
|
||||||
--init-script ${initScript} \
|
|
||||||
${concatStringsSep " " finalAttrs.gradleFlags}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|||||||
Reference in New Issue
Block a user