summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
author Jihoon Kang <jihoonkang@google.com> 2022-11-21 18:03:12 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2022-11-21 18:03:12 +0000
commitba36441424871f8f930f6be84cfb6560876bf0cd (patch)
tree39ae4efaa91636b2b185096f9b4f567ef7c6cb4a /java/java.go
parent0e2c2aaa60933b554802e786ce4ce75c89bd09a3 (diff)
parent60d4a09cb5de9258f673e5aa38e83a3926334fb8 (diff)
Merge "Update java_api_library prop name"
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go27
1 files changed, 11 insertions, 16 deletions
diff --git a/java/java.go b/java/java.go
index 3c6d8484e..25b6349bf 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1552,8 +1552,8 @@ type JavaApiLibraryProperties struct {
// name of the API surface
Api_surface *string
- // list of API provider modules that consists this API surface
- Api_providers []string
+ // list of Java API contribution modules that consists this API surface
+ Api_contributions []string
// List of flags to be passed to the javac compiler to generate jar file
Javacflags []string
@@ -1621,12 +1621,12 @@ func (al *ApiLibrary) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBui
}
}
-var javaApiProviderTag = dependencyTag{name: "java-api-provider"}
+var javaApiContributionTag = dependencyTag{name: "java-api-contribution"}
func (al *ApiLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
- apiProviders := al.properties.Api_providers
- for _, apiProviderName := range apiProviders {
- ctx.AddDependency(ctx.Module(), javaApiProviderTag, apiProviderName)
+ apiContributions := al.properties.Api_contributions
+ for _, apiContributionName := range apiContributions {
+ ctx.AddDependency(ctx.Module(), javaApiContributionTag, apiContributionName)
}
}
@@ -1645,16 +1645,11 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
homeDir := android.PathForModuleOut(ctx, "metalava", "home")
- apiProviders := al.properties.Api_providers
- srcFiles := make([]android.Path, len(apiProviders))
- for i, apiProviderName := range apiProviders {
- apiProvider := ctx.GetDirectDepWithTag(apiProviderName, javaApiProviderTag)
- if apiProvider == nil {
- panic(fmt.Errorf("Java API provider module %s not found, called from %s", apiProviderName, al.Name()))
- }
- provider := ctx.OtherModuleProvider(apiProvider, JavaApiImportProvider).(JavaApiImportInfo)
- srcFiles[i] = android.PathForModuleSrc(ctx, provider.ApiFile.String())
- }
+ var srcFiles []android.Path
+ ctx.VisitDirectDepsWithTag(javaApiContributionTag, func(dep android.Module) {
+ provider := ctx.OtherModuleProvider(dep, JavaApiImportProvider).(JavaApiImportInfo)
+ srcFiles = append(srcFiles, android.PathForModuleSrc(ctx, provider.ApiFile.String()))
+ })
cmd := metalavaStubCmd(ctx, rule, srcFiles, homeDir)