79fa199a2b
To support internal compilations, dart2wasm must be able to run in phases. There are a few reasons for this: 1) Kernel transforms are run on the program after the CFE has run. We must emit a dill that frameworks can transform and then pass the transformed dill back to dart2wasm. 2) This allows us to avoid forge limits by running each phase of the compiler in separate blaze actions. TFA has the chance of running long on large programs and so it might be beneficial to run it as its own action. This implementation currently supports 3 phases: "cfe", "tfa", "codegen" They can be run collectively or in any consecutive combination. Phases are specified via a '--phases' multi-option. Any data that needs to be passed between the phases is encoded directly into the serialized dill. This also opens up the opportunity to make "opt" its own phase that runs wasm-opt on the wasm emitted from the codegen phase. Change-Id: Ide830763f7063c7ab880e8e54dc47bd32fd4e7cd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/455280 Commit-Queue: Nate Biggs <natebiggs@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
Dart CLI tooling
A command-line utility for Dart development.
Usage: dart <command|dart-file> [arguments]
Global options:
-v, --verbose Show additional command output.
--version Print the Dart SDK version.
--enable-analytics Enable analytics.
--disable-analytics Disable analytics.
--suppress-analytics Disallow analytics for this `dart *` run without changing the analytics configuration.
-h, --help Print this usage information.
Available commands:
analyze Analyze Dart code in a directory.
compile Compile Dart to various formats.
create Create a new Dart project.
devtools Open DevTools (optionally connecting to an existing application).
doc Generate API documentation for Dart projects.
fix Apply automated fixes to Dart source code.
format Idiomatically format Dart source code.
info Show diagnostic information about the installed tooling.
pub Work with packages.
run Run a Dart program.
test Run tests for a project.
Run "dart help <command>" for more information about a command.
See https://dart.dev/tools/dart-tool for detailed documentation.
Contributing
If you'd like to contribute to the Dart CLI tool, please start by reading the contribution guidelines for the Dart project. Then familiarize yourself with the design principles that guide this tool's UX.
Features and bugs
Please file feature requests and bugs in the Dart SDK issue tracker
with label area-dart-cli.