Unless, there's some option or way to execute it in java/kotlin without 
reying on user's machine. I believe https://github.com/os72/protoc-jar is 
the only option.

On Tuesday, February 28, 2023 at 12:59:48 AM UTC+5:30 ritesh singh wrote:

> I went through docs - and i guess importer can be used -  
> https://protobuf.dev/reference/cpp/api-docs/google.protobuf.compiler.importer/
> But, this is not exposed as java api.
>
> On Sunday, February 26, 2023 at 7:25:49 PM UTC+5:30 ritesh singh wrote:
>
>> I was also wondering, if
>>  https://mvnrepository.com/artifact/com.google.protobuf/protoc can be 
>> used to do what above *protoc *command is doing? Because, to run the 
>> protoc command from my plugin, the user's machine needs to have the protoc 
>> compiler installed.
>>
>> My idea is to just get the .proto file and .pb file and just generate the 
>> json using DynamicMessage, i don't want to go through the process of 
>> generating .java files  as i want this plugin be light.
>>
>> On Saturday, February 25, 2023 at 9:01:50 AM UTC+5:30 ritesh singh wrote:
>>
>>> I think it's not working with absolute path.
>>>
>>> If my imports are like this
>>>
>>> import 
>>> "com/google/samples/apps/nowinandroid/data/dark_theme_config.proto";
>>> import "com/google/samples/apps/nowinandroid/data/theme_brand.proto";
>>>
>>>
>>> it wont work. But if it's relative it works
>>>
>>> import "theme_brand.proto";
>>> import "dark_theme_config.proto";
>>> On Saturday, February 25, 2023 at 5:42:28 AM UTC+5:30 ritesh singh wrote:
>>>
>>>> This is resolved. Thanks.
>>>>
>>>> On Saturday, February 25, 2023 at 2:35:02 AM UTC+5:30 Adam Cozzette 
>>>> wrote:
>>>>
>>>>> Probably the cleanest solution would be to cd to the directory 
>>>>> containing com/ and run protoc from there: protoc -I . 
>>>>> --include_imports --descriptor_set_out=/dev/stdout 
>>>>> com/google/samples/apps/nowinandroid/data/user_preferences.proto
>>>>>
>>>>> On Fri, Feb 24, 2023 at 11:11 AM ritesh singh <[email protected]> 
>>>>> wrote:
>>>>>
>>>>>> If i remove imports, it works fine.
>>>>>>
>>>>>> On Saturday, February 25, 2023 at 12:41:13 AM UTC+5:30 ritesh singh 
>>>>>> wrote:
>>>>>>
>>>>>>> It looks like this
>>>>>>>
>>>>>>> syntax = "proto3";
>>>>>>>
>>>>>>> import 
>>>>>>> "com/google/samples/apps/nowinandroid/data/dark_theme_config.proto";
>>>>>>> import "com/google/samples/apps/nowinandroid/data/theme_brand.proto"
>>>>>>> ;
>>>>>>>
>>>>>>> option java_package = 
>>>>>>> "com.google.samples.apps.nowinandroid.core.datastore";
>>>>>>> option java_multiple_files = true;
>>>>>>>
>>>>>>> message UserPreferences {
>>>>>>> reserved 2;
>>>>>>> repeated int32 deprecated_int_followed_topic_ids = 1;
>>>>>>> int32 topicChangeListVersion = 3;
>>>>>>> int32 authorChangeListVersion = 4;
>>>>>>> int32 newsResourceChangeListVersion = 6;
>>>>>>> repeated int32 deprecated_int_followed_author_ids = 7;
>>>>>>> bool has_done_int_to_string_id_migration = 8;
>>>>>>> repeated string deprecated_followed_topic_ids = 9;
>>>>>>> repeated string deprecated_followed_author_ids = 10;
>>>>>>> repeated string deprecated_bookmarked_news_resource_ids = 11;
>>>>>>> bool has_done_list_to_map_migration = 12;
>>>>>>>
>>>>>>> // Each map is used to store a set of string IDs. The bool has no 
>>>>>>> meaning, but proto3 doesn't
>>>>>>> // have a Set type so this is the closest we can get to a Set.
>>>>>>> map<string, bool> followed_topic_ids = 13;
>>>>>>> map<string, bool> followed_author_ids = 14;
>>>>>>> map<string, bool> bookmarked_news_resource_ids = 15;
>>>>>>>
>>>>>>> ThemeBrandProto theme_brand = 16;
>>>>>>> DarkThemeConfigProto dark_theme_config = 17;
>>>>>>>
>>>>>>> bool should_hide_onboarding = 18;
>>>>>>>
>>>>>>> bool use_dynamic_color = 19;
>>>>>>> }
>>>>>>>
>>>>>>> On Saturday, February 25, 2023 at 12:34:51 AM UTC+5:30 Adam Cozzette 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> What do the import lines in user_preferences.proto look like? In 
>>>>>>>> your case the import paths should point to files relative to the 
>>>>>>>> current 
>>>>>>>> directory.
>>>>>>>>
>>>>>>>> On Fri, Feb 24, 2023 at 9:40 AM ritesh singh <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> I have 3 proto files in the current directory.
>>>>>>>>>
>>>>>>>>> user_preferences.proto imports other protos and all are available 
>>>>>>>>> in the same directory.
>>>>>>>>>
>>>>>>>>> But, if i try to run this command, it throws an error. - *Imported 
>>>>>>>>> file not found.*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *protoc --include_imports --descriptor_set_out=/dev/stdout 
>>>>>>>>> user_preferences.proto*
>>>>>>>>> Here, I am trying to invoke protoc with --descriptor_set_out to 
>>>>>>>>> parse the proto file and convert it into a serialized 
>>>>>>>>> FileDescriptorSet
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> 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/46f16320-f15b-4c79-a998-57b30e94751cn%40googlegroups.com
>>>>>>>>>  
>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/46f16320-f15b-4c79-a998-57b30e94751cn%40googlegroups.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/93225cb4-eadc-4a71-9f89-f169043f6da7n%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/protobuf/93225cb4-eadc-4a71-9f89-f169043f6da7n%40googlegroups.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/0288a25a-31ee-4852-8e48-427f80e85326n%40googlegroups.com.

Reply via email to