38 lines
No EOL
1.3 KiB
Kotlin
38 lines
No EOL
1.3 KiB
Kotlin
pluginManagement {
|
|
val flutterSdkPath =
|
|
run {
|
|
val properties = java.util.Properties()
|
|
file("local.properties").inputStream().use { properties.load(it) }
|
|
val flutterSdkPath = properties.getProperty("flutter.sdk")
|
|
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
|
|
flutterSdkPath
|
|
}
|
|
|
|
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
|
|
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
|
id("com.android.application") version "9.3.1" apply false
|
|
id("org.jetbrains.kotlin.android") version "2.4.10" apply false
|
|
}
|
|
|
|
include(":app")
|
|
|
|
// Flutter's plugin loader includes dev dependency plugins like integration_test as projects even in
|
|
// release builds (where they're never linked in). integration_test lives in the Flutter SDK, which
|
|
// is read-only under Nix, and Gradle 9+ refuses to configure a project whose directory isn't writable.
|
|
findProject(":integration_test")?.let { project ->
|
|
if (!project.projectDir.canWrite()) {
|
|
val copy = file("../build/integration_test_android")
|
|
copy.deleteRecursively()
|
|
project.projectDir.copyRecursively(copy)
|
|
project.projectDir = copy
|
|
}
|
|
} |