diff options
Diffstat (limited to 'pkgs/development/compilers/flutter/versions/3_22/patches/gradle-flutter-tools-wrapper.patch')
-rw-r--r-- | pkgs/development/compilers/flutter/versions/3_22/patches/gradle-flutter-tools-wrapper.patch | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/pkgs/development/compilers/flutter/versions/3_22/patches/gradle-flutter-tools-wrapper.patch b/pkgs/development/compilers/flutter/versions/3_22/patches/gradle-flutter-tools-wrapper.patch deleted file mode 100644 index de6080efbba8..000000000000 --- a/pkgs/development/compilers/flutter/versions/3_22/patches/gradle-flutter-tools-wrapper.patch +++ /dev/null @@ -1,44 +0,0 @@ -This patch introduces an intermediate Gradle build step to alter the behavior -of flutter_tools' Gradle project, specifically moving the creation of `build` -and `.gradle` directories from within the Nix Store to somewhere in `$HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev`. - -Without this patch, flutter_tools' Gradle project tries to generate `build` and `.gradle` -directories within the Nix Store. Resulting in read-only errors when trying to build a -Flutter Android app at runtime. - -This patch takes advantage of the fact settings.gradle takes priority over settings.gradle.kts to build the intermediate Gradle project -when a Flutter app runs `includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")` - -`rootProject.buildFileName = "/dev/null"` so that the intermediate project doesn't use `build.gradle.kts` that's in the same directory. - -The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/` and `includeBuild`s it. -This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting -`rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`. - -Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/`, but `build` doesn't. -To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/` as well, we need to set `buildDirectory`. -diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle -new file mode 100644 -index 0000000000..b2485c94b4 ---- /dev/null -+++ b/packages/flutter_tools/gradle/settings.gradle -@@ -0,0 +1,19 @@ -+rootProject.buildFileName = "/dev/null" -+ -+def engineShortRev = (new File("$settingsDir/../../../bin/internal/engine.version")).text.take(10) -+def dir = new File("$System.env.HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev") -+dir.mkdirs() -+def file = new File(dir, "settings.gradle") -+ -+file.text = """ -+rootProject.projectDir = new File("$settingsDir") -+apply from: new File("$settingsDir/settings.gradle.kts") -+ -+gradle.allprojects { project -> -+ project.beforeEvaluate { -+ project.layout.buildDirectory = new File("$dir/build") -+ } -+} -+""" -+ -+includeBuild(dir) |