| Index: mojo/public/dart/mojo/README.md
 | 
| diff --git a/mojo/public/dart/mojo/README.md b/mojo/public/dart/mojo/README.md
 | 
| deleted file mode 100644
 | 
| index 5decce33d1e0386e8df59b106016a6e2f6219048..0000000000000000000000000000000000000000
 | 
| --- a/mojo/public/dart/mojo/README.md
 | 
| +++ /dev/null
 | 
| @@ -1,128 +0,0 @@
 | 
| -Dart Mojo Applications
 | 
| -====
 | 
| -
 | 
| -## Mojo Application API
 | 
| -
 | 
| -*TODO(zra)*
 | 
| -
 | 
| -## Application Packaging
 | 
| -
 | 
| -All Dart sources for a Mojo application are collected in a specially formatted
 | 
| -snapshot file, which is understood by Dart's content handler in the Mojo shell.
 | 
| -This section describes what the various parts of that package are, and how they
 | 
| -all make it to the right place.
 | 
| -
 | 
| -### GN Template
 | 
| -
 | 
| -Dart Mojo applications are built with the GN template 'dart_pkg' defined in
 | 
| -`//mojo/public/dart/rules.gni`. Here is an example:
 | 
| -
 | 
| -
 | 
| -```
 | 
| -dart_pkg("foo") {
 | 
| -  app_name_override = "dart_foo"
 | 
| -  app = "lib/main.dart"
 | 
| -  sources = [
 | 
| -    "lib/foo.dart",
 | 
| -    "pubspec.yaml",
 | 
| -  ]
 | 
| -  deps = [
 | 
| -    ":foo_mojom",
 | 
| -    "//mojo/public/dart",
 | 
| -  ]
 | 
| -}
 | 
| -
 | 
| -mojom("foo_mojom") {
 | 
| -  sources = [
 | 
| -    "foo.mojom",
 | 
| -  ]
 | 
| -}
 | 
| -```
 | 
| -
 | 
| -There are several parts. See the documentation in `//mojo/public/dart/rules.gni`
 | 
| -for all the details.
 | 
| -
 | 
| -### pub packages
 | 
| -
 | 
| -Dart Mojo applications may use packages from the pub package repository at
 | 
| -pub.dartlang.org.
 | 
| -
 | 
| -The "foo" example above has `uses_pub` set to true. Suppose the "foo" package's
 | 
| -`pubspec.yaml` is as follows:
 | 
| -
 | 
| -```
 | 
| -name: foo
 | 
| -version: 0.0.1
 | 
| -description: Foo
 | 
| -dependencies:
 | 
| -  crypto: ">=0.9.0 <0.10.0"
 | 
| -```
 | 
| -
 | 
| -The script `//mojo/public/tools/git/dart_pub_get.py` should be run before build
 | 
| -time, e.g. as a "runhooks" action during `gclient sync`. The script traverses
 | 
| -a directory tree looking for `pubspec.yaml` files. On finding one, in the
 | 
| -containing directory, it runs `pub get`. This creates a "packages/" directory
 | 
| -in the source tree adjacent to the `pubspec.yaml` file containing the downloaded
 | 
| -Dart packages. `pub get` also creates a `pubspec.lock` file that locks down
 | 
| -pub packages to specific versions. This `pubspec.lock` file must be checked in
 | 
| -in order to have hermetic builds.
 | 
| -
 | 
| -During the build, The `dart_pkg` rule looks for a "packages/" directory, and
 | 
| -ensures that its contents are available when running the application.
 | 
| -
 | 
| -### Generated bindings
 | 
| -
 | 
| -The script `//mojo/public/tools/bindings/generators/mojom_dart_generator.py`
 | 
| -and the templates under `//mojo/public/tools/bindings/generators/dart_templates`
 | 
| -govern how `.mojom` files are compiled into Dart code.
 | 
| -
 | 
| -Consider the `foo.mojom` file used by our example:
 | 
| -
 | 
| -```
 | 
| -[DartPackage="foo"]
 | 
| -module foo;
 | 
| -
 | 
| -struct Foo {
 | 
| -  int32 code;
 | 
| -  string? description;
 | 
| -};
 | 
| -```
 | 
| -
 | 
| -This contents of this file are in the `foo` module. The Dart source generated
 | 
| -for this file will end up under, e.g. `//out/Debug/gen/dart-
 | 
| -pkg/foo/lib/foo/network_error.mojom.dart`, along with the other Dart sources
 | 
| -generated for `.mojom` files with the "foo" `DartPackage` annotation in the
 | 
| -`foo` module.
 | 
| -
 | 
| -### Resulting file
 | 
| -
 | 
| -The `dart_pkg` rule has two results. The first result is a Dart snapshot file
 | 
| -zipped up into a .mojo file in the build output directory---something like
 | 
| -`//out/Release/foo.mojo`. This file is understood by the Dart content handler
 | 
| -and is suitable for deployment. The second result is a directory layout of the
 | 
| -"foo" app that can be served by a webserver. When the URL of `lib/main.dart` is
 | 
| -given to the `mojo_shell`, the app will be run in the Dart content handler.
 | 
| -
 | 
| -They layout for our "foo" example will be the following:
 | 
| -
 | 
| -```
 | 
| -//lib/main.dart
 | 
| -//lib/foo.dart
 | 
| -//lib/foo/foo.mojom.dart
 | 
| -//packages/crypto/...  # Dart's crypto pub package.
 | 
| -//packages/mojo/...  # Mojo SDK Dart libraries.
 | 
| -```
 | 
| -
 | 
| -Where `//packages/mojo` contains Dart's Mojo bindings, `//packages/crypto`
 | 
| -contains the `crypto` pub package, and `//lib/foo/` contains the bindings
 | 
| -generated for `foo.mojom`.
 | 
| -
 | 
| -Mojo's Dart content handler sets the package root for a Dart application to be
 | 
| -the packages directory. Therefore, Dart sources in this application can use the
 | 
| -following imports:
 | 
| -
 | 
| -```dart
 | 
| -import 'package:crypto/crypto.dart';
 | 
| -import 'package:foo/foo/foo.mojom.dart';
 | 
| -import 'package:mojo/application.dart';
 | 
| -```
 | 
| 
 |