-
Notifications
You must be signed in to change notification settings - Fork 562
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
Use pub workspace for the dart-pad monorepo #3041
base: main
Are you sure you want to change the base?
Conversation
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.
Looks good generally - good to experiment with this feature. I don't know how this will interact with creating the docker images to run the backend, but I imagine we'll find that out.
In order to get this to work on the CI I think we'll need to provision using the flutter sdk instead of the dart one, given that some of the packages need flutter.
Run dart pub get
Resolving dependencies in `/home/runner/work/dart-pad/dart-pad`...
Because samples depends on flutter from sdk which doesn't exist (the Flutter SDK is not available), version solving failed.
pkgs/dart_services/pubspec.yaml
Outdated
dependency_overrides: | ||
dartpad_shared: | ||
path: ../dartpad_shared | ||
# This package is managed as part of the dart-pad 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.
As a nit in these files, perhaps move the resolution
info to before the dependencies
section?
The |
PR HealthBreaking changes ✔️
Changelog Entry ✔️
Changes to files need to be accounted for in their respective changelogs. Coverage ✔️
This check for test coverage is informational (issues shown here will not fail the PR). 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.
License Headers ✔️
All source files should start with a license header. Unrelated files missing license headers
|
Some of our GitHub Actions are using the Dart SDK (not the Flutter SDK), so when, for example, we
This seems like it should be a warning, since this is running in a Dart package, not a Flutter package. But since the workspace contains Flutter and Dart packages, our CI tools need to run We could try to work around this by using the Flutter SDK everywhere, but that seems unnecessary. @devoncarew WDYT? |
I haven't parsed everything that's going on here, but |
Is this true for workspaces too? |
This sets up a pub workspace for each of the packages in this monorepo. This lets us run
dart pub get
from the root of the project and take advantage of a shared analysis server.