Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Unified Diff: README.md

Issue 1425953002: add tool to check that deferred libraries contain the expected code (Closed) Base URL: git@github.com:dart-lang/dart2js_info.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « CHANGELOG.md ('k') | bin/deferred_library_check.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: README.md
diff --git a/README.md b/README.md
index 811877e3d248c0811f8b627ae76205d9dba3d216..50a26929ea94c1763cf9ca429a991dda1cfbe39b 100644
--- a/README.md
+++ b/README.md
@@ -69,6 +69,11 @@ The following tools are a available today:
in many ways (e.g. to tally together all libraries that belong to a package,
or all libraries that match certain name pattern).
+ * [`deferred_library_check`][deferred_lib]: a tool that verifies that code
+ was split into deferred parts as expected. This tool takes a specification
+ of the expected layout of code into deferred parts, and checks that the
+ output from `dart2js` meets the specification.
+
* [`function_size_analysis`][function_analysis]: a tool that shows how much
code was attributed to each function. This tool also uses dependency
information to compute dominance and reachability data. This information can
@@ -188,6 +193,47 @@ size attributed of all libraries, constants, and the program size.
size. Currently dart2js's `--dump-info` is not complete, so numbers for
bootstrapping code and lazy static initializers are missing.
+### Deferred library verification
+
+This tool checks that the output from dart2js meets a given specification,
+given in a YAML file. It can be run as follows:
+
+```bash
+pub global activate dart2js_info # only needed once
+dart2js_info_deferred_library_check out.js.info.json manifest.yaml
+```
+
+The format of the YAML file is:
+
+```yaml
+main:
+ packages:
+ - some_package
+ - other_package
+
+foo:
+ packages:
+ - foo
+ - bar
+
+baz:
+ packages:
+ - baz
+ - quux
+```
+
+The YAML file consists of a list of declarations, one for each deferred
+part expected in the output. At least one of these parts must be named
+"main"; this is the main part that contains the program entrypoint. Each
+top-level part contains a list of package names that are expected to be
+contained in that part. Any package that is not explicitly listed is
+expected to be in the main part. For instance, in the example YAML above
+the part named "baz" is expected to contain the packages "baz" and "quux".
+
+The names for parts given in the specification YAML file (besides "main")
+are arbitrary and just used for reporting when the output does not meet the
+specification.
+
### Function size analysis tool
This command-line tool presents how much each function contributes to the total
@@ -268,6 +314,7 @@ bugs at the [issue tracker][tracker].
[tracker]: https://github.com/dart-lang/dart2js_info/issues
[code_deps]: https://github.com/dart-lang/dart2js_info/blob/master/bin/code_deps.dart
[lib_split]: https://github.com/dart-lang/dart2js_info/blob/master/bin/library_size_split.dart
+[lib_split]: https://github.com/dart-lang/dart2js_info/blob/master/bin/deferred_library_check.dart
[coverage]: https://github.com/dart-lang/dart2js_info/blob/master/bin/coverage_log_server.dart
[live]: https://github.com/dart-lang/dart2js_info/blob/master/bin/live_code_size_analysis.dart
[function_analysis]: https://github.com/dart-lang/dart2js_info/blob/master/bin/function_size_analysis.dart
« no previous file with comments | « CHANGELOG.md ('k') | bin/deferred_library_check.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698