Fix mixing genrule dependencies with globs

Putting a genrule dependency after a glob in a srcs property
was causing the generated files to be treated as globbed files
and hitting an interface conversion panic.

Bug: 67364649
Test: TestGeneratedSources in later patch
Change-Id: I8a076c9998fdd07e53769922be433a793ca575a9
This commit is contained in:
Colin Cross
2017-10-09 13:35:19 -07:00
parent 9d93e33b1e
commit 05a39cbacc

View File

@@ -882,10 +882,10 @@ func (ctx *androidModuleContext) ExpandSourcesSubDir(srcFiles, excludes []string
}
} else if pathtools.IsGlob(s) {
globbedSrcFiles := ctx.Glob(filepath.Join(prefix, s), excludes)
expandedSrcFiles = append(expandedSrcFiles, globbedSrcFiles...)
for i, s := range expandedSrcFiles {
expandedSrcFiles[i] = s.(ModuleSrcPath).WithSubDir(ctx, subDir)
for i, s := range globbedSrcFiles {
globbedSrcFiles[i] = s.(ModuleSrcPath).WithSubDir(ctx, subDir)
}
expandedSrcFiles = append(expandedSrcFiles, globbedSrcFiles...)
} else {
s := PathForModuleSrc(ctx, s).WithSubDir(ctx, subDir)
expandedSrcFiles = append(expandedSrcFiles, s)