Pub workspace - #700
Open
desmonddak wants to merge 17 commits into
Open
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mkorbel1
reviewed
Aug 20, 2026
There was a problem hiding this comment.
Pull request overview
Introduces a mixed Dart/Flutter pub workspace and centralizes repository-wide setup, analysis, testing, and editor configuration.
Changes:
- Adds workspace automation and Flutter provisioning for CI/Codespaces.
- Migrates packages to workspace dependency resolution and shared analysis rules.
- Adds source-navigation libraries/tests and updates DevTools dependencies and imports.
Reviewed changes
Copilot reviewed 90 out of 95 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
tool/workspace.dart |
Adds workspace command runner. |
tool/gh_codespaces/run_setup.sh |
Installs Flutter during setup. |
tool/gh_codespaces/install_flutter.sh |
Adds Flutter SDK installer. |
tool/gh_actions/run_tests.sh |
Runs workspace test suites. |
tool/gh_actions/install_dependencies.sh |
Resolves workspace dependencies. |
tool/gh_actions/devtool/run_devtool_test.sh |
Uses workspace resolution. |
tool/gh_actions/devtool/install_devtools.sh |
Removes redundant dependency resolution. |
tool/gh_actions/analyze_source.sh |
Analyzes workspace packages. |
rohd-multipackage.code-workspace |
Adds the VS Code extension package. |
rohd_extension/vscode/test/flc_data_test.dart |
Adds FLC parser tests. |
rohd_extension/vscode/pubspec.yaml |
Joins the pub workspace. |
rohd_extension/vscode/LICENSE |
Adds package licensing. |
rohd_extension/vscode/lib/source_navigator.dart |
Adds source-navigation utilities. |
rohd_extension/vscode/lib/rohd_source_navigator.dart |
Adds package exports. |
rohd_extension/vscode/lib/flc_data.dart |
Adds FLC trace parsing. |
rohd_extension/vscode/lib/dtd_service.dart |
Clarifies connection handling. |
rohd_devtools_extension/tool/test_devtools_install.dart |
Updates generated asset validation. |
rohd_devtools_extension/test/view/rohd_devtools_page_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/vm_connection_form_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/signal_table_text_field_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/signal_table_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/signal_details_card_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/presentation_widgets_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/module_tree_details_navbar_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/diagnostic_properties_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/ui/devtools_connection_host_lifecycle_test.dart |
Updates imports and async declaration. |
rohd_devtools_extension/test/ui/devtool_appbar_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/modules/tree_structure/tree_structure_page_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/modules/tree_structure/model_tree_card_test.dart |
Migrates Material imports. |
rohd_devtools_extension/test/cubit/snapshot_cubit_test.dart |
Removes unnecessary async. |
rohd_devtools_extension/test/cubit/basic_cubits_test.dart |
Removes unnecessary async. |
rohd_devtools_extension/test/const/app_theme_test.dart |
Migrates Material imports. |
rohd_devtools_extension/pubspec.yaml |
Joins workspace and updates dependencies. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/markdown_help_button_test.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/logic_type_utils_test.dart |
Updates multiline expectation formatting. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/export_toast_test.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/export_button_test.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/cross_probe_menu_test.dart |
Updates API expectations. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/cross_probe_button_test.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/capture_boundary_test.dart |
Updates imports and null handling. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/bit_field_utils_test.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/bit_expansion_menu_test.dart |
Updates imports and nullable results. |
rohd_devtools_extension/packages/rohd_devtools_widgets/test/app_bar_overlay_test.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/pubspec.yaml |
Joins workspace and updates dependencies. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/save_png_web.dart |
Simplifies anchor operations. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/rohd_extension_status.dart |
Adds documentation and formatting. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/rohd_extension_client.dart |
Uses package import ordering. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/markdown_help_button.dart |
Updates imports, diagnostics, and futures. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/export_toast.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/export_button.dart |
Adds diagnostics and import updates. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/cross_probe_service.dart |
Applies shared style rules. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/cross_probe_menu.dart |
Updates imports and formatting. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/cross_probe_button.dart |
Adds diagnostics and formatting. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/capture_boundary.dart |
Migrates Material imports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/bit_field_utils.dart |
Refactors dialogs and formatting. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/bit_expansion_menu.dart |
Refactors menu helpers. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/src/app_bar_overlay.dart |
Adds diagnostics and style updates. |
rohd_devtools_extension/packages/rohd_devtools_widgets/lib/rohd_devtools_widgets.dart |
Reorders package exports. |
rohd_devtools_extension/packages/rohd_devtools_widgets/analysis_options.yaml |
Inherits shared analysis rules. |
rohd_devtools_extension/lib/rohd_devtools/view/tree_structure_page.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/view/rohd_devtools_page.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/vm_connection_form.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/standalone_app_shell.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/signal_table.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/signal_table_text_field.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/signal_details_card.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/schematic_icon.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/platform_icon.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/module_tree_details_navbar.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/module_tree_card.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/devtools_help_button.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/devtools_connection_host.dart |
Updates imports and async declaration. |
rohd_devtools_extension/lib/rohd_devtools/ui/devtool_appbar.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/ui/details_help_button.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/rohd_devtools/const/app_theme.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/main.dart |
Migrates Material imports. |
rohd_devtools_extension/lib/main_standalone.dart |
Migrates Material imports. |
rohd_devtools_extension/analysis_options.yaml |
Inherits shared analysis rules. |
pubspec.yaml |
Defines the root pub workspace. |
packages/rohd_waveform/pubspec.yaml |
Joins the workspace. |
packages/rohd_waveform/lib/src/waveform_repository.dart |
Simplifies future chaining. |
packages/rohd_waveform/lib/src/waveform_api.dart |
Simplifies default futures. |
packages/rohd_waveform/analysis_options.yaml |
Removes redundant local analysis config. |
packages/rohd_hierarchy/test/hierarchy_model_test.dart |
Adds cross-platform model tests. |
packages/rohd_hierarchy/test/filter_bank_integration_test.dart |
Restricts integration tests to VM. |
packages/rohd_hierarchy/pubspec.yaml |
Joins the workspace. |
packages/rohd_hierarchy/analysis_options.yaml |
Removes redundant local analysis config. |
lib/src/modules/conditionals/flop.dart |
Removes redundant null assertion. |
lib/src/collections/iterable_removable_queue.dart |
Removes redundant null assertions. |
CONTRIBUTING.md |
Documents workspace development workflows. |
analysis_options.yaml |
Applies shared rules across packages. |
.github/workflows/general.yml |
Uses workspace Flutter setup in CI. |
.github/workflows/coverage.yml |
Uses workspace Flutter setup. |
.github/workflows/build_devtool.yml |
Resolves workspace dependencies before build. |
.devcontainer/devcontainer.json |
Runs setup after container creation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description & Motivation
This is a capability for managing multiple packages in a mono-repo with both Flutter and dart packages.
Please see https://dart.dev/tools/pub/workspaces
Related Issue(s)
None.
Testing
Running the full CI.
Opening the workspace file and making sure that we can do pub get, analyze, and test across the packages using the new dart run workspace command.
Backwards-compatibility
Yes. You can still use dart commands directly and manage the ROHD core.
Documentation
Yes. In CONTRIBUTING.md there is a writeup on how to use the new commands.