fix: fix BuildableMacOSApp pass no projectBundleId to super error (#87264)

This commit is contained in:
嘟囔 2021-08-07 05:30:07 +08:00 committed by GitHub
parent bd04a22bbd
commit bffa11e2b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -24,7 +24,8 @@ abstract class MacOSApp extends ApplicationPackage {
/// Creates a new [MacOSApp] from a macOS project directory.
factory MacOSApp.fromMacOSProject(MacOSProject project) {
return BuildableMacOSApp(project);
// projectBundleId is unused for macOS apps. Use a placeholder bundle ID.
return BuildableMacOSApp(project, 'com.example.placeholder');
}
/// Creates a new [MacOSApp] from an existing app bundle.
@ -139,7 +140,7 @@ class PrebuiltMacOSApp extends MacOSApp {
}
class BuildableMacOSApp extends MacOSApp {
BuildableMacOSApp(this.project);
BuildableMacOSApp(this.project, String projectBundleId): super(projectBundleId: projectBundleId);
final MacOSProject project;

View File

@ -12,8 +12,10 @@ import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/os.dart';
import 'package:flutter_tools/src/base/utils.dart';
import 'package:flutter_tools/src/globals_null_migrated.dart' as globals;
import 'package:flutter_tools/src/ios/plist_parser.dart';
import 'package:flutter_tools/src/macos/application_package.dart';
import 'package:flutter_tools/src/project.dart';
import 'package:test/fake.dart';
import '../../src/common.dart';
@ -154,6 +156,14 @@ group('PrebuiltMacOSApp', () {
expect(macosApp.id, 'fooBundleId');
expect(macosApp.bundleName, endsWith('bundle.app'));
}, overrides: overrides);
testUsingContext('Success with project', () {
final MacOSApp macosApp = MacOSApp.fromMacOSProject(FlutterProject.fromDirectory(globals.fs.currentDirectory).macos);
expect(logger.errorText, isEmpty);
expect(macosApp.id, 'com.example.placeholder');
expect(macosApp.name, 'macOS');
}, overrides: overrides);
});
}