Loading bp2build/java_library_conversion_test.go +32 −0 Original line number Diff line number Diff line Loading @@ -219,3 +219,35 @@ func TestJavaLibraryErrorproneJavacflagsErrorproneDisabledManually(t *testing.T) }, }) } func TestJavaLibraryLogTags(t *testing.T) { runJavaLibraryTestCase(t, bp2buildTestCase{ description: "Java library - logtags creates separate dependency", moduleTypeUnderTest: "java_library", moduleTypeUnderTestFactory: java.LibraryFactory, blueprint: `java_library { name: "example_lib", srcs: [ "a.java", "b.java", "a.logtag", "b.logtag", ], bazel_module: { bp2build_available: true }, }`, expectedBazelTargets: []string{ makeBazelTarget("event_log_tags", "example_lib_logtags", attrNameToString{ "srcs": `[ "a.logtag", "b.logtag", ]`, }), makeBazelTarget("java_library", "example_lib", attrNameToString{ "srcs": `[ "a.java", "b.java", ":example_lib_logtags", ]`, }), }}) } java/java.go +28 −3 Original line number Diff line number Diff line Loading @@ -2041,6 +2041,10 @@ type javaDependencyLabels struct { // and also separates dependencies into dynamic dependencies and static dependencies. // Each corresponding Bazel target type, can have a different method for handling // dynamic vs. static dependencies, and so these are returned to the calling function. type eventLogTagsAttributes struct { Srcs bazel.LabelListAttribute } func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) (*javaCommonAttributes, *javaDependencyLabels) { var srcs bazel.LabelListAttribute archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{}) Loading @@ -2055,11 +2059,32 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) javaSrcPartition := "java" protoSrcPartition := "proto" logtagSrcPartition := "logtag" srcPartitions := bazel.PartitionLabelListAttribute(ctx, &srcs, bazel.LabelPartitions{ javaSrcPartition: bazel.LabelPartition{Extensions: []string{".java"}, Keep_remainder: true}, logtagSrcPartition: bazel.LabelPartition{Extensions: []string{".logtags", ".logtag"}}, protoSrcPartition: android.ProtoSrcLabelPartition, }) javaSrcs := srcPartitions[javaSrcPartition] var logtagsSrcs bazel.LabelList if !srcPartitions[logtagSrcPartition].IsEmpty() { logtagsLibName := m.Name() + "_logtags" logtagsSrcs = bazel.MakeLabelList([]bazel.Label{{Label: ":" + logtagsLibName}}) ctx.CreateBazelTargetModule( bazel.BazelTargetModuleProperties{ Rule_class: "event_log_tags", Bzl_load_location: "//build/make/tools:event_log_tags.bzl", }, android.CommonAttributes{Name: logtagsLibName}, &eventLogTagsAttributes{ Srcs: srcPartitions[logtagSrcPartition], }, ) } javaSrcs.Append(bazel.MakeLabelListAttribute(logtagsSrcs)) var javacopts []string if m.properties.Javacflags != nil { javacopts = append(javacopts, m.properties.Javacflags...) Loading @@ -2071,7 +2096,7 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) } commonAttrs := &javaCommonAttributes{ Srcs: srcPartitions[javaSrcPartition], Srcs: javaSrcs, Plugins: bazel.MakeLabelListAttribute( android.BazelLabelForModuleDeps(ctx, m.properties.Plugins), ), Loading Loading
bp2build/java_library_conversion_test.go +32 −0 Original line number Diff line number Diff line Loading @@ -219,3 +219,35 @@ func TestJavaLibraryErrorproneJavacflagsErrorproneDisabledManually(t *testing.T) }, }) } func TestJavaLibraryLogTags(t *testing.T) { runJavaLibraryTestCase(t, bp2buildTestCase{ description: "Java library - logtags creates separate dependency", moduleTypeUnderTest: "java_library", moduleTypeUnderTestFactory: java.LibraryFactory, blueprint: `java_library { name: "example_lib", srcs: [ "a.java", "b.java", "a.logtag", "b.logtag", ], bazel_module: { bp2build_available: true }, }`, expectedBazelTargets: []string{ makeBazelTarget("event_log_tags", "example_lib_logtags", attrNameToString{ "srcs": `[ "a.logtag", "b.logtag", ]`, }), makeBazelTarget("java_library", "example_lib", attrNameToString{ "srcs": `[ "a.java", "b.java", ":example_lib_logtags", ]`, }), }}) }
java/java.go +28 −3 Original line number Diff line number Diff line Loading @@ -2041,6 +2041,10 @@ type javaDependencyLabels struct { // and also separates dependencies into dynamic dependencies and static dependencies. // Each corresponding Bazel target type, can have a different method for handling // dynamic vs. static dependencies, and so these are returned to the calling function. type eventLogTagsAttributes struct { Srcs bazel.LabelListAttribute } func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) (*javaCommonAttributes, *javaDependencyLabels) { var srcs bazel.LabelListAttribute archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{}) Loading @@ -2055,11 +2059,32 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) javaSrcPartition := "java" protoSrcPartition := "proto" logtagSrcPartition := "logtag" srcPartitions := bazel.PartitionLabelListAttribute(ctx, &srcs, bazel.LabelPartitions{ javaSrcPartition: bazel.LabelPartition{Extensions: []string{".java"}, Keep_remainder: true}, logtagSrcPartition: bazel.LabelPartition{Extensions: []string{".logtags", ".logtag"}}, protoSrcPartition: android.ProtoSrcLabelPartition, }) javaSrcs := srcPartitions[javaSrcPartition] var logtagsSrcs bazel.LabelList if !srcPartitions[logtagSrcPartition].IsEmpty() { logtagsLibName := m.Name() + "_logtags" logtagsSrcs = bazel.MakeLabelList([]bazel.Label{{Label: ":" + logtagsLibName}}) ctx.CreateBazelTargetModule( bazel.BazelTargetModuleProperties{ Rule_class: "event_log_tags", Bzl_load_location: "//build/make/tools:event_log_tags.bzl", }, android.CommonAttributes{Name: logtagsLibName}, &eventLogTagsAttributes{ Srcs: srcPartitions[logtagSrcPartition], }, ) } javaSrcs.Append(bazel.MakeLabelListAttribute(logtagsSrcs)) var javacopts []string if m.properties.Javacflags != nil { javacopts = append(javacopts, m.properties.Javacflags...) Loading @@ -2071,7 +2096,7 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) } commonAttrs := &javaCommonAttributes{ Srcs: srcPartitions[javaSrcPartition], Srcs: javaSrcs, Plugins: bazel.MakeLabelListAttribute( android.BazelLabelForModuleDeps(ctx, m.properties.Plugins), ), Loading