-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Cleanup DDC files copied to the released SDK for Dart 3.0 #50700
Comments
cc @sigmundch |
There is no null-unsafe version of DartPad at this point. We just run null safe versions of For the code that Dart Services uses to build DDC artifacts with the |
On the |
I think this very reasonable, and if the only changes are behind the legacy flag, then I do not consider it formally breaking. |
My only comment would be it might be best to avoid re-using any pre-existing file paths. The errors are likely to be more confusing for the users that are affected, than if we used a totally new path so the old file doesn't exist at all. |
/cc @christopherfujino may be able to help answer some of your questions regarding flutter web |
I just want make sure I know what you mean by "the legacy flag". Do you mean |
I should have said "related to the legacy flag". I have no problem with removing that flag, and the associated support from DDC. |
Update: This work is in progress but we have found tests for package:dwds that expect to run with weak null safety. They need to continue running for now to prevent any regressions. The deletion of the unsound .dill files from the packaged SDK will not happen until after we move those tests to run in a different environment. For now they will be renamed in preparation for the eventual deletion:
|
When is this scheduled to happen? This change will break |
I'd like to land this change as soon as possible, but I don't think this will actually break dart-lang/dart-services. Looking at this line it looks like the .dill file being used comes from the Flutter SDK which is built separately. I don't see any .dill file being passed that comes from the Dart SDK which is what I am changing. |
@johnpryan Do you know where require.js is being pulled from to load DDC compiled code? That is another file in the Dart SDK that I'm planning on moving in another change. |
Discussed via chat, DartPad has its own copy of require.js checked in so my change should not be a problem. |
@nshahan Summarizing our discussion offline: we don't want to break webdev tests that are currently running in weak mode, so the incremental plan is in dart-lang/webdev#1878:
|
- Removes all versions of `dart_sdk.js` and `dart_sdk.js.map` from the packaged SDK. All supported build systems compile their own versions of these files. - Removes `dart-sdk/lib/dev_compiler/kernel/common/run.js`. No supported build system uses the "common" module system. - Moves `dart-sdk/lib/dev_compiler/kernel/amd/require.js` to `dart-sdk/lib/dev_compiler/amd/require.js` cleaning up the unnecessary `kernel/` sub-directory. Issue: #50700 Change-Id: Id4173ddec31a6c0260009924bf1e1ae3d3f32abf Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275482 Reviewed-by: Mark Zhou <markzipan@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>
Remove entirely the build_vm_compilers package, this should be marked discontinued on pub. Drop all code relating to sound/unsound null safety. Update build_web_compilers, build_vm_compilers, and build_runner to only support 3.x sdks. Point at the new DDC resources in the SDK based on dart-lang/sdk#50700.
@nshahan I think these changes may have broken our basic webdev workflow? Try these with a recent master (I'm using
=>
|
@mit-mit you must be on the latest build_runner/build_web_compilers/build_modules for things to work. |
@mit-mit You are right, the |
I want to highlight and coordinate some technically observable breaking changes to the files packaged with the SDK that I want to make for Dart 3.0. My intention is that no user (using a supported DDC build) will notice any changes. The intent is to only change the files copied to the packaged SDK that we ship externally, not the files that we build on our test bots or in google3.
With the removal of weak null safety we no longer need to ship the precompiled weak .dill files for the SDK libraries. In the process I would also like to cleanup the names of the sound null safe .dill files shipped for DDC. This will make the names consistent across dart2js, dart2wasm, and ddc.
@mit-mit
--no-sound-null-safety
.@domesticmouse
@annagrin
@jakemac53
DDC SDK .dill Files
I also want to remove the precompiled SDK JavaScript files. We never shipped the sound null safe versions and instead updated all the integrations of DDC to compile the SDK as needed. We only left the files in the SDK for backwards compatibility which we are breaking with Dart 3.0 anyway. AFAIK we don't use any of the files I want to delete in any supported use case.
@domesticmouse @jakemac53 @annagrin
DDC JavaScript Files
The text was updated successfully, but these errors were encountered: