Commit Graph

4 Commits

Author SHA1 Message Date
Alexei Frolov
c15a98852f
Download external Go dependencies in build
This change updates the Go GN integration to download external
dependencies for Go packages before running "go build". These
dependencies are listed in the pw_go_package template using build
metadata and collected to a "go get" invocation.

To support this, the pw_exec template is expanded to allow setting
positional arguments from a file.

Change-Id: If4f6c71f037b35bb041984da9982a1629d1d36b0
2019-12-26 10:39:48 -08:00
Alexei Frolov
def1471ede Add Go support to GN
This change defines GN templates that allow building Go code as part of
Pigweed's build system. Go is also added as a supported language for the
proto_library template.

Change-Id: I3e639a12e6a8ba0a7a928c5d653c623cff58eb86
2019-12-26 18:37:34 +00:00
Alexei Frolov
bbf164c985 Add pw_protobuf module
This change adds a pw_protobuf module containing a lightweight protobuf
wire format encoder. The encoder comes with a Python script that plugs
into protoc to generate C++ classes from Protobuf files that wrap its
functionality.

Bug: 20

Change-Id: I867655ab64c2f6ddd2a731054b1fbe7ccc97ba70
2019-12-18 21:29:17 +00:00
Alexei Frolov
942adf02d6 Add pw_protobuf_compiler module
This change adds a module responsible for invoking the protobuf compiler
to generate code from .proto definition files. It provides a GN template
which performs the codegen operation on a list of input .proto files.
The template currently only supports C++.

Change-Id: I5558fd5b4282e0d6f09f8fafebda972738dc1e83
2019-12-13 19:38:27 +00:00