You create a descriptor by using --descriptor_set_out right? Followed by creating FileDescriptorProto by using parseFrom(FileInputStream)?
And moving forward as stated here https://groups.google.com/d/msg/protobuf/bWlJaaMmx4Q/kIYJ1-5YRb0J On Wednesday, April 19, 2017 at 11:43:42 PM UTC+5:30, Feng Xiao wrote: > > CodedInputStream is the right one to use for 1. > > Invoking protoc compiler in production sounds problematic to me, though > I'm not aware of any document listing it explicitly as bad practice. I > would suggest avoid that and use other alternatives. For example, in Google > we build a protodb which contains FileDescriptorProto of all transitively > depended .proto files and use that instead of actual .proto files. > > On Wed, Apr 19, 2017 at 10:39 AM Rohan Suri <[email protected] > <javascript:>> wrote: > >> Hey Feng, thanks for your input. >> >> Any suggestions for 1) ? Other than using CodingInputStream? >> >> Also is it bad practise to invoke protoc compiler in a production >> environment? >> >> On Wednesday, April 19, 2017 at 11:00:17 PM UTC+5:30, Feng Xiao wrote: >>> >>> >>> >>> On Wed, Apr 19, 2017 at 4:20 AM, Rohan Suri <[email protected]> wrote: >>> >>>> Hello everyone, >>>> >>>> I'm trying to find the right Java APIs to do what protoc --decode_raw >>>> and protoc --decode do. >>>> Essentially handling two cases: >>>> 1) When I don't have the proto, and only the raw protobuf msg. >>>> eg protoc --decode_raw < rawmsg.bin >>>> >>>> 1: "rohan" >>>> 2 { >>>> 1: "13" >>>> 2: "08" >>>> 3: "94" >>>> } >>>> >>>> 2) When I have the .proto(not the generated classes, neither the parsed >>>> .proto) >>>> eg protoc --decode some.pkg.name.Person $proto_file_path < rawmsg.bin >>>> >>>> name: "rohan" >>>> dob { >>>> dd: "13" >>>> mm: "08" >>>> yy: "94" >>>> } >>>> >>>> I did dig google groups. >>>> >>>> From those the hints I've got is >>>> For case 1) Using CodedInputStream write my own parser? parsing bytes >>>> by making informed guesses. >>>> >>>> >>>> https://groups.google.com/forum/#!searchin/protobuf/decode$20without$20proto|sort:relevance/protobuf/7s4YIwrQLgk/r2Yc_36OYGAJ >>>> >>>> http://stackoverflow.com/questions/19647387/parsing-a-raw-protocol-buffer-byte-stream-in-c-sharp/19652735#19652735 >>>> >>>> http://stackoverflow.com/questions/13937882/parsing-protocol-buffers-without-knowing-the-proto >>>> >>>> For case 2) well nothing. Everything I got assumed I have >>>> FileDescriptorProto for my .proto or instance of my message type. >>>> >>> >>> 2) requires parsing .proto files and that parser is in C++ only. >>> >> >>>> Are there any add-on libraries present to handle these scenarios? >>>> Or any logic to go about solving them? >>>> >>>> Thanks. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Protocol Buffers" group. >>>> >>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>> >>> >>>> Visit this group at https://groups.google.com/group/protobuf. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/protobuf. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
