Unverified Commit 5efc7169 authored by Zachary Anderson's avatar Zachary Anderson Committed by GitHub

Reverts "Implement dartPluginClass support for plugins #74469" (#78623)

* Revert "Enable dart_plugin_registry_test (#76645)"

This reverts commit 109e0bb9.

* Revert "Apply changes caused by https://github.com/flutter/flutter/pull/76662 (#77093)"

This reverts commit cdca6485.

* Revert "Disable clang format in the plugin registrants (#76662)"

This reverts commit dadbd47d.

* Revert "Disable warnings for the dart plugin registrant (#76561)"

This reverts commit 098ece52.

* Revert "Remove dart_plugin_registry_test timeouts (#76838)"

This reverts commit 1610a274.

* Revert "Implement dartPluginClass support for plugins (#74469)"

This reverts commit b7d48062.

Kick.
parent 46c99809
// 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:flutter_devicelab/tasks/dart_plugin_registry_tests.dart';
import 'package:flutter_devicelab/framework/framework.dart';
Future<void> main() async {
await task(dartPluginRegistryTest());
}
// 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:async';
import 'dart:convert';
import 'dart:io';
import 'package:path/path.dart' as path;
import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart';
TaskFunction dartPluginRegistryTest({
String deviceIdOverride,
Map<String, String> environment,
}) {
final Directory tempDir = Directory.systemTemp
.createTempSync('flutter_devicelab_dart_plugin_test.');
return () async {
try {
section('Create implementation plugin');
await inDirectory(tempDir, () async {
await flutter(
'create',
options: <String>[
'--template=plugin',
'--org',
'io.flutter.devicelab',
'--platforms',
'macos',
'plugin_platform_implementation',
],
environment: environment,
);
});
final File pluginMain = File(path.join(
tempDir.absolute.path,
'plugin_platform_implementation',
'lib',
'plugin_platform_implementation.dart',
));
if (!pluginMain.existsSync()) {
return TaskResult.failure('${pluginMain.path} does not exist');
}
// Patch plugin main dart file.
await pluginMain.writeAsString('''
class PluginPlatformInterfaceMacOS {
static void registerWith() {
print('PluginPlatformInterfaceMacOS.registerWith() was called');
}
}
''', flush: true);
// Patch plugin main pubspec file.
final File pluginImplPubspec = File(path.join(
tempDir.absolute.path,
'plugin_platform_implementation',
'pubspec.yaml',
));
String pluginImplPubspecContent = await pluginImplPubspec.readAsString();
pluginImplPubspecContent = pluginImplPubspecContent.replaceFirst(
' pluginClass: PluginPlatformImplementationPlugin',
' pluginClass: PluginPlatformImplementationPlugin\n'
' dartPluginClass: PluginPlatformInterfaceMacOS\n',
);
pluginImplPubspecContent = pluginImplPubspecContent.replaceFirst(
' platforms:\n',
' implements: plugin_platform_interface\n'
' platforms:\n');
await pluginImplPubspec.writeAsString(pluginImplPubspecContent,
flush: true);
section('Create interface plugin');
await inDirectory(tempDir, () async {
await flutter(
'create',
options: <String>[
'--template=plugin',
'--org',
'io.flutter.devicelab',
'--platforms',
'macos',
'plugin_platform_interface',
],
environment: environment,
);
});
final File pluginInterfacePubspec = File(path.join(
tempDir.absolute.path,
'plugin_platform_interface',
'pubspec.yaml',
));
String pluginInterfacePubspecContent =
await pluginInterfacePubspec.readAsString();
pluginInterfacePubspecContent =
pluginInterfacePubspecContent.replaceFirst(
' pluginClass: PluginPlatformInterfacePlugin',
' default_package: plugin_platform_implementation\n');
pluginInterfacePubspecContent =
pluginInterfacePubspecContent.replaceFirst(
'dependencies:',
'dependencies:\n'
' plugin_platform_implementation:\n'
' path: ../plugin_platform_implementation\n');
await pluginInterfacePubspec.writeAsString(pluginInterfacePubspecContent,
flush: true);
section('Create app');
await inDirectory(tempDir, () async {
await flutter(
'create',
options: <String>[
'--template=app',
'--org',
'io.flutter.devicelab',
'--platforms',
'macos',
'app',
],
environment: environment,
);
});
final File appPubspec = File(path.join(
tempDir.absolute.path,
'app',
'pubspec.yaml',
));
String appPubspecContent = await appPubspec.readAsString();
appPubspecContent = appPubspecContent.replaceFirst(
'dependencies:',
'dependencies:\n'
' plugin_platform_interface:\n'
' path: ../plugin_platform_interface\n');
await appPubspec.writeAsString(appPubspecContent, flush: true);
section('Flutter run for macos');
await inDirectory(path.join(tempDir.path, 'app'), () async {
final Process run = await startProcess(
path.join(flutterDirectory.path, 'bin', 'flutter'),
flutterCommandArgs('run', <String>['-d', 'macos', '-v']),
environment: null,
);
Completer<void> registryExecutedCompleter = Completer<void>();
final StreamSubscription<void> subscription = run.stdout
.transform<String>(utf8.decoder)
.transform<String>(const LineSplitter())
.listen((String line) {
if (line.contains(
'PluginPlatformInterfaceMacOS.registerWith() was called')) {
registryExecutedCompleter.complete();
}
print('stdout: $line');
});
section('Wait for registry execution');
await registryExecutedCompleter.future;
// Hot restart.
run.stdin.write('R');
registryExecutedCompleter = Completer<void>();
section('Wait for registry execution after hot restart');
await registryExecutedCompleter.future;
subscription.cancel();
run.kill();
});
return TaskResult.success(null);
} finally {
rmTree(tempDir);
}
};
}
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Generated file. Do not edit. // Generated file. Do not edit.
// //
// clang-format off
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <url_launcher_linux/url_launcher_plugin.h> #include <url_launcher_linux/url_launcher_plugin.h>
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Generated file. Do not edit. // Generated file. Do not edit.
// //
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_ #ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Generated file. Do not edit. // Generated file. Do not edit.
// //
// clang-format off
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <url_launcher_windows/url_launcher_plugin.h> #include <url_launcher_windows/url_launcher_plugin.h>
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Generated file. Do not edit. // Generated file. Do not edit.
// //
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_ #ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_
......
...@@ -904,7 +904,7 @@ ...@@ -904,7 +904,7 @@
"name": "Mac dart_plugin_registry_test", "name": "Mac dart_plugin_registry_test",
"repo": "flutter", "repo": "flutter",
"task_name": "dart_plugin_registry_test", "task_name": "dart_plugin_registry_test",
"flaky": false "flaky": true
}, },
{ {
"name": "Mac tool_tests_general", "name": "Mac tool_tests_general",
......
...@@ -536,7 +536,7 @@ ...@@ -536,7 +536,7 @@
"name": "Mac dart_plugin_registry_test", "name": "Mac dart_plugin_registry_test",
"repo": "flutter", "repo": "flutter",
"task_name": "dart_plugin_registry_test", "task_name": "dart_plugin_registry_test",
"enabled": true, "enabled": false,
"run_if": ["dev/**", "packages/flutter_tools/**", "bin/**"] "run_if": ["dev/**", "packages/flutter_tools/**", "bin/**"]
}, },
{ {
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Generated file. Do not edit. // Generated file. Do not edit.
// //
// clang-format off
#ifndef GeneratedPluginRegistrant_h #ifndef GeneratedPluginRegistrant_h
#define GeneratedPluginRegistrant_h #define GeneratedPluginRegistrant_h
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Generated file. Do not edit. // Generated file. Do not edit.
// //
// clang-format off
#import "GeneratedPluginRegistrant.h" #import "GeneratedPluginRegistrant.h"
@implementation GeneratedPluginRegistrant @implementation GeneratedPluginRegistrant
......
...@@ -331,7 +331,6 @@ class Environment { ...@@ -331,7 +331,6 @@ class Environment {
@required Artifacts artifacts, @required Artifacts artifacts,
@required ProcessManager processManager, @required ProcessManager processManager,
@required String engineVersion, @required String engineVersion,
@required bool generateDartPluginRegistry,
Directory buildDir, Directory buildDir,
Map<String, String> defines = const <String, String>{}, Map<String, String> defines = const <String, String>{},
Map<String, String> inputs = const <String, String>{}, Map<String, String> inputs = const <String, String>{},
...@@ -371,7 +370,6 @@ class Environment { ...@@ -371,7 +370,6 @@ class Environment {
processManager: processManager, processManager: processManager,
engineVersion: engineVersion, engineVersion: engineVersion,
inputs: inputs, inputs: inputs,
generateDartPluginRegistry: generateDartPluginRegistry,
); );
} }
...@@ -388,7 +386,6 @@ class Environment { ...@@ -388,7 +386,6 @@ class Environment {
Map<String, String> defines = const <String, String>{}, Map<String, String> defines = const <String, String>{},
Map<String, String> inputs = const <String, String>{}, Map<String, String> inputs = const <String, String>{},
String engineVersion, String engineVersion,
bool generateDartPluginRegistry = false,
@required FileSystem fileSystem, @required FileSystem fileSystem,
@required Logger logger, @required Logger logger,
@required Artifacts artifacts, @required Artifacts artifacts,
...@@ -407,7 +404,6 @@ class Environment { ...@@ -407,7 +404,6 @@ class Environment {
artifacts: artifacts, artifacts: artifacts,
processManager: processManager, processManager: processManager,
engineVersion: engineVersion, engineVersion: engineVersion,
generateDartPluginRegistry: generateDartPluginRegistry,
); );
} }
...@@ -425,7 +421,6 @@ class Environment { ...@@ -425,7 +421,6 @@ class Environment {
@required this.artifacts, @required this.artifacts,
@required this.engineVersion, @required this.engineVersion,
@required this.inputs, @required this.inputs,
@required this.generateDartPluginRegistry,
}); });
/// The [Source] value which is substituted with the path to [projectDir]. /// The [Source] value which is substituted with the path to [projectDir].
...@@ -503,11 +498,6 @@ class Environment { ...@@ -503,11 +498,6 @@ class Environment {
/// The version of the current engine, or `null` if built with a local engine. /// The version of the current engine, or `null` if built with a local engine.
final String engineVersion; final String engineVersion;
/// Whether to generate the Dart plugin registry.
/// When [true], the main entrypoint is wrapped and the wrapper becomes
/// the new entrypoint.
final bool generateDartPluginRegistry;
} }
/// The result information from the build system. /// The result information from the build system.
......
...@@ -286,8 +286,6 @@ class KernelSnapshot extends Target { ...@@ -286,8 +286,6 @@ class KernelSnapshot extends Target {
fileSystemScheme: fileSystemScheme, fileSystemScheme: fileSystemScheme,
dartDefines: decodeDartDefines(environment.defines, kDartDefines), dartDefines: decodeDartDefines(environment.defines, kDartDefines),
packageConfig: packageConfig, packageConfig: packageConfig,
buildDir: environment.buildDir,
generateDartPluginRegistry: environment.generateDartPluginRegistry,
); );
if (output == null || output.errorCount != 0) { if (output == null || output.errorCount != 0) {
throw Exception(); throw Exception();
......
...@@ -160,7 +160,6 @@ Future<void> buildWithAssemble({ ...@@ -160,7 +160,6 @@ Future<void> buildWithAssemble({
fileSystem: globals.fs, fileSystem: globals.fs,
logger: globals.logger, logger: globals.logger,
processManager: globals.processManager, processManager: globals.processManager,
generateDartPluginRegistry: true,
); );
final Target target = buildMode == BuildMode.debug final Target target = buildMode == BuildMode.debug
? const CopyFlutterBundle() ? const CopyFlutterBundle()
......
...@@ -241,8 +241,7 @@ class AssembleCommand extends FlutterCommand { ...@@ -241,8 +241,7 @@ class AssembleCommand extends FlutterCommand {
processManager: globals.processManager, processManager: globals.processManager,
engineVersion: globals.artifacts.isLocalEngine engineVersion: globals.artifacts.isLocalEngine
? null ? null
: globals.flutterVersion.engineRevision, : globals.flutterVersion.engineRevision
generateDartPluginRegistry: true,
); );
return result; return result;
} }
......
...@@ -385,7 +385,6 @@ end ...@@ -385,7 +385,6 @@ end
engineVersion: globals.artifacts.isLocalEngine engineVersion: globals.artifacts.isLocalEngine
? null ? null
: globals.flutterVersion.engineRevision, : globals.flutterVersion.engineRevision,
generateDartPluginRegistry: true,
); );
Target target; Target target;
// Always build debug for simulator. // Always build debug for simulator.
......
...@@ -119,7 +119,6 @@ class PackagesGetCommand extends FlutterCommand { ...@@ -119,7 +119,6 @@ class PackagesGetCommand extends FlutterCommand {
outputDir: globals.fs.directory(getBuildDirectory()), outputDir: globals.fs.directory(getBuildDirectory()),
processManager: globals.processManager, processManager: globals.processManager,
projectDir: flutterProject.directory, projectDir: flutterProject.directory,
generateDartPluginRegistry: true,
); );
await generateLocalizationsSyntheticPackage( await generateLocalizationsSyntheticPackage(
...@@ -325,7 +324,6 @@ class PackagesInteractiveGetCommand extends FlutterCommand { ...@@ -325,7 +324,6 @@ class PackagesInteractiveGetCommand extends FlutterCommand {
outputDir: globals.fs.directory(getBuildDirectory()), outputDir: globals.fs.directory(getBuildDirectory()),
processManager: globals.processManager, processManager: globals.processManager,
projectDir: flutterProject.directory, projectDir: flutterProject.directory,
generateDartPluginRegistry: true,
); );
await generateLocalizationsSyntheticPackage( await generateLocalizationsSyntheticPackage(
......
...@@ -20,8 +20,6 @@ import 'base/logger.dart'; ...@@ -20,8 +20,6 @@ import 'base/logger.dart';
import 'base/platform.dart'; import 'base/platform.dart';
import 'build_info.dart'; import 'build_info.dart';
import 'convert.dart'; import 'convert.dart';
import 'plugins.dart';
import 'project.dart';
/// The target model describes the set of core libraries that are available within /// The target model describes the set of core libraries that are available within
/// the SDK. /// the SDK.
...@@ -231,8 +229,6 @@ class KernelCompiler { ...@@ -231,8 +229,6 @@ class KernelCompiler {
String fileSystemScheme, String fileSystemScheme,
String initializeFromDill, String initializeFromDill,
String platformDill, String platformDill,
Directory buildDir,
bool generateDartPluginRegistry = false,
@required String packagesPath, @required String packagesPath,
@required BuildMode buildMode, @required BuildMode buildMode,
@required bool trackWidgetCreation, @required bool trackWidgetCreation,
...@@ -251,8 +247,7 @@ class KernelCompiler { ...@@ -251,8 +247,7 @@ class KernelCompiler {
throwToolExit('Unable to find Dart binary at $engineDartPath'); throwToolExit('Unable to find Dart binary at $engineDartPath');
} }
String mainUri; String mainUri;
final File mainFile = _fileSystem.file(mainPath); final Uri mainFileUri = _fileSystem.file(mainPath).uri;
final Uri mainFileUri = mainFile.uri;
if (packagesPath != null) { if (packagesPath != null) {
mainUri = packageConfig.toPackageUri(mainFileUri)?.toString(); mainUri = packageConfig.toPackageUri(mainFileUri)?.toString();
} }
...@@ -260,23 +255,6 @@ class KernelCompiler { ...@@ -260,23 +255,6 @@ class KernelCompiler {
if (outputFilePath != null && !_fileSystem.isFileSync(outputFilePath)) { if (outputFilePath != null && !_fileSystem.isFileSync(outputFilePath)) {
_fileSystem.file(outputFilePath).createSync(recursive: true); _fileSystem.file(outputFilePath).createSync(recursive: true);
} }
if (buildDir != null && generateDartPluginRegistry) {
// `generated_main.dart` is under `.dart_tools/flutter_build/`,
// so the resident compiler can find it.
final File newMainDart = buildDir.parent.childFile('generated_main.dart');
if (await generateMainDartWithPluginRegistrant(
FlutterProject.current(),
packageConfig,
mainUri,
newMainDart,
mainFile,
// TODO(egarciad): Turn this on when the plugins are fixed.
throwOnPluginPubspecError: false,
)) {
mainUri = newMainDart.path;
}
}
final List<String> command = <String>[ final List<String> command = <String>[
engineDartPath, engineDartPath,
'--disable-dart-dev', '--disable-dart-dev',
...@@ -623,6 +601,7 @@ class DefaultResidentCompiler implements ResidentCompiler { ...@@ -623,6 +601,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
if (!_controller.hasListener) { if (!_controller.hasListener) {
_controller.stream.listen(_handleCompilationRequest); _controller.stream.listen(_handleCompilationRequest);
} }
final Completer<CompilerOutput> completer = Completer<CompilerOutput>(); final Completer<CompilerOutput> completer = Completer<CompilerOutput>();
_controller.add( _controller.add(
_RecompileRequest(completer, mainUri, invalidatedFiles, outputPath, packageConfig, suppressErrors) _RecompileRequest(completer, mainUri, invalidatedFiles, outputPath, packageConfig, suppressErrors)
......
...@@ -518,20 +518,6 @@ class DevFS { ...@@ -518,20 +518,6 @@ class DevFS {
// dill files that depend on the invalidated files. // dill files that depend on the invalidated files.
_logger.printTrace('Compiling dart to kernel with ${invalidatedFiles.length} updated files'); _logger.printTrace('Compiling dart to kernel with ${invalidatedFiles.length} updated files');
// `generated_main.dart` contains the Dart plugin registry.
if (projectRootPath != null) {
final File generatedMainDart = _fileSystem.file(
_fileSystem.path.join(
projectRootPath,
'.dart_tool',
'flutter_build',
'generated_main.dart',
),
);
if (generatedMainDart != null && generatedMainDart.existsSync()) {
mainUri = generatedMainDart.uri;
}
}
// Await the compiler response after checking if the bundle is updated. This allows the file // Await the compiler response after checking if the bundle is updated. This allows the file
// stating to be done while waiting for the frontend_server response. // stating to be done while waiting for the frontend_server response.
final Future<CompilerOutput> pendingCompilerOutput = generator.recompile( final Future<CompilerOutput> pendingCompilerOutput = generator.recompile(
......
...@@ -86,13 +86,6 @@ class FlutterManifest { ...@@ -86,13 +86,6 @@ class FlutterManifest {
/// The string value of the top-level `name` property in the `pubspec.yaml` file. /// The string value of the top-level `name` property in the `pubspec.yaml` file.
String get appName => _descriptor['name'] as String ?? ''; String get appName => _descriptor['name'] as String ?? '';
/// Contains the name of the dependencies.
/// These are the keys specified in the `dependency` map.
Set<String> get dependencies {
final YamlMap dependencies = _descriptor['dependencies'] as YamlMap;
return dependencies != null ? <String>{...dependencies.keys.cast<String>()} : <String>{};
}
// Flag to avoid printing multiple invalid version messages. // Flag to avoid printing multiple invalid version messages.
bool _hasShowInvalidVersionMsg = false; bool _hasShowInvalidVersionMsg = false;
......
...@@ -16,9 +16,6 @@ const String kPluginClass = 'pluginClass'; ...@@ -16,9 +16,6 @@ const String kPluginClass = 'pluginClass';
/// Constant for 'pluginClass' key in plugin maps. /// Constant for 'pluginClass' key in plugin maps.
const String kDartPluginClass = 'dartPluginClass'; const String kDartPluginClass = 'dartPluginClass';
// Constant for 'defaultPackage' key in plugin maps.
const String kDefaultPackage = 'default_package';
/// Marker interface for all platform specific plugin config implementations. /// Marker interface for all platform specific plugin config implementations.
abstract class PluginPlatform { abstract class PluginPlatform {
const PluginPlatform(); const PluginPlatform();
...@@ -210,7 +207,6 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -210,7 +207,6 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin {
@required this.name, @required this.name,
this.pluginClass, this.pluginClass,
this.dartPluginClass, this.dartPluginClass,
this.defaultPackage,
}); });
factory MacOSPlugin.fromYaml(String name, YamlMap yaml) { factory MacOSPlugin.fromYaml(String name, YamlMap yaml) {
...@@ -224,7 +220,6 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -224,7 +220,6 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin {
name: name, name: name,
pluginClass: pluginClass, pluginClass: pluginClass,
dartPluginClass: yaml[kDartPluginClass] as String, dartPluginClass: yaml[kDartPluginClass] as String,
defaultPackage: yaml[kDefaultPackage] as String,
); );
} }
...@@ -232,9 +227,7 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -232,9 +227,7 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin {
if (yaml == null) { if (yaml == null) {
return false; return false;
} }
return yaml[kPluginClass] is String || return yaml[kPluginClass] is String || yaml[kDartPluginClass] is String;
yaml[kDartPluginClass] is String ||
yaml[kDefaultPackage] is String;
} }
static const String kConfigKey = 'macos'; static const String kConfigKey = 'macos';
...@@ -242,7 +235,6 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -242,7 +235,6 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin {
final String name; final String name;
final String pluginClass; final String pluginClass;
final String dartPluginClass; final String dartPluginClass;
final String defaultPackage;
@override @override
bool isNative() => pluginClass != null; bool isNative() => pluginClass != null;
...@@ -252,8 +244,7 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -252,8 +244,7 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin {
return <String, dynamic>{ return <String, dynamic>{
'name': name, 'name': name,
if (pluginClass != null) 'class': pluginClass, if (pluginClass != null) 'class': pluginClass,
if (dartPluginClass != null) kDartPluginClass : dartPluginClass, if (dartPluginClass != null) 'dartPluginClass': dartPluginClass,
if (defaultPackage != null) kDefaultPackage : defaultPackage,
}; };
} }
} }
...@@ -267,8 +258,7 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{ ...@@ -267,8 +258,7 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{
@required this.name, @required this.name,
this.pluginClass, this.pluginClass,
this.dartPluginClass, this.dartPluginClass,
this.defaultPackage, }) : assert(pluginClass != null || dartPluginClass != null);
}) : assert(pluginClass != null || dartPluginClass != null || defaultPackage != null);
factory WindowsPlugin.fromYaml(String name, YamlMap yaml) { factory WindowsPlugin.fromYaml(String name, YamlMap yaml) {
assert(validate(yaml)); assert(validate(yaml));
...@@ -281,7 +271,6 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{ ...@@ -281,7 +271,6 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{
name: name, name: name,
pluginClass: pluginClass, pluginClass: pluginClass,
dartPluginClass: yaml[kDartPluginClass] as String, dartPluginClass: yaml[kDartPluginClass] as String,
defaultPackage: yaml[kDefaultPackage] as String,
); );
} }
...@@ -289,9 +278,7 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{ ...@@ -289,9 +278,7 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{
if (yaml == null) { if (yaml == null) {
return false; return false;
} }
return yaml[kPluginClass] is String || return yaml[kDartPluginClass] is String || yaml[kPluginClass] is String;
yaml[kDartPluginClass] is String ||
yaml[kDefaultPackage] is String;
} }
static const String kConfigKey = 'windows'; static const String kConfigKey = 'windows';
...@@ -299,7 +286,6 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{ ...@@ -299,7 +286,6 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{
final String name; final String name;
final String pluginClass; final String pluginClass;
final String dartPluginClass; final String dartPluginClass;
final String defaultPackage;
@override @override
bool isNative() => pluginClass != null; bool isNative() => pluginClass != null;
...@@ -310,8 +296,7 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{ ...@@ -310,8 +296,7 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{
'name': name, 'name': name,
if (pluginClass != null) 'class': pluginClass, if (pluginClass != null) 'class': pluginClass,
if (pluginClass != null) 'filename': _filenameForCppClass(pluginClass), if (pluginClass != null) 'filename': _filenameForCppClass(pluginClass),
if (dartPluginClass != null) kDartPluginClass: dartPluginClass, if (dartPluginClass != null) 'dartPluginClass': dartPluginClass,
if (defaultPackage != null) kDefaultPackage: defaultPackage,
}; };
} }
} }
...@@ -325,8 +310,7 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -325,8 +310,7 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin {
@required this.name, @required this.name,
this.pluginClass, this.pluginClass,
this.dartPluginClass, this.dartPluginClass,
this.defaultPackage, }) : assert(pluginClass != null || dartPluginClass != null);
}) : assert(pluginClass != null || dartPluginClass != null || defaultPackage != null);
factory LinuxPlugin.fromYaml(String name, YamlMap yaml) { factory LinuxPlugin.fromYaml(String name, YamlMap yaml) {
assert(validate(yaml)); assert(validate(yaml));
...@@ -339,7 +323,6 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -339,7 +323,6 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin {
name: name, name: name,
pluginClass: pluginClass, pluginClass: pluginClass,
dartPluginClass: yaml[kDartPluginClass] as String, dartPluginClass: yaml[kDartPluginClass] as String,
defaultPackage: yaml[kDefaultPackage] as String,
); );
} }
...@@ -347,9 +330,7 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -347,9 +330,7 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin {
if (yaml == null) { if (yaml == null) {
return false; return false;
} }
return yaml[kPluginClass] is String || return yaml[kPluginClass] is String || yaml[kDartPluginClass] is String;
yaml[kDartPluginClass] is String ||
yaml[kDefaultPackage] is String;
} }
static const String kConfigKey = 'linux'; static const String kConfigKey = 'linux';
...@@ -357,7 +338,6 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -357,7 +338,6 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin {
final String name; final String name;
final String pluginClass; final String pluginClass;
final String dartPluginClass; final String dartPluginClass;
final String defaultPackage;
@override @override
bool isNative() => pluginClass != null; bool isNative() => pluginClass != null;
...@@ -368,8 +348,7 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -368,8 +348,7 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin {
'name': name, 'name': name,
if (pluginClass != null) 'class': pluginClass, if (pluginClass != null) 'class': pluginClass,
if (pluginClass != null) 'filename': _filenameForCppClass(pluginClass), if (pluginClass != null) 'filename': _filenameForCppClass(pluginClass),
if (dartPluginClass != null) kDartPluginClass: dartPluginClass, if (dartPluginClass != null) 'dartPluginClass': dartPluginClass,
if (defaultPackage != null) kDefaultPackage: defaultPackage,
}; };
} }
} }
......
This diff is collapsed.
...@@ -920,7 +920,6 @@ abstract class ResidentRunner { ...@@ -920,7 +920,6 @@ abstract class ResidentRunner {
outputDir: globals.fs.directory(getBuildDirectory()), outputDir: globals.fs.directory(getBuildDirectory()),
processManager: globals.processManager, processManager: globals.processManager,
projectDir: globals.fs.currentDirectory, projectDir: globals.fs.currentDirectory,
generateDartPluginRegistry: true,
); );
_lastBuild = await globals.buildSystem.buildIncremental( _lastBuild = await globals.buildSystem.buildIncremental(
const GenerateLocalizationsTarget(), const GenerateLocalizationsTarget(),
......
...@@ -26,7 +26,6 @@ import 'devfs.dart'; ...@@ -26,7 +26,6 @@ import 'devfs.dart';
import 'device.dart'; import 'device.dart';
import 'features.dart'; import 'features.dart';
import 'globals.dart' as globals; import 'globals.dart' as globals;
import 'project.dart';
import 'reporting/reporting.dart'; import 'reporting/reporting.dart';
import 'resident_devtools_handler.dart'; import 'resident_devtools_handler.dart';
import 'resident_runner.dart'; import 'resident_runner.dart';
...@@ -315,15 +314,6 @@ class HotRunner extends ResidentRunner { ...@@ -315,15 +314,6 @@ class HotRunner extends ResidentRunner {
bool enableDevTools = false, bool enableDevTools = false,
String route, String route,
}) async { }) async {
File mainFile = globals.fs.file(mainPath);
// `generated_main.dart` contains the Dart plugin registry.
final Directory buildDir = FlutterProject.current()
.directory
.childDirectory(globals.fs.path.join('.dart_tool', 'flutter_build'));
final File newMainDart = buildDir?.childFile('generated_main.dart');
if (newMainDart != null && newMainDart.existsSync()) {
mainFile = newMainDart;
}
firstBuildTime = DateTime.now(); firstBuildTime = DateTime.now();
final List<Future<bool>> startupTasks = <Future<bool>>[]; final List<Future<bool>> startupTasks = <Future<bool>>[];
...@@ -336,7 +326,7 @@ class HotRunner extends ResidentRunner { ...@@ -336,7 +326,7 @@ class HotRunner extends ResidentRunner {
if (device.generator != null) { if (device.generator != null) {
startupTasks.add( startupTasks.add(
device.generator.recompile( device.generator.recompile(
mainFile.uri, globals.fs.file(mainPath).uri,
<Uri>[], <Uri>[],
// When running without a provided applicationBinary, the tool will // When running without a provided applicationBinary, the tool will
// simultaneously run the initial frontend_server compilation and // simultaneously run the initial frontend_server compilation and
......
...@@ -1152,7 +1152,6 @@ abstract class FlutterCommand extends Command<void> { ...@@ -1152,7 +1152,6 @@ abstract class FlutterCommand extends Command<void> {
outputDir: globals.fs.directory(getBuildDirectory()), outputDir: globals.fs.directory(getBuildDirectory()),
processManager: globals.processManager, processManager: globals.processManager,
projectDir: project.directory, projectDir: project.directory,
generateDartPluginRegistry: true,
); );
await generateLocalizationsSyntheticPackage( await generateLocalizationsSyntheticPackage(
......
...@@ -69,8 +69,6 @@ Future<void> buildWeb( ...@@ -69,8 +69,6 @@ Future<void> buildWeb(
? null ? null
: globals.flutterVersion.engineRevision, : globals.flutterVersion.engineRevision,
flutterRootDir: globals.fs.directory(Cache.flutterRoot), flutterRootDir: globals.fs.directory(Cache.flutterRoot),
// Web uses a different Dart plugin registry.
generateDartPluginRegistry: false,
)); ));
if (!result.success) { if (!result.success) {
for (final ExceptionMeasurement measurement in result.exceptions.values) { for (final ExceptionMeasurement measurement in result.exceptions.values) {
......
...@@ -36,7 +36,6 @@ void main() { ...@@ -36,7 +36,6 @@ void main() {
logger: logger, logger: logger,
processManager: globals.processManager, processManager: globals.processManager,
engineVersion: 'invalidEngineVersion', engineVersion: 'invalidEngineVersion',
generateDartPluginRegistry: false,
); );
return result; return result;
} }
......
...@@ -220,39 +220,6 @@ void main() { ...@@ -220,39 +220,6 @@ void main() {
); );
expect(plugin.platforms, <String, PluginPlatform>{}); expect(plugin.platforms, <String, PluginPlatform>{});
expect(plugin.defaultPackagePlatforms, <String, String>{
'linux': 'sample_package_linux',
'macos': 'sample_package_macos',
'windows': 'sample_package_windows',
});
expect(plugin.pluginDartClassPlatforms, <String, String>{});
});
testWithoutContext('Desktop plugin parsing allows a dartPluginClass field', () {
final FileSystem fileSystem = MemoryFileSystem.test();
const String pluginYamlRaw =
'platforms:\n'
' linux:\n'
' dartPluginClass: LinuxClass\n'
' macos:\n'
' dartPluginClass: MacOSClass\n'
' windows:\n'
' dartPluginClass: WindowsClass\n';
final YamlMap pluginYaml = loadYaml(pluginYamlRaw) as YamlMap;
final Plugin plugin = Plugin.fromYaml(
_kTestPluginName,
_kTestPluginPath,
pluginYaml,
const <String>[],
fileSystem: fileSystem,
);
expect(plugin.pluginDartClassPlatforms, <String, String>{
'linux': 'LinuxClass',
'macos': 'MacOSClass',
'windows': 'WindowsClass',
});
}); });
testWithoutContext('Plugin parsing throws a fatal error on an empty plugin', () { testWithoutContext('Plugin parsing throws a fatal error on an empty plugin', () {
......
...@@ -110,17 +110,6 @@ void main() { ...@@ -110,17 +110,6 @@ void main() {
); );
}); });
_testInMemory('reads dependencies from pubspec.yaml', () async {
final Directory directory = globals.fs.directory('myproject');
directory.childFile('pubspec.yaml')
..createSync(recursive: true)
..writeAsStringSync(validPubspecWithDependencies);
expect(
FlutterProject.fromDirectory(directory).manifest.dependencies,
<String>{'plugin_a', 'plugin_b'},
);
});
_testInMemory('sets up location', () async { _testInMemory('sets up location', () async {
final Directory directory = globals.fs.directory('myproject'); final Directory directory = globals.fs.directory('myproject');
expect( expect(
...@@ -925,16 +914,6 @@ name: hello ...@@ -925,16 +914,6 @@ name: hello
flutter: flutter:
'''; ''';
String get validPubspecWithDependencies => '''
name: hello
flutter:
dependencies:
plugin_a:
plugin_b:
''';
String get invalidPubspec => ''' String get invalidPubspec => '''
name: hello name: hello
flutter: flutter:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment