Most of the code lives in //infra/infra/fxicfg. The directories are:
builtins/
: starlark callables that are globally available (no load
statement needed)errs/
: internal error handling utilities.loaders/
: packages the interpreter uses to load starlark modules.starlark/
: built-in or generated starlark code. Starlark sources in this directory are compiled into this binary.state/
: interpreter state, which tracks output generated by client programs.Whenever a new protobuf API is created for a recipe, or an existing API is updated, the new .proto file should be added to this tool by following the steps below. These should be done in the //infra/infra/fxcicfg directory:
go generate ./...
Make sure the proto definition has the following header, replacing ‘fuchsia’ with the appropriate string:
syntax = "proto3"; // "from PB.recipe_modules.infra.fuchsia import Fuchsia" (from recipes) package recipe_modules.infra.fuchsia; option go_package = "recipes";