[lucicfg] docgen: Add AST parser for the documentation generator.

It takes a Starlark's AST and reduces it only to structures important for the
documentation generation purposes, preserving their docstring and comments.

It works on a single file only. It will be used by a higher level parser that
understands relations between modules in a package, e.g. if a symbol is defined
in an internal module, but then publicly exposed through an alias in another
module, the documentation generator will be able to trace the references back
to the original definition, to grab a documentation from it.

R=tandrii@chromium.org
BUG=833946

Change-Id: Ic5ae1ac25978cb3964f20d3ae43bc3265fc7078c
Reviewed-on: https://chromium-review.googlesource.com/c/1407728
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
2 files changed
tree: babbc8b65ba43434ef4e6f21728ba6901671762f
  1. appengine/
  2. auth/
  3. buildbucket/
  4. cipd/
  5. client/
  6. common/
  7. config/
  8. cq/
  9. dm/
  10. examples/
  11. gce/
  12. grpc/
  13. hardcoded/
  14. infra/
  15. logdog/
  16. luci_notify/
  17. lucicfg/
  18. lucictx/
  19. machine-db/
  20. milo/
  21. mmutex/
  22. mp/
  23. scheduler/
  24. scripts/
  25. server/
  26. starlark/
  27. tokenserver/
  28. tools/
  29. tumble/
  30. vpython/
  31. web/
  32. .gitattributes
  33. .travis.yml
  34. AUTHORS
  35. codereview.settings
  36. CONTRIBUTING.md
  37. CONTRIBUTORS
  38. LICENSE
  39. OWNERS
  40. pre-commit-go.yml
  41. PRESUBMIT.py
  42. README.md
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.