-
Notifications
You must be signed in to change notification settings - Fork 215
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
Promote dart2wasm compiler support to the stable browser platform. #2144
Conversation
I went ahead and refactored things to remove |
pkg:http works with dart-lang/http#1064 !!! |
pkg:web_socket_channel at dart-lang/web_socket_channel@df096a9
Both feel like weird double or int issues...obviously... |
@natebosch when you get back if you could provide your thoughts on #2144 (comment) that would be helpful, maybe we should have a quick video chat. |
I also changed this, there is no "precompiled" compiler any more. The existing "precompiled" support will likely get some additional wire-up eventually to do compiler specific things though, if needed. |
I went ahead and dropped
|
…d Configuration had a breaking change
pkgs/test/lib/src/runner/browser/compilers/compiler_support.dart
Outdated
Show resolved
Hide resolved
We should double check if this impacts flutter usage. Have you tried this in google3 yet? We might want to create a CL for it and run through a presubmit before landing on github.
The json protocol is backwards compatible - do we have any Dart API compatibility concerns? |
I think this all looks good assuming it doesn't cause any issues rolling to flutter or google3 - I'm nervous about dropping support for running tests from an arbitrary server, but I do prefer removing it and seeing if anyone complains over assuming it's working untested. |
Yes, I definitely plan on validating these changes internally, in the Dart SDK, and in flutter before publishing.
Yeah, I feel like we have kicked the can down the road a lot on this, and I want to see if anybody even notices. We definitely can bring back support if needed, and I will sign up for doing that. |
Fwiw my plan was to land it on GitHub, since that makes it easier to test it. But I will wait to publish until validated. |
I did a breaking change in test_api and test_core, as there are some changes to the Runtime and Configuration classes. |
auto label is removed for dart-lang/test/2144, due to - The status or check suite unit_test; windows; Dart 3.0.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --sha... has failed. Please fix the issues identified (or deflake) before re-applying this label. |
Closes #2143
I ended up going on quite the cleanup adventure here 🤣 . But I think the result is much cleaner around how it handles --precompiled and the various compilers in the browser platform. We may want to adopt a similar cleanup in other platforms too.
chrome
platform (works on chrome stable now).CompilerSupport
interface.--pub-serve
mode. We could bring this back if necessary as another kind ofCompilerSupport
but I don't think it has any users (let me know if you feel different).CompilerSupport
instance now gets its own server, browser manager, secret, etc. This resolves complications around knowing which kinds of compiler a given request is asking for, which the previous model couldn't handle well. You will get multiple browser instances if multiple compilers are used.Adds the "precompiled" compiler option. This isn't intended to be passed directly, it is inferred when passing the--precompiled
argument. No other compiler options are allowed if it is used (although we could probably if desired?).isJS
andisWasm
fromRuntime
, these no longer make sense. Added extensions toCompiler
instead for convenience.Likely there is some additional consolidation that could happen here, as there is a fair bit of duplicate logic across some of the implementations. But I am not sure if it is really worth it or not.