diff --git a/packages/flutter_tools/gradle/app_plugin_loader.gradle b/packages/flutter_tools/gradle/app_plugin_loader.gradle index 0d1f001e86..fd450e6b1b 100644 --- a/packages/flutter_tools/gradle/app_plugin_loader.gradle +++ b/packages/flutter_tools/gradle/app_plugin_loader.gradle @@ -5,11 +5,5 @@ // This file exists solely for the compatibility with projects that have // not migrated to the declarative apply of the Flutter App Plugin Loader Gradle Plugin. -logger.error("You are applying Flutter's app_plugin_loader Gradle plugin \ -imperatively using the apply script method, which is deprecated and will be \ -removed in a future release. Migrate to applying Gradle plugins with the \ -declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply\n\ -") - def pathToThisDirectory = buildscript.sourceFile.parentFile apply from: "$pathToThisDirectory/src/main/groovy/app_plugin_loader.groovy" diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle index 7d06e32d31..1b74299915 100644 --- a/packages/flutter_tools/gradle/flutter.gradle +++ b/packages/flutter_tools/gradle/flutter.gradle @@ -5,10 +5,5 @@ // This file exists solely for the compatibility with projects that have // not migrated to the declarative apply of the Flutter Gradle Plugin. -logger.error("You are applying Flutter's main Gradle plugin imperatively using \ -the apply script method, which is deprecated and will be removed in a future \ -release. Migrate to applying Gradle plugins with the declarative plugins \ -block: https://flutter.dev/go/flutter-gradle-plugin-apply\n") - def pathToThisDirectory = buildscript.sourceFile.parentFile apply from: "$pathToThisDirectory/src/main/groovy/flutter.groovy" diff --git a/packages/flutter_tools/test/integration.shard/android_gradle_deprecated_plugin_apply_test.dart b/packages/flutter_tools/test/integration.shard/android_gradle_deprecated_plugin_apply_test.dart deleted file mode 100644 index 2c68c5e446..0000000000 --- a/packages/flutter_tools/test/integration.shard/android_gradle_deprecated_plugin_apply_test.dart +++ /dev/null @@ -1,195 +0,0 @@ -// 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 'dart:convert'; - -import 'package:file/file.dart'; -import 'package:flutter_tools/src/base/io.dart'; - -import '../src/common.dart'; -import 'test_utils.dart'; - -void main() { - late Directory tempDir; - - setUp(() async { - tempDir = createResolvedTempDirectorySync('run_test.'); - }); - - tearDown(() async { - tryToDelete(tempDir); - }); - - testWithoutContext( - 'gradle prints warning when Flutter\'s Gradle plugins are applied using deprecated "apply plugin" way', () async { - // Create a new flutter project. - final String flutterBin = - fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter'); - ProcessResult result = await processManager.run([ - flutterBin, - 'create', - tempDir.path, - '--project-name=testapp', - ], workingDirectory: tempDir.path); - expect(result.exitCode, 0); - // Ensure that gradle files exists from templates. - result = await processManager.run([ - flutterBin, - 'build', - 'apk', - '--config-only', - ], workingDirectory: tempDir.path); - expect(result.exitCode, 0); - - // Change build files to use deprecated "apply plugin:" way. - // Contents are taken from https://github.com/flutter/flutter/issues/135392 (for Flutter 3.10) - final File settings = tempDir.childDirectory('android').childFile('settings.gradle'); - final File buildGradle = tempDir.childDirectory('android').childFile('build.gradle'); - final File appBuildGradle = tempDir.childDirectory('android').childDirectory('app').childFile('build.gradle'); - settings.writeAsStringSync(r''' -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" -''' - ); - buildGradle.writeAsStringSync(r''' -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} -'''); - appBuildGradle.writeAsStringSync(r''' -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion - namespace "com.example.testapp" - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.testapp" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} -'''); - - result = await processManager.run([ - flutterBin, - 'build', - 'apk', - '--debug', - ], workingDirectory: tempDir.path); - expect(result.exitCode, 0); - // Verify that stderr output contains deprecation warnings. - final List actualLines = LineSplitter.split(result.stderr.toString()).toList(); - expect( - actualLines.any((String msg) => msg.contains( - "You are applying Flutter's main Gradle plugin imperatively"), - ), - isTrue, - ); - expect( - actualLines.any((String msg) => msg.contains( - "You are applying Flutter's app_plugin_loader Gradle plugin imperatively"), - ), - isTrue, - ); - }); -}