I think it's 100% complete for proto3, checkout the javadoc and tests.
Doesn't support proto2 syntax at all However.

On Fri, Feb 21, 2020, 10:59 AM ittai zeidman <[email protected]> wrote:

> Awesome!
> This thread is full of gems after the few days of me banging my head :)
> How complete would you say protopoet is? Have you used it to generate
> proto files anywhere?
>
> On Fri, 21 Feb 2020 at 19:06 Derek Perez <[email protected]> wrote:
>
>> I wrote a library for doing this: https://github.com/perezd/protopoet
>>
>> On Fri, Feb 21, 2020, 5:57 AM Alex Van Boxel <[email protected]> wrote:
>>
>>> 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
>>> <https://groups.google.com/d/msgid/protobuf/CALCMntvLHG6ArsMRfe0fGj3t08qwRtTRe-qCZ31yPxGQj6qRNw%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/CAOfK4wVJWcbnCCRzQMfmy9FSKeJY-V77KV2XFhuyaUMWhpVvTg%40mail.gmail.com
> <https://groups.google.com/d/msgid/protobuf/CAOfK4wVJWcbnCCRzQMfmy9FSKeJY-V77KV2XFhuyaUMWhpVvTg%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/CAD7-yfvPkQTCKs1LknKTsoW9F4%3DfSeX7Rni240OXncWG4AESrw%40mail.gmail.com.

Reply via email to