Skip to content

Commit

Permalink
Revert "Reland "Add support for Dart Development Service (DDS) in Flu…
Browse files Browse the repository at this point in the history
…tter Tools (flutter#61276)" (flutter#61395)" (flutter#61498)

This reverts commit f98184e.
  • Loading branch information
bkonyi authored and Pragya007 committed Aug 5, 2020
1 parent d267547 commit 61b3220
Show file tree
Hide file tree
Showing 25 changed files with 33 additions and 211 deletions.
4 changes: 0 additions & 4 deletions dev/tracing_tests/test/image_painting_event_test.dart
Expand Up @@ -38,10 +38,6 @@ void main() {
await binding.endOfFrame;
});

tearDownAll(() {
vmService.dispose();
});

test('Image painting events - deduplicates across frames', () async {
final Completer<Event> completer = Completer<Event>();
vmService.onExtensionEvent.first.then(completer.complete);
Expand Down
49 changes: 0 additions & 49 deletions packages/flutter_tools/lib/src/base/dds.dart

This file was deleted.

3 changes: 1 addition & 2 deletions packages/flutter_tools/lib/src/commands/attach.dart
Expand Up @@ -100,7 +100,6 @@ class AttachCommand extends FlutterCommand {
'and progress in machine friendly format.',
);
usesTrackWidgetCreation(verboseHelp: verboseHelp);
addDdsOptions(verboseHelp: verboseHelp);
hotRunnerFactory ??= HotRunnerFactory();
}

Expand Down Expand Up @@ -373,7 +372,7 @@ class AttachCommand extends FlutterCommand {
);
flutterDevice.observatoryUris = observatoryUris;
final List<FlutterDevice> flutterDevices = <FlutterDevice>[flutterDevice];
final DebuggingOptions debuggingOptions = DebuggingOptions.enabled(getBuildInfo(), disableDds: boolArg('disable-dds'));
final DebuggingOptions debuggingOptions = DebuggingOptions.enabled(getBuildInfo());

return getBuildInfo().isDebug
? hotRunnerFactory.build(
Expand Down
4 changes: 0 additions & 4 deletions packages/flutter_tools/lib/src/commands/drive.dart
Expand Up @@ -244,10 +244,6 @@ class DriveCommand extends RunCommandBase {
throwToolExit('Application failed to start. Will not run test. Quitting.', exitCode: 1);
}
observatoryUri = result.observatoryUri.toString();
// TODO(bkonyi): add web support (https://github.com/flutter/flutter/issues/61259)
if (!isWebPlatform) {
await device.dds.startDartDevelopmentService(Uri.parse(observatoryUri), ipv6);
}
} else {
globals.printStatus('Will connect to already running application instance.');
observatoryUri = stringArg('use-existing-app');
Expand Down
2 changes: 0 additions & 2 deletions packages/flutter_tools/lib/src/commands/run.dart
Expand Up @@ -218,7 +218,6 @@ class RunCommand extends RunCommandBase {
'Currently this is only supported on Android devices. This option '
'cannot be paired with --use-application-binary.'
);
addDdsOptions(verboseHelp: verboseHelp);
}

@override
Expand Down Expand Up @@ -385,7 +384,6 @@ class RunCommand extends RunCommandBase {
buildInfo,
startPaused: boolArg('start-paused'),
disableServiceAuthCodes: boolArg('disable-service-auth-codes'),
disableDds: boolArg('disable-dds'),
dartFlags: stringArg('dart-flags') ?? '',
useTestFonts: boolArg('use-test-fonts'),
enableSoftwareRendering: boolArg('enable-software-rendering'),
Expand Down
10 changes: 0 additions & 10 deletions packages/flutter_tools/lib/src/device.dart
Expand Up @@ -16,7 +16,6 @@ import 'application_package.dart';
import 'artifacts.dart';
import 'base/config.dart';
import 'base/context.dart';
import 'base/dds.dart';
import 'base/file_system.dart';
import 'base/io.dart';
import 'base/logger.dart';
Expand Down Expand Up @@ -548,12 +547,6 @@ abstract class Device {
/// Get the port forwarder for this device.
DevicePortForwarder get portForwarder;

/// Get the DDS instance for this device.
DartDevelopmentService get dds => _dds ??= DartDevelopmentService(
logger: globals.logger,
);
DartDevelopmentService _dds;

/// Clear the device's logs.
void clearLogs();

Expand Down Expand Up @@ -727,7 +720,6 @@ class DebuggingOptions {
this.buildInfo, {
this.startPaused = false,
this.disableServiceAuthCodes = false,
this.disableDds = false,
this.dartFlags = '',
this.enableSoftwareRendering = false,
this.skiaDeterministicRendering = false,
Expand Down Expand Up @@ -770,7 +762,6 @@ class DebuggingOptions {
startPaused = false,
dartFlags = '',
disableServiceAuthCodes = false,
disableDds = false,
enableSoftwareRendering = false,
skiaDeterministicRendering = false,
traceSkia = false,
Expand All @@ -790,7 +781,6 @@ class DebuggingOptions {
final bool startPaused;
final String dartFlags;
final bool disableServiceAuthCodes;
final bool disableDds;
final bool enableSoftwareRendering;
final bool skiaDeterministicRendering;
final bool traceSkia;
Expand Down
10 changes: 0 additions & 10 deletions packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
Expand Up @@ -52,13 +52,6 @@ Future<vm_service.VmService> _kDefaultFuchsiaIsolateDiscoveryConnector(Uri uri)
return connectToVmService(uri);
}

Future<void> _kDefaultDartDevelopmentServiceStarter(
Device device,
Uri observatoryUri,
) async {
await device.dds.startDartDevelopmentService(observatoryUri, true);
}

/// Read the log for a particular device.
class _FuchsiaLogReader extends DeviceLogReader {
_FuchsiaLogReader(this._device, this._systemClock, [this._app]);
Expand Down Expand Up @@ -702,7 +695,6 @@ class FuchsiaIsolateDiscoveryProtocol {
this._device,
this._isolateName, [
this._vmServiceConnector = _kDefaultFuchsiaIsolateDiscoveryConnector,
this._ddsStarter = _kDefaultDartDevelopmentServiceStarter,
this._pollOnce = false,
]);

Expand All @@ -712,7 +704,6 @@ class FuchsiaIsolateDiscoveryProtocol {
final String _isolateName;
final Completer<Uri> _foundUri = Completer<Uri>();
final Future<vm_service.VmService> Function(Uri) _vmServiceConnector;
final Future<void> Function(Device, Uri) _ddsStarter;
// whether to only poll once.
final bool _pollOnce;
Timer _pollingTimer;
Expand Down Expand Up @@ -755,7 +746,6 @@ class FuchsiaIsolateDiscoveryProtocol {
final int localPort = await _device.portForwarder.forward(port);
try {
final Uri uri = Uri.parse('http://[$_ipv6Loopback]:$localPort');
await _ddsStarter(_device, uri);
service = await _vmServiceConnector(uri);
_ports[port] = service;
} on SocketException catch (err) {
Expand Down
2 changes: 1 addition & 1 deletion packages/flutter_tools/lib/src/ios/devices.dart
Expand Up @@ -437,7 +437,7 @@ class IOSDevice extends Device {
);
final Uri localUri = await fallbackDiscovery.discover(
assumedDevicePort: assumedObservatoryPort,
device: this,
deivce: this,
usesIpv6: ipv6,
hostVmservicePort: debuggingOptions.hostVmServicePort,
packageId: packageId,
Expand Down
4 changes: 2 additions & 2 deletions packages/flutter_tools/lib/src/ios/fallback_discovery.dart
Expand Up @@ -67,7 +67,7 @@ class FallbackDiscovery {
Future<Uri> discover({
@required int assumedDevicePort,
@required String packageId,
@required Device device,
@required Device deivce,
@required bool usesIpv6,
@required int hostVmservicePort,
@required String packageName,
Expand All @@ -84,7 +84,7 @@ class FallbackDiscovery {
try {
final Uri result = await _mDnsObservatoryDiscovery.getObservatoryUri(
packageId,
device,
deivce,
usesIpv6: usesIpv6,
hostVmservicePort: hostVmservicePort,
);
Expand Down
21 changes: 1 addition & 20 deletions packages/flutter_tools/lib/src/resident_runner.dart
Expand Up @@ -211,8 +211,6 @@ class FlutterDevice {
ReloadMethod reloadMethod,
GetSkSLMethod getSkSLMethod,
PrintStructuredErrorLogMethod printStructuredErrorLogMethod,
bool disableDds = false,
bool ipv6 = false,
}) {
final Completer<void> completer = Completer<void>();
StreamSubscription<void> subscription;
Expand All @@ -223,12 +221,7 @@ class FlutterDevice {
globals.printTrace('Connecting to service protocol: $observatoryUri');
isWaitingForVm = true;
vm_service.VmService service;
if (!disableDds) {
await device.dds.startDartDevelopmentService(
observatoryUri,
ipv6,
);
}

try {
service = await connectToVmService(
observatoryUri,
Expand Down Expand Up @@ -959,15 +952,13 @@ abstract class ResidentRunner {
Future<void> exit() async {
_exited = true;
await shutdownDevtools();
await shutdownDartDevelopmentService();
await stopEchoingDeviceLog();
await preExit();
await exitApp();
}

Future<void> detach() async {
await shutdownDevtools();
await shutdownDartDevelopmentService();
await stopEchoingDeviceLog();
await preExit();
appFinished();
Expand Down Expand Up @@ -1136,14 +1127,6 @@ abstract class ResidentRunner {
);
}

Future<void> shutdownDartDevelopmentService() async {
await Future.wait<void>(
flutterDevices.map<Future<void>>(
(FlutterDevice device) => device.device?.dds?.shutdown()
).where((Future<void> element) => element != null)
);
}

@protected
void cacheInitialDillCompilation() {
if (_dillOutputPath != null) {
Expand Down Expand Up @@ -1197,11 +1180,9 @@ abstract class ResidentRunner {
reloadSources: reloadSources,
restart: restart,
compileExpression: compileExpression,
disableDds: debuggingOptions.disableDds,
reloadMethod: reloadMethod,
getSkSLMethod: getSkSLMethod,
printStructuredErrorLogMethod: printStructuredErrorLog,
ipv6: ipv6,
);
// This will wait for at least one flutter view before returning.
final Status status = globals.logger.startProgress(
Expand Down
13 changes: 0 additions & 13 deletions packages/flutter_tools/lib/src/runner/flutter_command.dart
Expand Up @@ -298,19 +298,6 @@ abstract class FlutterCommand extends Command<void> {
_usesPortOption = true;
}

void addDdsOptions({@required bool verboseHelp}) {
argParser.addFlag(
'disable-dds',
hide: !verboseHelp,
help: 'Disable the Dart Developer Service (DDS). This flag should only be provided'
' when attaching to an application with an existing DDS instance (e.g.,'
' attaching to an application currently connected to by "flutter run") or'
' when running certain tests.\n'
'Note: passing this flag may degrade IDE functionality if a DDS instance is not'
' already connected to the target application.'
);
}

/// Gets the vmservice port provided to in the 'observatory-port' or
/// 'host-vmservice-port option.
///
Expand Down
15 changes: 6 additions & 9 deletions packages/flutter_tools/lib/src/test/flutter_platform.dart
Expand Up @@ -4,7 +4,6 @@

import 'dart:async';

import 'package:dds/dds.dart';
import 'package:meta/meta.dart';
import 'package:package_config/package_config.dart';
import 'package:stream_channel/stream_channel.dart';
Expand Down Expand Up @@ -515,7 +514,7 @@ class FlutterPlatform extends PlatformPlugin {
Uri processObservatoryUri;
_pipeStandardStreamsToConsole(
process,
reportObservatoryUri: (Uri detectedUri) async {
reportObservatoryUri: (Uri detectedUri) {
assert(processObservatoryUri == null);
assert(explicitObservatoryPort == null ||
explicitObservatoryPort == detectedUri.port);
Expand All @@ -528,14 +527,13 @@ class FlutterPlatform extends PlatformPlugin {
globals.printTrace('test $ourTestCount: using observatory uri $detectedUri from pid ${process.pid}');
}
processObservatoryUri = detectedUri;
await DartDevelopmentService.startDartDevelopmentService(processObservatoryUri);
{
globals.printTrace('Connecting to service protocol: $processObservatoryUri');
final Future<vm_service.VmService> localVmService = connectToVmService(processObservatoryUri,
compileExpression: _compileExpressionService);
unawaited(localVmService.then((vm_service.VmService vmservice) {
localVmService.then((vm_service.VmService vmservice) {
globals.printTrace('Successfully connected to service protocol: $processObservatoryUri');
}));
});
}
gotProcessObservatoryUri.complete();
watcher?.handleStartedProcess(
Expand Down Expand Up @@ -872,9 +870,8 @@ class FlutterPlatform extends PlatformPlugin {
void _pipeStandardStreamsToConsole(
Process process, {
void startTimeoutTimer(),
Future<void> reportObservatoryUri(Uri uri),
void reportObservatoryUri(Uri uri),
}) {

const String observatoryString = 'Observatory listening on ';
for (final Stream<List<int>> stream in <Stream<List<int>>>[
process.stderr,
Expand All @@ -884,7 +881,7 @@ class FlutterPlatform extends PlatformPlugin {
.transform<String>(utf8.decoder)
.transform<String>(const LineSplitter())
.listen(
(String line) async {
(String line) {
if (line == _kStartTimeoutTimerMessage) {
if (startTimeoutTimer != null) {
startTimeoutTimer();
Expand All @@ -897,7 +894,7 @@ class FlutterPlatform extends PlatformPlugin {
try {
final Uri uri = Uri.parse(line.substring(observatoryString.length));
if (reportObservatoryUri != null) {
await reportObservatoryUri(uri);
reportObservatoryUri(uri);
}
} on Exception catch (error) {
globals.printError('Could not parse shell observatory port message: $error');
Expand Down
6 changes: 6 additions & 0 deletions packages/flutter_tools/lib/src/tracing.dart
Expand Up @@ -22,6 +22,12 @@ class Tracing {
Tracing(this.vmService);

static const String firstUsefulFrameEventName = kFirstFrameRasterizedEventName;

static Future<Tracing> connect(Uri uri) async {
final vm_service.VmService observatory = await connectToVmService(uri);
return Tracing(observatory);
}

final vm_service.VmService vmService;

Future<void> startTracing() async {
Expand Down

0 comments on commit 61b3220

Please sign in to comment.