-
Notifications
You must be signed in to change notification settings - Fork 0
Bump SDK constraints and unify workspace dependencies #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Bump SDK constraint to `^3.4.0` or `^3.8.0` across 16 sub-packages. - Update Flutter SDK constraints to `>=3.22.0` or `>=3.32.0` for relevant packages. - Unify `http` package dependency to `^1.5.0`. - Update `web` dependency to `>=0.5.0 <2.0.0` in `http` and `web_socket` dependencies. Branch: dev Base: main Related to: cross-repo workspace change affecting 63 repositories
PR HealthLicense Headers ✔️
All source files should start with a license header. Unrelated files missing license headers
This check can be disabled by tagging the PR with API leaks ✔️The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
This check can be disabled by tagging the PR with Breaking changes ✔️
This check can be disabled by tagging the PR with Unused Dependencies ✔️
For details on how to fix these, see dependency_validator. This check can be disabled by tagging the PR with Coverage ✔️
This check for test coverage is informational (issues shown here will not fail the PR). This check can be disabled by tagging the PR with Changelog Entry ✔️
Changes to files need to be accounted for in their respective changelogs. This check can be disabled by tagging the PR with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds workspace resolution configuration to all packages in the dart-lang/http monorepo to enable unified dependency management across the workspace.
Changes:
- Added
resolution: workspaceto all 16 pubspec.yaml files across the monorepo packages and their examples - Ensures consistent workspace dependency resolution for all packages in the repository
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkgs/web_socket_conformance_tests/pubspec.yaml | Added workspace resolution configuration |
| pkgs/web_socket_channel/pubspec.yaml | Added workspace resolution configuration |
| pkgs/web_socket/pubspec.yaml | Added workspace resolution configuration |
| pkgs/ok_http/pubspec.yaml | Added workspace resolution configuration |
| pkgs/ok_http/example/pubspec.yaml | Added workspace resolution configuration |
| pkgs/http_profile/pubspec.yaml | Added workspace resolution configuration |
| pkgs/http_parser/pubspec.yaml | Added workspace resolution configuration |
| pkgs/http_multi_server/pubspec.yaml | Added workspace resolution configuration |
| pkgs/http_client_conformance_tests/pubspec.yaml | Added workspace resolution configuration |
| pkgs/http2/pubspec.yaml | Added workspace resolution configuration |
| pkgs/http/pubspec.yaml | Added workspace resolution configuration |
| pkgs/flutter_http_example/pubspec.yaml | Added workspace resolution configuration |
| pkgs/cupertino_http/pubspec.yaml | Added workspace resolution configuration |
| pkgs/cupertino_http/example/pubspec.yaml | Added workspace resolution configuration |
| pkgs/cronet_http/pubspec.yaml | Added workspace resolution configuration |
| pkgs/cronet_http/example/pubspec.yaml | Added workspace resolution configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| resolution: workspace | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: The pubspec.yaml files use resolution: workspace but have SDK constraints below the required ^3.6.0 and the root configuration is missing the workspace: section, which will break pub get.
Severity: CRITICAL
Suggested Fix
Update the SDK constraint in all workspace package pubspec.yaml files to environment: { sdk: '^3.6.0' }. In the root pubspec.yaml, add a workspace: section that lists all the packages intended to be part of the workspace, for example: workspace: [pkgs/http, pkgs/http_parser, ...].
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: pkgs/http_client_conformance_tests/pubspec.yaml#L11-L12
Potential issue: The introduction of `resolution: workspace` in multiple `pubspec.yaml`
files requires all workspace packages to have a Dart SDK constraint of `^3.6.0` or
higher. However, many packages, including the root package, have lower constraints
(e.g., `^3.4.0`, `^3.0.0`). Additionally, the root `pubspec.yaml` file declares
`resolution: workspace` but is missing the required `workspace:` section that defines
the member packages. This incomplete and incorrect configuration will cause dependency
resolution to fail when running `dart pub get` or `flutter pub get`, breaking the build
process for the entire project.
Did we get this right? 👍 / 👎 to inform future reviews.
pkgs/http/pubspec.yaml
Outdated
| environment: | ||
| sdk: ^3.4.0 | ||
|
|
||
| resolution: workspace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: The PR adds resolution: workspace to multiple packages but fails to declare the corresponding workspace: section in the root pubspec.yaml, which will break dependency resolution.
Severity: CRITICAL
Suggested Fix
Update the root pubspec.yaml file to include a workspace: key. This key's value should be a list of paths to all the packages that are now part of the workspace, such as pkgs/http, pkgs/http2, etc.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: pkgs/http/pubspec.yaml#L14
Potential issue: The pull request introduces `resolution: workspace` to 16 package
`pubspec.yaml` files. According to Dart's documentation, this requires a workspace root
`pubspec.yaml` in a parent directory that defines a `workspace:` section listing all
member packages. The current root `pubspec.yaml` is missing this `workspace:`
declaration. Consequently, any attempt to run `dart pub get` or `flutter pub get` in
these packages will fail, breaking local development, CI/CD builds, and all dependency
resolution operations.
Did we get this right? 👍 / 👎 to inform future reviews.
- Update environment SDK constraint to `^3.4.0` - Remove specific dependency version constraints for unified workspace management Branch: dev Base: main Related to: cross-repo workspace change affecting 62 repositories
|
smart-prs is closing this PR automatically. Reason: 0 file changes between |
Summary
This PR updates the Dart SDK and Flutter SDK constraints across all packages within the monorepo to ensure compatibility with newer SDK versions. It also unifies workspace dependencies to maintain consistency and prepare for future development.
Changes
environment.sdkconstraint to^3.4.0for most packages, includingpkgs/cronet_http,pkgs/http,pkgs/http_client_conformance_tests,pkgs/http_multi_server,pkgs/http_parser,pkgs/http_profile,pkgs/http2,pkgs/ok_http,pkgs/web_socket, andpkgs/web_socket_conformance_tests.environment.sdkconstraint to^3.3.0forpkgs/web_socket_channel.environment.flutterconstraint to>=3.22.0forpkgs/cronet_http,pkgs/cupertino_http, andpkgs/flutter_http_example.example/pubspec.yamlfiles within affected packages.