Open maximecb opened 6 months ago
I don't think we're generating any code that depends on Google's libraries. We generate some code that depends on ProtoBoeuf at the moment (all of the built-in classes), but I think it's the right thing to do. For example, anyone depending on .google.protobuf.BoolValue
will depend on ProtoBoeuf::Protobuf::BoolValue
in the generated code.
I think we should consider including ProtoBoeuf::Protobuf::BoolValue
in the generated code if it's being used, to avoid having a dependency on ProtoBoeuf
in the generated code, make it fully self-contained.
Currently, we create a runtime dependency if people use the Google wrapper classes. Given how commonly used these classes are, I think it might make sense to always inline them by default. Being able to generate fully self-contained code, zero external dependencies, seems like a big selling point for protoboeuf. We also only need to generate/inline the wrapper classes that people actually use, so the code size impact will probably be pretty small.
@tenderworks