Files
sdk/pkg/dtd_impl/README.md
Kenzie Davisson 10dd59c039 Add a DTD method to get all registered services.
This CL contains breaking changes for package:dtd and prepares both package:dart_service_protocol_shared and package:dtd for publish.

This CL also fixes https://github.com/dart-lang/sdk/issues/60757 so that DTD-registered services are sent over the `Service` stream upon initial subscription like what is done for client-registered services.

Change-Id: I619af816e64af01864c7ed9b98743c6691bf7e0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/429161
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2025-05-22 13:52:54 -07:00

42 lines
1.2 KiB
Markdown

# Dart Tooling Daemon
The server implementation for the Dart Tooling Daemon. This is meant to be run
by our internal tooling and facilitates communication between our internal
tools.
For details on the protocol used to communicate with the Dart Tooling Daemon see
[The DTD Protocol](./dtd_protocol.md)
## Running the Dart Tooling Daemon
### Compiled version
To run the tooling daemon compiled with the Dart SDK:
1. [Build the Dart SDK](https://github.com/dart-lang/sdk/wiki/Building)
- make sure to build with `create_platform_sdk`
- e.g. `./tools/build.py create_platform_sdk`
2. run `dart tooling-daemon`
> :info The dart binary should be the one you just built in step 1.
### Testing changes locally
To quickly test changes to the tooling daemon, start it by running:
```bash
dart run bin/dtd.dart
```
## Running tests
To run the tests under the `test/` directory, run `dart test test/`.
However, if you are testing changes that span `pkg/dtd` and `pkg/dtd_impl`,
you'll need to build the Dart SDK, and then use the built Dart executable to run
the test.
1. Build the Dart SDK: `./tools/build.py create_platform_sdk`
2. Run the test: `xcodebuild/ReleaseARM64/dart-sdk/bin/dart test test/`