Do not show v1 Android embedding message for non-Android commands (#96148)
This commit is contained in:
parent
500a3324a4
commit
0287449c14
@ -552,9 +552,16 @@ class AndroidProject extends FlutterProjectPlatform {
|
||||
}
|
||||
|
||||
void checkForDeprecation({DeprecationBehavior deprecationBehavior = DeprecationBehavior.none}) {
|
||||
if (deprecationBehavior == DeprecationBehavior.none) {
|
||||
return;
|
||||
}
|
||||
|
||||
final AndroidEmbeddingVersionResult result = computeEmbeddingVersion();
|
||||
if (result.version == AndroidEmbeddingVersion.v1) {
|
||||
globals.printStatus(
|
||||
if (result.version != AndroidEmbeddingVersion.v1) {
|
||||
return;
|
||||
}
|
||||
|
||||
globals.printStatus(
|
||||
'''
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
Warning
|
||||
@ -573,21 +580,15 @@ The detected reason was:
|
||||
|
||||
${result.reason}
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
'''
|
||||
);
|
||||
switch (deprecationBehavior) {
|
||||
case DeprecationBehavior.none:
|
||||
break;
|
||||
case DeprecationBehavior.ignore:
|
||||
BuildEvent('deprecated-v1-android-embedding-ignored', type: 'gradle', flutterUsage: globals.flutterUsage).send();
|
||||
break;
|
||||
case DeprecationBehavior.exit:
|
||||
BuildEvent('deprecated-v1-android-embedding-failed', type: 'gradle', flutterUsage: globals.flutterUsage).send();
|
||||
throwToolExit(
|
||||
'Build failed due to use of deprecated Android v1 embedding.',
|
||||
exitCode: 1,
|
||||
);
|
||||
}
|
||||
''');
|
||||
if (deprecationBehavior == DeprecationBehavior.ignore) {
|
||||
BuildEvent('deprecated-v1-android-embedding-ignored', type: 'gradle', flutterUsage: globals.flutterUsage).send();
|
||||
} else { // DeprecationBehavior.exit
|
||||
BuildEvent('deprecated-v1-android-embedding-failed', type: 'gradle', flutterUsage: globals.flutterUsage).send();
|
||||
throwToolExit(
|
||||
'Build failed due to use of deprecated Android v1 embedding.',
|
||||
exitCode: 1,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,7 +182,7 @@ void main() {
|
||||
// v1 embedding, as opposed to having <meta-data
|
||||
// android:name="flutterEmbedding" android:value="2" />.
|
||||
|
||||
project.checkForDeprecation(deprecationBehavior: DeprecationBehavior.none);
|
||||
project.checkForDeprecation(deprecationBehavior: DeprecationBehavior.ignore);
|
||||
expect(testLogger.statusText, contains('https://flutter.dev/go/android-project-migration'));
|
||||
});
|
||||
_testInMemory('Android project not on v2 embedding exits', () async {
|
||||
@ -198,6 +198,15 @@ void main() {
|
||||
expect(testLogger.statusText, contains('https://flutter.dev/go/android-project-migration'));
|
||||
expect(testLogger.statusText, contains('No `<meta-data android:name="flutterEmbedding" android:value="2"/>` in '));
|
||||
});
|
||||
_testInMemory('Project not on v2 embedding does not warn if deprecation status is irrelevant', () async {
|
||||
final FlutterProject project = await someProject();
|
||||
// The default someProject with an empty <manifest> already indicates
|
||||
// v1 embedding, as opposed to having <meta-data
|
||||
// android:name="flutterEmbedding" android:value="2" />.
|
||||
|
||||
project.checkForDeprecation(deprecationBehavior: DeprecationBehavior.none);
|
||||
expect(testLogger.statusText, isEmpty);
|
||||
});
|
||||
_testInMemory('Android project not on v2 embedding ignore continues', () async {
|
||||
final FlutterProject project = await someProject();
|
||||
// The default someProject with an empty <manifest> already indicates
|
||||
|
Loading…
x
Reference in New Issue
Block a user