temporalio / temporalio/api

[Feature Request] Move/remove third party protos to a separate place instead of root

Open
#400 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
133
Forks
101
Avg merge
1d 22h
Merged PRs (30d)
11

Description

Describe the solution you'd like

Other users protoc from the root of this repo. When https://github.com/temporalio/api/commit/108b40ae508505b64f19ccbe2fdbcd304081391b was done, we put google-based proto dependencies at the same path as our own assuming that all users were ok with using these google protos instead of their own (e.g. from https://github.com/protocolbuffers/protobuf/tree/main/src/google/protobuf).

We probably need to either:

  • Put the third party references where the protoc is actually run (e.g. api-go) and only embed them here when testing

or:

  • Move google/api to thirdparty/google-api/google/api
  • Move google/protobuf to thirdparty/google-protobuf/google/protobuf
  • Add -I thirdparty/google-api and -I thirdparty/google-protobuf to our protoc
  • Confirm the fact that thirdparty is nested under our root is ok and can easily be ignored by most protoc use

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the current root-level google/api and google/protobuf paths and find where protoc is invoked in api-go. Compare the proposed relocation and include-path changes, then verify that repository protoc commands still work while external users can use their own third-party protos.

Written by the indexing model from the issue text.

Assessment

Domain
api, build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.