Revert "Add migrator to upgrade gradle version when conflict with And… (#125813)
â¦roid Studio bundled Java version is detected (#124085)"
This reverts commit eba2a520b44e449f5bffbcffba79f676e34534d7.
diff --git a/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties b/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/dev/tracing_tests/android/gradle/wrapper/gradle-wrapper.properties b/dev/tracing_tests/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/dev/tracing_tests/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/tracing_tests/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart
index 60cf9b9..698585c 100644
--- a/packages/flutter_tools/lib/src/android/gradle.dart
+++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -31,10 +31,8 @@
import '../reporting/reporting.dart';
import 'android_builder.dart';
import 'android_sdk.dart';
-import 'android_studio.dart';
import 'gradle_errors.dart';
import 'gradle_utils.dart';
-import 'migrations/android_studio_java_gradle_conflict_migration.dart';
import 'migrations/top_level_gradle_build_file_migration.dart';
import 'multidex.dart';
@@ -139,16 +137,13 @@
required Usage usage,
required GradleUtils gradleUtils,
required Platform platform,
- required AndroidStudio? androidStudio,
}) : _logger = logger,
_fileSystem = fileSystem,
_artifacts = artifacts,
_usage = usage,
_gradleUtils = gradleUtils,
- _androidStudio = androidStudio,
_fileSystemUtils = FileSystemUtils(fileSystem: fileSystem, platform: platform),
- _processUtils = ProcessUtils(logger: logger, processManager: processManager),
- _platform = platform;
+ _processUtils = ProcessUtils(logger: logger, processManager: processManager);
final Logger _logger;
final ProcessUtils _processUtils;
@@ -157,8 +152,6 @@
final Usage _usage;
final GradleUtils _gradleUtils;
final FileSystemUtils _fileSystemUtils;
- final AndroidStudio? _androidStudio;
- final Platform _platform;
/// Builds the AAR and POM files for the current Flutter module or plugin.
@override
@@ -265,15 +258,6 @@
final List<ProjectMigrator> migrators = <ProjectMigrator>[
TopLevelGradleBuildFileMigration(project.android, _logger),
- AndroidStudioJavaGradleConflictMigration(_logger,
- project: project.android,
- androidStudio: _androidStudio,
- fileSystem: _fileSystem,
- processUtils: _processUtils,
- platform: _platform,
- os: globals.os,
- androidSdk: globals.androidSdk)
- ,
];
final ProjectMigration migration = ProjectMigration(migrators);
diff --git a/packages/flutter_tools/lib/src/android/gradle_utils.dart b/packages/flutter_tools/lib/src/android/gradle_utils.dart
index 12d83a7..86aff6b 100644
--- a/packages/flutter_tools/lib/src/android/gradle_utils.dart
+++ b/packages/flutter_tools/lib/src/android/gradle_utils.dart
@@ -59,22 +59,6 @@
final RegExp _androidGradlePluginRegExp =
RegExp(r'com\.android\.tools\.build:gradle:(\d+\.\d+\.\d+)');
-// Expected content format (with lines above and below).
-// Version can have 2 or 3 numbers.
-// 'distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip'
-// '^\s*' protects against commented out lines.
-final RegExp distributionUrlRegex =
- RegExp(r'^\s*distributionUrl\s*=\s*.*\.zip', multiLine: true);
-
-// Modified version of the gradle distribution url match designed to only match
-// gradle.org urls so that we can guarantee any modifications to the url
-// still points to a hosted zip.
-final RegExp gradleOrgVersionMatch =
-RegExp(
- r'^\s*distributionUrl\s*=\s*https\\://services\.gradle\.org/distributions/gradle-((?:\d|\.)+)-(.*)\.zip',
- multiLine: true
-);
-
// From https://docs.gradle.org/current/userguide/command_line_interface.html#command_line_interface
const String gradleVersionFlag = r'--version';
@@ -185,49 +169,42 @@
return getGradleVersionFor(androidPluginVersion ?? 'unknown');
}
-/// Returns the gradle file from the top level directory.
-/// The returned file is not guaranteed to be present.
-File getGradleWrapperFile(Directory directory) {
- return directory.childDirectory(gradleDirectoryName)
- .childDirectory(gradleWrapperDirectoryName)
- .childFile(gradleWrapperPropertiesFilename);
-}
-
-/// Parses the gradle wrapper distribution url to return a string containing
-/// the version number.
-///
-/// Expected input is of the form '...gradle-7.4.2-all.zip', and the output
-/// would be of the form '7.4.2'.
-String? parseGradleVersionFromDistributionUrl(String? distributionUrl) {
- if (distributionUrl == null) {
- return null;
- }
- final List<String> zipParts = distributionUrl.split('-');
- if (zipParts.length < 2) {
- return null;
- }
- return zipParts[1];
-}
-
/// Returns either the gradle-wrapper.properties value from the passed in
/// [directory] or if not present the version available in local path.
///
/// If gradle version is not found null is returned.
-/// [directory] should be an android directory with a build.gradle file.
+/// [directory] should be and android directory with a build.gradle file.
Future<String?> getGradleVersion(
Directory directory, Logger logger, ProcessManager processManager) async {
- final File propertiesFile = getGradleWrapperFile(directory);
+ final File propertiesFile = directory
+ .childDirectory(gradleDirectoryName)
+ .childDirectory(gradleWrapperDirectoryName)
+ .childFile(gradleWrapperPropertiesFilename);
if (propertiesFile.existsSync()) {
final String wrapperFileContent = propertiesFile.readAsStringSync();
+ // Expected content format (with lines above and below).
+ // Version can have 2 or 3 numbers.
+ // 'distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip'
+ // '^\s*' protects against commented out lines.
+ final RegExp distributionUrlRegex =
+ RegExp(r'^\s*distributionUrl\s?=\s?.*\.zip', multiLine: true);
+
final RegExpMatch? distributionUrl =
distributionUrlRegex.firstMatch(wrapperFileContent);
if (distributionUrl != null) {
- final String? gradleVersion =
- parseGradleVersionFromDistributionUrl(distributionUrl.group(0));
- if (gradleVersion != null) {
- return gradleVersion;
+ // Expected content: 'gradle-7.4.2-all.zip'
+ final String? gradleZip = distributionUrl.group(0);
+ if (gradleZip != null) {
+ final List<String> zipParts = gradleZip.split('-');
+ if (zipParts.length > 2) {
+ final String gradleVersion = zipParts[1];
+ return gradleVersion;
+ } else {
+ // Did not find gradle zip url. Likely this is a bug in our parsing.
+ logger.printWarning(_formatParseWarning(wrapperFileContent));
+ }
} else {
// Did not find gradle zip url. Likely this is a bug in our parsing.
logger.printWarning(_formatParseWarning(wrapperFileContent));
@@ -271,7 +248,7 @@
final RegExpMatch? version =
gradleVersionRegex.firstMatch(gradleVersionVerbose);
if (version == null) {
- // Most likely a bug in our parse implementation/regex.
+ // Most likley a bug in our parse implementation/regex.
logger.printWarning(_formatParseWarning(gradleVersionVerbose));
return null;
}
@@ -323,7 +300,7 @@
//
// Source of truth found here:
// https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
-// AGP has a minimum version of gradle required but no max starting at
+// AGP has a minimim version of gradle required but no max starting at
// AGP version 2.3.0+.
bool validateGradleAndAgp(Logger logger,
{required String? gradleV, required String? agpV}) {
diff --git a/packages/flutter_tools/lib/src/android/migrations/android_studio_java_gradle_conflict_migration.dart b/packages/flutter_tools/lib/src/android/migrations/android_studio_java_gradle_conflict_migration.dart
deleted file mode 100644
index 39e2b98..0000000
--- a/packages/flutter_tools/lib/src/android/migrations/android_studio_java_gradle_conflict_migration.dart
+++ /dev/null
@@ -1,155 +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 'package:meta/meta.dart';
-
-import '../../base/file_system.dart';
-import '../../base/os.dart';
-import '../../base/platform.dart';
-import '../../base/process.dart';
-import '../../base/project_migrator.dart';
-import '../../base/version.dart';
-import '../../project.dart';
-import '../android_sdk.dart';
-import '../android_studio.dart';
-import '../gradle_utils.dart';
-
-// Android Studio 2022.2 "Flamingo" is the first to bundle a Java 17 JDK.
-// Previous versions bundled a Java 11 JDK.
-@visibleForTesting
-final Version androidStudioFlamingo = Version(2022, 2, 0);
-
-const String _gradleVersion7_6_1 = r'7.6.1';
-
-// String that can be placed in the gradle-wrapper.properties to opt out of this
-// migrator.
-@visibleForTesting
-const String optOutFlag = 'NoFlutterGradleWrapperUpgrade';
-// Only the major version matters.
-final Version flamingoBundledJava = Version(17, 0, 0);
-
-// These gradle versions were chosen because they
-// 1. Were output by 'flutter create' at some point in flutter's history and
-// 2. Are less than 7.3, the lowest supported gradle version for JDK 17
-const List<String> gradleVersionsToUpgradeFrom =
- <String>['5.6.2', '6.7'];
-
-// Define log messages as constants to re-use in testing.
-@visibleForTesting
-const String gradleWrapperNotFound =
- 'gradle-wrapper.properties not found, skipping Gradle-Java version compatibility check.';
-@visibleForTesting
-const String androidStudioNotFound =
- 'Android Studio version could not be detected, '
- 'skipping Gradle-Java version compatibility check.';
-@visibleForTesting
-const String androidStudioVersionBelowFlamingo =
- 'Version of Android Studio is less than Flamingo (the first impacted version),'
- ' no migration attempted.';
-@visibleForTesting
-const String javaVersionNot17 =
- 'Version of Java is different than impacted version, no migration attempted.';
-@visibleForTesting
-const String javaVersionNotFound =
- 'Version of Java not found, no migration attempted.';
-@visibleForTesting
-const String conflictDetected = 'Conflict detected between versions of Android Studio '
- 'and Gradle, upgrading Gradle version from current to 7.4';
-@visibleForTesting
-const String gradleVersionNotFound = 'Failed to parse Gradle version from distribution url, '
- 'skipping Gradle-Java version compatibility check.';
-@visibleForTesting
-const String optOutFlagEnabled = 'Skipping Android Studio Java-Gradle compatibility '
- "because opt out flag: '$optOutFlag' is enabled in gradle-wrapper.properties file.";
-
-
-/// Migrate to a newer version of Gradle when the existing one does not support
-/// the version of Java provided by the detected Android Studio version.
-///
-/// For more info see the Gradle-Java compatibility matrix:
-/// https://docs.gradle.org/current/userguide/compatibility.html
-class AndroidStudioJavaGradleConflictMigration extends ProjectMigrator {
- AndroidStudioJavaGradleConflictMigration(
- super.logger,
- {required AndroidProject project,
- AndroidStudio? androidStudio,
- required FileSystem fileSystem,
- required ProcessUtils processUtils,
- required Platform platform,
- required OperatingSystemUtils os,
- AndroidSdk? androidSdk,
- }) : _gradleWrapperPropertiesFile = getGradleWrapperFile(project.hostAppGradleRoot),
- _androidStudio = androidStudio,
- _fileSystem = fileSystem,
- _processUtils = processUtils,
- _platform = platform,
- _os = os,
- _androidSdk = androidSdk;
- final File _gradleWrapperPropertiesFile;
- final AndroidStudio? _androidStudio;
- final FileSystem _fileSystem;
- final ProcessUtils _processUtils;
- final Platform _platform;
- final OperatingSystemUtils _os;
- final AndroidSdk? _androidSdk;
-
- @override
- void migrate() {
- if (!_gradleWrapperPropertiesFile.existsSync()) {
- logger.printTrace(gradleWrapperNotFound);
- return;
- }
-
- if (_androidStudio == null) {
- logger.printTrace(androidStudioNotFound);
- return;
- } else if (_androidStudio!.version!.major < androidStudioFlamingo.major) {
- logger.printTrace(androidStudioVersionBelowFlamingo);
- return;
- }
-
- final String? javaVersionString = _androidSdk?.getJavaVersion(
- androidStudio: _androidStudio,
- fileSystem: _fileSystem,
- operatingSystemUtils: _os,
- platform: _platform,
- processUtils: _processUtils,
- );
- final Version? javaVersion = Version.parse(javaVersionString);
- if (javaVersion == null) {
- logger.printTrace(javaVersionNotFound);
- return;
- }
-
- if (javaVersion.major != flamingoBundledJava.major) {
- logger.printTrace(javaVersionNot17);
- return;
- }
-
- processFileLines(_gradleWrapperPropertiesFile);
- }
-
- @override
- String migrateFileContents(String fileContents) {
- if (fileContents.contains(optOutFlag)) {
- logger.printTrace(optOutFlagEnabled);
- return fileContents;
- }
- final RegExpMatch? gradleDistributionUrl = gradleOrgVersionMatch.firstMatch(fileContents);
- if (gradleDistributionUrl == null || gradleDistributionUrl.groupCount < 1) {
- logger.printTrace(gradleVersionNotFound);
- return fileContents;
- }
- final String existingVersionString = gradleDistributionUrl[1]!;
- if (gradleVersionsToUpgradeFrom.contains(existingVersionString)) {
- logger.printStatus('Conflict detected between Android Studio Java version and Gradle version, '
- 'upgrading Gradle version from $existingVersionString to $_gradleVersion7_6_1.');
- final String gradleDistributionUrlString = gradleDistributionUrl.group(0)!;
- final String upgradedDistributionUrl =
- gradleDistributionUrlString.replaceAll(existingVersionString, _gradleVersion7_6_1);
- fileContents = fileContents.replaceFirst(gradleOrgVersionMatch, upgradedDistributionUrl);
- }
- return fileContents;
- }
-}
diff --git a/packages/flutter_tools/lib/src/context_runner.dart b/packages/flutter_tools/lib/src/context_runner.dart
index 3136024..1f7c6fc 100644
--- a/packages/flutter_tools/lib/src/context_runner.dart
+++ b/packages/flutter_tools/lib/src/context_runner.dart
@@ -94,7 +94,6 @@
usage: globals.flutterUsage,
gradleUtils: globals.gradleUtils!,
platform: globals.platform,
- androidStudio: globals.androidStudio,
),
AndroidLicenseValidator: () => AndroidLicenseValidator(
operatingSystemUtils: globals.os,
diff --git a/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart b/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart
index 3963abd..6fa1786 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart
@@ -8,7 +8,6 @@
import 'package:flutter_tools/src/android/android_studio.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart';
-import 'package:flutter_tools/src/base/version.dart';
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/build_apk.dart';
import 'package:flutter_tools/src/globals.dart' as globals;
@@ -455,7 +454,4 @@
class FakeAndroidStudio extends Fake implements AndroidStudio {
@override
String get javaPath => 'java';
-
- @override
- Version get version => Version(2021, 3, 1);
}
diff --git a/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart b/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
index 38b19f7..a6aa27b 100644
--- a/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
@@ -53,7 +53,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -145,7 +144,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -212,7 +210,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
const FakeCommand fakeCmd = FakeCommand(
@@ -317,7 +314,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -409,7 +405,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(FakeCommand(
command: const <String>[
@@ -473,7 +468,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -580,7 +574,6 @@
'HOME': '/home',
},
),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -677,7 +670,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -804,7 +796,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -838,7 +829,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -868,7 +858,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -933,7 +922,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -991,7 +979,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1050,7 +1037,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1128,7 +1114,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1206,7 +1191,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1284,7 +1268,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1363,7 +1346,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(
const FakeCommand(command: <String>[
@@ -1423,7 +1405,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1510,7 +1491,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1597,7 +1577,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
@@ -1684,7 +1663,6 @@
usage: testUsage,
gradleUtils: FakeGradleUtils(),
platform: FakePlatform(),
- androidStudio: FakeAndroidStudio(),
);
processManager.addCommand(const FakeCommand(
command: <String>[
diff --git a/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart b/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart
index 9252d64..4385e66 100644
--- a/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart
@@ -4,48 +4,14 @@
import 'package:file/file.dart';
import 'package:file/memory.dart';
-import 'package:flutter_tools/src/android/android_sdk.dart';
-import 'package:flutter_tools/src/android/android_studio.dart';
-import 'package:flutter_tools/src/android/gradle_utils.dart';
-import 'package:flutter_tools/src/android/migrations/android_studio_java_gradle_conflict_migration.dart';
import 'package:flutter_tools/src/android/migrations/top_level_gradle_build_file_migration.dart';
import 'package:flutter_tools/src/base/logger.dart';
-import 'package:flutter_tools/src/base/os.dart';
-import 'package:flutter_tools/src/base/platform.dart';
-import 'package:flutter_tools/src/base/process.dart';
-import 'package:flutter_tools/src/base/version.dart';
import 'package:flutter_tools/src/project.dart';
import 'package:test/fake.dart';
import '../../src/common.dart';
import '../../src/context.dart';
-const String otherGradleVersionWrapper = r'''
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-all.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-''';
-
-const String gradleWrapperToMigrate = r'''
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-''';
-
-const String gradleWrapperToMigrateTo = r'''
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-''';
-
-final Version androidStudioDolphin = Version(2021, 3, 1);
-
void main() {
group('Android migration', () {
group('migrate the Gradle "clean" task to lazy declaration', () {
@@ -111,151 +77,6 @@
'''));
});
});
-
- group('migrate the gradle version to one that does not conflict with the '
- 'Android Studio-provided java version', () {
- late MemoryFileSystem memoryFileSystem;
- late BufferLogger bufferLogger;
- late FakeAndroidProject project;
- late File gradleWrapperPropertiesFile;
-
- setUp(() {
- memoryFileSystem = MemoryFileSystem.test();
- bufferLogger = BufferLogger.test();
- project = FakeAndroidProject(
- root: memoryFileSystem.currentDirectory.childDirectory('android')..createSync(),
- );
- project.hostAppGradleRoot.childDirectory(gradleDirectoryName)
- .childDirectory(gradleWrapperDirectoryName)
- .createSync(recursive: true);
- gradleWrapperPropertiesFile = project.hostAppGradleRoot
- .childDirectory(gradleDirectoryName)
- .childDirectory(gradleWrapperDirectoryName)
- .childFile(gradleWrapperPropertiesFilename);
- });
-
- testWithoutContext('skipped if files are missing', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- androidStudio: FakeAndroidStudio(version: androidStudioDolphin),
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '17'),
- );
- migration.migrate();
- expect(gradleWrapperPropertiesFile.existsSync(), isFalse);
- expect(bufferLogger.traceText, contains(gradleWrapperNotFound));
- });
-
-
- testWithoutContext('skipped if android studio is null', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '17'),
- );
- gradleWrapperPropertiesFile.writeAsStringSync(gradleWrapperToMigrate);
- migration.migrate();
- expect(bufferLogger.traceText, contains(androidStudioNotFound));
- expect(gradleWrapperPropertiesFile.readAsStringSync(),
- gradleWrapperToMigrate);
- });
-
- testWithoutContext('skipped if android studio version is less than flamingo', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- androidStudio: FakeAndroidStudio(version: androidStudioDolphin),
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '17'),
- );
- gradleWrapperPropertiesFile.writeAsStringSync(gradleWrapperToMigrate);
- migration.migrate();
- expect(gradleWrapperPropertiesFile.readAsStringSync(), gradleWrapperToMigrate);
- expect(bufferLogger.traceText, contains(androidStudioVersionBelowFlamingo));
- });
-
- testWithoutContext('skipped if bundled java version is less than 17', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- androidStudio: FakeAndroidStudio(version: androidStudioFlamingo),
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '16'),
- );
- gradleWrapperPropertiesFile.writeAsStringSync(gradleWrapperToMigrate);
- migration.migrate();
- expect(gradleWrapperPropertiesFile.readAsStringSync(), gradleWrapperToMigrate);
- expect(bufferLogger.traceText, contains(javaVersionNot17));
- });
-
- testWithoutContext('nothing is changed if gradle version not one that was '
- 'used by flutter create', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- androidStudio: FakeAndroidStudio(version: androidStudioFlamingo),
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '17'),
- );
- gradleWrapperPropertiesFile.writeAsStringSync(otherGradleVersionWrapper);
- migration.migrate();
- expect(gradleWrapperPropertiesFile.readAsStringSync(), otherGradleVersionWrapper);
- expect(bufferLogger.traceText, isEmpty);
- });
-
- testWithoutContext('change is made with one of the specific gradle versions'
- ' we migrate for', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- androidStudio: FakeAndroidStudio(version: androidStudioFlamingo),
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '17'),
- );
- gradleWrapperPropertiesFile.writeAsStringSync(gradleWrapperToMigrate);
- migration.migrate();
- expect(gradleWrapperPropertiesFile.readAsStringSync(), gradleWrapperToMigrateTo);
- expect(bufferLogger.statusText, contains('Conflict detected between Android Studio Java version and Gradle version, '
- 'upgrading Gradle version from 6.7 to 7.6.1.'));
- });
-
- testWithoutContext('change is not made when opt out flag is set', () {
- final AndroidStudioJavaGradleConflictMigration migration = AndroidStudioJavaGradleConflictMigration(
- bufferLogger,
- project: project,
- androidStudio: FakeAndroidStudio(version: androidStudioFlamingo),
- fileSystem: FakeFileSystem(),
- processUtils: FakeProcessUtils(),
- platform: FakePlatform(),
- os: FakeOperatingSystemUtils(),
- androidSdk: FakeAndroidSdk(javaVersion: '17'),
- );
- gradleWrapperPropertiesFile.writeAsStringSync(gradleWrapperToMigrate + optOutFlag);
- migration.migrate();
- expect(gradleWrapperPropertiesFile.readAsStringSync(), gradleWrapperToMigrate + optOutFlag);
- expect(bufferLogger.traceText, contains(optOutFlagEnabled));
- });
- });
});
}
@@ -265,38 +86,3 @@
@override
Directory hostAppGradleRoot;
}
-
-class FakeAndroidStudio extends Fake implements AndroidStudio {
- FakeAndroidStudio({required Version version}) {
- _version = version;
- }
-
- late Version _version;
-
- @override
- Version get version => _version;
-}
-
-class FakeAndroidSdk extends Fake implements AndroidSdk {
- FakeAndroidSdk({required String javaVersion}) {
- _javaVersion = javaVersion;
- }
-
- late String _javaVersion;
-
- @override
- String? getJavaVersion({
- required AndroidStudio? androidStudio,
- required FileSystem fileSystem,
- required OperatingSystemUtils operatingSystemUtils,
- required Platform platform,
- required ProcessUtils processUtils,
- }) {
- return _javaVersion;
- }
-}
-
-class FakeFileSystem extends Fake implements FileSystem {}
-class FakeProcessUtils extends Fake implements ProcessUtils {}
-class FakePlatform extends Fake implements Platform {}
-class FakeOperatingSystemUtils extends Fake implements OperatingSystemUtils {}
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
index 9aa482e..054bec5 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
@@ -216,20 +216,6 @@
expect(getGradlewFileName(windowsPlatform), 'gradlew.bat');
});
- testWithoutContext('returns the gradle properties file', () async {
- final Directory androidDirectory = fileSystem.directory('/android')
- ..createSync();
- final Directory wrapperDirectory = androidDirectory
- .childDirectory(gradleDirectoryName)
- .childDirectory(gradleWrapperDirectoryName)
- ..createSync(recursive: true);
- final File expectedFile = await wrapperDirectory
- .childFile(gradleWrapperPropertiesFilename)
- .create();
- final File gradleWrapperFile = getGradleWrapperFile(androidDirectory);
- expect(gradleWrapperFile.path, expectedFile.path);
- });
-
testWithoutContext('returns the gradle wrapper version', () async {
const String expectedVersion = '7.4.2';
final Directory androidDirectory = fileSystem.directory('/android')
@@ -549,32 +535,6 @@
}
});
- group('Parse gradle version from distribution url', () {
- testWithoutContext('null distribution url returns null version', () {
- expect(parseGradleVersionFromDistributionUrl(null), null);
- });
-
- testWithoutContext('unparseable format returns null', () {
- const String distributionUrl = 'aString';
- expect(parseGradleVersionFromDistributionUrl(distributionUrl), null);
- });
-
- testWithoutContext("recognizable 'all' format returns correct version", () {
- const String distributionUrl = r'distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip';
- expect(parseGradleVersionFromDistributionUrl(distributionUrl), '6.7');
- });
-
- testWithoutContext("recognizable 'bin' format returns correct version", () {
- const String distributionUrl = r'distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip';
- expect(parseGradleVersionFromDistributionUrl(distributionUrl), '6.7');
- });
-
- testWithoutContext("recognizable 'rc' format returns correct version", () {
- const String distributionUrl = r'distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-rc-3-all.zip';
- expect(parseGradleVersionFromDistributionUrl(distributionUrl), '8.1');
- });
- });
-
group('validates java/gradle versions', () {
final List<JavaGradleTestData> testData = <JavaGradleTestData>[
// Values too new *these need to update* when
diff --git a/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties
index ceccc3a..3c9d085 100644
--- a/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip