summaryrefslogtreecommitdiff
path: root/java/classpath_element.go
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2023-12-18 22:43:45 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2023-12-18 22:43:45 +0000
commit51428c451a73d9d246ccecd045b0b8c76a417df1 (patch)
tree5113d87ec33b1e96150a9ad5df463e579facdb18 /java/classpath_element.go
parent8070c4b457d890455bd7c8437ab84d02d9e7f3bc (diff)
parent5a37718c956b1bfbda5e236c0fe50f08661a81de (diff)
Merge changes I6f116385,Id77f514d,I73479de1,If58f4b53 into main
* changes: Convert ModuleProvder to generic providers API Convert OtherModuleProvider to generic providers API Convert Provider to generic providers API Convert SetProvider to generic providers API
Diffstat (limited to 'java/classpath_element.go')
-rw-r--r--java/classpath_element.go11
1 files changed, 4 insertions, 7 deletions
diff --git a/java/classpath_element.go b/java/classpath_element.go
index af99fb4fb..abbcae7a3 100644
--- a/java/classpath_element.go
+++ b/java/classpath_element.go
@@ -21,7 +21,6 @@ import (
"strings"
"android/soong/android"
- "github.com/google/blueprint"
)
// Supports constructing a list of ClasspathElement from a set of fragments and modules.
@@ -72,8 +71,7 @@ var _ ClasspathElement = (*ClasspathLibraryElement)(nil)
// ClasspathElementContext defines the context methods needed by CreateClasspathElements
type ClasspathElementContext interface {
- OtherModuleHasProvider(m blueprint.Module, provider blueprint.AnyProviderKey) bool
- OtherModuleProvider(m blueprint.Module, provider blueprint.AnyProviderKey) interface{}
+ android.OtherModuleProviderContext
ModuleErrorf(fmt string, args ...interface{})
}
@@ -123,12 +121,12 @@ func CreateClasspathElements(ctx ClasspathElementContext, libraries []android.Mo
// associated with a particular apex.
apexToFragment := map[string]android.Module{}
for _, fragment := range fragments {
- if !ctx.OtherModuleHasProvider(fragment, android.ApexInfoProvider) {
+ apexInfo, ok := android.OtherModuleProvider(ctx, fragment, android.ApexInfoProvider)
+ if !ok {
ctx.ModuleErrorf("fragment %s is not part of an apex", fragment)
continue
}
- apexInfo := ctx.OtherModuleProvider(fragment, android.ApexInfoProvider).(android.ApexInfo)
for _, apex := range apexInfo.InApexVariants {
if existing, ok := apexToFragment[apex]; ok {
ctx.ModuleErrorf("apex %s has multiple fragments, %s and %s", apex, fragment, existing)
@@ -146,8 +144,7 @@ skipLibrary:
// Iterate over the libraries to construct the ClasspathElements list.
for _, library := range libraries {
var element ClasspathElement
- if ctx.OtherModuleHasProvider(library, android.ApexInfoProvider) {
- apexInfo := ctx.OtherModuleProvider(library, android.ApexInfoProvider).(android.ApexInfo)
+ if apexInfo, ok := android.OtherModuleProvider(ctx, library, android.ApexInfoProvider); ok {
var fragment android.Module