mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Revert "[CP-beta]Revert "Resolve resolve native Flutter dependencies in Android Studio (#167332)"" (#177601)
Reverts flutter/flutter#177255. This pull request was to the wrong branch. Should have been flutter-3.38-candidate.0.
This commit is contained in:
parent
6c0f1cf328
commit
5397ea8ee2
@ -19,8 +19,11 @@ import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.UnknownTaskException
|
||||
import org.gradle.api.artifacts.dsl.DependencyHandler
|
||||
import org.gradle.api.file.Directory
|
||||
import org.gradle.api.plugins.PluginContainer
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.api.tasks.TaskInstantiationException
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.api.tasks.bundling.Jar
|
||||
import org.gradle.internal.os.OperatingSystem
|
||||
@ -98,6 +101,7 @@ class FlutterPlugin : Plugin<Project> {
|
||||
repositories.maven {
|
||||
url = uri(repository!!)
|
||||
}
|
||||
maybeAddAndroidStudioNativeConfiguration(plugins, dependencies)
|
||||
}
|
||||
|
||||
project.apply {
|
||||
@ -325,19 +329,23 @@ class FlutterPlugin : Plugin<Project> {
|
||||
}
|
||||
|
||||
private fun addTaskForLockfileGeneration(rootProject: Project) {
|
||||
rootProject.tasks.register("generateLockfiles") {
|
||||
doLast {
|
||||
rootProject.subprojects.forEach { subproject ->
|
||||
val gradlew: String =
|
||||
getExecutableNameForPlatform("${rootProject.projectDir}/gradlew")
|
||||
val execOps = rootProject.serviceOf<ExecOperations>()
|
||||
execOps.exec {
|
||||
workingDir(rootProject.projectDir)
|
||||
executable(gradlew)
|
||||
args(":${subproject.name}:dependencies", "--write-locks")
|
||||
try {
|
||||
rootProject.tasks.register("generateLockfiles") {
|
||||
doLast {
|
||||
rootProject.subprojects.forEach { subproject ->
|
||||
val gradlew: String =
|
||||
getExecutableNameForPlatform("${rootProject.projectDir}/gradlew")
|
||||
val execOps = rootProject.serviceOf<ExecOperations>()
|
||||
execOps.exec {
|
||||
workingDir(rootProject.projectDir)
|
||||
executable(gradlew)
|
||||
args(":${subproject.name}:dependencies", "--write-locks")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e: TaskInstantiationException) {
|
||||
// ignored
|
||||
}
|
||||
}
|
||||
|
||||
@ -813,4 +821,19 @@ class FlutterPlugin : Plugin<Project> {
|
||||
* This property is set by Android Studio when it invokes a Gradle task.
|
||||
*/
|
||||
private fun isInvokedFromAndroidStudio(): Boolean = project?.hasProperty("android.injected.invoked.from.ide") == true
|
||||
|
||||
private fun shouldAddAndroidStudioNativeConfiguration(plugins: PluginContainer): Boolean =
|
||||
plugins.hasPlugin("com.android.application") && isInvokedFromAndroidStudio()
|
||||
|
||||
private fun maybeAddAndroidStudioNativeConfiguration(
|
||||
plugins: PluginContainer,
|
||||
dependencies: DependencyHandler
|
||||
) {
|
||||
if (shouldAddAndroidStudioNativeConfiguration(plugins)) {
|
||||
dependencies.add("compileOnly", "io.flutter:flutter_embedding_debug:$engineVersion")
|
||||
dependencies.add("compileOnly", "io.flutter:armeabi_v7a_debug:$engineVersion")
|
||||
dependencies.add("compileOnly", "io.flutter:arm64_v8a_debug:$engineVersion")
|
||||
dependencies.add("compileOnly", "io.flutter:x86_64_debug:$engineVersion")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user