Change deps of ctx.Install* from Paths to InstallPaths
Installed files should only depend on other installed files, change the deps arguments of the ctx.Install* methods from Paths to InstallPaths. Bug: 311428265 Test: builds Change-Id: I1ebef60a943bdbe907744cc43aa985371ac56d32 Merged-In: I1ebef60a943bdbe907744cc43aa985371ac56d32
This commit is contained in:
@@ -114,7 +114,7 @@ type ModuleContext interface {
|
|||||||
// installed file will be returned by PackagingSpecs() on this module or by
|
// installed file will be returned by PackagingSpecs() on this module or by
|
||||||
// TransitivePackagingSpecs() on modules that depend on this module through dependency tags
|
// TransitivePackagingSpecs() on modules that depend on this module through dependency tags
|
||||||
// for which IsInstallDepNeeded returns true.
|
// for which IsInstallDepNeeded returns true.
|
||||||
InstallExecutable(installPath InstallPath, name string, srcPath Path, deps ...Path) InstallPath
|
InstallExecutable(installPath InstallPath, name string, srcPath Path, deps ...InstallPath) InstallPath
|
||||||
|
|
||||||
// InstallFile creates a rule to copy srcPath to name in the installPath directory,
|
// InstallFile creates a rule to copy srcPath to name in the installPath directory,
|
||||||
// with the given additional dependencies.
|
// with the given additional dependencies.
|
||||||
@@ -123,7 +123,7 @@ type ModuleContext interface {
|
|||||||
// installed file will be returned by PackagingSpecs() on this module or by
|
// installed file will be returned by PackagingSpecs() on this module or by
|
||||||
// TransitivePackagingSpecs() on modules that depend on this module through dependency tags
|
// TransitivePackagingSpecs() on modules that depend on this module through dependency tags
|
||||||
// for which IsInstallDepNeeded returns true.
|
// for which IsInstallDepNeeded returns true.
|
||||||
InstallFile(installPath InstallPath, name string, srcPath Path, deps ...Path) InstallPath
|
InstallFile(installPath InstallPath, name string, srcPath Path, deps ...InstallPath) InstallPath
|
||||||
|
|
||||||
// InstallFileWithExtraFilesZip creates a rule to copy srcPath to name in the installPath
|
// InstallFileWithExtraFilesZip creates a rule to copy srcPath to name in the installPath
|
||||||
// directory, and also unzip a zip file containing extra files to install into the same
|
// directory, and also unzip a zip file containing extra files to install into the same
|
||||||
@@ -133,7 +133,7 @@ type ModuleContext interface {
|
|||||||
// installed file will be returned by PackagingSpecs() on this module or by
|
// installed file will be returned by PackagingSpecs() on this module or by
|
||||||
// TransitivePackagingSpecs() on modules that depend on this module through dependency tags
|
// TransitivePackagingSpecs() on modules that depend on this module through dependency tags
|
||||||
// for which IsInstallDepNeeded returns true.
|
// for which IsInstallDepNeeded returns true.
|
||||||
InstallFileWithExtraFilesZip(installPath InstallPath, name string, srcPath Path, extraZip Path, deps ...Path) InstallPath
|
InstallFileWithExtraFilesZip(installPath InstallPath, name string, srcPath Path, extraZip Path, deps ...InstallPath) InstallPath
|
||||||
|
|
||||||
// InstallSymlink creates a rule to create a symlink from src srcPath to name in the installPath
|
// InstallSymlink creates a rule to create a symlink from src srcPath to name in the installPath
|
||||||
// directory.
|
// directory.
|
||||||
@@ -451,17 +451,17 @@ func (m *moduleContext) skipInstall() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *moduleContext) InstallFile(installPath InstallPath, name string, srcPath Path,
|
func (m *moduleContext) InstallFile(installPath InstallPath, name string, srcPath Path,
|
||||||
deps ...Path) InstallPath {
|
deps ...InstallPath) InstallPath {
|
||||||
return m.installFile(installPath, name, srcPath, deps, false, nil)
|
return m.installFile(installPath, name, srcPath, deps, false, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *moduleContext) InstallExecutable(installPath InstallPath, name string, srcPath Path,
|
func (m *moduleContext) InstallExecutable(installPath InstallPath, name string, srcPath Path,
|
||||||
deps ...Path) InstallPath {
|
deps ...InstallPath) InstallPath {
|
||||||
return m.installFile(installPath, name, srcPath, deps, true, nil)
|
return m.installFile(installPath, name, srcPath, deps, true, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *moduleContext) InstallFileWithExtraFilesZip(installPath InstallPath, name string, srcPath Path,
|
func (m *moduleContext) InstallFileWithExtraFilesZip(installPath InstallPath, name string, srcPath Path,
|
||||||
extraZip Path, deps ...Path) InstallPath {
|
extraZip Path, deps ...InstallPath) InstallPath {
|
||||||
return m.installFile(installPath, name, srcPath, deps, false, &extraFilesZip{
|
return m.installFile(installPath, name, srcPath, deps, false, &extraFilesZip{
|
||||||
zip: extraZip,
|
zip: extraZip,
|
||||||
dir: installPath,
|
dir: installPath,
|
||||||
@@ -487,23 +487,23 @@ func (m *moduleContext) packageFile(fullInstallPath InstallPath, srcPath Path, e
|
|||||||
return spec
|
return spec
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *moduleContext) installFile(installPath InstallPath, name string, srcPath Path, deps []Path,
|
func (m *moduleContext) installFile(installPath InstallPath, name string, srcPath Path, deps []InstallPath,
|
||||||
executable bool, extraZip *extraFilesZip) InstallPath {
|
executable bool, extraZip *extraFilesZip) InstallPath {
|
||||||
|
|
||||||
fullInstallPath := installPath.Join(m, name)
|
fullInstallPath := installPath.Join(m, name)
|
||||||
m.module.base().hooks.runInstallHooks(m, srcPath, fullInstallPath, false)
|
m.module.base().hooks.runInstallHooks(m, srcPath, fullInstallPath, false)
|
||||||
|
|
||||||
if !m.skipInstall() {
|
if !m.skipInstall() {
|
||||||
deps = append(deps, InstallPaths(m.module.base().installFilesDepSet.ToList()).Paths()...)
|
deps = append(deps, InstallPaths(m.module.base().installFilesDepSet.ToList())...)
|
||||||
|
|
||||||
var implicitDeps, orderOnlyDeps Paths
|
var implicitDeps, orderOnlyDeps Paths
|
||||||
|
|
||||||
if m.Host() {
|
if m.Host() {
|
||||||
// Installed host modules might be used during the build, depend directly on their
|
// Installed host modules might be used during the build, depend directly on their
|
||||||
// dependencies so their timestamp is updated whenever their dependency is updated
|
// dependencies so their timestamp is updated whenever their dependency is updated
|
||||||
implicitDeps = deps
|
implicitDeps = InstallPaths(deps).Paths()
|
||||||
} else {
|
} else {
|
||||||
orderOnlyDeps = deps
|
orderOnlyDeps = InstallPaths(deps).Paths()
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.Config().KatiEnabled() {
|
if m.Config().KatiEnabled() {
|
||||||
|
@@ -1890,7 +1890,7 @@ func (a *apexBundle) ProcessBazelQueryResponse(ctx android.ModuleContext) {
|
|||||||
installSuffix = imageCapexSuffix
|
installSuffix = imageCapexSuffix
|
||||||
}
|
}
|
||||||
a.installedFile = ctx.InstallFile(a.installDir, a.Name()+installSuffix, a.outputFile,
|
a.installedFile = ctx.InstallFile(a.installDir, a.Name()+installSuffix, a.outputFile,
|
||||||
a.compatSymlinks.Paths()...)
|
a.compatSymlinks...)
|
||||||
|
|
||||||
// filesInfo in mixed mode must retrieve all information about the apex's
|
// filesInfo in mixed mode must retrieve all information about the apex's
|
||||||
// contents completely from the Starlark providers. It should never rely on
|
// contents completely from the Starlark providers. It should never rely on
|
||||||
|
@@ -956,7 +956,7 @@ func (a *apexBundle) buildApex(ctx android.ModuleContext) {
|
|||||||
|
|
||||||
// Install to $OUT/soong/{target,host}/.../apex.
|
// Install to $OUT/soong/{target,host}/.../apex.
|
||||||
a.installedFile = ctx.InstallFile(a.installDir, a.Name()+installSuffix, a.outputFile,
|
a.installedFile = ctx.InstallFile(a.installDir, a.Name()+installSuffix, a.outputFile,
|
||||||
a.compatSymlinks.Paths()...)
|
a.compatSymlinks...)
|
||||||
|
|
||||||
// installed-files.txt is dist'ed
|
// installed-files.txt is dist'ed
|
||||||
a.installedFilesFile = a.buildInstalledFilesFile(ctx, a.outputFile, imageDir)
|
a.installedFilesFile = a.buildInstalledFilesFile(ctx, a.outputFile, imageDir)
|
||||||
|
@@ -794,7 +794,7 @@ func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if p.installable() {
|
if p.installable() {
|
||||||
p.installedFile = ctx.InstallFile(p.installDir, p.installFilename, p.inputApex, p.compatSymlinks.Paths()...)
|
p.installedFile = ctx.InstallFile(p.installDir, p.installFilename, p.inputApex, p.compatSymlinks...)
|
||||||
p.provenanceMetaDataFile = provenance.GenerateArtifactProvenanceMetaData(ctx, p.inputApex, p.installedFile)
|
p.provenanceMetaDataFile = provenance.GenerateArtifactProvenanceMetaData(ctx, p.inputApex, p.installedFile)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -869,7 +869,7 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
ctx.InstallFile(allowlistInstallPath, allowlistInstallFilename, a.privAppAllowlist.Path())
|
ctx.InstallFile(allowlistInstallPath, allowlistInstallFilename, a.privAppAllowlist.Path())
|
||||||
}
|
}
|
||||||
|
|
||||||
var extraInstalledPaths android.Paths
|
var extraInstalledPaths android.InstallPaths
|
||||||
for _, extra := range a.extraOutputFiles {
|
for _, extra := range a.extraOutputFiles {
|
||||||
installed := ctx.InstallFile(a.installDir, extra.Base(), extra)
|
installed := ctx.InstallFile(a.installDir, extra.Base(), extra)
|
||||||
extraInstalledPaths = append(extraInstalledPaths, installed)
|
extraInstalledPaths = append(extraInstalledPaths, installed)
|
||||||
|
@@ -641,7 +641,7 @@ type Library struct {
|
|||||||
|
|
||||||
exportedProguardFlagFiles android.Paths
|
exportedProguardFlagFiles android.Paths
|
||||||
|
|
||||||
InstallMixin func(ctx android.ModuleContext, installPath android.Path) (extraInstallDeps android.Paths)
|
InstallMixin func(ctx android.ModuleContext, installPath android.Path) (extraInstallDeps android.InstallPaths)
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ android.ApexModule = (*Library)(nil)
|
var _ android.ApexModule = (*Library)(nil)
|
||||||
@@ -722,7 +722,7 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
|
|
||||||
exclusivelyForApex := !apexInfo.IsForPlatform()
|
exclusivelyForApex := !apexInfo.IsForPlatform()
|
||||||
if (Bool(j.properties.Installable) || ctx.Host()) && !exclusivelyForApex {
|
if (Bool(j.properties.Installable) || ctx.Host()) && !exclusivelyForApex {
|
||||||
var extraInstallDeps android.Paths
|
var extraInstallDeps android.InstallPaths
|
||||||
if j.InstallMixin != nil {
|
if j.InstallMixin != nil {
|
||||||
extraInstallDeps = j.InstallMixin(ctx, j.outputFile)
|
extraInstallDeps = j.InstallMixin(ctx, j.outputFile)
|
||||||
}
|
}
|
||||||
|
@@ -226,7 +226,7 @@ func (r *robolectricTest) GenerateAndroidBuildActions(ctx android.ModuleContext)
|
|||||||
}
|
}
|
||||||
|
|
||||||
installPath := android.PathForModuleInstall(ctx, r.BaseModuleName())
|
installPath := android.PathForModuleInstall(ctx, r.BaseModuleName())
|
||||||
var installDeps android.Paths
|
var installDeps android.InstallPaths
|
||||||
|
|
||||||
if r.manifest != nil {
|
if r.manifest != nil {
|
||||||
r.data = append(r.data, r.manifest)
|
r.data = append(r.data, r.manifest)
|
||||||
|
@@ -30,8 +30,8 @@ func tradefedJavaLibraryFactory() android.Module {
|
|||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
func tradefedJavaLibraryInstall(ctx android.ModuleContext, path android.Path) android.Paths {
|
func tradefedJavaLibraryInstall(ctx android.ModuleContext, path android.Path) android.InstallPaths {
|
||||||
installedPath := ctx.InstallFile(android.PathForModuleInstall(ctx, "tradefed"),
|
installedPath := ctx.InstallFile(android.PathForModuleInstall(ctx, "tradefed"),
|
||||||
ctx.ModuleName()+".jar", path)
|
ctx.ModuleName()+".jar", path)
|
||||||
return android.Paths{installedPath}
|
return android.InstallPaths{installedPath}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user