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.

Reply via email to