Add source file provider for genrule/srcs, python libraries and rust libraries.

Change-Id: I2d7d4684a10c15aeecc27b8db800ab27a807d2e2
diff --git a/java/base.go b/java/base.go
index 295340d..7e1381b 100644
--- a/java/base.go
+++ b/java/base.go
@@ -24,6 +24,7 @@
 
 	"github.com/google/blueprint/pathtools"
 	"github.com/google/blueprint/proptools"
+	"github.com/google/blueprint"
 
 	"android/soong/aconfig"
 	"android/soong/android"
@@ -1170,6 +1171,7 @@
 	uniqueSrcFiles = append(uniqueSrcFiles, uniqueJavaFiles...)
 	uniqueSrcFiles = append(uniqueSrcFiles, uniqueKtFiles...)
 	j.uniqueSrcFiles = uniqueSrcFiles
+	ctx.SetProvider(blueprint.SrcsFileProviderKey, blueprint.SrcsFileProviderData{SrcPaths: uniqueSrcFiles.Strings()})
 
 	// We don't currently run annotation processors in turbine, which means we can't use turbine
 	// generated header jars when an annotation processor that generates API is enabled.  One