Reverts "Upgrade template Gradle, App AGP, Module AGP, and Kotlin versions, and tests (#150969)" (#151147)
Reverts: flutter/flutter#150969 Initiated by: goderbauer Reason for reverting: Failing test in https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8743574743030691569/+/u/run_android_obfuscate_test/stdout Original PR Author: gmackall Reviewed By: {christopherfujino, reidbaker} This change reverts the following previous change: After the land of https://github.com/flutter/engine/pull/53592, there is some log spam: ``` e: /Users/mackall/.gradle/caches/transforms-3/c1e137371ec1afe9bc9bd7b05823752d/transformed/fragment-1.7.1/jars/classes.jar!/META-INF/fragment_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0. e: /Users/mackall/.gradle/caches/transforms-3/d86c7cb1c556fe1655fa56db671c649c/transformed/jetified-activity-1.8.1/jars/classes.jar!/META-INF/activity_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0. ... ``` I think this is harmless, but still annoying. Upgrading the AGP version fixes it. To be honest, I don't know why (I expected the Kotlin version would do it). But after https://github.com/flutter/flutter/pull/146307, our tests have been running on AGP/Gradle 8.1/8.3 for a while, so it makes sense to upgrade anyways. In a follow up PR: 1. Also upgrade the tests that were left behind in https://github.com/flutter/flutter/pull/146307, as I think removal of discontinued plugins paved the way here.
This commit is contained in:
parent
bd5ab96018
commit
dbc2dc88bc
28
.ci.yaml
28
.ci.yaml
@ -1155,35 +1155,9 @@ targets:
|
|||||||
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
|
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
|
||||||
{"dependency": "goldctl", "version": "git_revision:720a542f6fe4f92922c3b8f0fdcc4d2ac6bb83cd"},
|
{"dependency": "goldctl", "version": "git_revision:720a542f6fe4f92922c3b8f0fdcc4d2ac6bb83cd"},
|
||||||
{"dependency": "ninja", "version": "version:1.9.0"},
|
{"dependency": "ninja", "version": "version:1.9.0"},
|
||||||
{"dependency": "open_jdk", "version": "version:17"}
|
|
||||||
]
|
|
||||||
shard: android_preview_tool_integration_tests
|
|
||||||
tags: >
|
|
||||||
["framework", "hostonly", "shard", "linux"]
|
|
||||||
test_timeout_secs: "2700"
|
|
||||||
runIf:
|
|
||||||
- dev/**
|
|
||||||
- packages/flutter_tools/**
|
|
||||||
- bin/**
|
|
||||||
- .ci.yaml
|
|
||||||
|
|
||||||
- name: Linux android_java11_tool_integration_tests
|
|
||||||
recipe: flutter/flutter_drone
|
|
||||||
bringup: true
|
|
||||||
timeout: 60
|
|
||||||
properties:
|
|
||||||
add_recipes_cq: "true"
|
|
||||||
dependencies: >-
|
|
||||||
[
|
|
||||||
{"dependency": "android_sdk", "version": "version:34v3"},
|
|
||||||
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
|
|
||||||
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
|
|
||||||
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
|
|
||||||
{"dependency": "goldctl", "version": "git_revision:720a542f6fe4f92922c3b8f0fdcc4d2ac6bb83cd"},
|
|
||||||
{"dependency": "ninja", "version": "version:1.9.0"},
|
|
||||||
{"dependency": "open_jdk", "version": "version:11"}
|
{"dependency": "open_jdk", "version": "version:11"}
|
||||||
]
|
]
|
||||||
shard: android_java11_tool_integration_tests
|
shard: android_preview_tool_integration_tests
|
||||||
tags: >
|
tags: >
|
||||||
["framework", "hostonly", "shard", "linux"]
|
["framework", "hostonly", "shard", "linux"]
|
||||||
test_timeout_secs: "2700"
|
test_timeout_secs: "2700"
|
||||||
|
@ -332,8 +332,6 @@
|
|||||||
# test_ownership @keyonghan
|
# test_ownership @keyonghan
|
||||||
# tool_host_cross_arch_tests @andrewkolos @flutter/tool
|
# tool_host_cross_arch_tests @andrewkolos @flutter/tool
|
||||||
# tool_integration_tests @christopherfujino @flutter/tool
|
# tool_integration_tests @christopherfujino @flutter/tool
|
||||||
# android_preview_tool_integration_tests @gmackall @flutter/android
|
|
||||||
# android_java11_tool_integration_tests @gmackall @flutter/android
|
|
||||||
# tool_tests @andrewkolos @flutter/tool
|
# tool_tests @andrewkolos @flutter/tool
|
||||||
# verify_binaries_codesigned @cbracken @flutter/releases
|
# verify_binaries_codesigned @cbracken @flutter/releases
|
||||||
# web_canvaskit_tests @yjbanov @flutter/web
|
# web_canvaskit_tests @yjbanov @flutter/web
|
||||||
|
@ -1,25 +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:io';
|
|
||||||
|
|
||||||
import 'package:path/path.dart' as path;
|
|
||||||
|
|
||||||
import '../utils.dart';
|
|
||||||
|
|
||||||
Future<void> androidJava11IntegrationToolTestsRunner() async {
|
|
||||||
final String toolsPath = path.join(flutterRoot, 'packages', 'flutter_tools');
|
|
||||||
|
|
||||||
final List<String> allTests = Directory(path.join(toolsPath, 'test', 'android_java11_integration.shard'))
|
|
||||||
.listSync(recursive: true).whereType<File>()
|
|
||||||
.map<String>((FileSystemEntity entry) => path.relative(entry.path, from: toolsPath))
|
|
||||||
.where((String testPath) => path.basename(testPath).endsWith('_test.dart')).toList();
|
|
||||||
|
|
||||||
await runDartTest(
|
|
||||||
toolsPath,
|
|
||||||
forceSingleCore: true,
|
|
||||||
testPaths: selectIndexOfTotalSubshard<String>(allTests),
|
|
||||||
collectMetrics: true,
|
|
||||||
);
|
|
||||||
}
|
|
@ -59,7 +59,6 @@ import 'package:path/path.dart' as path;
|
|||||||
import 'run_command.dart';
|
import 'run_command.dart';
|
||||||
import 'suite_runners/run_add_to_app_life_cycle_tests.dart';
|
import 'suite_runners/run_add_to_app_life_cycle_tests.dart';
|
||||||
import 'suite_runners/run_analyze_tests.dart';
|
import 'suite_runners/run_analyze_tests.dart';
|
||||||
import 'suite_runners/run_android_java11_integration_tool_tests.dart';
|
|
||||||
import 'suite_runners/run_android_preview_integration_tool_tests.dart';
|
import 'suite_runners/run_android_preview_integration_tool_tests.dart';
|
||||||
import 'suite_runners/run_customer_testing_tests.dart';
|
import 'suite_runners/run_customer_testing_tests.dart';
|
||||||
import 'suite_runners/run_docs_tests.dart';
|
import 'suite_runners/run_docs_tests.dart';
|
||||||
@ -132,7 +131,6 @@ Future<void> main(List<String> args) async {
|
|||||||
'web_tool_tests': _runWebToolTests,
|
'web_tool_tests': _runWebToolTests,
|
||||||
'tool_integration_tests': _runIntegrationToolTests,
|
'tool_integration_tests': _runIntegrationToolTests,
|
||||||
'android_preview_tool_integration_tests': androidPreviewIntegrationToolTestsRunner,
|
'android_preview_tool_integration_tests': androidPreviewIntegrationToolTestsRunner,
|
||||||
'android_java11_tool_integration_tests': androidJava11IntegrationToolTestsRunner,
|
|
||||||
'tool_host_cross_arch_tests': _runToolHostCrossArchTests,
|
'tool_host_cross_arch_tests': _runToolHostCrossArchTests,
|
||||||
// All the unit/widget tests run using `flutter test --platform=chrome --web-renderer=html`
|
// All the unit/widget tests run using `flutter test --platform=chrome --web-renderer=html`
|
||||||
'web_tests': webTestsSuite.runWebHtmlUnitTests,
|
'web_tests': webTestsSuite.runWebHtmlUnitTests,
|
||||||
|
@ -27,10 +27,10 @@ import 'android_sdk.dart';
|
|||||||
// However, this currently requires to migrate existing integration tests to the latest supported values.
|
// However, this currently requires to migrate existing integration tests to the latest supported values.
|
||||||
//
|
//
|
||||||
// Please see the README before changing any of these values.
|
// Please see the README before changing any of these values.
|
||||||
const String templateDefaultGradleVersion = '8.3';
|
const String templateDefaultGradleVersion = '7.6.3';
|
||||||
const String templateAndroidGradlePluginVersion = '8.1.0';
|
const String templateAndroidGradlePluginVersion = '7.3.0';
|
||||||
const String templateAndroidGradlePluginVersionForModule = '8.1.0';
|
const String templateAndroidGradlePluginVersionForModule = '7.3.0';
|
||||||
const String templateKotlinGradlePluginVersion = '1.8.22';
|
const String templateKotlinGradlePluginVersion = '1.7.10';
|
||||||
|
|
||||||
// The Flutter Gradle Plugin is only applied to app projects, and modules that
|
// The Flutter Gradle Plugin is only applied to app projects, and modules that
|
||||||
// are built from source using (`include_flutter.groovy`). The remaining
|
// are built from source using (`include_flutter.groovy`). The remaining
|
||||||
@ -48,24 +48,24 @@ const String ndkVersion = '23.1.7779620';
|
|||||||
// Update these when new major versions of Java are supported by new Gradle
|
// Update these when new major versions of Java are supported by new Gradle
|
||||||
// versions that we support.
|
// versions that we support.
|
||||||
// Source of truth: https://docs.gradle.org/current/userguide/compatibility.html
|
// Source of truth: https://docs.gradle.org/current/userguide/compatibility.html
|
||||||
const String oneMajorVersionHigherJavaVersion = '23';
|
const String oneMajorVersionHigherJavaVersion = '20';
|
||||||
|
|
||||||
// Update this when new versions of Gradle come out including minor versions
|
// Update this when new versions of Gradle come out including minor versions
|
||||||
// and should correspond to the maximum Gradle version we test in CI.
|
// and should correspond to the maximum Gradle version we test in CI.
|
||||||
//
|
//
|
||||||
// Supported here means supported by the tooling for
|
// Supported here means supported by the tooling for
|
||||||
// flutter analyze --suggestions and does not imply broader flutter support.
|
// flutter analyze --suggestions and does not imply broader flutter support.
|
||||||
const String maxKnownAndSupportedGradleVersion = '8.7';
|
const String maxKnownAndSupportedGradleVersion = '8.0.2';
|
||||||
|
|
||||||
// Update this when new versions of AGP come out.
|
// Update this when new versions of AGP come out.
|
||||||
//
|
//
|
||||||
// Supported here means tooling is aware of this version's Java <-> AGP
|
// Supported here means tooling is aware of this version's Java <-> AGP
|
||||||
// compatibility.
|
// compatibility.
|
||||||
@visibleForTesting
|
@visibleForTesting
|
||||||
const String maxKnownAndSupportedAgpVersion = '8.4.0';
|
const String maxKnownAndSupportedAgpVersion = '8.1';
|
||||||
|
|
||||||
// Update this when new versions of AGP come out.
|
// Update this when new versions of AGP come out.
|
||||||
const String maxKnownAgpVersion = '8.5';
|
const String maxKnownAgpVersion = '8.3';
|
||||||
|
|
||||||
// Oldest documented version of AGP that has a listed minimum
|
// Oldest documented version of AGP that has a listed minimum
|
||||||
// compatible Java version.
|
// compatible Java version.
|
||||||
@ -440,22 +440,6 @@ bool validateGradleAndAgp(Logger logger,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Begin Known Gradle <-> AGP validation.
|
// Begin Known Gradle <-> AGP validation.
|
||||||
if (isWithinVersionRange(agpV, min: '8.4.0', max: '8.4.99')) {
|
|
||||||
return isWithinVersionRange(gradleV,
|
|
||||||
min: '8.6', max: maxKnownAndSupportedGradleVersion);
|
|
||||||
}
|
|
||||||
if (isWithinVersionRange(agpV, min: '8.3.0', max: '8.3.99')) {
|
|
||||||
return isWithinVersionRange(gradleV,
|
|
||||||
min: '8.4', max: maxKnownAndSupportedGradleVersion);
|
|
||||||
}
|
|
||||||
if (isWithinVersionRange(agpV, min: '8.2.0', max: '8.2.99')) {
|
|
||||||
return isWithinVersionRange(gradleV,
|
|
||||||
min: '8.2', max: maxKnownAndSupportedGradleVersion);
|
|
||||||
}
|
|
||||||
if (isWithinVersionRange(agpV, min: '8.0.0', max: '8.1.99')) {
|
|
||||||
return isWithinVersionRange(gradleV,
|
|
||||||
min: '8.0', max: maxKnownAndSupportedGradleVersion);
|
|
||||||
}
|
|
||||||
// Max agp here is a made up version to contain all 7.4 changes.
|
// Max agp here is a made up version to contain all 7.4 changes.
|
||||||
if (isWithinVersionRange(agpV, min: '7.4', max: '7.5')) {
|
if (isWithinVersionRange(agpV, min: '7.4', max: '7.5')) {
|
||||||
return isWithinVersionRange(gradleV,
|
return isWithinVersionRange(gradleV,
|
||||||
@ -709,13 +693,7 @@ String getGradleVersionFor(String androidPluginVersion) {
|
|||||||
GradleForAgp(agpMin: '4.0.0', agpMax: '4.1.0', minRequiredGradle: '6.7'),
|
GradleForAgp(agpMin: '4.0.0', agpMax: '4.1.0', minRequiredGradle: '6.7'),
|
||||||
// 7.5 is a made up value to include everything through 7.4.*
|
// 7.5 is a made up value to include everything through 7.4.*
|
||||||
GradleForAgp(agpMin: '7.0.0', agpMax: '7.5', minRequiredGradle: '7.5'),
|
GradleForAgp(agpMin: '7.0.0', agpMax: '7.5', minRequiredGradle: '7.5'),
|
||||||
// Use 0 and 99 as a patch values to signify every AGP patch version with
|
GradleForAgp(agpMin: '7.5.0', agpMax: '100.100', minRequiredGradle: '8.0'),
|
||||||
// that major and minor version.
|
|
||||||
GradleForAgp(agpMin: '8.0.0', agpMax: '8.1.99', minRequiredGradle: '8.0'),
|
|
||||||
GradleForAgp(agpMin: '8.2.0', agpMax: '8.2.99', minRequiredGradle: '8.2'),
|
|
||||||
GradleForAgp(agpMin: '8.3.0', agpMax: '8.3.99', minRequiredGradle: '8.4'),
|
|
||||||
GradleForAgp(agpMin: '8.4.0', agpMax: '8.4.99', minRequiredGradle: '8.6'),
|
|
||||||
GradleForAgp(agpMin: '8.5.0', agpMax: '100.100', minRequiredGradle: '8.7'),
|
|
||||||
// Assume if AGP is newer than this code know about return the highest gradle
|
// Assume if AGP is newer than this code know about return the highest gradle
|
||||||
// version we know about.
|
// version we know about.
|
||||||
GradleForAgp(agpMin: maxKnownAgpVersion, agpMax: maxKnownAgpVersion, minRequiredGradle: maxKnownAndSupportedGradleVersion),
|
GradleForAgp(agpMin: maxKnownAgpVersion, agpMax: maxKnownAgpVersion, minRequiredGradle: maxKnownAndSupportedGradleVersion),
|
||||||
@ -910,24 +888,6 @@ String getGradlewFileName(Platform platform) {
|
|||||||
/// of Gradle, as https://docs.gradle.org/current/userguide/compatibility.html
|
/// of Gradle, as https://docs.gradle.org/current/userguide/compatibility.html
|
||||||
/// details.
|
/// details.
|
||||||
List<JavaGradleCompat> _javaGradleCompatList = const <JavaGradleCompat>[
|
List<JavaGradleCompat> _javaGradleCompatList = const <JavaGradleCompat>[
|
||||||
JavaGradleCompat(
|
|
||||||
javaMin: '22',
|
|
||||||
javaMax: '23',
|
|
||||||
gradleMin: '8.7',
|
|
||||||
gradleMax: maxKnownAndSupportedGradleVersion,
|
|
||||||
),
|
|
||||||
JavaGradleCompat(
|
|
||||||
javaMin: '21',
|
|
||||||
javaMax: '22',
|
|
||||||
gradleMin: '8.4',
|
|
||||||
gradleMax: maxKnownAndSupportedGradleVersion,
|
|
||||||
),
|
|
||||||
JavaGradleCompat(
|
|
||||||
javaMin: '20',
|
|
||||||
javaMax: '21',
|
|
||||||
gradleMin: '8.1',
|
|
||||||
gradleMax: maxKnownAndSupportedGradleVersion,
|
|
||||||
),
|
|
||||||
JavaGradleCompat(
|
JavaGradleCompat(
|
||||||
javaMin: '19',
|
javaMin: '19',
|
||||||
javaMax: '20',
|
javaMax: '20',
|
||||||
|
@ -3735,7 +3735,7 @@ void main() {
|
|||||||
logger.clear();
|
logger.clear();
|
||||||
}
|
}
|
||||||
}, overrides: <Type, Generator>{
|
}, overrides: <Type, Generator>{
|
||||||
Java: () => FakeJava(version: const software.Version.withText(20, 0, 0, '20.0.0')), // Middle compatible Java version with current template AGP/Gradle versions.
|
Java: () => FakeJava(version: const software.Version.withText(14, 0, 0, '14.0.0')), // Middle compatible Java version with current template AGP/Gradle versions.
|
||||||
Logger: () => logger,
|
Logger: () => logger,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -3762,7 +3762,7 @@ void main() {
|
|||||||
logger.clear();
|
logger.clear();
|
||||||
}
|
}
|
||||||
}, overrides: <Type, Generator>{
|
}, overrides: <Type, Generator>{
|
||||||
Java: () => FakeJava(version: const software.Version.withText(17, 0, 0, '22.0.0')), // Maximum compatible Java version with current template AGP/Gradle versions.
|
Java: () => FakeJava(version: const software.Version.withText(17, 0, 0, '18.0.0')), // Maximum compatible Java version with current template AGP/Gradle versions.
|
||||||
Logger: () => logger,
|
Logger: () => logger,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -3789,7 +3789,7 @@ void main() {
|
|||||||
logger.clear();
|
logger.clear();
|
||||||
}
|
}
|
||||||
}, overrides: <Type, Generator>{
|
}, overrides: <Type, Generator>{
|
||||||
Java: () => FakeJava(version: const software.Version.withText(17, 0, 0, '17.0.0')), // Minimum compatible Java version with current template AGP/Gradle versions.
|
Java: () => FakeJava(version: const software.Version.withText(11, 0, 0, '11.0.0')), // Minimum compatible Java version with current template AGP/Gradle versions.
|
||||||
Logger: () => logger,
|
Logger: () => logger,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -913,10 +913,10 @@ A problem occurred evaluating project ':app'.
|
|||||||
'│ To fix this issue, replace the following content: │\n'
|
'│ To fix this issue, replace the following content: │\n'
|
||||||
'│ /android/build.gradle: │\n'
|
'│ /android/build.gradle: │\n'
|
||||||
"│ - classpath 'com.android.tools.build:gradle:<current-version>' │\n"
|
"│ - classpath 'com.android.tools.build:gradle:<current-version>' │\n"
|
||||||
"│ + classpath 'com.android.tools.build:gradle:$templateAndroidGradlePluginVersion' │\n"
|
"│ + classpath 'com.android.tools.build:gradle:7.3.0' │\n"
|
||||||
'│ /android/gradle/wrapper/gradle-wrapper.properties: │\n'
|
'│ /android/gradle/wrapper/gradle-wrapper.properties: │\n'
|
||||||
'│ - https://services.gradle.org/distributions/gradle-<current-version>-all.zip │\n'
|
'│ - https://services.gradle.org/distributions/gradle-<current-version>-all.zip │\n'
|
||||||
'│ + https://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip │\n'
|
'│ + https://services.gradle.org/distributions/gradle-7.6.3-all.zip │\n'
|
||||||
'└──────────────────────────────────────────────────────────────────────────────────┘\n'
|
'└──────────────────────────────────────────────────────────────────────────────────┘\n'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
import 'package:file/memory.dart';
|
import 'package:file/memory.dart';
|
||||||
import 'package:flutter_tools/src/android/gradle.dart';
|
import 'package:flutter_tools/src/android/gradle.dart';
|
||||||
import 'package:flutter_tools/src/android/gradle_utils.dart';
|
|
||||||
import 'package:flutter_tools/src/base/file_system.dart';
|
import 'package:flutter_tools/src/base/file_system.dart';
|
||||||
import 'package:flutter_tools/src/base/logger.dart';
|
import 'package:flutter_tools/src/base/logger.dart';
|
||||||
import 'package:flutter_tools/src/build_info.dart';
|
import 'package:flutter_tools/src/build_info.dart';
|
||||||
@ -432,7 +431,7 @@ void main() {
|
|||||||
'gradle',
|
'gradle',
|
||||||
label: 'gradle-expected-file-not-found',
|
label: 'gradle-expected-file-not-found',
|
||||||
parameters: CustomDimensions.fromMap(<String, String> {
|
parameters: CustomDimensions.fromMap(<String, String> {
|
||||||
'cd37': 'androidGradlePluginVersion: $templateDefaultGradleVersion, fileExtension: .aab',
|
'cd37': 'androidGradlePluginVersion: 7.6.3, fileExtension: .aab',
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
@ -443,7 +442,7 @@ void main() {
|
|||||||
Event.flutterBuildInfo(
|
Event.flutterBuildInfo(
|
||||||
label: 'gradle-expected-file-not-found',
|
label: 'gradle-expected-file-not-found',
|
||||||
buildType: 'gradle',
|
buildType: 'gradle',
|
||||||
settings: 'androidGradlePluginVersion: $templateDefaultGradleVersion, fileExtension: .aab',
|
settings: 'androidGradlePluginVersion: 7.6.3, fileExtension: .aab',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
@ -415,9 +415,9 @@ flutter:
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
group('gradle version', () {
|
group('gradgradle_utils.le version', () {
|
||||||
testWithoutContext('should be compatible with the Android plugin version', () {
|
testWithoutContext('should be compatible with the Android plugin version', () {
|
||||||
// Granular versions.
|
// Grangradle_utils.ular versions.
|
||||||
expect(gradle_utils.getGradleVersionFor('1.0.0'), '2.3');
|
expect(gradle_utils.getGradleVersionFor('1.0.0'), '2.3');
|
||||||
expect(gradle_utils.getGradleVersionFor('1.0.1'), '2.3');
|
expect(gradle_utils.getGradleVersionFor('1.0.1'), '2.3');
|
||||||
expect(gradle_utils.getGradleVersionFor('1.0.2'), '2.3');
|
expect(gradle_utils.getGradleVersionFor('1.0.2'), '2.3');
|
||||||
@ -427,7 +427,7 @@ flutter:
|
|||||||
expect(gradle_utils.getGradleVersionFor('1.1.2'), '2.3');
|
expect(gradle_utils.getGradleVersionFor('1.1.2'), '2.3');
|
||||||
expect(gradle_utils.getGradleVersionFor('1.1.2'), '2.3');
|
expect(gradle_utils.getGradleVersionFor('1.1.2'), '2.3');
|
||||||
expect(gradle_utils.getGradleVersionFor('1.1.3'), '2.3');
|
expect(gradle_utils.getGradleVersionFor('1.1.3'), '2.3');
|
||||||
// Version Ranges.
|
// Versgradle_utils.ion Ranges.
|
||||||
expect(gradle_utils.getGradleVersionFor('1.2.0'), '2.9');
|
expect(gradle_utils.getGradleVersionFor('1.2.0'), '2.9');
|
||||||
expect(gradle_utils.getGradleVersionFor('1.3.1'), '2.9');
|
expect(gradle_utils.getGradleVersionFor('1.3.1'), '2.9');
|
||||||
|
|
||||||
@ -461,11 +461,7 @@ flutter:
|
|||||||
expect(gradle_utils.getGradleVersionFor('7.1.2'), '7.5');
|
expect(gradle_utils.getGradleVersionFor('7.1.2'), '7.5');
|
||||||
expect(gradle_utils.getGradleVersionFor('7.2'), '7.5');
|
expect(gradle_utils.getGradleVersionFor('7.2'), '7.5');
|
||||||
expect(gradle_utils.getGradleVersionFor('8.0'), '8.0');
|
expect(gradle_utils.getGradleVersionFor('8.0'), '8.0');
|
||||||
expect(gradle_utils.getGradleVersionFor('8.1'), '8.0');
|
expect(gradle_utils.getGradleVersionFor(gradle_utils.maxKnownAgpVersion), '8.0');
|
||||||
expect(gradle_utils.getGradleVersionFor('8.2'), '8.2');
|
|
||||||
expect(gradle_utils.getGradleVersionFor('8.3'), '8.4');
|
|
||||||
expect(gradle_utils.getGradleVersionFor('8.4'), '8.6');
|
|
||||||
expect(gradle_utils.getGradleVersionFor(gradle_utils.maxKnownAgpVersion), '8.7');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext('throws on unsupported versions', () {
|
testWithoutContext('throws on unsupported versions', () {
|
||||||
|
@ -82,7 +82,7 @@ void main() {
|
|||||||
'distributionPath=wrapper/dists\n'
|
'distributionPath=wrapper/dists\n'
|
||||||
'zipStoreBase=GRADLE_USER_HOME\n'
|
'zipStoreBase=GRADLE_USER_HOME\n'
|
||||||
'zipStorePath=wrapper/dists\n'
|
'zipStorePath=wrapper/dists\n'
|
||||||
'distributionUrl=https\\://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip\n');
|
'distributionUrl=https\\://services.gradle.org/distributions/gradle-7.6.3-all.zip\n');
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext('injects the wrapper when some files are missing', () {
|
testWithoutContext('injects the wrapper when some files are missing', () {
|
||||||
@ -127,7 +127,7 @@ void main() {
|
|||||||
'distributionPath=wrapper/dists\n'
|
'distributionPath=wrapper/dists\n'
|
||||||
'zipStoreBase=GRADLE_USER_HOME\n'
|
'zipStoreBase=GRADLE_USER_HOME\n'
|
||||||
'zipStorePath=wrapper/dists\n'
|
'zipStorePath=wrapper/dists\n'
|
||||||
'distributionUrl=https\\://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip\n');
|
'distributionUrl=https\\://services.gradle.org/distributions/gradle-7.6.3-all.zip\n');
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext(
|
testWithoutContext(
|
||||||
@ -779,7 +779,7 @@ dependencies {
|
|||||||
gradleV: data.gradleVersion,
|
gradleV: data.gradleVersion,
|
||||||
agpV: data.agpVersion,
|
agpV: data.agpVersion,
|
||||||
),
|
),
|
||||||
data.validPair,
|
data.validPair ? isTrue : isFalse,
|
||||||
reason: 'G: ${data.gradleVersion}, AGP: ${data.agpVersion}');
|
reason: 'G: ${data.gradleVersion}, AGP: ${data.agpVersion}');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -967,21 +967,19 @@ allprojects {
|
|||||||
JavaAgpTestData(true, javaVersion: '18', agpVersion: '4.2'),
|
JavaAgpTestData(true, javaVersion: '18', agpVersion: '4.2'),
|
||||||
// Strictly too new AGP versions.
|
// Strictly too new AGP versions.
|
||||||
// *The tests that follow need to be updated* when max supported AGP versions are updated:
|
// *The tests that follow need to be updated* when max supported AGP versions are updated:
|
||||||
JavaAgpTestData(false, javaVersion: '24', agpVersion: '8.5'),
|
JavaAgpTestData(false, javaVersion: '24', agpVersion: '8.3'),
|
||||||
JavaAgpTestData(false, javaVersion: '20', agpVersion: '8.5'),
|
JavaAgpTestData(false, javaVersion: '20', agpVersion: '8.3'),
|
||||||
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.5'),
|
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.3'),
|
||||||
// Java 17 & patch versions compatibility cases
|
// Java 17 & patch versions compatibility cases
|
||||||
// *The tests that follow need to be updated* when maxKnownAndSupportedAgpVersion is
|
// *The tests that follow need to be updated* when maxKnownAndSupportedAgpVersion is
|
||||||
// updated:
|
// updated:
|
||||||
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.5'),
|
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.2'),
|
||||||
JavaAgpTestData(true, javaVersion: '17', agpVersion: maxKnownAndSupportedAgpVersion),
|
JavaAgpTestData(true, javaVersion: '17', agpVersion: maxKnownAndSupportedAgpVersion),
|
||||||
JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.3'),
|
|
||||||
JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.1'),
|
JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.1'),
|
||||||
JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.0'),
|
JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.0'),
|
||||||
JavaAgpTestData(true, javaVersion: '17', agpVersion: '7.4'),
|
JavaAgpTestData(true, javaVersion: '17', agpVersion: '7.4'),
|
||||||
JavaAgpTestData(false, javaVersion: '17.0.3', agpVersion: '8.5'),
|
JavaAgpTestData(false, javaVersion: '17.0.3', agpVersion: '8.2'),
|
||||||
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: maxKnownAndSupportedAgpVersion),
|
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: maxKnownAndSupportedAgpVersion),
|
||||||
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.3'),
|
|
||||||
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.1'),
|
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.1'),
|
||||||
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.0'),
|
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.0'),
|
||||||
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '7.4'),
|
JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '7.4'),
|
||||||
@ -1032,41 +1030,11 @@ allprojects {
|
|||||||
// Maximum known Java version.
|
// Maximum known Java version.
|
||||||
// *The test case that follows needs to be updated* when higher versions of Java are supported:
|
// *The test case that follows needs to be updated* when higher versions of Java are supported:
|
||||||
expect(
|
expect(
|
||||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '23'),
|
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20'),
|
||||||
allOf(
|
allOf(
|
||||||
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '23.0.2')),
|
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20.0.2')),
|
||||||
isNull));
|
isNull));
|
||||||
// Known supported Java versions.
|
// Known supported Java versions.
|
||||||
expect(
|
|
||||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '22'),
|
|
||||||
allOf(
|
|
||||||
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '22.0.2')),
|
|
||||||
equals(
|
|
||||||
const JavaGradleCompat(
|
|
||||||
javaMin: '22',
|
|
||||||
javaMax: '23',
|
|
||||||
gradleMin: '8.7',
|
|
||||||
gradleMax: maxKnownAndSupportedGradleVersion))));
|
|
||||||
expect(
|
|
||||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '21'),
|
|
||||||
allOf(
|
|
||||||
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '21.0.2')),
|
|
||||||
equals(
|
|
||||||
const JavaGradleCompat(
|
|
||||||
javaMin: '21',
|
|
||||||
javaMax: '22',
|
|
||||||
gradleMin: '8.4',
|
|
||||||
gradleMax: maxKnownAndSupportedGradleVersion))));
|
|
||||||
expect(
|
|
||||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20'),
|
|
||||||
allOf(
|
|
||||||
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20.0.2')),
|
|
||||||
equals(
|
|
||||||
const JavaGradleCompat(
|
|
||||||
javaMin: '20',
|
|
||||||
javaMax: '21',
|
|
||||||
gradleMin: '8.1',
|
|
||||||
gradleMax: maxKnownAndSupportedGradleVersion))));
|
|
||||||
expect(
|
expect(
|
||||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '19'),
|
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '19'),
|
||||||
allOf(
|
allOf(
|
||||||
@ -1207,7 +1175,7 @@ allprojects {
|
|||||||
javaMin: '17',
|
javaMin: '17',
|
||||||
javaDefault: '17',
|
javaDefault: '17',
|
||||||
agpMin: '8.0',
|
agpMin: '8.0',
|
||||||
agpMax: maxKnownAndSupportedAgpVersion)));
|
agpMax: '8.1')));
|
||||||
// Known Java versions.
|
// Known Java versions.
|
||||||
expect(
|
expect(
|
||||||
getMinimumAgpVersionForJavaVersion(testLogger, javaV: '17'),
|
getMinimumAgpVersionForJavaVersion(testLogger, javaV: '17'),
|
||||||
@ -1218,7 +1186,7 @@ allprojects {
|
|||||||
javaMin: '17',
|
javaMin: '17',
|
||||||
javaDefault: '17',
|
javaDefault: '17',
|
||||||
agpMin: '8.0',
|
agpMin: '8.0',
|
||||||
agpMax: maxKnownAndSupportedAgpVersion))));
|
agpMax: '8.1'))));
|
||||||
expect(
|
expect(
|
||||||
getMinimumAgpVersionForJavaVersion(testLogger, javaV: '15'),
|
getMinimumAgpVersionForJavaVersion(testLogger, javaV: '15'),
|
||||||
allOf(
|
allOf(
|
||||||
@ -1274,13 +1242,13 @@ allprojects {
|
|||||||
expect(getJavaVersionFor(gradleV: '1.9', agpV: '4.2'), equals(const VersionRange('1.8', null)));
|
expect(getJavaVersionFor(gradleV: '1.9', agpV: '4.2'), equals(const VersionRange('1.8', null)));
|
||||||
expect(getJavaVersionFor(gradleV: '2.0', agpV: '4.1'), equals(const VersionRange(null, '1.9')));
|
expect(getJavaVersionFor(gradleV: '2.0', agpV: '4.1'), equals(const VersionRange(null, '1.9')));
|
||||||
// Strictly too new Gradle and AGP versions.
|
// Strictly too new Gradle and AGP versions.
|
||||||
expect(getJavaVersionFor(gradleV: '8.8', agpV: '8.6'), equals(const VersionRange(null, null)));
|
expect(getJavaVersionFor(gradleV: '8.1', agpV: '8.2'), equals(const VersionRange(null, null)));
|
||||||
// Strictly too new Gradle version and maximum version of AGP.
|
// Strictly too new Gradle version and maximum version of AGP.
|
||||||
//*This test case will need its expected Java range updated when a new version of AGP is supported.*
|
//*This test case will need its expected Java range updated when a new version of AGP is supported.*
|
||||||
expect(getJavaVersionFor(gradleV: '8.8', agpV: maxKnownAndSupportedAgpVersion), equals(const VersionRange('17', null)));
|
expect(getJavaVersionFor(gradleV: '8.1', agpV: maxKnownAndSupportedAgpVersion), equals(const VersionRange('17', null)));
|
||||||
// Strictly too new AGP version and maximum version of Gradle.
|
// Strictly too new AGP version and maximum version of Gradle.
|
||||||
//*This test case will need its expected Java range updated when a new version of Gradle is supported.*
|
//*This test case will need its expected Java range updated when a new version of Gradle is supported.*
|
||||||
expect(getJavaVersionFor(gradleV: maxKnownAndSupportedGradleVersion, agpV: '8.6'), equals(const VersionRange(null, '23')));
|
expect(getJavaVersionFor(gradleV: maxKnownAndSupportedGradleVersion, agpV: '8.2'), equals(const VersionRange(null, '20')));
|
||||||
// Tests with a known compatible Gradle/AGP version pair.
|
// Tests with a known compatible Gradle/AGP version pair.
|
||||||
expect(getJavaVersionFor(gradleV: '7.0', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
expect(getJavaVersionFor(gradleV: '7.0', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
||||||
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
||||||
@ -1288,8 +1256,6 @@ allprojects {
|
|||||||
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.0'), equals(const VersionRange('11', '17')));
|
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.0'), equals(const VersionRange('11', '17')));
|
||||||
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
||||||
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.4'), equals(const VersionRange('11', '17')));
|
expect(getJavaVersionFor(gradleV: '7.1', agpV: '7.4'), equals(const VersionRange('11', '17')));
|
||||||
expect(getJavaVersionFor(gradleV: '8.4', agpV: '8.1'), equals(const VersionRange('17', '22')));
|
|
||||||
expect(getJavaVersionFor(gradleV: '8.7', agpV: '8.1'), equals(const VersionRange('17', '23')));
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user