diff --git a/java/java.go b/java/java.go
index ad46e98..ac52e22 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1580,8 +1580,8 @@
 	// 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
@@ -1649,12 +1649,12 @@
 	}
 }
 
-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)
 	}
 }
 
@@ -1673,16 +1673,11 @@
 
 	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)
 
diff --git a/java/java_test.go b/java/java_test.go
index 3f8cd8e..62c2845 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -1823,13 +1823,13 @@
 		java_api_library {
 			name: "bar1",
 			api_surface: "public",
-			api_providers: ["foo1"],
+			api_contributions: ["foo1"],
 		}
 
 		java_api_library {
 			name: "bar2",
 			api_surface: "system",
-			api_providers: ["foo1", "foo2"],
+			api_contributions: ["foo1", "foo2"],
 		}
 		`,
 		map[string][]byte{
@@ -1876,13 +1876,13 @@
 		java_api_library {
 			name: "bar1",
 			api_surface: "public",
-			api_providers: ["foo1"],
+			api_contributions: ["foo1"],
 		}
 
 		java_api_library {
 			name: "bar2",
 			api_surface: "system",
-			api_providers: ["foo1", "foo2"],
+			api_contributions: ["foo1", "foo2"],
 		}
 		`,
 		map[string][]byte{
