diff --git a/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy b/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy index f1661ec0da..3a1590feb7 100644 --- a/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy +++ b/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy @@ -26,6 +26,7 @@ import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.OutputFiles import org.gradle.api.tasks.Optional import org.gradle.api.tasks.TaskAction +import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.bundling.Jar import org.gradle.internal.os.OperatingSystem @@ -1248,7 +1249,7 @@ class FlutterPlugin implements Plugin { // original value. You either need to hoist the value // into a separate variable `verbose verboseValue` or prefix with // `this` (`verbose this.isVerbose()`). - FlutterTask compileTask = project.tasks.create(name: taskName, type: FlutterTask) { + TaskProvider compileTaskProvider = project.tasks.register(taskName , FlutterTask) { flutterRoot(this.flutterRoot) flutterExecutable(this.flutterExecutable) buildMode(variantBuildMode) @@ -1279,8 +1280,9 @@ class FlutterPlugin implements Plugin { validateDeferredComponents(validateDeferredComponentsValue) flavor(flavorValue) } + Task compileTask = compileTaskProvider.get(); File libJar = project.file(project.layout.buildDirectory.dir("$INTERMEDIATES_DIR/flutter/${variant.name}/libs.jar")) - Task packJniLibsTask = project.tasks.create(name: "packJniLibs${FLUTTER_BUILD_PREFIX}${variant.name.capitalize()}", type: Jar) { + TaskProvider packJniLibsTaskProvider = project.tasks.register("packJniLibs${FLUTTER_BUILD_PREFIX}${variant.name.capitalize()}", Jar) { destinationDirectory = libJar.parentFile archiveFileName = libJar.name dependsOn compileTask @@ -1305,12 +1307,12 @@ class FlutterPlugin implements Plugin { } } } + Task packJniLibsTask = packJniLibsTaskProvider.get(); addApiDependencies(project, variant.name, project.files { packJniLibsTask }) - Task copyFlutterAssetsTask = project.tasks.create( - name: "copyFlutterAssets${variant.name.capitalize()}", - type: Copy, + TaskProvider copyFlutterAssetsTaskProvider = project.tasks.register( + "copyFlutterAssets${variant.name.capitalize()}" , Copy ) { dependsOn(compileTask) with(compileTask.assets) @@ -1344,6 +1346,7 @@ class FlutterPlugin implements Plugin { mergeAssets.mustRunAfter("clean${mergeAssets.name.capitalize()}") into(mergeAssets.outputDir) } + Task copyFlutterAssetsTask = copyFlutterAssetsTaskProvider.get(); if (!isUsedAsSubproject) { def variantOutput = variant.outputs.first() def processResources = variantOutput.hasProperty(propProcessResourcesProvider) ?