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

Wires up a new gradle subproject defining kotlin classes to be used by the FGP, so that we can incrementally move the entire plugin to be written in kotlin source. Starts by moving a piece of kotlin script. ## 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]. - [ ] 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. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Gray Mackall <mackall@google.com>
72 lines
2.1 KiB
Plaintext
72 lines
2.1 KiB
Plaintext
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
|
|
plugins {
|
|
`java-gradle-plugin`
|
|
groovy
|
|
`kotlin-dsl`
|
|
kotlin("jvm") version "1.9.20"
|
|
}
|
|
|
|
group = "dev.flutter.plugin"
|
|
version = "1.0.0"
|
|
|
|
// Optional: enable stricter validation, to ensure Gradle configuration is correct
|
|
tasks.validatePlugins {
|
|
enableStricterValidation.set(true)
|
|
}
|
|
|
|
// We need to compile Kotlin first so we can call it from Groovy. See https://stackoverflow.com/q/36214437/7009800
|
|
tasks.withType<GroovyCompile> {
|
|
dependsOn(tasks.compileKotlin)
|
|
classpath += files(tasks.compileKotlin.get().destinationDirectory)
|
|
}
|
|
|
|
tasks.classes {
|
|
dependsOn(tasks.compileGroovy)
|
|
}
|
|
|
|
gradlePlugin {
|
|
plugins {
|
|
// The "flutterPlugin" name isn't used anywhere.
|
|
create("flutterPlugin") {
|
|
id = "dev.flutter.flutter-gradle-plugin"
|
|
implementationClass = "FlutterPlugin"
|
|
}
|
|
// The "flutterAppPluginLoaderPlugin" name isn't used anywhere.
|
|
create("flutterAppPluginLoaderPlugin") {
|
|
id = "dev.flutter.flutter-plugin-loader"
|
|
implementationClass = "FlutterAppPluginLoaderPlugin"
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.withType<JavaCompile> {
|
|
options.release.set(11)
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
jvmTarget.set(JvmTarget.JVM_11)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// When bumping, also update:
|
|
// * ndkVersion in FlutterExtension in packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
|
|
// * AGP version in the buildscript block in packages/flutter_tools/gradle/src/main/kotlin_scripts/dependency_version_checker.gradle.kts
|
|
// * AGP version constants in packages/flutter_tools/lib/src/android/gradle_utils.dart
|
|
compileOnly("com.android.tools.build:gradle:8.7.3")
|
|
|
|
testImplementation(kotlin("test"))
|
|
testImplementation("com.android.tools.build:gradle:8.7.3")
|
|
testImplementation("org.mockito:mockito-core:4.8.0")
|
|
}
|