0b2c9b048d
This involves a few pieces: - Add support to DDC for specifying the module name associated with a given summary. This lets test.dart invoke DDC using summaries in the build directory outside of the directory containing the test itself. - Add support to the build scripts for building the packages. This adds a new GN target that builds everything needed to run test.dart with dartdevc. In particular, it invokes build_pkgs.dart to compile the relevant packages to JS+summary so that the tests can use them. This requires some changes to build_pkgs.dart so it can output to a given directory. - In test.dart, when tests are compiled with dartdevc, pass in the summaries for the packages so they don't get compiled in. Then, when the test is run, configure require.js with the right paths to their JS files so they can be loaded. I also removed a bunch of unneeded buildDir parameters being passed around the various CompilerConfiguration class methods now that they have direct access to the configuration. Fix #29923. R=vsm@google.com, whesse@google.com, zra@google.com Review-Url: https://codereview.chromium.org/2955513002 .
Tools for processing the Dart SDK
patch_sdk.dart
This script combines:
tool/input_sdk/lib/...
tool/input_sdk/patch/...
tool/input_sdk/private/...
and produces the merged SDK sources in:
gen/patched_sdk/...
The result has all "external" keywords replaced with the @patch implementations.
Generally local edits should be to input_sdk/patch and input_sdk/private,
as those two directories are specific to DDC. input_sdk/lib should represent
unmodified SDK sources to the maximum extent possible. Currently there are
slight edits to the type annotations in some cases.
See patch_sdk.dart for more information.
sdk_version_check.dart
Asserts that the Dart VM is at least a particular semantic version. It returns an exit code to make it easy to integrate with shell scripts.