An overview of some important files and organization of the code. If it's not listed here you probably don't need to worry about it.
Actions
├── actions # Top level directory for source, platform-independent
│ │ # implementation goes here.
│ │
│ ├── examples # Some code examples that use Actions.
│ │
│ └── linux # Linux specific implementation
│
├── third_party # Contains build configuration for non-bazel repositories,
│ # in our case local dependencies.
│
├── .bazelrc # Can be used to specify default command-line args for bazel.
│
├── deps.bzl # A script that installs all the dependencies for actions,
│ # if you need to add or change a dependency do it here.
│
└── WORKSPACE # Bazel workspace configuration
For any IDEs using some form of clangd for IntelliSense run
bazel run //.vscode:compile_commands
to generate a compile_commands.json file.
VSCode is the preferred IDE as we have setup some tooling to make working in this code base easier.
- Build All
- Test All
- Refresh compile_commands.json
flowchart LR
api[Actions API]
ds[Display Server]
subgraph dispatch [Actions Dispatcher]
direction TB
el[Event Loop]
aq[Action Queue]
el --push/pop action--> aq
end
api --push action--> el
api --reg handler--> el
el --perform action--> ds
ds --error--> el
The actions API consists of two components, the "Action Dispatcher" which is responsible