Skip to content

Commit

Permalink
Revert "Starts using the --source flag to compile the dart registra…
Browse files Browse the repository at this point in the history
…nt. (#98046) (#100493)
  • Loading branch information
gaaclarke authored Mar 21, 2022
1 parent bd4115d commit 9725897
Show file tree
Hide file tree
Showing 14 changed files with 303 additions and 203 deletions.
24 changes: 0 additions & 24 deletions .ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2628,30 +2628,6 @@ targets:
- bin/**
- .ci.yaml

- name: Mac entrypoint_dart_registrant
recipe: devicelab/devicelab_drone
bringup: true
timeout: 60
properties:
caches: >-
[
{"name":"gradle","path":"gradle"}
]
dependencies: >-
[
{"dependency": "xcode"},
{"dependency": "gems"}
]
tags: >
["devicelab","hostonly"]
task_name: entrypoint_dart_registrant
scheduler: luci
runIf:
- dev/**
- packages/flutter_tools/**
- bin/**
- .ci.yaml

- name: Mac framework_tests_libraries
recipe: flutter/flutter_drone
timeout: 60
Expand Down
1 change: 0 additions & 1 deletion TESTOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,6 @@
/dev/devicelab/bin/tasks/gradle_plugin_light_apk_test.dart @stuartmorgan @flutter/plugin
/dev/devicelab/bin/tasks/module_test_ios.dart @jmagman @flutter/tool
/dev/devicelab/bin/tasks/plugin_lint_mac.dart @stuartmorgan @flutter/plugin
/dev/devicelab/bin/tasks/entrypoint_dart_registrant.dart @aaclarke @flutter/plugin
/dev/devicelab/bin/tasks/windows_home_scroll_perf__timeline_summary.dart @jonahwilliams @flutter/engine

## Host only framework tests
Expand Down
12 changes: 0 additions & 12 deletions dev/devicelab/bin/tasks/entrypoint_dart_registrant.dart

This file was deleted.

106 changes: 0 additions & 106 deletions dev/devicelab/lib/tasks/entrypoint_dart_registrant.dart

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import '../../flutter_plugins.dart';
import '../../project.dart';
import '../build_system.dart';

/// Generates a new `./dart_tool/flutter_build/dart_plugin_registrant.dart`
/// Generates a new `./dart_tool/flutter_build/generated_main.dart`
/// based on the current dependency map in `pubspec.lock`.
class DartPluginRegistrantTarget extends Target {
/// Construct a [DartPluginRegistrantTarget].
Expand Down Expand Up @@ -86,7 +86,7 @@ class DartPluginRegistrantTarget extends Target {
@override
List<Source> get outputs => <Source>[
const Source.pattern(
'{PROJECT_DIR}/.dart_tool/flutter_build/dart_plugin_registrant.dart',
'{PROJECT_DIR}/.dart_tool/flutter_build/generated_main.dart',
optional: true,
),
];
Expand Down
50 changes: 17 additions & 33 deletions packages/flutter_tools/lib/src/compile.dart
Original file line number Diff line number Diff line change
Expand Up @@ -261,12 +261,14 @@ class KernelCompiler {
if (outputFilePath != null && !_fileSystem.isFileSync(outputFilePath)) {
_fileSystem.file(outputFilePath).createSync(recursive: true);
}

// Check if there's a Dart plugin registrant.
// This is contained in the file `dart_plugin_registrant.dart` under `.dart_tools/flutter_build/`.
final File? dartPluginRegistrant = checkDartPluginRegistry
? buildDir?.parent.childFile('dart_plugin_registrant.dart')
: null;
if (buildDir != null && checkDartPluginRegistry) {
// Check if there's a Dart plugin registrant.
// This is contained in the file `generated_main.dart` under `.dart_tools/flutter_build/`.
final File newMainDart = buildDir.parent.childFile('generated_main.dart');
if (newMainDart.existsSync()) {
mainUri = newMainDart.path;
}
}

final List<String> command = <String>[
engineDartPath,
Expand Down Expand Up @@ -314,10 +316,6 @@ class KernelCompiler {
'--platform',
platformDill,
],
if (dartPluginRegistrant != null && dartPluginRegistrant.existsSync()) ...<String>[
'--source',
dartPluginRegistrant.path,
],
...?extraFrontEndOptions,
mainUri,
];
Expand Down Expand Up @@ -361,15 +359,13 @@ class _RecompileRequest extends _CompilationRequest {
this.outputPath,
this.packageConfig,
this.suppressErrors,
{this.additionalSource}
) : super(completer);

Uri mainUri;
List<Uri>? invalidatedFiles;
String outputPath;
PackageConfig packageConfig;
bool suppressErrors;
final String? additionalSource;

@override
Future<CompilerOutput?> _run(DefaultResidentCompiler compiler) async =>
Expand Down Expand Up @@ -635,31 +631,24 @@ class DefaultResidentCompiler implements ResidentCompiler {
if (!_controller.hasListener) {
_controller.stream.listen(_handleCompilationRequest);
}
String? additionalSource;
// `dart_plugin_registrant.dart` contains the Dart plugin registry.
// `generated_main.dart` contains the Dart plugin registry.
if (checkDartPluginRegistry && projectRootPath != null && fs != null) {
final File dartPluginRegistrantDart = fs.file(
final File generatedMainDart = fs.file(
fs.path.join(
projectRootPath,
'.dart_tool',
'flutter_build',
'dart_plugin_registrant.dart',
'generated_main.dart',
),
);
if (dartPluginRegistrantDart != null && dartPluginRegistrantDart.existsSync()) {
additionalSource = dartPluginRegistrantDart.path;
if (generatedMainDart != null && generatedMainDart.existsSync()) {
mainUri = generatedMainDart.uri;
}
}
final Completer<CompilerOutput?> completer = Completer<CompilerOutput?>();
_controller.add(_RecompileRequest(
completer,
mainUri,
invalidatedFiles,
outputPath,
packageConfig,
suppressErrors,
additionalSource: additionalSource,
));
_controller.add(
_RecompileRequest(completer, mainUri, invalidatedFiles, outputPath, packageConfig, suppressErrors)
);
return completer.future;
}

Expand All @@ -673,7 +662,7 @@ class DefaultResidentCompiler implements ResidentCompiler {

final Process? server = _server;
if (server == null) {
return _compile(mainUri, request.outputPath, additionalSource: request.additionalSource);
return _compile(mainUri, request.outputPath);
}
final String inputKey = Uuid().generateV4();

Expand Down Expand Up @@ -719,7 +708,6 @@ class DefaultResidentCompiler implements ResidentCompiler {
Future<CompilerOutput?> _compile(
String scriptUri,
String? outputPath,
{String? additionalSource}
) async {
final String frontendServer = _artifacts.getArtifactPath(
Artifact.frontendServerSnapshotForEngineDartSdk
Expand Down Expand Up @@ -772,10 +760,6 @@ class DefaultResidentCompiler implements ResidentCompiler {
initializeFromDill!,
],
if (assumeInitializeFromDillUpToDate) '--assume-initialize-from-dill-up-to-date',
if (additionalSource != null) ...<String>[
'--source',
additionalSource,
],
if (platformDill != null) ...<String>[
'--platform',
platformDill!,
Expand Down
16 changes: 16 additions & 0 deletions packages/flutter_tools/lib/src/flutter_plugins.dart
Original file line number Diff line number Diff line change
Expand Up @@ -706,6 +706,10 @@ const String _dartPluginRegistryForNonWebTemplate = '''
// @dart = {{dartLanguageVersion}}
// When `{{mainEntrypoint}}` defines `main`, that definition is shadowed by the definition below.
export '{{mainEntrypoint}}';
import '{{mainEntrypoint}}' as entrypoint;
import 'dart:io'; // flutter_ignore: dart_io_import.
{{#android}}
import 'package:{{pluginName}}/{{pluginName}}.dart';
Expand Down Expand Up @@ -750,6 +754,18 @@ $_dartPluginRegisterWith
{{/windows}}
}
}
}
typedef _UnaryFunction = dynamic Function(List<String> args);
typedef _NullaryFunction = dynamic Function();
void main(List<String> args) {
if (entrypoint.main is _UnaryFunction) {
(entrypoint.main as _UnaryFunction)(args);
} else {
(entrypoint.main as _NullaryFunction)();
}
}
''';

Expand Down
2 changes: 1 addition & 1 deletion packages/flutter_tools/lib/src/project.dart
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ class FlutterProject {
/// The generated Dart plugin registrant for non-web platforms.
File get dartPluginRegistrant => dartTool
.childDirectory('flutter_build')
.childFile('dart_plugin_registrant.dart');
.childFile('generated_main.dart');

/// The example sub-project of this project.
FlutterProject get example => FlutterProject(
Expand Down
Loading

0 comments on commit 9725897

Please sign in to comment.