-
Notifications
You must be signed in to change notification settings - Fork 114
Open
Labels
DevOpsFor everything related to logistics of codeFor everything related to logistics of codeDifficulty - 7Well-defined tasks that require some understanding about the relevant system and toolsWell-defined tasks that require some understanding about the relevant system and tools
Description
Description of the task
nanopb.bzl implements the nanopb_proto_library rule and is extremely complicated. It uses protoc and the nanopb plugin to generate nanopb proto libs, a zip containing our nanopb.c and nanopb.h for ESPs, and C++ artifacts for cc_library targets.
Specifically, this rule outputs the following 3 bazel types:
DefaultInfo: For flashing onto ESPsCcInfo: C++ output artifactsPlatformIOLibraryInfo: Forplatformio_rules
We should separate the internal logic for performing these three actions, so that this already difficult to read code is more maintainable.
Acceptance criteria
-
nanopb.bzlshould be SOLID
Blocked By
Metadata
Metadata
Assignees
Labels
DevOpsFor everything related to logistics of codeFor everything related to logistics of codeDifficulty - 7Well-defined tasks that require some understanding about the relevant system and toolsWell-defined tasks that require some understanding about the relevant system and tools