New go generator shakedown.

Fix a number of bugs.
Add serialization for interfaces and interface requests.
Add the sha1 files for the go generator so it is downloaded by gclient sync.

R=vardhan@google.com

Review URL: https://codereview.chromium.org/2082173002 .

Cr-Mirrored-From: https://github.com/domokit/mojo
Cr-Mirrored-Commit: 58dc9a37daaf13b8da523562c86d0c21a2fc00d3
2 files changed
tree: 3f6756c0326d522bfde1bc661a194d56e3a10852
  1. build/
  2. c/
  3. cpp/
  4. dart/
  5. go/
  6. interfaces/
  7. java/
  8. js/
  9. platform/
  10. python/
  11. third_party/
  12. tools/
  13. .gitignore
  14. BUILD.gn
  15. LICENSE
  16. mojo.gni
  17. mojo_application.gni
  18. mojo_sdk.gni
  19. README.md
README.md

Mojo Public API

The Mojo Public API is a binary stable API to the Mojo system.

It consists of support for a number of programming languages (with a directory for each support language), some “build” tools and build-time requirements, and interface definitions for Mojo services (specified using an IDL).

Note that there are various subdirectories named tests/. These contain tests of the code in the enclosing directory, and are not meant for use by Mojo applications.

C/CPP/JS

The c/, cpp/, js/ subdirectories define the API for C, C++, and JavaScript, respectively.

The basic principle for these directories is that they consist of the source files that one needs at build/deployment/run time (as appropriate for the language), organized in a natural way for the particular language.

Interfaces

The interfaces/ subdirectory contains Mojo IDL (a.k.a. .mojom) descriptions of standard Mojo services.

Platform

The platform/ subdirectory contains any build-time requirements (e.g., static libraries) that may be needed to produce a Mojo application for certain platforms, such as a native shared library or as a NaCl binary.

Tools

The tools/ subdirectory contains tools that are useful/necessary at build/deployment time. These tools may be needed (as a practical necessity) to use the API in any given language, e.g., to generate bindings from Mojo IDL files.