Index: third_party/mojo/src/mojo/public/dart/README.md |
diff --git a/third_party/mojo/src/mojo/public/dart/README.md b/third_party/mojo/src/mojo/public/dart/README.md |
deleted file mode 100644 |
index 62526904b4d2413fe5aa6974ac129ee331272b9b..0000000000000000000000000000000000000000 |
--- a/third_party/mojo/src/mojo/public/dart/README.md |
+++ /dev/null |
@@ -1,126 +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 |
-zip 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 |
-'dartzip_packaged_application' defined in `//mojo/public/dart/rules.gni`. |
-Here is an example: |
- |
- |
-``` |
-dartzip_packaged_application("foo") { |
- output_name = "dart_foo" |
- uses_pub = true |
- sources = [ |
- "main.dart", |
- "foo.dart", |
- ] |
- deps = [ |
- "//mojo/public/dart", |
- "//mojo/services/network/public/interfaces", |
- ] |
-} |
-``` |
- |
-There are several parts: |
-* `output_name` is the name of the resulting .mojo file if it should be |
- different from the name of the target. (In this case we get dart_foo.mojo |
- instead of foo.mojo.) |
-* `uses_pub` should be true when the application depends on Dart packages pulled |
- down from pub. The application should have `pubspec.yaml` and `pubspec.lock` |
- files adjacent to `main.dart`. More on this below. |
-* `sources` is the list of Dart sources for the application. Each application |
- **must** contain a `main.dart` file. `main.dart` must be the library entry |
- point, and must contain the `main()` function. |
-* `deps` has the usual meaning. In the example above, |
- `//mojo/services/network/public/interfaces` indicates that the "foo" |
- application uses the Dart bindings generated for the network service. |
- |
-### 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 its `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 `dartzip_packaged_application` rule looks for a |
-"packages/" directory, and copies its contents into the zip file. |
- |
-### 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 `network_error.mojom` file from the network services used by our |
-"foo" example: |
- |
-``` |
-module mojo; |
- |
-struct NetworkError { |
- int32 code; |
- string? description; |
-}; |
-``` |
- |
-This contents of this file are in the `mojo` module. The Dart source generated |
-for this file will end up under, e.g. |
-`//out/Debug/gen/dart-gen/mojom/mojo/network_error.mojom.dart`, along with the |
-other Dart sources generated for `.mojom` files in the `mojo` module. |
- |
-### Resulting layout |
- |
-They layout for our "foo" example will be the following: |
- |
-``` |
-//main.dart |
-//foo.dart |
-//crypto/... # Dart's crypto pub package. |
-//mojo/public/dart/... # Mojo SDK Dart libraries. |
-//mojom/mojo/... # Generated bindings in the mojo module. |
-``` |
- |
-Where `//mojo/public/dart` contains Dart's Mojo bindings, `//crypto` contains |
-the `crypto` pub package, and `//mojom/mojo` contains the generated bindings in |
-the mojom module for the network service. |
- |
-Mojo's Dart content handler sets the package root for a Dart application to be |
-the root directory of the unpacked zip file. Therefore, Dart sources in this |
-application can use the following imports: |
- |
-```dart |
-import 'package:crypto/crypto.dart'; |
-import 'package:mojo/public/dart/application.dart'; |
-import 'package:mojom/mojo/network_error.mojom.dart'; |
-``` |