convert java static dependencies

This commit enables conversions of java_library_static and adds the
static_deps Soong attribute to Bazel deps for all Java libraries.
Currently, Soong handles static dependencies for Java differently, and
Bp2build may need to address that later (see b/217236083).

Bug: 215229742
Test: go test ./bp2build
Change-Id: I4f86780c634dca0a2cfb9294084b14e139cc2375
This commit is contained in:
Sam Delmerico
2022-01-28 20:53:38 +00:00
parent 5ddefa3df4
commit fde9fb5c9c
3 changed files with 28 additions and 6 deletions

View File

@@ -2005,7 +2005,7 @@ type javaLibraryAttributes struct {
Javacopts bazel.StringListAttribute
}
func javaLibraryBp2Build(ctx android.TopDownMutatorContext, m *Library) {
func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) *javaLibraryAttributes {
srcs := bazel.MakeLabelListAttribute(android.BazelLabelForModuleSrcExcludes(ctx, m.properties.Srcs, m.properties.Exclude_srcs))
attrs := &javaLibraryAttributes{
Srcs: srcs,
@@ -2015,9 +2015,21 @@ func javaLibraryBp2Build(ctx android.TopDownMutatorContext, m *Library) {
attrs.Javacopts = bazel.MakeStringListAttribute(m.properties.Javacflags)
}
var deps bazel.LabelList
if m.properties.Libs != nil {
attrs.Deps = bazel.MakeLabelListAttribute(android.BazelLabelForModuleDeps(ctx, m.properties.Libs))
deps.Append(android.BazelLabelForModuleDeps(ctx, m.properties.Libs))
}
if m.properties.Static_libs != nil {
//TODO(b/217236083) handle static libs similarly to Soong
deps.Append(android.BazelLabelForModuleDeps(ctx, m.properties.Static_libs))
}
attrs.Deps = bazel.MakeLabelListAttribute(deps)
return attrs
}
func javaLibraryBp2Build(ctx android.TopDownMutatorContext, m *Library) {
attrs := m.convertLibraryAttrsBp2Build(ctx)
props := bazel.BazelTargetModuleProperties{
Rule_class: "java_library",