mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Fixes https://github.com/flutter/flutter/issues/164408 Ready for review ~I think this pr is blocked by https://github.com/flutter/cocoon/pull/4275 uploading a new artifact.~ then someone with cipd-writers access running `cipd set-ref flutter/ktlint/linux-amd64 -ref version_1_5_0 -version <TBD ID>` where id comes from https://chrome-infra-packages.appspot.com/p/flutter/ktlint/linux-amd64 To check if I had writer permissions I ran `cipd acl-check flutter/android/sdk/all/ -writer` To request permissions use go/flutter-cipd-write (googler only) Successful run of linux analyze https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20analyze/96415/overview ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
95 lines
2.8 KiB
Plaintext
95 lines
2.8 KiB
Plaintext
import java.nio.file.Paths
|
|
|
|
// This script is used to warm the Gradle cache by downloading the Flutter dependencies
|
|
// used during the build. This script is invoked when `flutter precache` is run.
|
|
//
|
|
// Command:
|
|
// gradle -b <flutter-sdk>packages/flutter_tools/gradle/resolve_dependencies.gradle.kts
|
|
// resolveDependencies
|
|
//
|
|
// This way, Gradle can run with the `--offline` flag later on to eliminate any
|
|
// network request during the build process.
|
|
//
|
|
// This includes:
|
|
// 1. The embedding
|
|
// 2. libflutter.so
|
|
|
|
val storageUrl: String = System.getenv("FLUTTER_STORAGE_BASE_URL") ?: "https://storage.googleapis.com"
|
|
|
|
val flutterRoot = projectDir.parentFile?.parentFile?.parentFile
|
|
requireNotNull(flutterRoot) { "Flutter root directory not found!" }
|
|
|
|
require(flutterRoot.isDirectory) { "Flutter root is not a valid directory!" }
|
|
|
|
val engineVersion =
|
|
Paths
|
|
.get(
|
|
flutterRoot.absolutePath,
|
|
"bin",
|
|
"cache",
|
|
"engine.stamp"
|
|
).toFile()
|
|
.readText()
|
|
.trim()
|
|
|
|
var engineRealm =
|
|
Paths
|
|
.get(
|
|
flutterRoot.absolutePath,
|
|
"bin",
|
|
"cache",
|
|
"engine.realm"
|
|
).toFile()
|
|
.readText()
|
|
.trim()
|
|
|
|
if (engineRealm.isNotEmpty()) {
|
|
engineRealm += "/"
|
|
}
|
|
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
maven {
|
|
url = uri("$storageUrl/${engineRealm}download.flutter.io")
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
create("flutterRelease") {
|
|
extendsFrom(configurations.getByName("releaseImplementation"))
|
|
}
|
|
create("flutterDebug") {
|
|
extendsFrom(configurations.getByName("debugImplementation"))
|
|
}
|
|
create("flutterProfile") {
|
|
extendsFrom(configurations.getByName("debugImplementation"))
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
"flutterRelease"("io.flutter:flutter_embedding_release:1.0.0-$engineVersion")
|
|
"flutterRelease"("io.flutter:armeabi_v7a_release:1.0.0-$engineVersion")
|
|
"flutterRelease"("io.flutter:arm64_v8a_release:1.0.0-$engineVersion")
|
|
|
|
"flutterProfile"("io.flutter:flutter_embedding_profile:1.0.0-$engineVersion")
|
|
"flutterProfile"("io.flutter:armeabi_v7a_profile:1.0.0-$engineVersion")
|
|
"flutterProfile"("io.flutter:arm64_v8a_profile:1.0.0-$engineVersion")
|
|
|
|
"flutterDebug"("io.flutter:flutter_embedding_debug:1.0.0-$engineVersion")
|
|
"flutterDebug"("io.flutter:armeabi_v7a_debug:1.0.0-$engineVersion")
|
|
"flutterDebug"("io.flutter:arm64_v8a_debug:1.0.0-$engineVersion")
|
|
"flutterDebug"("io.flutter:x86_debug:1.0.0-$engineVersion")
|
|
"flutterDebug"("io.flutter:x86_64_debug:1.0.0-$engineVersion")
|
|
}
|
|
|
|
tasks.register("resolveDependencies") {
|
|
doLast {
|
|
configurations.forEach { configuration ->
|
|
if (configuration.name.startsWith("flutter")) {
|
|
configuration.resolve()
|
|
}
|
|
}
|
|
}
|
|
}
|