add builtin VDLROOT support to vdl

Currently, the vdl binary requires the v23 source distribution to run.
This CL removes that requirement by compiling the necessary parts of the
v23 source distribution into the vdl tool itself.

There are two components: the builtin root generator, and the extractor.

The generator runs at v23 go generate time and walks the
v.io/v23/vdlroot package looking for VDL files. Any VDL file found is
added to a tar file. That tar file is then gzip'd, base64 encoded and
placed inside a const at the top of builtin_vdlroot.go.

The extractor runs in vdl main() if --use_builtin_vdlroot is set and no
VDLROOT could be determined (using existing build.VdlRootDir logic). The
extractor creates a new temporary directory and untars the vdl sources
to that directory. It then sets the VDLROOT environment. vdl tool
execution then proceeds as usual.

MultiPart: 1/2
Change-Id: I25fcbdb0ff9ff5029e6aeb8082e8116b1406f6b5
7 files changed
tree: 2e0e668c188a5dda25330793ba355b5622c6a403
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING
  11. CONTRIBUTORS
  12. envvar.go
  13. envvar_test.go
  14. LICENSE
  15. PATENTS
  16. README.md
  17. VERSION
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.