daml/ledger-api
Andreas Herrmann 66b407467f
Update protobuf docs plugin (#11880)
* Try to upgrade protobuf docs plugin

changelog_begin
changelog_end

* Fix extension number 65020 is already registered

Building `//ledger-api/grpc-definitions:ledger-api-docs` [failed
with](https://github.com/digital-asset/daml/issues/11761#issuecomment-978947565)
```
panic: proto: extension number 65020 is already registered on message google.protobuf.FieldOptions
```

Go dependencies are now pulled in via Gazelle. By default Gazelle will
generate new proto rules for any `.proto` files encountered in third
party Go dependencies. However, many of these already have pregenerated
`.pb.go` files generate with the appropriate configuration.

The problem can be avoided by configuring Gazelle to not generate new
proto rules, but instead use pre-existing `.pb.go` files.

For reference the field number is set in
[go-proto-validators](32a686adf8/validator.proto (L19))
which is an indirect dependency through protoc-gen-doc.

In this case we need to update protoc-gen-validate to v0.6.2 to include
4f41f10dde
which fixes unknown label errors.

* ./fmt

* Expose gRPC status.proto for Haskell bindings

* Update Gazelle to support embedsrcs on Windows

`protoc-gen-doc` relies on `go:embed` file embedding
2dde01902b/resources.go (L8).
Gazelle supports `embedsrcs`, however, it did not generate the attribute
correctly on Windows due to the different directory separator. This is
fixed in https://github.com/bazelbuild/bazel-gazelle/pull/1101.

* Add gazelle to compatibility workspace

It's loaded into `@daml`'s top-level `BUILD` file and ends up being a
dependency of the compatibility workspace as well.

* shift go_googleapis import

* Delete dead code

protobuf is imported transitively.

* Document how to add Go dependencies

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-11-25 20:51:24 +00:00
..
grpc-definitions Update protobuf docs plugin (#11880) 2021-11-25 20:51:24 +00:00
perf-testing check whether collection.compat is unused when compiling for Scala 2.12 (#9604) 2021-05-11 21:54:14 +00:00
rs-grpc-akka Upgrade Scalatest to v3.2.9. (#10576) 2021-08-12 23:19:35 +00:00
rs-grpc-bridge Populate definite_answer in ApiException [KVL-1004] (#10832) 2021-09-13 16:28:39 +00:00
rs-grpc-testing-utils Build and test //ledger-api/... against Scala 2.13 (#8452) 2021-01-11 16:53:54 +01:00
sample-service Upgrade Scalatest to v3.2.9. (#10576) 2021-08-12 23:19:35 +00:00
scripts open-sourcing daml 2019-04-04 09:33:38 +01:00
testing-utils Dpp 494 unit testing ha coordinator (#10862) 2021-09-16 17:08:45 +02:00
.gitignore open-sourcing daml 2019-04-04 09:33:38 +01:00
.sbtopts open-sourcing daml 2019-04-04 09:33:38 +01:00
BUILD.bazel update copyright notices for 2021 (#8257) 2021-01-01 19:49:51 +01:00
README.md correct broken ledger-api-introduction links (#1565) 2019-06-07 15:18:21 -04:00
VERSION Ledger API: bump version for LF 1.14 (#10175) 2021-07-05 13:54:25 +00:00

Ledger-API

This is the API code for the ledger, which contains:

  • gRPC API definitions
  • Generated Scala bindings
  • gRPC-RS bridge
  • gRPC-Akka bridge
  • Server API classes with validation
  • Prototype Server
  • Prototype Clients
    • Scala
    • Python
    • Node.js
  • Integration tests for all of the above

Documentation

The Ledger API Introduction contains introductory material as well as links to the protodocs reference documentation.

See the docs README for more about how to preview and publish documentation.