Stop using deprecated functionality for managing path deps am: 62d44c8c10 am: 902749c7e2

Original change: https://android-review.googlesource.com/c/platform/external/libchrome/+/1761028

Change-Id: Iffea5fa594c77bfae52c2f348a70d6c34dd77a8b
diff --git a/soong/bindings_generator.go b/soong/bindings_generator.go
index 7ff9826..98a27a2 100644
--- a/soong/bindings_generator.go
+++ b/soong/bindings_generator.go
@@ -79,7 +79,7 @@
 
 type mojomDowngradedFilesProperties struct {
 	// list of input files
-	Srcs []string
+	Srcs []string `android:"path"`
 }
 
 type mojomDowngradedFiles struct {
@@ -93,14 +93,10 @@
 
 var _ genrule.SourceFileGenerator = (*mojomDowngradedFiles)(nil)
 
-func (m *mojomDowngradedFiles) DepsMutator(ctx android.BottomUpMutatorContext) {
-	android.ExtractSourcesDeps(ctx, m.properties.Srcs)
-}
-
 func (m *mojomDowngradedFiles) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	m.outDir = android.PathForModuleGen(ctx, "")
 
-	for _, in := range ctx.ExpandSources(m.properties.Srcs, nil) {
+	for _, in := range android.PathsForModuleSrc(ctx, m.properties.Srcs) {
 		if !strings.HasSuffix(in.Rel(), ".mojom") {
 			ctx.PropertyErrorf("srcs", "Source is not a .mojom file: %s", in.Rel())
 			continue
@@ -145,7 +141,7 @@
 
 type mojomPicklesProperties struct {
 	// list of input files
-	Srcs []string
+	Srcs []string `android:"path"`
 }
 
 type mojomPickles struct {
@@ -159,14 +155,10 @@
 
 var _ genrule.SourceFileGenerator = (*mojomPickles)(nil)
 
-func (m *mojomPickles) DepsMutator(ctx android.BottomUpMutatorContext) {
-	android.ExtractSourcesDeps(ctx, m.properties.Srcs)
-}
-
 func (m *mojomPickles) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	m.outDir = android.PathForModuleGen(ctx, "")
 
-	for _, in := range ctx.ExpandSources(m.properties.Srcs, nil) {
+	for _, in := range android.PathsForModuleSrc(ctx, m.properties.Srcs) {
 		if !strings.HasSuffix(in.Rel(), ".mojom") {
 			ctx.PropertyErrorf("srcs", "Source is not a .mojom file: %s", in.Rel())
 			continue
@@ -218,46 +210,36 @@
 // source and Java source modules.
 type mojomGenerationProperties struct {
 	// list of input files
-	Srcs []string
+	Srcs []string `android:"path"`
 
 	// name of the output .srcjar
 	Srcjar string
 
 	// name of the templates module
-	Templates string
+	Templates string `android:"path"`
 
 	// Additional flags to pass to the bindings generation script
 	Flags string
 
 	// list of pickles modules that will be imported
-	Pickles []string
+	Pickles []string `android:"path"`
 
 	// list of include paths
 	Includes []string
 
 	// list of typemaps modules that will be imported
-	Typemaps []string
+	Typemaps []string `android:"path"`
 
 	// If true, set --use_once_callback flag to the generator.
 	// This works only on C++ generation.
 	Use_once_callback bool
 }
 
-// extractSources adds any necessary dependencies to satisfy filegroup or
-// generated sources modules listed in the properties using ":module" syntax,
-// if any.
-func (p *mojomGenerationProperties) extractSources(ctx android.BottomUpMutatorContext) {
-	android.ExtractSourcesDeps(ctx, p.Srcs)
-	android.ExtractSourcesDeps(ctx, p.Typemaps)
-	android.ExtractSourcesDeps(ctx, p.Pickles)
-	android.ExtractSourceDeps(ctx, &p.Templates)
-}
-
 // flags generates all needed flags for the build rule.
 func (p *mojomGenerationProperties) flags(ctx android.ModuleContext) string {
 	flags := []string{}
 
-	for _, typemap := range ctx.ExpandSources(p.Typemaps, nil) {
+	for _, typemap := range android.PathsForModuleSrc(ctx, p.Typemaps) {
 		flags = append(flags, fmt.Sprintf("--typemap=%s", typemap.String()))
 	}
 	for _, include := range android.PathsForSource(ctx, p.Includes) {
@@ -269,7 +251,7 @@
 			ctx.PropertyErrorf("pickles", "not a module: %q", m)
 			continue
 		}
-		module := ctx.GetDirectDepWithTag(m, android.SourceDepTag).(*mojomPickles)
+		module := android.GetModuleFromPathDep(ctx, m, "").(*mojomPickles)
 		flags = append(flags, fmt.Sprintf("--gen_dir=%s", module.outDir.String()))
 	}
 	if p.Flags != "" {
@@ -285,15 +267,15 @@
 // implicitDeps collects all dependencies of the module.
 func (p *mojomGenerationProperties) implicitDeps(ctx android.ModuleContext) android.Paths {
 	deps := android.Paths{}
-	deps = append(deps, ctx.ExpandSources(p.Pickles, nil)...)
-	deps = append(deps, ctx.ExpandSources(p.Typemaps, nil)...)
-	deps = append(deps, ctx.ExpandSources([]string{p.Templates}, nil)...)
+	deps = append(deps, android.PathsForModuleSrc(ctx, p.Pickles)...)
+	deps = append(deps, android.PathsForModuleSrc(ctx, p.Typemaps)...)
+	deps = append(deps, android.PathsForModuleSrc(ctx, []string{p.Templates})...)
 	return deps
 }
 
 // templateDir returns the path where the template .zips are located.
 func (p *mojomGenerationProperties) templateDir(ctx android.ModuleContext) string {
-	srcFiles := ctx.ExpandSources([]string{p.Templates}, nil)
+	srcFiles := android.PathsForModuleSrc(ctx, []string{p.Templates})
 	if len(srcFiles) == 0 {
 		ctx.PropertyErrorf("templates", "module %s does not produce any files", p.Templates)
 		return ""
@@ -320,7 +302,7 @@
 	templateDir := p.templateDir(ctx)
 	generatedSrcs := android.Paths{}
 
-	for _, in := range ctx.ExpandSources(p.Srcs, nil) {
+	for _, in := range android.PathsForModuleSrc(ctx, p.Srcs) {
 		if !strings.HasSuffix(in.Rel(), ".mojom") {
 			ctx.PropertyErrorf("srcs", "Source is not a .mojom file: %s", in.Rel())
 			continue
@@ -366,10 +348,6 @@
 
 var _ genrule.SourceFileGenerator = (*mojomHeaders)(nil)
 
-func (m *mojomHeaders) DepsMutator(ctx android.BottomUpMutatorContext) {
-	m.properties.extractSources(ctx)
-}
-
 func (m *mojomHeaders) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	m.generatedSrcs = m.properties.generateBuildActions(
 		ctx,
@@ -426,10 +404,6 @@
 
 var _ genrule.SourceFileGenerator = (*mojomSrcs)(nil)
 
-func (m *mojomSrcs) DepsMutator(ctx android.BottomUpMutatorContext) {
-	m.properties.extractSources(ctx)
-}
-
 func (m *mojomSrcs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	m.generatedSrcs = m.properties.generateBuildActions(
 		ctx,
@@ -482,10 +456,6 @@
 
 var _ genrule.SourceFileGenerator = (*mojomSrcjar)(nil)
 
-func (m *mojomSrcjar) DepsMutator(ctx android.BottomUpMutatorContext) {
-	m.properties.extractSources(ctx)
-}
-
 func (m *mojomSrcjar) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	srcjars := m.properties.generateBuildActions(
 		ctx,