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/1c070429-3eb4-45b8-b360-8d1a1f259032n%40googlegroups.com.

Reply via email to