am 6e18ca49: Fix java resource glob file list location

* commit '6e18ca49f83c18772299677a4bd949d9dc978a62':
  Fix java resource glob file list location
This commit is contained in:
Colin Cross 2015-08-25 01:35:40 +00:00 committed by Android Git Automerger
commit efaa7dc1e7
4 changed files with 19 additions and 7 deletions

View File

@ -20,7 +20,6 @@ package cc
import (
"path/filepath"
"strings"
"github.com/google/blueprint"
"github.com/google/blueprint/pathtools"
@ -51,7 +50,7 @@ var (
)
func genYacc(ctx common.AndroidModuleContext, yaccFile, yaccFlags string) (cppFile, headerFile string) {
cppFile = strings.TrimPrefix(yaccFile, common.ModuleSrcDir(ctx))
cppFile = common.SrcDirRelPath(ctx, yaccFile)
cppFile = filepath.Join(common.ModuleGenDir(ctx), cppFile)
cppFile = pathtools.ReplaceExtension(cppFile, "cpp")
hppFile := pathtools.ReplaceExtension(cppFile, "hpp")
@ -74,7 +73,7 @@ func genYacc(ctx common.AndroidModuleContext, yaccFile, yaccFlags string) (cppFi
}
func genLex(ctx common.AndroidModuleContext, lexFile string) (cppFile string) {
cppFile = strings.TrimPrefix(lexFile, common.ModuleSrcDir(ctx))
cppFile = common.SrcDirRelPath(ctx, lexFile)
cppFile = filepath.Join(common.ModuleGenDir(ctx), cppFile)
cppFile = pathtools.ReplaceExtension(cppFile, "cpp")

View File

@ -15,6 +15,7 @@
package common
import (
"fmt"
"os"
"path/filepath"
)
@ -105,3 +106,15 @@ func CheckSrcDirsExist(ctx AndroidModuleContext, dirs []string, prop string) {
}
}
}
// Returns a path relative to the top level source directory. Panics if path is not inside the
// top level source directory.
func SrcDirRelPath(ctx AndroidModuleContext, path string) string {
srcDir := ctx.AConfig().SrcDir()
relPath, err := filepath.Rel(srcDir, path)
if err != nil {
panic(fmt.Errorf("%q is not inside %q: %s", path, srcDir, err.Error()))
}
return relPath
}

View File

@ -20,7 +20,6 @@ package java
import (
"path/filepath"
"strings"
"github.com/google/blueprint"
"github.com/google/blueprint/pathtools"
@ -63,7 +62,7 @@ var (
)
func genAidl(ctx common.AndroidModuleContext, aidlFile, aidlFlags string) string {
javaFile := strings.TrimPrefix(aidlFile, common.ModuleSrcDir(ctx))
javaFile := common.SrcDirRelPath(ctx, aidlFile)
javaFile = filepath.Join(common.ModuleGenDir(ctx), javaFile)
javaFile = pathtools.ReplaceExtension(javaFile, "java")
depFile := javaFile + ".d"
@ -83,7 +82,7 @@ func genAidl(ctx common.AndroidModuleContext, aidlFile, aidlFlags string) string
}
func genLogtags(ctx common.AndroidModuleContext, logtagsFile string) string {
javaFile := strings.TrimPrefix(logtagsFile, common.ModuleSrcDir(ctx))
javaFile := common.SrcDirRelPath(ctx, logtagsFile)
javaFile = filepath.Join(common.ModuleGenDir(ctx), javaFile)
javaFile = pathtools.ReplaceExtension(javaFile, "java")

View File

@ -56,7 +56,8 @@ func ResourceDirsToJarSpecs(ctx common.AndroidModuleContext, resourceDirs, exclu
resourceDir := filepath.Join(common.ModuleSrcDir(ctx), resourceDir)
dirs := ctx.Glob("java_resources", resourceDir, nil)
for _, dir := range dirs {
fileListFile := filepath.Join(common.ModuleOutDir(ctx), "res", dir, "resources.list")
relDir := common.SrcDirRelPath(ctx, dir)
fileListFile := filepath.Join(common.ModuleOutDir(ctx), "res", relDir, "resources.list")
depFile := fileListFile + ".d"
glob := filepath.Join(dir, "**/*")