Convert java.Dependency to JavaInfo provider

Export information about java dependencies through a Provider
instead of accessing the module directly.

Test: java_test.go
Test: no changes to build.ninja
Change-Id: Ifc5d566bf6f6ebc0ad399e948effaa1ef6a22876
This commit is contained in:
Colin Cross
2021-02-01 13:59:03 -08:00
parent a6cfcac727
commit dcf71b299c
14 changed files with 197 additions and 108 deletions

View File

@@ -148,10 +148,10 @@ func (r *robolectricTest) GenerateAndroidBuildActions(ctx android.ModuleContext)
}
for _, dep := range ctx.GetDirectDepsWithTag(libTag) {
m := dep.(Dependency)
r.libs = append(r.libs, m.BaseModuleName())
if !android.InList(m.BaseModuleName(), config.FrameworkLibraries) {
combinedJarJars = append(combinedJarJars, m.ImplementationAndResourcesJars()...)
m := ctx.OtherModuleProvider(dep, JavaInfoProvider).(JavaInfo)
r.libs = append(r.libs, ctx.OtherModuleName(dep))
if !android.InList(ctx.OtherModuleName(dep), config.FrameworkLibraries) {
combinedJarJars = append(combinedJarJars, m.ImplementationAndResourcesJars...)
}
}
@@ -245,10 +245,10 @@ func (r *robolectricTest) generateRoboSrcJar(ctx android.ModuleContext, outputFi
srcJarDeps := append(android.Paths(nil), instrumentedApp.srcJarDeps...)
for _, m := range ctx.GetDirectDepsWithTag(roboCoverageLibsTag) {
if dep, ok := m.(Dependency); ok {
depSrcJarArgs, depSrcJarDeps := dep.SrcJarArgs()
srcJarArgs = append(srcJarArgs, depSrcJarArgs...)
srcJarDeps = append(srcJarDeps, depSrcJarDeps...)
if ctx.OtherModuleHasProvider(m, JavaInfoProvider) {
dep := ctx.OtherModuleProvider(m, JavaInfoProvider).(JavaInfo)
srcJarArgs = append(srcJarArgs, dep.SrcJarArgs...)
srcJarDeps = append(srcJarDeps, dep.SrcJarDeps...)
}
}