devtools: Change vdl go generator to emit a single file.

Here's the old behavior.  In each vdl package, we generate *.go
files that match the *.vdl file names.

v.io/x/lib/foo/a.vdl
v.io/x/lib/foo/a.vdl.go # genfile
v.io/x/lib/foo/b.vdl
v.io/x/lib/foo/b.vdl.go #genfile

v.io/x/lib/bar/bar.vdl
v.io/x/lib/bar/bar.vdl.go # genfile

Here's the new behavior.  In each vdl package, we generate a
single <package name>.vdl.go file.

v.io/x/lib/foo/a.vdl
v.io/x/lib/foo/b.vdl
v.io/x/lib/foo/foo.vdl.go #genfile

v.io/x/lib/bar/bar.vdl
v.io/x/lib/bar/bar.vdl.go # genfile

The purpose of this change is to make it easier to deal with
initialization ordering issues in our generated code, and to make
the codegen simpler.  Those larger goals will be tackled in
subsequent CLs; this is the big one with lots of file moves and
deletions.

Note that the new vdl compiler will automatically delete any
old *.vdl.go files after it has successfully generated code.
That is only for the transitional step; we will remove that logic
after everyone has switched over.

Also removed the vdl -exts flag, which used to allow the user to
change the set of extensions to consider vdl files.  That was
used long ago to deal with experimental vdl features, and hasn't
been used in a while.

Change-Id: Ifcc37834040946dee3fb6c19ca4db891b213a9f6
MultiPart: 2/7
1 file changed
tree: aa2732aec09c6c28900d72e483701dee7601a141
  1. bendroid/
  2. dashboard/
  3. data/
  4. godepcop/
  5. gologcop/
  6. internal/
  7. jiri-api/
  8. jiri-copyright/
  9. jiri-dockergo/
  10. jiri-go/
  11. jiri-goext/
  12. jiri-oncall/
  13. jiri-profile-v23/
  14. jiri-run/
  15. jiri-swift/
  16. jiri-test/
  17. jiri-v23-profile/
  18. jiridoc/
  19. madb/
  20. mailer/
  21. oncall/
  22. postsubmit/
  23. presubmit/
  24. tracify/
  25. vbinary/
  26. vcloud/
  27. vjenkins/
  28. vkiosk/
  29. vmon/
  30. .gitignore
  31. .godepcop
  32. .jiriignore
  33. AUTHORS
  34. CONTRIBUTING.md
  35. CONTRIBUTORS
  36. LICENSE
  37. PATENTS
  38. README.md
  39. VERSION
README.md

This repository contains developer tools used to install and contribute to Vanadium.

For more information, see the installation and contributing instructions.

This repository is fetched and the tools are built as part of the Vanadium installation process for contributors.