diff options
Diffstat (limited to 'java/base.go')
-rw-r--r-- | java/base.go | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/java/base.go b/java/base.go index ba4a72912..49182e4b9 100644 --- a/java/base.go +++ b/java/base.go @@ -1235,7 +1235,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath return } - android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ + android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, @@ -1753,7 +1753,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath ctx.CheckbuildFile(outputFile) - android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ + android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, @@ -1986,23 +1986,24 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M return } - dep, _ := android.OtherModuleProvider(ctx, module, JavaInfoProvider) - tag := ctx.OtherModuleDependencyTag(module) - _, isUsesLibDep := tag.(usesLibraryDependencyTag) - if tag == libTag || tag == r8LibraryJarTag || isUsesLibDep { - directLibs = append(directLibs, dep.HeaderJars...) - } else if tag == staticLibTag { - directStaticLibs = append(directStaticLibs, dep.HeaderJars...) - } else { - // Don't propagate transitive libs for other kinds of dependencies. - return - } + if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { + tag := ctx.OtherModuleDependencyTag(module) + _, isUsesLibDep := tag.(usesLibraryDependencyTag) + if tag == libTag || tag == r8LibraryJarTag || isUsesLibDep { + directLibs = append(directLibs, dep.HeaderJars...) + } else if tag == staticLibTag { + directStaticLibs = append(directStaticLibs, dep.HeaderJars...) + } else { + // Don't propagate transitive libs for other kinds of dependencies. + return + } - if dep.TransitiveLibsHeaderJars != nil { - transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJars) - } - if dep.TransitiveStaticLibsHeaderJars != nil { - transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars) + if dep.TransitiveLibsHeaderJars != nil { + transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJars) + } + if dep.TransitiveStaticLibsHeaderJars != nil { + transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars) + } } }) j.transitiveLibsHeaderJars = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) @@ -2108,9 +2109,10 @@ func (j *Module) collectTransitiveSrcFiles(ctx android.ModuleContext, mine andro ctx.VisitDirectDeps(func(module android.Module) { tag := ctx.OtherModuleDependencyTag(module) if tag == staticLibTag { - depInfo, _ := android.OtherModuleProvider(ctx, module, JavaInfoProvider) - if depInfo.TransitiveSrcFiles != nil { - fromDeps = append(fromDeps, depInfo.TransitiveSrcFiles) + if depInfo, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { + if depInfo.TransitiveSrcFiles != nil { + fromDeps = append(fromDeps, depInfo.TransitiveSrcFiles) + } } } }) |