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 installPhase = 92 with builtins; 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 - ); 103 jnaLibraryPath = if stdenv.hostPlatform.isLinux then lib.makeLibraryPath [ udev ] else ""; 104 jnaFlag = 105 if stdenv.hostPlatform.isLinux then "--add-flags \"-Djna.library.path=${jnaLibraryPath}\"" else ""; ··· 111 gradle_launcher_jar=$(echo $out/lib/gradle/lib/gradle-launcher-*.jar) 112 test -f $gradle_launcher_jar 113 makeWrapper ${java}/bin/java $out/bin/gradle \ 114 - ${varDefs} 115 ${jnaFlag} \ 116 - --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain${toolchain.property}" 117 ''; 118 119 dontFixup = !stdenv.hostPlatform.isLinux;
··· 91 installPhase = 92 with builtins; 93 let 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}"; 97 jnaLibraryPath = if stdenv.hostPlatform.isLinux then lib.makeLibraryPath [ udev ] else ""; 98 jnaFlag = 99 if stdenv.hostPlatform.isLinux then "--add-flags \"-Djna.library.path=${jnaLibraryPath}\"" else ""; ··· 105 gradle_launcher_jar=$(echo $out/lib/gradle/lib/gradle-launcher-*.jar) 106 test -f $gradle_launcher_jar 107 makeWrapper ${java}/bin/java $out/bin/gradle \ 108 + --set JAVA_HOME ${java} \ 109 ${jnaFlag} \ 110 + --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain" 111 + 112 + echo "${toolchainPaths}" > $out/lib/gradle/gradle.properties 113 ''; 114 115 dontFixup = !stdenv.hostPlatform.isLinux;