diff options
Diffstat (limited to 'android/module_context.go')
-rw-r--r-- | android/module_context.go | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/android/module_context.go b/android/module_context.go index 1620390c2..fd804d08f 100644 --- a/android/module_context.go +++ b/android/module_context.go @@ -655,19 +655,21 @@ func (m *moduleContext) installFile(installPath InstallPath, name string, srcPat orderOnlyDeps = InstallPaths(deps).Paths() } - if m.Config().KatiEnabled() { - // When creating the install rule in Soong but embedding in Make, write the rule to a - // makefile instead of directly to the ninja file so that main.mk can add the - // dependencies from the `required` property that are hard to resolve in Soong. - m.katiInstalls = append(m.katiInstalls, katiInstall{ - from: srcPath, - to: fullInstallPath, - implicitDeps: implicitDeps, - orderOnlyDeps: orderOnlyDeps, - executable: executable, - extraFiles: extraZip, - }) - } else { + // When creating the install rule in Soong but embedding in Make, write the rule to a + // makefile instead of directly to the ninja file so that main.mk can add the + // dependencies from the `required` property that are hard to resolve in Soong. + // In soong-only builds, the katiInstall will still be created for semi-legacy code paths + // such as module-info.json or compliance, but it will not be used for actually installing + // the file. + m.katiInstalls = append(m.katiInstalls, katiInstall{ + from: srcPath, + to: fullInstallPath, + implicitDeps: implicitDeps, + orderOnlyDeps: orderOnlyDeps, + executable: executable, + extraFiles: extraZip, + }) + if !m.Config().KatiEnabled() { rule := CpWithBash if executable { rule = CpExecutableWithBash @@ -717,15 +719,17 @@ func (m *moduleContext) InstallSymlink(installPath InstallPath, name string, src } if m.requiresFullInstall() { - if m.Config().KatiEnabled() { - // When creating the symlink rule in Soong but embedding in Make, write the rule to a - // makefile instead of directly to the ninja file so that main.mk can add the - // dependencies from the `required` property that are hard to resolve in Soong. - m.katiSymlinks = append(m.katiSymlinks, katiInstall{ - from: srcPath, - to: fullInstallPath, - }) - } else { + // When creating the symlink rule in Soong but embedding in Make, write the rule to a + // makefile instead of directly to the ninja file so that main.mk can add the + // dependencies from the `required` property that are hard to resolve in Soong. + // In soong-only builds, the katiInstall will still be created for semi-legacy code paths + // such as module-info.json or compliance, but it will not be used for actually installing + // the file. + m.katiSymlinks = append(m.katiSymlinks, katiInstall{ + from: srcPath, + to: fullInstallPath, + }) + if !m.Config().KatiEnabled() { // The symlink doesn't need updating when the target is modified, but we sometimes // have a dependency on a symlink to a binary instead of to the binary directly, and // the mtime of the symlink must be updated when the binary is modified, so use a @@ -768,15 +772,17 @@ func (m *moduleContext) InstallAbsoluteSymlink(installPath InstallPath, name str m.module.base().hooks.runInstallHooks(m, nil, fullInstallPath, true) if m.requiresFullInstall() { - if m.Config().KatiEnabled() { - // When creating the symlink rule in Soong but embedding in Make, write the rule to a - // makefile instead of directly to the ninja file so that main.mk can add the - // dependencies from the `required` property that are hard to resolve in Soong. - m.katiSymlinks = append(m.katiSymlinks, katiInstall{ - absFrom: absPath, - to: fullInstallPath, - }) - } else { + // When creating the symlink rule in Soong but embedding in Make, write the rule to a + // makefile instead of directly to the ninja file so that main.mk can add the + // dependencies from the `required` property that are hard to resolve in Soong. + // In soong-only builds, the katiInstall will still be created for semi-legacy code paths + // such as module-info.json or compliance, but it will not be used for actually installing + // the file. + m.katiSymlinks = append(m.katiSymlinks, katiInstall{ + absFrom: absPath, + to: fullInstallPath, + }) + if !m.Config().KatiEnabled() { m.Build(pctx, BuildParams{ Rule: Symlink, Description: "install symlink " + fullInstallPath.Base() + " -> " + absPath, |