Merge "convert logtags in java srcs"
This commit is contained in:
commit
b6e1614272
2 changed files with 60 additions and 3 deletions
|
@ -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",
|
||||
]`,
|
||||
}),
|
||||
}})
|
||||
}
|
||||
|
|
31
java/java.go
31
java/java.go
|
@ -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{})
|
||||
|
@ -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},
|
||||
protoSrcPartition: android.ProtoSrcLabelPartition,
|
||||
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...)
|
||||
|
@ -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…
Reference in a new issue