Loading android/androidmk.go +1 −0 Original line number Diff line number Diff line Loading @@ -861,6 +861,7 @@ func translateAndroidModule(ctx SingletonContext, w io.Writer, moduleInfoJSONs * } data := provider.AndroidMk() if data.Include == "" { data.Include = "$(BUILD_PREBUILT)" } Loading android/compliance_metadata.go +2 −2 Original line number Diff line number Diff line Loading @@ -160,7 +160,7 @@ var ( // buildComplianceMetadataProvider starts with the ModuleContext.ComplianceMetadataInfo() and fills in more common metadata // for different module types without accessing their private fields but through android.Module interface // and public/private fields of package android. The final metadata is stored to a module's ComplianceMetadataProvider. func buildComplianceMetadataProvider(ctx ModuleContext, m *ModuleBase) { func buildComplianceMetadataProvider(ctx *moduleContext, m *ModuleBase) { complianceMetadataInfo := ctx.ComplianceMetadataInfo() complianceMetadataInfo.SetStringValue(ComplianceMetadataProp.NAME, m.Name()) complianceMetadataInfo.SetStringValue(ComplianceMetadataProp.PACKAGE, ctx.ModuleDir()) Loading @@ -186,7 +186,7 @@ func buildComplianceMetadataProvider(ctx ModuleContext, m *ModuleBase) { } var installed InstallPaths installed = append(installed, m.module.FilesToInstall()...) installed = append(installed, ctx.installFiles...) installed = append(installed, m.katiInstalls.InstallPaths()...) installed = append(installed, m.katiSymlinks.InstallPaths()...) installed = append(installed, m.katiInitRcInstalls.InstallPaths()...) Loading android/license_metadata.go +5 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ var ( }, "args") ) func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { func buildLicenseMetadata(ctx *moduleContext, licenseMetadataFile WritablePath) { base := ctx.Module().base() if !base.Enabled(ctx) { Loading @@ -52,8 +52,8 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { // Only pass the last installed file to isContainerFromFileExtensions so a *.zip file in test data // doesn't mark the whole module as a container. var installFiles InstallPaths if len(base.installFiles) > 0 { installFiles = InstallPaths{base.installFiles[len(base.installFiles)-1]} if len(ctx.installFiles) > 0 { installFiles = InstallPaths{ctx.installFiles[len(ctx.installFiles)-1]} } isContainer := isContainerFromFileExtensions(installFiles, outputFiles) Loading Loading @@ -92,7 +92,7 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { allDepMetadataArgs = append(allDepMetadataArgs, info.LicenseMetadataPath.String()+depAnnotations) if depInstallFiles := dep.base().installFiles; len(depInstallFiles) > 0 { if depInstallFiles := ModuleFilesToInstall(ctx, dep); len(depInstallFiles) > 0 { allDepOutputFiles = append(allDepOutputFiles, depInstallFiles.Paths()...) } else if depOutputFiles, err := outputFilesForModule(ctx, dep, ""); err == nil { depOutputFiles = PathsIfNonNil(depOutputFiles...) Loading Loading @@ -162,7 +162,7 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { // Installed files args = append(args, JoinWithPrefix(proptools.NinjaAndShellEscapeListIncludingSpaces(base.installFiles.Strings()), "-i ")) JoinWithPrefix(proptools.NinjaAndShellEscapeListIncludingSpaces(ctx.installFiles.Strings()), "-i ")) if isContainer { args = append(args, "--is_container") Loading android/module.go +25 −10 Original line number Diff line number Diff line Loading @@ -112,7 +112,6 @@ type Module interface { HostRequiredModuleNames() []string TargetRequiredModuleNames() []string FilesToInstall() InstallPaths PackagingSpecs() []PackagingSpec // TransitivePackagingSpecs returns the PackagingSpecs for this module and any transitive Loading Loading @@ -760,6 +759,14 @@ func InitCommonOSAndroidMultiTargetsArchModule(m Module, hod HostOrDeviceSupport m.base().commonProperties.CreateCommonOSVariant = true } func ModuleFilesToInstall(ctx OtherModuleProviderContext, m blueprint.Module) InstallPaths { var filesToInstall InstallPaths if info, ok := OtherModuleProvider(ctx, m, InstallFilesProvider); ok { filesToInstall = info.InstallFiles } return filesToInstall } // A ModuleBase object contains the properties that are common to all Android // modules. It should be included as an anonymous field in every module // struct definition. InitAndroidModule should then be called from the module's Loading Loading @@ -832,7 +839,6 @@ type ModuleBase struct { primaryLicensesProperty applicableLicensesProperty noAddressSanitizer bool installFiles InstallPaths installFilesDepSet *DepSet[InstallPath] checkbuildFiles Paths packagingSpecs []PackagingSpec Loading Loading @@ -1476,10 +1482,6 @@ func isInstallDepNeeded(dep Module, tag blueprint.DependencyTag) bool { return IsInstallDepNeededTag(tag) } func (m *ModuleBase) FilesToInstall() InstallPaths { return m.installFiles } func (m *ModuleBase) PackagingSpecs() []PackagingSpec { return m.packagingSpecs } Loading Loading @@ -1615,12 +1617,16 @@ func (m *ModuleBase) SetLicenseInstallMap(installMap []string) { m.licenseInstallMap = append(m.licenseInstallMap, installMap...) } func (m *ModuleBase) generateModuleTarget(ctx ModuleContext) { func (m *ModuleBase) generateModuleTarget(ctx *moduleContext) { var allInstalledFiles InstallPaths var allCheckbuildFiles Paths ctx.VisitAllModuleVariants(func(module Module) { a := module.base() allInstalledFiles = append(allInstalledFiles, a.installFiles...) if a == m { allInstalledFiles = append(allInstalledFiles, ctx.installFiles...) } else { allInstalledFiles = append(allInstalledFiles, ModuleFilesToInstall(ctx, module)...) } // A module's -checkbuild phony targets should // not be created if the module is not exported to make. // Those could depend on the build target and fail to compile Loading Loading @@ -1763,6 +1769,12 @@ func (m *ModuleBase) archModuleContextFactory(ctx archModuleContextFactoryContex } type InstallFilesInfo struct { InstallFiles InstallPaths } var InstallFilesProvider = blueprint.NewProvider[InstallFilesInfo]() func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) { ctx := &moduleContext{ module: m.module, Loading Loading @@ -1944,12 +1956,15 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) return } m.installFiles = append(m.installFiles, ctx.installFiles...) m.checkbuildFiles = append(m.checkbuildFiles, ctx.checkbuildFiles...) m.packagingSpecs = append(m.packagingSpecs, ctx.packagingSpecs...) m.katiInstalls = append(m.katiInstalls, ctx.katiInstalls...) m.katiSymlinks = append(m.katiSymlinks, ctx.katiSymlinks...) m.testData = append(m.testData, ctx.testData...) SetProvider(ctx, InstallFilesProvider, InstallFilesInfo{ InstallFiles: ctx.installFiles, }) } else if ctx.Config().AllowMissingDependencies() { // If the module is not enabled it will not create any build rules, nothing will call // ctx.GetMissingDependencies(), and blueprint will consider the missing dependencies to be unhandled Loading @@ -1965,7 +1980,7 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) } } m.installFilesDepSet = NewDepSet[InstallPath](TOPOLOGICAL, m.installFiles, dependencyInstallFiles) m.installFilesDepSet = NewDepSet[InstallPath](TOPOLOGICAL, ctx.installFiles, dependencyInstallFiles) m.packagingSpecsDepSet = NewDepSet[PackagingSpec](TOPOLOGICAL, m.packagingSpecs, dependencyPackagingSpecs) buildLicenseMetadata(ctx, m.licenseMetadataFile) Loading android/test_suites.go +1 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ func (t *testSuiteFiles) GenerateBuildActions(ctx SingletonContext) { files[testSuite] = make(map[string]InstallPaths) } name := ctx.ModuleName(m) files[testSuite][name] = append(files[testSuite][name], tsm.FilesToInstall()...) files[testSuite][name] = append(files[testSuite][name], ModuleFilesToInstall(ctx, tsm)...) } } }) Loading Loading
android/androidmk.go +1 −0 Original line number Diff line number Diff line Loading @@ -861,6 +861,7 @@ func translateAndroidModule(ctx SingletonContext, w io.Writer, moduleInfoJSONs * } data := provider.AndroidMk() if data.Include == "" { data.Include = "$(BUILD_PREBUILT)" } Loading
android/compliance_metadata.go +2 −2 Original line number Diff line number Diff line Loading @@ -160,7 +160,7 @@ var ( // buildComplianceMetadataProvider starts with the ModuleContext.ComplianceMetadataInfo() and fills in more common metadata // for different module types without accessing their private fields but through android.Module interface // and public/private fields of package android. The final metadata is stored to a module's ComplianceMetadataProvider. func buildComplianceMetadataProvider(ctx ModuleContext, m *ModuleBase) { func buildComplianceMetadataProvider(ctx *moduleContext, m *ModuleBase) { complianceMetadataInfo := ctx.ComplianceMetadataInfo() complianceMetadataInfo.SetStringValue(ComplianceMetadataProp.NAME, m.Name()) complianceMetadataInfo.SetStringValue(ComplianceMetadataProp.PACKAGE, ctx.ModuleDir()) Loading @@ -186,7 +186,7 @@ func buildComplianceMetadataProvider(ctx ModuleContext, m *ModuleBase) { } var installed InstallPaths installed = append(installed, m.module.FilesToInstall()...) installed = append(installed, ctx.installFiles...) installed = append(installed, m.katiInstalls.InstallPaths()...) installed = append(installed, m.katiSymlinks.InstallPaths()...) installed = append(installed, m.katiInitRcInstalls.InstallPaths()...) Loading
android/license_metadata.go +5 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ var ( }, "args") ) func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { func buildLicenseMetadata(ctx *moduleContext, licenseMetadataFile WritablePath) { base := ctx.Module().base() if !base.Enabled(ctx) { Loading @@ -52,8 +52,8 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { // Only pass the last installed file to isContainerFromFileExtensions so a *.zip file in test data // doesn't mark the whole module as a container. var installFiles InstallPaths if len(base.installFiles) > 0 { installFiles = InstallPaths{base.installFiles[len(base.installFiles)-1]} if len(ctx.installFiles) > 0 { installFiles = InstallPaths{ctx.installFiles[len(ctx.installFiles)-1]} } isContainer := isContainerFromFileExtensions(installFiles, outputFiles) Loading Loading @@ -92,7 +92,7 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { allDepMetadataArgs = append(allDepMetadataArgs, info.LicenseMetadataPath.String()+depAnnotations) if depInstallFiles := dep.base().installFiles; len(depInstallFiles) > 0 { if depInstallFiles := ModuleFilesToInstall(ctx, dep); len(depInstallFiles) > 0 { allDepOutputFiles = append(allDepOutputFiles, depInstallFiles.Paths()...) } else if depOutputFiles, err := outputFilesForModule(ctx, dep, ""); err == nil { depOutputFiles = PathsIfNonNil(depOutputFiles...) Loading Loading @@ -162,7 +162,7 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) { // Installed files args = append(args, JoinWithPrefix(proptools.NinjaAndShellEscapeListIncludingSpaces(base.installFiles.Strings()), "-i ")) JoinWithPrefix(proptools.NinjaAndShellEscapeListIncludingSpaces(ctx.installFiles.Strings()), "-i ")) if isContainer { args = append(args, "--is_container") Loading
android/module.go +25 −10 Original line number Diff line number Diff line Loading @@ -112,7 +112,6 @@ type Module interface { HostRequiredModuleNames() []string TargetRequiredModuleNames() []string FilesToInstall() InstallPaths PackagingSpecs() []PackagingSpec // TransitivePackagingSpecs returns the PackagingSpecs for this module and any transitive Loading Loading @@ -760,6 +759,14 @@ func InitCommonOSAndroidMultiTargetsArchModule(m Module, hod HostOrDeviceSupport m.base().commonProperties.CreateCommonOSVariant = true } func ModuleFilesToInstall(ctx OtherModuleProviderContext, m blueprint.Module) InstallPaths { var filesToInstall InstallPaths if info, ok := OtherModuleProvider(ctx, m, InstallFilesProvider); ok { filesToInstall = info.InstallFiles } return filesToInstall } // A ModuleBase object contains the properties that are common to all Android // modules. It should be included as an anonymous field in every module // struct definition. InitAndroidModule should then be called from the module's Loading Loading @@ -832,7 +839,6 @@ type ModuleBase struct { primaryLicensesProperty applicableLicensesProperty noAddressSanitizer bool installFiles InstallPaths installFilesDepSet *DepSet[InstallPath] checkbuildFiles Paths packagingSpecs []PackagingSpec Loading Loading @@ -1476,10 +1482,6 @@ func isInstallDepNeeded(dep Module, tag blueprint.DependencyTag) bool { return IsInstallDepNeededTag(tag) } func (m *ModuleBase) FilesToInstall() InstallPaths { return m.installFiles } func (m *ModuleBase) PackagingSpecs() []PackagingSpec { return m.packagingSpecs } Loading Loading @@ -1615,12 +1617,16 @@ func (m *ModuleBase) SetLicenseInstallMap(installMap []string) { m.licenseInstallMap = append(m.licenseInstallMap, installMap...) } func (m *ModuleBase) generateModuleTarget(ctx ModuleContext) { func (m *ModuleBase) generateModuleTarget(ctx *moduleContext) { var allInstalledFiles InstallPaths var allCheckbuildFiles Paths ctx.VisitAllModuleVariants(func(module Module) { a := module.base() allInstalledFiles = append(allInstalledFiles, a.installFiles...) if a == m { allInstalledFiles = append(allInstalledFiles, ctx.installFiles...) } else { allInstalledFiles = append(allInstalledFiles, ModuleFilesToInstall(ctx, module)...) } // A module's -checkbuild phony targets should // not be created if the module is not exported to make. // Those could depend on the build target and fail to compile Loading Loading @@ -1763,6 +1769,12 @@ func (m *ModuleBase) archModuleContextFactory(ctx archModuleContextFactoryContex } type InstallFilesInfo struct { InstallFiles InstallPaths } var InstallFilesProvider = blueprint.NewProvider[InstallFilesInfo]() func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) { ctx := &moduleContext{ module: m.module, Loading Loading @@ -1944,12 +1956,15 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) return } m.installFiles = append(m.installFiles, ctx.installFiles...) m.checkbuildFiles = append(m.checkbuildFiles, ctx.checkbuildFiles...) m.packagingSpecs = append(m.packagingSpecs, ctx.packagingSpecs...) m.katiInstalls = append(m.katiInstalls, ctx.katiInstalls...) m.katiSymlinks = append(m.katiSymlinks, ctx.katiSymlinks...) m.testData = append(m.testData, ctx.testData...) SetProvider(ctx, InstallFilesProvider, InstallFilesInfo{ InstallFiles: ctx.installFiles, }) } else if ctx.Config().AllowMissingDependencies() { // If the module is not enabled it will not create any build rules, nothing will call // ctx.GetMissingDependencies(), and blueprint will consider the missing dependencies to be unhandled Loading @@ -1965,7 +1980,7 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) } } m.installFilesDepSet = NewDepSet[InstallPath](TOPOLOGICAL, m.installFiles, dependencyInstallFiles) m.installFilesDepSet = NewDepSet[InstallPath](TOPOLOGICAL, ctx.installFiles, dependencyInstallFiles) m.packagingSpecsDepSet = NewDepSet[PackagingSpec](TOPOLOGICAL, m.packagingSpecs, dependencyPackagingSpecs) buildLicenseMetadata(ctx, m.licenseMetadataFile) Loading
android/test_suites.go +1 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ func (t *testSuiteFiles) GenerateBuildActions(ctx SingletonContext) { files[testSuite] = make(map[string]InstallPaths) } name := ctx.ModuleName(m) files[testSuite][name] = append(files[testSuite][name], tsm.FilesToInstall()...) files[testSuite][name] = append(files[testSuite][name], ModuleFilesToInstall(ctx, tsm)...) } } }) Loading