Fix glob filename overlap
If resources and java files were compiled from the same directory, ctx.Glob could try to create a glob file that had the same name as the directory containing another glob file. Namespace each call to ctx.Glob so they never conflict. Change-Id: I4db73af568a2ff2e708e9db64798073b1ed2ff61
This commit is contained in:
@@ -55,7 +55,7 @@ type AndroidModuleContext interface {
|
|||||||
androidBaseContext
|
androidBaseContext
|
||||||
|
|
||||||
ExpandSources(srcFiles, excludes []string) []string
|
ExpandSources(srcFiles, excludes []string) []string
|
||||||
Glob(globPattern string, excludes []string) []string
|
Glob(outDir, globPattern string, excludes []string) []string
|
||||||
|
|
||||||
InstallFile(installPath, srcPath string, deps ...string) string
|
InstallFile(installPath, srcPath string, deps ...string) string
|
||||||
InstallFileName(installPath, name, srcPath string, deps ...string) string
|
InstallFileName(installPath, name, srcPath string, deps ...string) string
|
||||||
@@ -504,7 +504,7 @@ func (ctx *androidModuleContext) ExpandSources(srcFiles, excludes []string) []st
|
|||||||
globbedSrcFiles := make([]string, 0, len(srcFiles))
|
globbedSrcFiles := make([]string, 0, len(srcFiles))
|
||||||
for _, s := range srcFiles {
|
for _, s := range srcFiles {
|
||||||
if glob.IsGlob(s) {
|
if glob.IsGlob(s) {
|
||||||
globbedSrcFiles = append(globbedSrcFiles, ctx.Glob(s, excludes)...)
|
globbedSrcFiles = append(globbedSrcFiles, ctx.Glob("src_glob", s, excludes)...)
|
||||||
} else {
|
} else {
|
||||||
globbedSrcFiles = append(globbedSrcFiles, s)
|
globbedSrcFiles = append(globbedSrcFiles, s)
|
||||||
}
|
}
|
||||||
@@ -513,8 +513,8 @@ func (ctx *androidModuleContext) ExpandSources(srcFiles, excludes []string) []st
|
|||||||
return globbedSrcFiles
|
return globbedSrcFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ctx *androidModuleContext) Glob(globPattern string, excludes []string) []string {
|
func (ctx *androidModuleContext) Glob(outDir, globPattern string, excludes []string) []string {
|
||||||
ret, err := Glob(ctx, ModuleOutDir(ctx), globPattern, excludes)
|
ret, err := Glob(ctx, filepath.Join(ModuleOutDir(ctx), outDir), globPattern, excludes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ModuleErrorf("glob: %s", err.Error())
|
ctx.ModuleErrorf("glob: %s", err.Error())
|
||||||
}
|
}
|
||||||
|
@@ -246,14 +246,14 @@ func (a *AndroidApp) aaptFlags(ctx common.AndroidModuleContext) ([]string, []str
|
|||||||
var aaptDeps []string
|
var aaptDeps []string
|
||||||
var hasResources bool
|
var hasResources bool
|
||||||
for _, d := range resourceDirs {
|
for _, d := range resourceDirs {
|
||||||
newDeps := ctx.Glob(filepath.Join(d, "**/*"), aaptIgnoreFilenames)
|
newDeps := ctx.Glob("app_resources", filepath.Join(d, "**/*"), aaptIgnoreFilenames)
|
||||||
aaptDeps = append(aaptDeps, newDeps...)
|
aaptDeps = append(aaptDeps, newDeps...)
|
||||||
if len(newDeps) > 0 {
|
if len(newDeps) > 0 {
|
||||||
hasResources = true
|
hasResources = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, d := range assetDirs {
|
for _, d := range assetDirs {
|
||||||
newDeps := ctx.Glob(filepath.Join(d, "**/*"), aaptIgnoreFilenames)
|
newDeps := ctx.Glob("app_assets", filepath.Join(d, "**/*"), aaptIgnoreFilenames)
|
||||||
aaptDeps = append(aaptDeps, newDeps...)
|
aaptDeps = append(aaptDeps, newDeps...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -54,7 +54,7 @@ func ResourceDirsToJarSpecs(ctx common.AndroidModuleContext, resourceDirs, exclu
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
resourceDir := filepath.Join(common.ModuleSrcDir(ctx), resourceDir)
|
resourceDir := filepath.Join(common.ModuleSrcDir(ctx), resourceDir)
|
||||||
dirs := ctx.Glob(resourceDir, nil)
|
dirs := ctx.Glob("java_resources", resourceDir, nil)
|
||||||
for _, dir := range dirs {
|
for _, dir := range dirs {
|
||||||
fileListFile := filepath.Join(common.ModuleOutDir(ctx), "res", dir, "resources.list")
|
fileListFile := filepath.Join(common.ModuleOutDir(ctx), "res", dir, "resources.list")
|
||||||
depFile := fileListFile + ".d"
|
depFile := fileListFile + ".d"
|
||||||
|
Reference in New Issue
Block a user