Loading android/module.go +1 −1 Original line number Diff line number Diff line Loading @@ -1500,7 +1500,7 @@ func (m *ModuleBase) computeInstallDeps(ctx ModuleContext) ([]*installPathsDepSe var installDeps []*installPathsDepSet var packagingSpecs []*packagingSpecsDepSet ctx.VisitDirectDeps(func(dep Module) { if IsInstallDepNeeded(ctx.OtherModuleDependencyTag(dep)) { if IsInstallDepNeeded(ctx.OtherModuleDependencyTag(dep)) && !dep.IsHideFromMake() { installDeps = append(installDeps, dep.base().installFilesDepSet) packagingSpecs = append(packagingSpecs, dep.base().packagingSpecsDepSet) } Loading android/packaging.go +7 −2 Original line number Diff line number Diff line Loading @@ -198,8 +198,8 @@ func (p *PackagingBase) AddDeps(ctx BottomUpMutatorContext, depTag blueprint.Dep } } // See PackageModule.CopyDepsToZip func (p *PackagingBase) CopyDepsToZip(ctx ModuleContext, zipOut WritablePath) (entries []string) { // Returns transitive PackagingSpecs from deps func (p *PackagingBase) GatherPackagingSpecs(ctx ModuleContext) map[string]PackagingSpec { m := make(map[string]PackagingSpec) ctx.VisitDirectDeps(func(child Module) { if pi, ok := ctx.OtherModuleDependencyTag(child).(PackagingItem); !ok || !pi.IsPackagingItem() { Loading @@ -211,7 +211,12 @@ func (p *PackagingBase) CopyDepsToZip(ctx ModuleContext, zipOut WritablePath) (e } } }) return m } // See PackageModule.CopyDepsToZip func (p *PackagingBase) CopyDepsToZip(ctx ModuleContext, zipOut WritablePath) (entries []string) { m := p.GatherPackagingSpecs(ctx) builder := NewRuleBuilder(pctx, ctx) dir := PathForModuleOut(ctx, ".zip") Loading filesystem/system_image.go +7 −5 Original line number Diff line number Diff line Loading @@ -50,17 +50,19 @@ func (s *systemImage) buildExtraFiles(ctx android.ModuleContext, root android.Ou func (s *systemImage) buildLinkerConfigFile(ctx android.ModuleContext, root android.OutputPath) android.OutputPath { input := android.PathForModuleSrc(ctx, android.String(s.properties.Linker_config_src)) output := root.Join(ctx, "system", "etc", "linker.config.pb") // we need "Module"s for packaging items var otherModules []android.Module deps := s.GatherPackagingSpecs(ctx) ctx.WalkDeps(func(child, parent android.Module) bool { // Don't track direct dependencies that aren't not packaged if parent == s { if pi, ok := ctx.OtherModuleDependencyTag(child).(android.PackagingItem); !ok || !pi.IsPackagingItem() { return false for _, ps := range child.PackagingSpecs() { if _, ok := deps[ps.RelPathInPackage()]; ok { otherModules = append(otherModules, child) } } otherModules = append(otherModules, child) return true }) builder := android.NewRuleBuilder(pctx, ctx) linkerconfig.BuildLinkerConfig(ctx, builder, input, otherModules, output) builder.Build("conv_linker_config", "Generate linker config protobuf "+output.String()) Loading Loading
android/module.go +1 −1 Original line number Diff line number Diff line Loading @@ -1500,7 +1500,7 @@ func (m *ModuleBase) computeInstallDeps(ctx ModuleContext) ([]*installPathsDepSe var installDeps []*installPathsDepSet var packagingSpecs []*packagingSpecsDepSet ctx.VisitDirectDeps(func(dep Module) { if IsInstallDepNeeded(ctx.OtherModuleDependencyTag(dep)) { if IsInstallDepNeeded(ctx.OtherModuleDependencyTag(dep)) && !dep.IsHideFromMake() { installDeps = append(installDeps, dep.base().installFilesDepSet) packagingSpecs = append(packagingSpecs, dep.base().packagingSpecsDepSet) } Loading
android/packaging.go +7 −2 Original line number Diff line number Diff line Loading @@ -198,8 +198,8 @@ func (p *PackagingBase) AddDeps(ctx BottomUpMutatorContext, depTag blueprint.Dep } } // See PackageModule.CopyDepsToZip func (p *PackagingBase) CopyDepsToZip(ctx ModuleContext, zipOut WritablePath) (entries []string) { // Returns transitive PackagingSpecs from deps func (p *PackagingBase) GatherPackagingSpecs(ctx ModuleContext) map[string]PackagingSpec { m := make(map[string]PackagingSpec) ctx.VisitDirectDeps(func(child Module) { if pi, ok := ctx.OtherModuleDependencyTag(child).(PackagingItem); !ok || !pi.IsPackagingItem() { Loading @@ -211,7 +211,12 @@ func (p *PackagingBase) CopyDepsToZip(ctx ModuleContext, zipOut WritablePath) (e } } }) return m } // See PackageModule.CopyDepsToZip func (p *PackagingBase) CopyDepsToZip(ctx ModuleContext, zipOut WritablePath) (entries []string) { m := p.GatherPackagingSpecs(ctx) builder := NewRuleBuilder(pctx, ctx) dir := PathForModuleOut(ctx, ".zip") Loading
filesystem/system_image.go +7 −5 Original line number Diff line number Diff line Loading @@ -50,17 +50,19 @@ func (s *systemImage) buildExtraFiles(ctx android.ModuleContext, root android.Ou func (s *systemImage) buildLinkerConfigFile(ctx android.ModuleContext, root android.OutputPath) android.OutputPath { input := android.PathForModuleSrc(ctx, android.String(s.properties.Linker_config_src)) output := root.Join(ctx, "system", "etc", "linker.config.pb") // we need "Module"s for packaging items var otherModules []android.Module deps := s.GatherPackagingSpecs(ctx) ctx.WalkDeps(func(child, parent android.Module) bool { // Don't track direct dependencies that aren't not packaged if parent == s { if pi, ok := ctx.OtherModuleDependencyTag(child).(android.PackagingItem); !ok || !pi.IsPackagingItem() { return false for _, ps := range child.PackagingSpecs() { if _, ok := deps[ps.RelPathInPackage()]; ok { otherModules = append(otherModules, child) } } otherModules = append(otherModules, child) return true }) builder := android.NewRuleBuilder(pctx, ctx) linkerconfig.BuildLinkerConfig(ctx, builder, input, otherModules, output) builder.Build("conv_linker_config", "Generate linker config protobuf "+output.String()) Loading