Snap for 11354161 from 8ef7561b0cdc19fa997a7ce6fb15aabfc0f5e3db to mainline-permission-release

Change-Id: I8d7b7872dca460bd03ec530854018d3cdcec5104
diff --git a/Android.bp b/Android.bp
index 20fa495..246207a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -52,6 +52,7 @@
         "provider.go",
         "scope.go",
         "singleton_ctx.go",
+        "source_file_provider.go"
     ],
     testSrcs: [
         "context_test.go",
diff --git a/bootstrap/bootstrap.go b/bootstrap/bootstrap.go
index bf12cd3..07d1261 100644
--- a/bootstrap/bootstrap.go
+++ b/bootstrap/bootstrap.go
@@ -338,6 +338,7 @@
 
 	buildGoPackage(ctx, g.pkgRoot, g.properties.PkgPath, g.archiveFile,
 		srcs, genSrcs)
+	ctx.SetProvider(blueprint.SrcsFileProviderKey, blueprint.SrcsFileProviderData{SrcPaths: srcs})
 }
 
 // A goBinary is a module for building executable binaries from Go sources.
@@ -466,6 +467,7 @@
 		Validations: testDeps,
 		Optional:    !g.properties.Default,
 	})
+	ctx.SetProvider(blueprint.SrcsFileProviderKey, blueprint.SrcsFileProviderData{SrcPaths: srcs})
 }
 
 func buildGoPluginLoader(ctx blueprint.ModuleContext, pkgPath, pluginSrc string) bool {
diff --git a/source_file_provider.go b/source_file_provider.go
new file mode 100644
index 0000000..6ee4d09
--- /dev/null
+++ b/source_file_provider.go
@@ -0,0 +1,7 @@
+package blueprint
+
+type SrcsFileProviderData struct {
+	SrcPaths []string
+}
+
+var SrcsFileProviderKey = NewProvider(SrcsFileProviderData{})