flutter/packages/flutter_tools/gradle/resolve_dependencies.gradle.kts
Reid Baker 7ea4ac53f2
Update ktlint to 1.5 (#164409)
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.
2025-03-03 19:39:23 +00:00

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()
}
}
}
}