corretto: refactor argument forwarding to gradle

This commit is contained in:
Rolf Schröder 2024-04-23 13:50:03 +02:00
parent 92cf4feb2b
commit c51b524aca
2 changed files with 11 additions and 14 deletions

View File

@ -14,6 +14,12 @@ let
inherit lib stdenv rsync runCommand testers;
jdk = jdk11;
gradle = gradle_7;
extraConfig = [
# jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix)
# because of several compile errors. We need to include this parameter for
# Corretto, too.
"--disable-warnings-as-errors"
];
version = "11.0.20.9.1";
src = fetchFromGitHub {
owner = "corretto";
@ -23,15 +29,4 @@ let
};
};
in
corretto.overrideAttrs (oldAttrs: {
# jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix)
# because of several compile errors. We need to include this parameter for
# Corretto, too. Since the build is invoked via `gradle` build.gradle has to
# be adapted.
postPatch = oldAttrs.postPatch + ''
for file in $(find installers -name "build.gradle"); do
substituteInPlace $file --replace "command += archSpecificFlags" "command += archSpecificFlags + ['--disable-warnings-as-errors']"
done
'';
})
corretto

View File

@ -4,6 +4,7 @@
, lib
, stdenv
, gradle
, extraConfig ? [ ]
, rsync
, runCommand
, testers
@ -38,7 +39,7 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
# `/usr/bin/rsync` is invoked to copy the source tree. We don't have that.
for file in $(find installers -name "build.gradle"); do
substituteInPlace $file --replace "workingDir '/usr/bin'" "workingDir '.'"
substituteInPlace $file --replace-warn "workingDir '/usr/bin'" "workingDir '.'"
done
'';
@ -51,12 +52,13 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
if stdenv.isDarwin then
":installers:mac:tar:packageBuildResults"
else ":installers:linux:universal:tar:packageBuildResults";
extra_config = builtins.concatStringsSep " " extraConfig;
in
''
runHook preBuild
# Corretto's actual built is triggered via `gradle`.
gradle --console=plain --no-daemon ${task}
gradle -Pcorretto.extra_config="${extra_config}" --console=plain --no-daemon ${task}
# Prepare for the installPhase so that it looks like if a normal
# OpenJDK had been built.