Congratulations, cool to see other people using it ;-) Indeed, I rather have it part protobuf-java before haven maven-artifact. You can fill issues on the metastore repo, it's not abandoned. It's activity developed (I'll copy issues over when a move is ever node.
_/ _/ Alex Van Boxel On Fri, Feb 21, 2020 at 2:54 PM ittai zeidman <[email protected]> wrote: > Good news! > I was able to get this out: > syntax = "proto3"; > message messageGreeting { > string greeting = 1; > } > Thanks! > I'll report more after I'll have more time to test out the corner cases > and richness. > If I find issues would you rather we continue here, github issue, > somewhere else? > Also I was unable to find this artifact on maven central or jcenter > <https://bintray.com/search?query=io.anemos>. I copied the files for the > meantime but I'd rather add a dependency and not fork the code. > > On Fri, Feb 21, 2020 at 2:43 PM Alex Van Boxel <[email protected]> wrote: > >> Actually your question triggered something I wanted todo for a long time. >> You could join the discussion on this thread: >> https://groups.google.com/forum/#!topic/protobuf/NrhCXiXIfxk >> >> _/ >> _/ Alex Van Boxel >> >> >> On Fri, Feb 21, 2020 at 1:23 PM ittai zeidman <[email protected]> wrote: >> >>> Nice! Thanks :) >>> I’ll try it out and report back... >>> >>> On Fri, 21 Feb 2020 at 14:06 Alex Van Boxel <[email protected]> wrote: >>> >>>> You can use this class from the metastore. A lot of work has pored into >>>> this class. The plan is to actually donate this to the proto-java >>>> implementation if it has been battle tested. >>>> >>>> >>>> https://github.com/anemos-io/metastore/blob/master/putils/src/main/java/io/anemos/metastore/putils/ProtoLanguageFileWriter.java >>>> >>>> It currently only support proto3. >>>> >>>> _/ >>>> _/ Alex Van Boxel >>>> >>>> >>>> On Fri, Feb 21, 2020 at 11:02 AM Nadav Samet <[email protected]> >>>> wrote: >>>> >>>>> Hi Ittai, >>>>> >>>>> It sounds like you are expecting your plugin to emit proto files in >>>>> text format. Your code is assigning binary data into the file's content, >>>>> and what protoc does is just writing it to the files it creates. There's >>>>> nothing that would automatically detect that you are passing a >>>>> DescriptorProto and would transform that into text representation. If you >>>>> want the output to be in text format you need to manually create a string >>>>> with the file content you want. >>>>> >>>>> >>>>> On Fri, Feb 21, 2020 at 11:40 AM ittai zeidman <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> I have proto files which contain valid proto messages and services and >>>>>> my own DSL which I want to transpile into proto messages and services. >>>>>> My idea is to invoke protoc and have it process "my proto" with a protoc >>>>>> plugin that will emmit "standard proto" (which I'll later feed into >>>>>> protoc again). >>>>>> The reason I'm going through the intermediate proto files is because we >>>>>> need them to integrate with other systems. >>>>>> >>>>>> I'm trying to write this plugin using protobuf-java (jvm developer) but >>>>>> the proto file that is emitted is incorrect. >>>>>> >>>>>> I think (and hope) I'm doing something stupid and maybe someone here can >>>>>> point me to the right direction. >>>>>> >>>>>> >>>>>> Thanks in advance... >>>>>> >>>>>> >>>>>> Some of my code (to generate a hardcoded proto file with one message >>>>>> and one field): >>>>>> >>>>>> DescriptorProtos.DescriptorProto protoMessage = >>>>>> DescriptorProtos.DescriptorProto.newBuilder() >>>>>> .setName("messageGreeting") >>>>>> .addField(DescriptorProtos.FieldDescriptorProto.newBuilder() >>>>>> .setName("greeting") >>>>>> .setType(FieldDescriptorProto.Type.TYPE_STRING) >>>>>> .setNumber(0) >>>>>> .setDefaultValue("hi") >>>>>> .build() >>>>>> ) >>>>>> .build(); >>>>>> DescriptorProtos.FileDescriptorProto proto = >>>>>> DescriptorProtos.FileDescriptorProto.newBuilder() >>>>>> .addMessageType( >>>>>> protoMessage >>>>>> ) >>>>>> .build(); >>>>>> ByteArrayOutputStream byteArrayOutputStream = new >>>>>> ByteArrayOutputStream(); >>>>>> >>>>>> proto.writeTo(byteArrayOutputStream); // should be lazy? >>>>>> >>>>>> CodeGeneratorResponse.File file = >>>>>> CodeGeneratorResponse.File.newBuilder() >>>>>> .setName("yo.proto") >>>>>> >>>>>> .setContentBytes(ByteString.copyFrom(byteArrayOutputStream.toByteArray)) >>>>>> >>>>>> // I also tried: >>>>>> >>>>>> // .mergeFrom(protoMessage) >>>>>> // .setContent(byteArrayOutputStream.toString) // should be lazy? >>>>>> // .mergeFrom(byteArrayOutputStream.toByteArray) >>>>>> .build(); >>>>>> file.toByteArray >>>>>> >>>>>> >>>>>> Unfortunately what I get is: >>>>>> >>>>>> cat yo.proto: >>>>>> "% >>>>>> messageGreeting >>>>>> >>>>>> >>>>>> greeting( :hi% >>>>>> >>>>>> and in a text editor: >>>>>> 2225 0a0f 6d65 7373 6167 6547 7265 6574 >>>>>> 696e 6712 120a 0867 7265 6574 696e 6718 >>>>>> 0028 093a 0268 69 >>>>>> >>>>>> -- >>>>>> 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 view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/protobuf/03f1f05d-a9ef-4490-bf6a-469f16212f9f%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/protobuf/03f1f05d-a9ef-4490-bf6a-469f16212f9f%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> >>>>> >>>>> -- >>>>> -Nadav >>>>> >>>>> -- >>>>> 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 view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/protobuf/CANZcNEryh5FBtZQ%3D4_EZuy5N21JeMxJ6NTjhR2T68DM5s9OWtw%40mail.gmail.com >>>>> <https://groups.google.com/d/msgid/protobuf/CANZcNEryh5FBtZQ%3D4_EZuy5N21JeMxJ6NTjhR2T68DM5s9OWtw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> 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 view this discussion on the web visit >>> https://groups.google.com/d/msgid/protobuf/CAOfK4wVpcbhpsN4eDmfprt4w-cB251mhXcrWp5hid%2B%3DXqtbFDw%40mail.gmail.com >>> <https://groups.google.com/d/msgid/protobuf/CAOfK4wVpcbhpsN4eDmfprt4w-cB251mhXcrWp5hid%2B%3DXqtbFDw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/protobuf/CAOfK4wUveFVMubfbRTq3cDgaswG5qeS5mvsPHoXGRPeYSxe%2BrQ%40mail.gmail.com > <https://groups.google.com/d/msgid/protobuf/CAOfK4wUveFVMubfbRTq3cDgaswG5qeS5mvsPHoXGRPeYSxe%2BrQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/CALCMntvLHG6ArsMRfe0fGj3t08qwRtTRe-qCZ31yPxGQj6qRNw%40mail.gmail.com.
