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'; |
-``` |