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

Unified Diff: packages/code_transformers/README.md

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.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 | « packages/code_transformers/PATENTS ('k') | packages/code_transformers/codereview.settings » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/code_transformers/README.md
diff --git a/packages/code_transformers/README.md b/packages/code_transformers/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..758d2052b12afac3c05ea9b4bdbeb0788ee7138c
--- /dev/null
+++ b/packages/code_transformers/README.md
@@ -0,0 +1,75 @@
+# Code Transformers
+This package exposes various tools to help in the creation and testing of
+barback transformers, as well as an interface for logging messages with
+constant ids for documentation purposes.
+
+## Messages and logging
+
+This package exposes a `BuildLogger` class as well as `Message`,
+`MessageTemplate`, and `MessageId` classes. These work together to provide
+stable error messages with ids that can be referenced in documentation.
+
+### MessageId
+
+A `MessageId` is a constant definition of a message in a package. These are
+used to group messages with the same id or link to sections in a document.
+
+ const myId = const MessageId('myPackage', 0);
+
+These ids should typically never change or disappear throughout the entire
+lifetime of a package.
+
+### Message
+
+A `Message` is a const object which has a `MessageId` and `snippet`.
+
+ const myMessage = const Message(myId, 'my message');
+
+### MessageTemplate
+
+TODO(jakemac): Docs on this, see
+https://github.com/dart-lang/code-transformers/blob/master/lib/messages/messages.dart
+
+### BuildLogger
+
+The `BuildLogger` class just wraps a normal `TransformLogger` to provide some
+additional functionality. You use it in the same way as a `TransformLogger`
+except that the log methods can accept a `String` or a `Message`. This should
+usually be created in the first step of your transformers `apply` function:
+
+ apply(Transform transform) {
+ // If detailsUri is passed, then a link will be output with each log
+ // message that follows this format
+ // `$detailsUri#${msg.id.package}_${msg.id.id}`.
+ var logger = new BuildLogger(transform, detailsUri: 'http://foo.com');
+ }
+
+You can optionally dump out a file containing all the logs found in JSON
+format by calling the `writeOutput` method on the logger when you are done.
+The output file will have the same file path as the primary input of the
+transformer, with an extension matching this pattern `._buildLogs.$i`. The
+`i` increments starting at 0 each time that logs are output (if multiple
+transformers run on the same file for instance). These can all be combined
+into a single file later on by calling the static
+`combineLogFiles(Transform transform)` function.
+
+## Testing Transformers
+
+TODO(jakemac): Docs on this, see `testPhases` in
+https://github.com/dart-lang/code-transformers/blob/master/lib/tests.dart
+
+## Using the Analyzer in Transformers
+
+This package exposes a `Resolver` class which helps out when using the
+analyzer in a transform.
+
+TODO(jakemac): Docs on this, see
+https://github.com/dart-lang/code-transformers/blob/master/lib/src/resolver.dart
+
+## Barback AssetIds and Uris
+
+This package also provides some helpers to convert `AssetId`s to and from `Uri`s
+relative to a source asset.
+
+TODO(jakemac): Docs on this, see `uriToAssetId` & `assetIdToUri` in
+https://github.com/dart-lang/code-transformers/blob/master/lib/assets.dart
« no previous file with comments | « packages/code_transformers/PATENTS ('k') | packages/code_transformers/codereview.settings » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698