a909051679
This CL migrates the `dwds` and `dwds_test_common` packages into the Dart SDK repository. Key Changes: - Monorepo Compliance: Updated the pubspecs to align with the SDK pub workspace setup. - Excluded `pkg/dwds_test_common/fixtures/` from `package_deps.dart`. - Updated pkg to status to skip `dwds/test/integration/*` & `dwds_test_common/fixtures/*` until DWDS migration is complete. - Remove package `build_daemon` from DWDS' `pubspec.yaml` as it's not approved for SDK env. - Added `@skip_package_deps_validation` to the following files to ignore import checks for package:build_daemon: `server.dart`, `utilities.dart`, `context.dart`. - Created `pkg/dwds/lib/src/utilities/test_path_utils.dart` to fix path resolution failures in tests (ie. `build_script_test.dart` and `ensure_version_test.dart`). Testing: - All tests passing locally. - CI try bots are green. Design Doc: http://goto.google.com/migrating-webdev and http://goto.google.com/migrating-dwds Fixes https://github.com/dart-lang/sdk/issues/62100 Fixes https://github.com/dart-lang/sdk/issues/62101 Fixes https://github.com/dart-lang/sdk/issues/62102 Fixes https://github.com/dart-lang/sdk/issues/62103 Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try Change-Id: I6130be8b7e0b42fbbf81b26a4950a2c4282e3a48 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/494660 Commit-Queue: Jessy Yameogo <yjessy@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com>
85 lines
2.3 KiB
Dart
85 lines
2.3 KiB
Dart
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
class DebugEvent {
|
|
final String kind;
|
|
final String eventData;
|
|
final int timestamp;
|
|
|
|
DebugEvent({
|
|
required this.kind,
|
|
required this.eventData,
|
|
required this.timestamp,
|
|
});
|
|
|
|
factory DebugEvent.fromJson(Map<String, dynamic> json) {
|
|
return DebugEvent(
|
|
kind: json['kind'] as String,
|
|
eventData: json['eventData'] as String,
|
|
timestamp: json['timestamp'] as int,
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {'kind': kind, 'eventData': eventData, 'timestamp': timestamp};
|
|
}
|
|
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
other is DebugEvent &&
|
|
runtimeType == other.runtimeType &&
|
|
kind == other.kind &&
|
|
eventData == other.eventData &&
|
|
timestamp == other.timestamp;
|
|
|
|
@override
|
|
int get hashCode => Object.hash(kind, eventData, timestamp);
|
|
|
|
@override
|
|
String toString() =>
|
|
'DebugEvent(kind: $kind, eventData: $eventData, timestamp: $timestamp)';
|
|
}
|
|
|
|
/// A batched group of events, currently always Debugger.scriptParsed
|
|
class BatchedDebugEvents {
|
|
final List<DebugEvent> events;
|
|
|
|
BatchedDebugEvents({required this.events});
|
|
|
|
factory BatchedDebugEvents.fromJson(Map<String, dynamic> json) {
|
|
return BatchedDebugEvents(
|
|
events: (json['events'] as List)
|
|
.map((e) => DebugEvent.fromJson(e as Map<String, dynamic>))
|
|
.toList(),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {'events': events.map((e) => e.toJson()).toList()};
|
|
}
|
|
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
other is BatchedDebugEvents &&
|
|
runtimeType == other.runtimeType &&
|
|
_listEquals(events, other.events);
|
|
|
|
@override
|
|
int get hashCode => Object.hashAll(events);
|
|
|
|
@override
|
|
String toString() => 'BatchedDebugEvents(events: $events)';
|
|
}
|
|
|
|
bool _listEquals<T>(List<T>? a, List<T>? b) {
|
|
if (a == null) return b == null;
|
|
if (b == null || a.length != b.length) return false;
|
|
for (var i = 0; i < a.length; i++) {
|
|
if (a[i] != b[i]) return false;
|
|
}
|
|
return true;
|
|
}
|