gradle: add toolchain paths to gradle.properties

Enable IntelliJ IDEA gradle projects to use the overridden javaToolchains
fix #207153

remove environment paths. no longer needed

+7 -11
+7 -11
pkgs/development/tools/build-managers/gradle/default.nix
··· 91 91 installPhase = 92 92 with builtins; 93 93 let 94 - toolchain = rec { 95 - prefix = x: "JAVA_TOOLCHAIN_NIX_${toString x}"; 96 - varDefs = (lib.imap0 (i: x: "${prefix i} ${x}") javaToolchains); 97 - varNames = lib.imap0 (i: x: prefix i) javaToolchains; 98 - property = " -Porg.gradle.java.installations.fromEnv='${concatStringsSep "," varNames}'"; 99 - }; 100 - varDefs = concatStringsSep "\n" ( 101 - map (x: " --set ${x} \\") ([ "JAVA_HOME ${java}" ] ++ toolchain.varDefs) 102 - ); 94 + # set toolchains via installations.path property in gradle.properties. 95 + # See https://docs.gradle.org/current/userguide/toolchains.html#sec:custom_loc 96 + toolchainPaths = "org.gradle.java.installations.paths=${concatStringsSep "," javaToolchains}"; 103 97 jnaLibraryPath = if stdenv.hostPlatform.isLinux then lib.makeLibraryPath [ udev ] else ""; 104 98 jnaFlag = 105 99 if stdenv.hostPlatform.isLinux then "--add-flags \"-Djna.library.path=${jnaLibraryPath}\"" else ""; ··· 111 105 gradle_launcher_jar=$(echo $out/lib/gradle/lib/gradle-launcher-*.jar) 112 106 test -f $gradle_launcher_jar 113 107 makeWrapper ${java}/bin/java $out/bin/gradle \ 114 - ${varDefs} 108 + --set JAVA_HOME ${java} \ 115 109 ${jnaFlag} \ 116 - --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain${toolchain.property}" 110 + --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain" 111 + 112 + echo "${toolchainPaths}" > $out/lib/gradle/gradle.properties 117 113 ''; 118 114 119 115 dontFixup = !stdenv.hostPlatform.isLinux;