Add support for java_library proto plugin in bp2build

Test: Added unit test and CI

Bug: 303064670
Change-Id: Idb96ac322aafcb6789ea2002b84a6905d5ec488f
This commit is contained in:
Zi Wang
2023-10-03 09:58:34 -07:00
parent 0b5a877f21
commit dbaf6a9dd0
3 changed files with 52 additions and 0 deletions

View File

@@ -159,6 +159,8 @@ type protoAttributes struct {
Sdk_version bazel.StringAttribute
Java_version bazel.StringAttribute
Plugin bazel.LabelAttribute
}
func bp2buildProto(ctx android.Bp2buildMutatorContext, m *Module, protoSrcs bazel.LabelListAttribute, AdditionalProtoDeps bazel.LabelListAttribute) *bazel.Label {
@@ -189,12 +191,18 @@ func bp2buildProto(ctx android.Bp2buildMutatorContext, m *Module, protoSrcs baze
ctx.PropertyErrorf("proto.type", "cannot handle conversion at this time: %q", typ)
}
plugin := bazel.LabelAttribute{}
if m.protoProperties.Proto.Plugin != nil {
plugin.SetValue(android.BazelLabelForModuleDepSingle(ctx, "protoc-gen-"+*m.protoProperties.Proto.Plugin))
}
protoAttrs := &protoAttributes{
Deps: bazel.MakeLabelListAttribute(protoInfo.Proto_libs),
Transitive_deps: bazel.MakeLabelListAttribute(protoInfo.Transitive_proto_libs),
Additional_proto_deps: AdditionalProtoDeps,
Java_version: bazel.StringAttribute{Value: m.properties.Java_version},
Sdk_version: bazel.StringAttribute{Value: m.deviceProperties.Sdk_version},
Plugin: plugin,
}
name := m.Name() + suffix