Reland "Upgrade template Gradle, App AGP, Module AGP, and Kotlin versions, and tests"... but no longer upgrade module AGP version (#151433)
Relands https://github.com/flutter/flutter/pull/150969, but removes the upgrade to the module AGP version.
The reason is that a more complicated change is required because in AGP 8.0 software components are no longer generated by default, but rather only generated for variants that are configured to be published using the publishing DSL (see the `android.disableAutomaticComponentCreation` section of https://developer.android.com/build/releases/past-releases/agp-8-0-0-release-notes).
That broke our aar initialization script, because the components didn't exist so the `aar` tasks never got [created here](9ff9c67272/packages/flutter_tools/gradle/aar_init_script.gradle (L29)
).
Verified that the one postsubmit that failed now passes (`android_obfuscate_test`)
This commit is contained in:
parent
b0cbfc66ec
commit
bb637f3128
28
.ci.yaml
28
.ci.yaml
@ -1155,7 +1155,7 @@ targets:
|
||||
{"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:17"}
|
||||
]
|
||||
shard: android_preview_tool_integration_tests
|
||||
tags: >
|
||||
@ -1167,6 +1167,32 @@ targets:
|
||||
- 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"}
|
||||
]
|
||||
shard: android_java11_tool_integration_tests
|
||||
tags: >
|
||||
["framework", "hostonly", "shard", "linux"]
|
||||
test_timeout_secs: "2700"
|
||||
runIf:
|
||||
- dev/**
|
||||
- packages/flutter_tools/**
|
||||
- bin/**
|
||||
- .ci.yaml
|
||||
|
||||
- name: Linux tool_tests_commands
|
||||
recipe: flutter/flutter_drone
|
||||
timeout: 60
|
||||
|
@ -333,6 +333,8 @@
|
||||
# test_ownership @keyonghan
|
||||
# tool_host_cross_arch_tests @andrewkolos @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
|
||||
# verify_binaries_codesigned @cbracken @flutter/releases
|
||||
# web_canvaskit_tests @yjbanov @flutter/web
|
||||
|
@ -0,0 +1,25 @@
|
||||
// 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,6 +59,7 @@ import 'package:path/path.dart' as path;
|
||||
import 'run_command.dart';
|
||||
import 'suite_runners/run_add_to_app_life_cycle_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_customer_testing_tests.dart';
|
||||
import 'suite_runners/run_docs_tests.dart';
|
||||
@ -131,6 +132,7 @@ Future<void> main(List<String> args) async {
|
||||
'web_tool_tests': _runWebToolTests,
|
||||
'tool_integration_tests': _runIntegrationToolTests,
|
||||
'android_preview_tool_integration_tests': androidPreviewIntegrationToolTestsRunner,
|
||||
'android_java11_tool_integration_tests': androidJava11IntegrationToolTestsRunner,
|
||||
'tool_host_cross_arch_tests': _runToolHostCrossArchTests,
|
||||
// All the unit/widget tests run using `flutter test --platform=chrome --web-renderer=html`
|
||||
'web_tests': webTestsSuite.runWebHtmlUnitTests,
|
||||
|
@ -26,10 +26,10 @@ import 'android_sdk.dart';
|
||||
// However, this currently requires to migrate existing integration tests to the latest supported values.
|
||||
//
|
||||
// Please see the README before changing any of these values.
|
||||
const String templateDefaultGradleVersion = '7.6.3';
|
||||
const String templateAndroidGradlePluginVersion = '7.3.0';
|
||||
const String templateDefaultGradleVersion = '8.3';
|
||||
const String templateAndroidGradlePluginVersion = '8.1.0';
|
||||
const String templateAndroidGradlePluginVersionForModule = '7.3.0';
|
||||
const String templateKotlinGradlePluginVersion = '1.7.10';
|
||||
const String templateKotlinGradlePluginVersion = '1.8.22';
|
||||
|
||||
// The Flutter Gradle Plugin is only applied to app projects, and modules that
|
||||
// are built from source using (`include_flutter.groovy`). The remaining
|
||||
@ -47,24 +47,24 @@ const String ndkVersion = '23.1.7779620';
|
||||
// Update these when new major versions of Java are supported by new Gradle
|
||||
// versions that we support.
|
||||
// Source of truth: https://docs.gradle.org/current/userguide/compatibility.html
|
||||
const String oneMajorVersionHigherJavaVersion = '20';
|
||||
const String oneMajorVersionHigherJavaVersion = '23';
|
||||
|
||||
// Update this when new versions of Gradle come out including minor versions
|
||||
// and should correspond to the maximum Gradle version we test in CI.
|
||||
//
|
||||
// Supported here means supported by the tooling for
|
||||
// flutter analyze --suggestions and does not imply broader flutter support.
|
||||
const String maxKnownAndSupportedGradleVersion = '8.0.2';
|
||||
const String maxKnownAndSupportedGradleVersion = '8.7';
|
||||
|
||||
// Update this when new versions of AGP come out.
|
||||
//
|
||||
// Supported here means tooling is aware of this version's Java <-> AGP
|
||||
// compatibility.
|
||||
@visibleForTesting
|
||||
const String maxKnownAndSupportedAgpVersion = '8.1';
|
||||
const String maxKnownAndSupportedAgpVersion = '8.4.0';
|
||||
|
||||
// Update this when new versions of AGP come out.
|
||||
const String maxKnownAgpVersion = '8.3';
|
||||
const String maxKnownAgpVersion = '8.5';
|
||||
|
||||
// Oldest documented version of AGP that has a listed minimum
|
||||
// compatible Java version.
|
||||
@ -439,6 +439,22 @@ bool validateGradleAndAgp(Logger logger,
|
||||
}
|
||||
|
||||
// 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.
|
||||
if (isWithinVersionRange(agpV, min: '7.4', max: '7.5')) {
|
||||
return isWithinVersionRange(gradleV,
|
||||
@ -692,7 +708,13 @@ String getGradleVersionFor(String androidPluginVersion) {
|
||||
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.*
|
||||
GradleForAgp(agpMin: '7.0.0', agpMax: '7.5', minRequiredGradle: '7.5'),
|
||||
GradleForAgp(agpMin: '7.5.0', agpMax: '100.100', minRequiredGradle: '8.0'),
|
||||
// Use 0 and 99 as a patch values to signify every AGP patch version with
|
||||
// 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
|
||||
// version we know about.
|
||||
GradleForAgp(agpMin: maxKnownAgpVersion, agpMax: maxKnownAgpVersion, minRequiredGradle: maxKnownAndSupportedGradleVersion),
|
||||
@ -882,6 +904,24 @@ String getGradlewFileName(Platform platform) {
|
||||
/// of Gradle, as https://docs.gradle.org/current/userguide/compatibility.html
|
||||
/// details.
|
||||
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(
|
||||
javaMin: '19',
|
||||
javaMax: '20',
|
||||
|
@ -3759,7 +3759,7 @@ void main() {
|
||||
logger.clear();
|
||||
}
|
||||
}, overrides: <Type, Generator>{
|
||||
Java: () => FakeJava(version: const software.Version.withText(14, 0, 0, '14.0.0')), // Middle compatible Java version with current template AGP/Gradle versions.
|
||||
Java: () => FakeJava(version: const software.Version.withText(20, 0, 0, '20.0.0')), // Middle compatible Java version with current template AGP/Gradle versions.
|
||||
Logger: () => logger,
|
||||
});
|
||||
|
||||
@ -3786,7 +3786,7 @@ void main() {
|
||||
logger.clear();
|
||||
}
|
||||
}, overrides: <Type, Generator>{
|
||||
Java: () => FakeJava(version: const software.Version.withText(17, 0, 0, '18.0.0')), // Maximum compatible Java version with current template AGP/Gradle versions.
|
||||
Java: () => FakeJava(version: const software.Version.withText(17, 0, 0, '22.0.0')), // Maximum compatible Java version with current template AGP/Gradle versions.
|
||||
Logger: () => logger,
|
||||
});
|
||||
|
||||
@ -3813,7 +3813,7 @@ void main() {
|
||||
logger.clear();
|
||||
}
|
||||
}, overrides: <Type, Generator>{
|
||||
Java: () => FakeJava(version: const software.Version.withText(11, 0, 0, '11.0.0')), // Minimum compatible Java version with current template AGP/Gradle versions.
|
||||
Java: () => FakeJava(version: const software.Version.withText(17, 0, 0, '17.0.0')), // Minimum compatible Java version with current template AGP/Gradle versions.
|
||||
Logger: () => logger,
|
||||
});
|
||||
|
||||
|
@ -913,10 +913,10 @@ A problem occurred evaluating project ':app'.
|
||||
'│ To fix this issue, replace the following content: │\n'
|
||||
'│ /android/build.gradle: │\n'
|
||||
"│ - classpath 'com.android.tools.build:gradle:<current-version>' │\n"
|
||||
"│ + classpath 'com.android.tools.build:gradle:7.3.0' │\n"
|
||||
"│ + classpath 'com.android.tools.build:gradle:$templateAndroidGradlePluginVersion' │\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-7.6.3-all.zip │\n'
|
||||
'│ + https://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip │\n'
|
||||
'└──────────────────────────────────────────────────────────────────────────────────┘\n'
|
||||
)
|
||||
);
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
import 'package:file/memory.dart';
|
||||
import 'package:flutter_tools/src/android/gradle.dart';
|
||||
import 'package:flutter_tools/src/android/gradle_utils.dart' as gradle_utils;
|
||||
import 'package:flutter_tools/src/base/file_system.dart';
|
||||
import 'package:flutter_tools/src/base/logger.dart';
|
||||
import 'package:flutter_tools/src/build_info.dart';
|
||||
@ -530,7 +531,7 @@ void main() {
|
||||
Event.flutterBuildInfo(
|
||||
label: 'gradle-expected-file-not-found',
|
||||
buildType: 'gradle',
|
||||
settings: 'androidGradlePluginVersion: 7.6.3, fileExtension: .aab',
|
||||
settings: 'androidGradlePluginVersion: ${gradle_utils.templateDefaultGradleVersion}, fileExtension: .aab',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
@ -546,9 +546,9 @@ flutter:
|
||||
});
|
||||
});
|
||||
|
||||
group('gradgradle_utils.le version', () {
|
||||
group('gradle version', () {
|
||||
testWithoutContext('should be compatible with the Android plugin version', () {
|
||||
// Grangradle_utils.ular versions.
|
||||
// Granular versions.
|
||||
expect(gradle_utils.getGradleVersionFor('1.0.0'), '2.3');
|
||||
expect(gradle_utils.getGradleVersionFor('1.0.1'), '2.3');
|
||||
expect(gradle_utils.getGradleVersionFor('1.0.2'), '2.3');
|
||||
@ -558,7 +558,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.3'), '2.3');
|
||||
// Versgradle_utils.ion Ranges.
|
||||
// Version Ranges.
|
||||
expect(gradle_utils.getGradleVersionFor('1.2.0'), '2.9');
|
||||
expect(gradle_utils.getGradleVersionFor('1.3.1'), '2.9');
|
||||
|
||||
@ -592,7 +592,11 @@ flutter:
|
||||
expect(gradle_utils.getGradleVersionFor('7.1.2'), '7.5');
|
||||
expect(gradle_utils.getGradleVersionFor('7.2'), '7.5');
|
||||
expect(gradle_utils.getGradleVersionFor('8.0'), '8.0');
|
||||
expect(gradle_utils.getGradleVersionFor(gradle_utils.maxKnownAgpVersion), '8.0');
|
||||
expect(gradle_utils.getGradleVersionFor('8.1'), '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', () {
|
||||
|
@ -82,7 +82,7 @@ void main() {
|
||||
'distributionPath=wrapper/dists\n'
|
||||
'zipStoreBase=GRADLE_USER_HOME\n'
|
||||
'zipStorePath=wrapper/dists\n'
|
||||
'distributionUrl=https\\://services.gradle.org/distributions/gradle-7.6.3-all.zip\n');
|
||||
'distributionUrl=https\\://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip\n');
|
||||
});
|
||||
|
||||
testWithoutContext('injects the wrapper when some files are missing', () {
|
||||
@ -127,7 +127,7 @@ void main() {
|
||||
'distributionPath=wrapper/dists\n'
|
||||
'zipStoreBase=GRADLE_USER_HOME\n'
|
||||
'zipStorePath=wrapper/dists\n'
|
||||
'distributionUrl=https\\://services.gradle.org/distributions/gradle-7.6.3-all.zip\n');
|
||||
'distributionUrl=https\\://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip\n');
|
||||
});
|
||||
|
||||
testWithoutContext(
|
||||
@ -967,19 +967,22 @@ allprojects {
|
||||
JavaAgpTestData(true, javaVersion: '18', agpVersion: '4.2'),
|
||||
// Strictly too new AGP versions.
|
||||
// *The tests that follow need to be updated* when max supported AGP versions are updated:
|
||||
JavaAgpTestData(false, javaVersion: '24', agpVersion: '8.3'),
|
||||
JavaAgpTestData(false, javaVersion: '20', agpVersion: '8.3'),
|
||||
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.3'),
|
||||
JavaAgpTestData(false, javaVersion: '24', agpVersion: '8.5'),
|
||||
JavaAgpTestData(false, javaVersion: '20', agpVersion: '8.5'),
|
||||
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.5'),
|
||||
// Java 17 & patch versions compatibility cases
|
||||
// *The tests that follow need to be updated* when maxKnownAndSupportedAgpVersion is
|
||||
// updated:
|
||||
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.2'),
|
||||
JavaAgpTestData(false, javaVersion: '17', agpVersion: '8.5'),
|
||||
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.0'),
|
||||
JavaAgpTestData(true, javaVersion: '17', agpVersion: '7.4'),
|
||||
JavaAgpTestData(false, javaVersion: '17.0.3', agpVersion: '8.2'),
|
||||
JavaAgpTestData(false, javaVersion: '17.0.3', agpVersion: '8.5'),
|
||||
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.2'),
|
||||
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: '7.4'),
|
||||
@ -1030,11 +1033,41 @@ allprojects {
|
||||
// Maximum known Java version.
|
||||
// *The test case that follows needs to be updated* when higher versions of Java are supported:
|
||||
expect(
|
||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20'),
|
||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '23'),
|
||||
allOf(
|
||||
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20.0.2')),
|
||||
equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '23.0.2')),
|
||||
isNull));
|
||||
// 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(
|
||||
getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '19'),
|
||||
allOf(
|
||||
@ -1175,7 +1208,7 @@ allprojects {
|
||||
javaMin: '17',
|
||||
javaDefault: '17',
|
||||
agpMin: '8.0',
|
||||
agpMax: '8.1')));
|
||||
agpMax: maxKnownAndSupportedAgpVersion)));
|
||||
// Known Java versions.
|
||||
expect(
|
||||
getMinimumAgpVersionForJavaVersion(testLogger, javaV: '17'),
|
||||
@ -1186,7 +1219,7 @@ allprojects {
|
||||
javaMin: '17',
|
||||
javaDefault: '17',
|
||||
agpMin: '8.0',
|
||||
agpMax: '8.1'))));
|
||||
agpMax: maxKnownAndSupportedAgpVersion))));
|
||||
expect(
|
||||
getMinimumAgpVersionForJavaVersion(testLogger, javaV: '15'),
|
||||
allOf(
|
||||
@ -1242,13 +1275,13 @@ allprojects {
|
||||
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')));
|
||||
// Strictly too new Gradle and AGP versions.
|
||||
expect(getJavaVersionFor(gradleV: '8.1', agpV: '8.2'), equals(const VersionRange(null, null)));
|
||||
expect(getJavaVersionFor(gradleV: '8.8', agpV: '8.6'), equals(const VersionRange(null, null)));
|
||||
// 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.*
|
||||
expect(getJavaVersionFor(gradleV: '8.1', agpV: maxKnownAndSupportedAgpVersion), equals(const VersionRange('17', null)));
|
||||
expect(getJavaVersionFor(gradleV: '8.8', agpV: maxKnownAndSupportedAgpVersion), equals(const VersionRange('17', null)));
|
||||
// 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.*
|
||||
expect(getJavaVersionFor(gradleV: maxKnownAndSupportedGradleVersion, agpV: '8.2'), equals(const VersionRange(null, '20')));
|
||||
expect(getJavaVersionFor(gradleV: maxKnownAndSupportedGradleVersion, agpV: '8.6'), equals(const VersionRange(null, '23')));
|
||||
// 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.1', agpV: '7.2'), equals(const VersionRange('11', '17')));
|
||||
@ -1256,6 +1289,8 @@ allprojects {
|
||||
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.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