[Bug]: --descriptor_set_in
input files should be joined by ;
on Windows rather than :
in ts_proto_library
#670
Labels
bug
Something isn't working
What happened?
Building a
ts_proto_library
with a proto library that has transitive dependencies fails to build with a "<entire-descriptor_set_in-arg>: No such file or directory" errorInspecting the arguments provided to protoc, it looks like the paths are separated with
:
characters, which makes sense, since it's the typical construction on Linux, but it turns out the Windows protoc build wants to see them;
-separated. This is reinforced looking at some examples of howdescriptor_set_in
is joined in the protobuf repo: https://github.com/protocolbuffers/protobuf/blob/b9d1cfff8ca6814723889bade011f3fa4675d46d/protobuf.bzl#L294-L298 (other examples: https://github.com/search?q=repo%3Aprotocolbuffers%2Fprotobuf+--descriptor_set_in&type=code), where they string join onctx.configuration.host_path_separator
.I don't see where the use of a system path separator for path delimiting is documented (the docs just say "delimited"), but the parsing by this character is defined here: https://github.com/protocolbuffers/protobuf/blob/b9d1cfff8ca6814723889bade011f3fa4675d46d/src/google/protobuf/compiler/command_line_interface.cc#L2134-L2157, with the path separator conditionally defined to
:
or;
at https://github.com/protocolbuffers/protobuf/blob/b9d1cfff8ca6814723889bade011f3fa4675d46d/src/google/protobuf/compiler/command_line_interface.cc#L950-L954The only other use of this delimiter is in
--proto_path
, but I don't see any uses of--proto_path
in this repoVersion
Development (host) and target OS/architectures: Windows 10
Output of
bazel --version
: 7.1.1Version of the Aspect rules, or other relevant rules from your
WORKSPACE
orMODULE.bazel
file:Language(s) and/or frameworks involved:
Typescript, protobuf
How to reproduce
No response
Any other information?
No response
The text was updated successfully, but these errors were encountered: