diff options
| author | 2022-01-28 20:53:38 +0000 | |
|---|---|---|
| committer | 2022-02-01 22:59:04 +0000 | |
| commit | fde9fb5c9c5e0171177a7ff65afd20097ae1c966 (patch) | |
| tree | 7ef25f238e708f9c910b38dad4271f18f2d3ce64 /java/java.go | |
| parent | 5ddefa3df4be4bcf3ed86a13df2897a79b97adc3 (diff) | |
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
Diffstat (limited to 'java/java.go')
| -rw-r--r-- | java/java.go | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/java/java.go b/java/java.go index ca4b3cf41..867045aa0 100644 --- a/java/java.go +++ b/java/java.go @@ -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", |