Skip to content

Pub workspace - #700

Open
desmonddak wants to merge 17 commits into
intel:mainfrom
desmonddak:pub-workspace
Open

Pub workspace#700
desmonddak wants to merge 17 commits into
intel:mainfrom
desmonddak:pub-workspace

Conversation

@desmonddak

@desmonddak desmonddak commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

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

Is this a breaking change that will not be backwards-compatible? If yes, how so?

Yes. You can still use dart commands directly and manage the ROHD core.

Documentation

Does the change require any updates to documentation? If so, where? Are they included?

Yes. In CONTRIBUTING.md there is a writeup on how to use the new commands.

Comment thread .github/workflows/coverage.yml Outdated
Comment thread .github/workflows/general.yml Outdated
Comment thread packages/rohd_hierarchy/test/filter_bank_integration_test.dart
Comment thread pubspec.yaml
Comment thread rohd_devtools_extension/packages/rohd_devtools_widgets/analysis_options.yaml Outdated
Comment thread tool/workspace.dart
Comment thread CHANGELOG.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread rohd-multipackage.code-workspace Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread tool/gh_actions/install_dependencies.sh Outdated
Comment thread tool/gh_codespaces/install_flutter.sh
Comment thread tool/gh_codespaces/install_flutter.sh
Comment thread tool/workspace.dart Outdated
Comment thread tool/workspace.dart Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants