summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author David Srbecky <dsrbecky@google.com> 2020-06-04 01:26:16 +0100
committer David Srbecky <dsrbecky@google.com> 2020-06-04 01:26:16 +0100
commit07656410df1836a70bea3054e50bb410ecbf8e07 (patch)
tree96dc0b045dfa8b0d3a07d6e41acb1c961cd811df
parent3747336d233103c9660d06699f6ac1bb86d405ce (diff)
Add SrcPath to InstallHookContext
Needed by ART to find the intermediate files so that it can also install them in testcases directory for tests. Change-Id: If1b2ad132632c5dc7c6c7573b56680e2f422594a
-rw-r--r--android/hooks.go11
-rw-r--r--android/module.go6
2 files changed, 13 insertions, 4 deletions
diff --git a/android/hooks.go b/android/hooks.go
index f43a007a0..85fc08168 100644
--- a/android/hooks.go
+++ b/android/hooks.go
@@ -120,6 +120,7 @@ func (l *loadHookContext) registerScopedModuleType(name string, factory blueprin
type InstallHookContext interface {
ModuleContext
+ SrcPath() Path
Path() InstallPath
Symlink() bool
}
@@ -134,10 +135,17 @@ func AddInstallHook(m blueprint.Module, hook func(InstallHookContext)) {
type installHookContext struct {
ModuleContext
+ srcPath Path
path InstallPath
symlink bool
}
+var _ InstallHookContext = &installHookContext{}
+
+func (x *installHookContext) SrcPath() Path {
+ return x.srcPath
+}
+
func (x *installHookContext) Path() InstallPath {
return x.path
}
@@ -146,10 +154,11 @@ func (x *installHookContext) Symlink() bool {
return x.symlink
}
-func (x *hooks) runInstallHooks(ctx ModuleContext, path InstallPath, symlink bool) {
+func (x *hooks) runInstallHooks(ctx ModuleContext, srcPath Path, path InstallPath, symlink bool) {
if len(x.install) > 0 {
mctx := &installHookContext{
ModuleContext: ctx,
+ srcPath: srcPath,
path: path,
symlink: symlink,
}
diff --git a/android/module.go b/android/module.go
index 82321f417..54526139c 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1955,7 +1955,7 @@ func (m *moduleContext) installFile(installPath InstallPath, name string, srcPat
rule blueprint.Rule, deps []Path) InstallPath {
fullInstallPath := installPath.Join(m, name)
- m.module.base().hooks.runInstallHooks(m, fullInstallPath, false)
+ m.module.base().hooks.runInstallHooks(m, srcPath, fullInstallPath, false)
if !m.skipInstall(fullInstallPath) {
@@ -1989,7 +1989,7 @@ func (m *moduleContext) installFile(installPath InstallPath, name string, srcPat
func (m *moduleContext) InstallSymlink(installPath InstallPath, name string, srcPath InstallPath) InstallPath {
fullInstallPath := installPath.Join(m, name)
- m.module.base().hooks.runInstallHooks(m, fullInstallPath, true)
+ m.module.base().hooks.runInstallHooks(m, srcPath, fullInstallPath, true)
if !m.skipInstall(fullInstallPath) {
@@ -2018,7 +2018,7 @@ func (m *moduleContext) InstallSymlink(installPath InstallPath, name string, src
// (e.g. /apex/...)
func (m *moduleContext) InstallAbsoluteSymlink(installPath InstallPath, name string, absPath string) InstallPath {
fullInstallPath := installPath.Join(m, name)
- m.module.base().hooks.runInstallHooks(m, fullInstallPath, true)
+ m.module.base().hooks.runInstallHooks(m, nil, fullInstallPath, true)
if !m.skipInstall(fullInstallPath) {
m.Build(pctx, BuildParams{