Revert "Make the enabled property configurable"
Revert submission 27162921-configurable_enabled_property Reason for revert: Droid-monitor created revert due to Build breakage in b/338253720. Will be verifying through ABTD before submission. Reverted changes: /q/submissionid:27162921-configurable_enabled_property Change-Id: I2d144f9d297373a13a1190b173d10c966181ad84
This commit is contained in:
committed by
Android (Google) Code Review
parent
0e0d749062
commit
ed5276f082
@@ -41,7 +41,6 @@ bootstrap_go_package {
|
|||||||
"buildinfo_prop.go",
|
"buildinfo_prop.go",
|
||||||
"config.go",
|
"config.go",
|
||||||
"test_config.go",
|
"test_config.go",
|
||||||
"configurable_properties.go",
|
|
||||||
"configured_jars.go",
|
"configured_jars.go",
|
||||||
"csuite_config.go",
|
"csuite_config.go",
|
||||||
"deapexer.go",
|
"deapexer.go",
|
||||||
|
@@ -849,7 +849,7 @@ func translateAndroidModule(ctx SingletonContext, w io.Writer, moduleInfoJSONs *
|
|||||||
mod blueprint.Module, provider AndroidMkDataProvider) error {
|
mod blueprint.Module, provider AndroidMkDataProvider) error {
|
||||||
|
|
||||||
amod := mod.(Module).base()
|
amod := mod.(Module).base()
|
||||||
if shouldSkipAndroidMkProcessing(ctx, amod) {
|
if shouldSkipAndroidMkProcessing(amod) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -939,7 +939,7 @@ func WriteAndroidMkData(w io.Writer, data AndroidMkData) {
|
|||||||
|
|
||||||
func translateAndroidMkEntriesModule(ctx SingletonContext, w io.Writer, moduleInfoJSONs *[]*ModuleInfoJSON,
|
func translateAndroidMkEntriesModule(ctx SingletonContext, w io.Writer, moduleInfoJSONs *[]*ModuleInfoJSON,
|
||||||
mod blueprint.Module, provider AndroidMkEntriesProvider) error {
|
mod blueprint.Module, provider AndroidMkEntriesProvider) error {
|
||||||
if shouldSkipAndroidMkProcessing(ctx, mod.(Module).base()) {
|
if shouldSkipAndroidMkProcessing(mod.(Module).base()) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -961,11 +961,11 @@ func translateAndroidMkEntriesModule(ctx SingletonContext, w io.Writer, moduleIn
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ShouldSkipAndroidMkProcessing(ctx ConfigAndErrorContext, module Module) bool {
|
func ShouldSkipAndroidMkProcessing(module Module) bool {
|
||||||
return shouldSkipAndroidMkProcessing(ctx, module.base())
|
return shouldSkipAndroidMkProcessing(module.base())
|
||||||
}
|
}
|
||||||
|
|
||||||
func shouldSkipAndroidMkProcessing(ctx ConfigAndErrorContext, module *ModuleBase) bool {
|
func shouldSkipAndroidMkProcessing(module *ModuleBase) bool {
|
||||||
if !module.commonProperties.NamespaceExportedToMake {
|
if !module.commonProperties.NamespaceExportedToMake {
|
||||||
// TODO(jeffrygaston) do we want to validate that there are no modules being
|
// TODO(jeffrygaston) do we want to validate that there are no modules being
|
||||||
// exported to Kati that depend on this module?
|
// exported to Kati that depend on this module?
|
||||||
@@ -984,7 +984,7 @@ func shouldSkipAndroidMkProcessing(ctx ConfigAndErrorContext, module *ModuleBase
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
return !module.Enabled(ctx) ||
|
return !module.Enabled() ||
|
||||||
module.commonProperties.HideFromMake ||
|
module.commonProperties.HideFromMake ||
|
||||||
// Make does not understand LinuxBionic
|
// Make does not understand LinuxBionic
|
||||||
module.Os() == LinuxBionic ||
|
module.Os() == LinuxBionic ||
|
||||||
|
@@ -486,7 +486,7 @@ func osMutator(bpctx blueprint.BottomUpMutatorContext) {
|
|||||||
// dependencies on OsType variants that are explicitly disabled in their
|
// dependencies on OsType variants that are explicitly disabled in their
|
||||||
// properties. The CommonOS variant will still depend on disabled variants
|
// properties. The CommonOS variant will still depend on disabled variants
|
||||||
// if they are disabled afterwards, e.g. in archMutator if
|
// if they are disabled afterwards, e.g. in archMutator if
|
||||||
if module.Enabled(mctx) {
|
if module.Enabled() {
|
||||||
mctx.AddInterVariantDependency(commonOsToOsSpecificVariantTag, commonOSVariant, module)
|
mctx.AddInterVariantDependency(commonOsToOsSpecificVariantTag, commonOSVariant, module)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -511,7 +511,7 @@ func GetOsSpecificVariantsOfCommonOSVariant(mctx BaseModuleContext) []Module {
|
|||||||
var variants []Module
|
var variants []Module
|
||||||
mctx.VisitDirectDeps(func(m Module) {
|
mctx.VisitDirectDeps(func(m Module) {
|
||||||
if mctx.OtherModuleDependencyTag(m) == commonOsToOsSpecificVariantTag {
|
if mctx.OtherModuleDependencyTag(m) == commonOsToOsSpecificVariantTag {
|
||||||
if m.Enabled(mctx) {
|
if m.Enabled() {
|
||||||
variants = append(variants, m)
|
variants = append(variants, m)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -423,7 +423,7 @@ func TestArchMutator(t *testing.T) {
|
|||||||
variants := ctx.ModuleVariantsForTests(name)
|
variants := ctx.ModuleVariantsForTests(name)
|
||||||
for _, variant := range variants {
|
for _, variant := range variants {
|
||||||
m := ctx.ModuleForTests(name, variant)
|
m := ctx.ModuleForTests(name, variant)
|
||||||
if m.Module().Enabled(PanickingConfigAndErrorContext(ctx)) {
|
if m.Module().Enabled() {
|
||||||
ret = append(ret, variant)
|
ret = append(ret, variant)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -533,7 +533,7 @@ func TestArchMutatorNativeBridge(t *testing.T) {
|
|||||||
variants := ctx.ModuleVariantsForTests(name)
|
variants := ctx.ModuleVariantsForTests(name)
|
||||||
for _, variant := range variants {
|
for _, variant := range variants {
|
||||||
m := ctx.ModuleForTests(name, variant)
|
m := ctx.ModuleForTests(name, variant)
|
||||||
if m.Module().Enabled(PanickingConfigAndErrorContext(ctx)) {
|
if m.Module().Enabled() {
|
||||||
ret = append(ret, variant)
|
ret = append(ret, variant)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -325,7 +325,7 @@ func (b *baseModuleContext) validateAndroidModule(module blueprint.Module, tag b
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if !aModule.Enabled(b) {
|
if !aModule.Enabled() {
|
||||||
if t, ok := tag.(AllowDisabledModuleDependency); !ok || !t.AllowDisabledModuleDependency(aModule) {
|
if t, ok := tag.(AllowDisabledModuleDependency); !ok || !t.AllowDisabledModuleDependency(aModule) {
|
||||||
if b.Config().AllowMissingDependencies() {
|
if b.Config().AllowMissingDependencies() {
|
||||||
b.AddMissingDependencies([]string{b.OtherModuleName(aModule)})
|
b.AddMissingDependencies([]string{b.OtherModuleName(aModule)})
|
||||||
|
@@ -1,28 +0,0 @@
|
|||||||
package android
|
|
||||||
|
|
||||||
import "github.com/google/blueprint/proptools"
|
|
||||||
|
|
||||||
// CreateSelectOsToBool is a utility function that makes it easy to create a
|
|
||||||
// Configurable property value that maps from os to a bool. Use an empty string
|
|
||||||
// to indicate a "default" case.
|
|
||||||
func CreateSelectOsToBool(cases map[string]*bool) proptools.Configurable[bool] {
|
|
||||||
var resultCases []proptools.ConfigurableCase[bool]
|
|
||||||
for pattern, value := range cases {
|
|
||||||
if pattern == "" {
|
|
||||||
resultCases = append(resultCases, proptools.NewConfigurableCase(
|
|
||||||
[]proptools.ConfigurablePattern{proptools.NewDefaultConfigurablePattern()},
|
|
||||||
value,
|
|
||||||
))
|
|
||||||
} else {
|
|
||||||
resultCases = append(resultCases, proptools.NewConfigurableCase(
|
|
||||||
[]proptools.ConfigurablePattern{proptools.NewStringConfigurablePattern(pattern)},
|
|
||||||
value,
|
|
||||||
))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return proptools.NewConfigurable(
|
|
||||||
[]proptools.ConfigurableCondition{proptools.NewConfigurableCondition("os", nil)},
|
|
||||||
resultCases,
|
|
||||||
)
|
|
||||||
}
|
|
@@ -173,5 +173,5 @@ func (e *earlyModuleContext) Namespace() *Namespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (e *earlyModuleContext) OtherModulePropertyErrorf(module Module, property string, fmt string, args ...interface{}) {
|
func (e *earlyModuleContext) OtherModulePropertyErrorf(module Module, property string, fmt string, args ...interface{}) {
|
||||||
e.EarlyModuleContext.OtherModulePropertyErrorf(module, property, fmt, args...)
|
e.EarlyModuleContext.OtherModulePropertyErrorf(module, property, fmt, args)
|
||||||
}
|
}
|
||||||
|
@@ -62,7 +62,7 @@ func (s *genNoticeBuildRules) GenerateBuildActions(ctx SingletonContext) {
|
|||||||
if mod == nil {
|
if mod == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !mod.Enabled(ctx) { // don't depend on variants without build rules
|
if !mod.Enabled() { // don't depend on variants without build rules
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
modules = append(modules, mod)
|
modules = append(modules, mod)
|
||||||
|
@@ -36,7 +36,7 @@ var (
|
|||||||
func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) {
|
func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) {
|
||||||
base := ctx.Module().base()
|
base := ctx.Module().base()
|
||||||
|
|
||||||
if !base.Enabled(ctx) {
|
if !base.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ func buildLicenseMetadata(ctx ModuleContext, licenseMetadataFile WritablePath) {
|
|||||||
if dep == nil {
|
if dep == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !dep.Enabled(ctx) {
|
if !dep.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -98,7 +98,6 @@ type MakeVarsContext interface {
|
|||||||
BlueprintFile(module blueprint.Module) string
|
BlueprintFile(module blueprint.Module) string
|
||||||
|
|
||||||
ModuleErrorf(module blueprint.Module, format string, args ...interface{})
|
ModuleErrorf(module blueprint.Module, format string, args ...interface{})
|
||||||
OtherModulePropertyErrorf(module Module, property, format string, args ...interface{})
|
|
||||||
Errorf(format string, args ...interface{})
|
Errorf(format string, args ...interface{})
|
||||||
|
|
||||||
VisitAllModules(visit func(Module))
|
VisitAllModules(visit func(Module))
|
||||||
@@ -266,7 +265,7 @@ func (s *makeVarsSingleton) GenerateBuildActions(ctx SingletonContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctx.VisitAllModules(func(m Module) {
|
ctx.VisitAllModules(func(m Module) {
|
||||||
if provider, ok := m.(ModuleMakeVarsProvider); ok && m.Enabled(ctx) {
|
if provider, ok := m.(ModuleMakeVarsProvider); ok && m.Enabled() {
|
||||||
mctx := &makeVarsContext{
|
mctx := &makeVarsContext{
|
||||||
SingletonContext: ctx,
|
SingletonContext: ctx,
|
||||||
}
|
}
|
||||||
|
@@ -60,7 +60,7 @@ type Module interface {
|
|||||||
|
|
||||||
base() *ModuleBase
|
base() *ModuleBase
|
||||||
Disable()
|
Disable()
|
||||||
Enabled(ctx ConfigAndErrorContext) bool
|
Enabled() bool
|
||||||
Target() Target
|
Target() Target
|
||||||
MultiTargets() []Target
|
MultiTargets() []Target
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ type commonProperties struct {
|
|||||||
// but are not usually required (e.g. superceded by a prebuilt) should not be
|
// but are not usually required (e.g. superceded by a prebuilt) should not be
|
||||||
// disabled as that will prevent them from being built by the checkbuild target
|
// disabled as that will prevent them from being built by the checkbuild target
|
||||||
// and so prevent early detection of changes that have broken those modules.
|
// and so prevent early detection of changes that have broken those modules.
|
||||||
Enabled proptools.Configurable[bool] `android:"arch_variant,replace_instead_of_append"`
|
Enabled *bool `android:"arch_variant"`
|
||||||
|
|
||||||
// Controls the visibility of this module to other modules. Allowable values are one or more of
|
// Controls the visibility of this module to other modules. Allowable values are one or more of
|
||||||
// these formats:
|
// these formats:
|
||||||
@@ -1392,11 +1392,14 @@ func (m *ModuleBase) PartitionTag(config DeviceConfig) string {
|
|||||||
return partition
|
return partition
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ModuleBase) Enabled(ctx ConfigAndErrorContext) bool {
|
func (m *ModuleBase) Enabled() bool {
|
||||||
if m.commonProperties.ForcedDisabled {
|
if m.commonProperties.ForcedDisabled {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return m.commonProperties.Enabled.GetOrDefault(m.ConfigurableEvaluator(ctx), !m.Os().DefaultDisabled)
|
if m.commonProperties.Enabled == nil {
|
||||||
|
return !m.Os().DefaultDisabled
|
||||||
|
}
|
||||||
|
return *m.commonProperties.Enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ModuleBase) Disable() {
|
func (m *ModuleBase) Disable() {
|
||||||
@@ -1640,7 +1643,7 @@ func (m *ModuleBase) generateModuleTarget(ctx ModuleContext) {
|
|||||||
// not be created if the module is not exported to make.
|
// not be created if the module is not exported to make.
|
||||||
// Those could depend on the build target and fail to compile
|
// Those could depend on the build target and fail to compile
|
||||||
// for the current build target.
|
// for the current build target.
|
||||||
if !ctx.Config().KatiEnabled() || !shouldSkipAndroidMkProcessing(ctx, a) {
|
if !ctx.Config().KatiEnabled() || !shouldSkipAndroidMkProcessing(a) {
|
||||||
allCheckbuildFiles = append(allCheckbuildFiles, a.checkbuildFiles...)
|
allCheckbuildFiles = append(allCheckbuildFiles, a.checkbuildFiles...)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -1832,7 +1835,7 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext)
|
|||||||
checkDistProperties(ctx, fmt.Sprintf("dists[%d]", i), &m.distProperties.Dists[i])
|
checkDistProperties(ctx, fmt.Sprintf("dists[%d]", i), &m.distProperties.Dists[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.Enabled(ctx) {
|
if m.Enabled() {
|
||||||
// ensure all direct android.Module deps are enabled
|
// ensure all direct android.Module deps are enabled
|
||||||
ctx.VisitDirectDepsBlueprint(func(bm blueprint.Module) {
|
ctx.VisitDirectDepsBlueprint(func(bm blueprint.Module) {
|
||||||
if m, ok := bm.(Module); ok {
|
if m, ok := bm.(Module); ok {
|
||||||
@@ -2133,7 +2136,7 @@ func (m *ModuleBase) ConfigurableEvaluator(ctx ConfigAndErrorContext) proptools.
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (e configurationEvalutor) PropertyErrorf(property string, fmt string, args ...interface{}) {
|
func (e configurationEvalutor) PropertyErrorf(property string, fmt string, args ...interface{}) {
|
||||||
e.ctx.OtherModulePropertyErrorf(e.m, property, fmt, args...)
|
e.ctx.OtherModulePropertyErrorf(e.m, property, fmt, args)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e configurationEvalutor) EvaluateConfiguration(condition proptools.ConfigurableCondition, property string) proptools.ConfigurableValue {
|
func (e configurationEvalutor) EvaluateConfiguration(condition proptools.ConfigurableCondition, property string) proptools.ConfigurableValue {
|
||||||
@@ -2532,7 +2535,7 @@ func (c *buildTargetSingleton) GenerateBuildActions(ctx SingletonContext) {
|
|||||||
}
|
}
|
||||||
osDeps := map[osAndCross]Paths{}
|
osDeps := map[osAndCross]Paths{}
|
||||||
ctx.VisitAllModules(func(module Module) {
|
ctx.VisitAllModules(func(module Module) {
|
||||||
if module.Enabled(ctx) {
|
if module.Enabled() {
|
||||||
key := osAndCross{os: module.Target().Os, hostCross: module.Target().HostCross}
|
key := osAndCross{os: module.Target().Os, hostCross: module.Target().HostCross}
|
||||||
osDeps[key] = append(osDeps[key], module.base().checkbuildFiles...)
|
osDeps[key] = append(osDeps[key], module.base().checkbuildFiles...)
|
||||||
}
|
}
|
||||||
|
@@ -674,11 +674,13 @@ func RegisterComponentsMutator(ctx RegisterMutatorsContext) {
|
|||||||
// on component modules to be added so that they can depend directly on a prebuilt
|
// on component modules to be added so that they can depend directly on a prebuilt
|
||||||
// module.
|
// module.
|
||||||
func componentDepsMutator(ctx BottomUpMutatorContext) {
|
func componentDepsMutator(ctx BottomUpMutatorContext) {
|
||||||
ctx.Module().ComponentDepsMutator(ctx)
|
if m := ctx.Module(); m.Enabled() {
|
||||||
|
m.ComponentDepsMutator(ctx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func depsMutator(ctx BottomUpMutatorContext) {
|
func depsMutator(ctx BottomUpMutatorContext) {
|
||||||
if m := ctx.Module(); m.Enabled(ctx) {
|
if m := ctx.Module(); m.Enabled() {
|
||||||
m.base().baseDepsMutator(ctx)
|
m.base().baseDepsMutator(ctx)
|
||||||
m.DepsMutator(ctx)
|
m.DepsMutator(ctx)
|
||||||
}
|
}
|
||||||
|
@@ -322,7 +322,7 @@ func performOverrideMutator(ctx BottomUpMutatorContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func overridableModuleDepsMutator(ctx BottomUpMutatorContext) {
|
func overridableModuleDepsMutator(ctx BottomUpMutatorContext) {
|
||||||
if b, ok := ctx.Module().(OverridableModule); ok && b.Enabled(ctx) {
|
if b, ok := ctx.Module().(OverridableModule); ok && b.Enabled() {
|
||||||
b.OverridablePropertiesDepsMutator(ctx)
|
b.OverridablePropertiesDepsMutator(ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -60,7 +60,6 @@ type EarlyModulePathContext interface {
|
|||||||
|
|
||||||
ModuleDir() string
|
ModuleDir() string
|
||||||
ModuleErrorf(fmt string, args ...interface{})
|
ModuleErrorf(fmt string, args ...interface{})
|
||||||
OtherModulePropertyErrorf(module Module, property, fmt string, args ...interface{})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ EarlyModulePathContext = ModuleContext(nil)
|
var _ EarlyModulePathContext = ModuleContext(nil)
|
||||||
@@ -551,7 +550,7 @@ func getPathsFromModuleDep(ctx ModuleWithDepsPathContext, path, moduleName, tag
|
|||||||
if module == nil {
|
if module == nil {
|
||||||
return nil, missingDependencyError{[]string{moduleName}}
|
return nil, missingDependencyError{[]string{moduleName}}
|
||||||
}
|
}
|
||||||
if aModule, ok := module.(Module); ok && !aModule.Enabled(ctx) {
|
if aModule, ok := module.(Module); ok && !aModule.Enabled() {
|
||||||
return nil, missingDependencyError{[]string{moduleName}}
|
return nil, missingDependencyError{[]string{moduleName}}
|
||||||
}
|
}
|
||||||
if outProducer, ok := module.(OutputFileProducer); ok {
|
if outProducer, ok := module.(OutputFileProducer); ok {
|
||||||
|
@@ -275,7 +275,7 @@ func InitSingleSourcePrebuiltModule(module PrebuiltInterface, srcProps interface
|
|||||||
srcPropertyName := proptools.PropertyNameForField(srcField)
|
srcPropertyName := proptools.PropertyNameForField(srcField)
|
||||||
|
|
||||||
srcsSupplier := func(ctx BaseModuleContext, _ Module) []string {
|
srcsSupplier := func(ctx BaseModuleContext, _ Module) []string {
|
||||||
if !module.Enabled(ctx) {
|
if !module.Enabled() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
value := srcPropsValue.FieldByIndex(srcFieldIndex)
|
value := srcPropsValue.FieldByIndex(srcFieldIndex)
|
||||||
@@ -425,7 +425,7 @@ func PrebuiltSourceDepsMutator(ctx BottomUpMutatorContext) {
|
|||||||
m := ctx.Module()
|
m := ctx.Module()
|
||||||
// If this module is a prebuilt, is enabled and has not been renamed to source then add a
|
// If this module is a prebuilt, is enabled and has not been renamed to source then add a
|
||||||
// dependency onto the source if it is present.
|
// dependency onto the source if it is present.
|
||||||
if p := GetEmbeddedPrebuilt(m); p != nil && m.Enabled(ctx) && !p.properties.PrebuiltRenamedToSource {
|
if p := GetEmbeddedPrebuilt(m); p != nil && m.Enabled() && !p.properties.PrebuiltRenamedToSource {
|
||||||
bmn, _ := m.(baseModuleName)
|
bmn, _ := m.(baseModuleName)
|
||||||
name := bmn.BaseModuleName()
|
name := bmn.BaseModuleName()
|
||||||
if ctx.OtherModuleReverseDependencyVariantExists(name) {
|
if ctx.OtherModuleReverseDependencyVariantExists(name) {
|
||||||
@@ -702,7 +702,7 @@ func (p *Prebuilt) usePrebuilt(ctx BaseMutatorContext, source Module, prebuilt M
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If source is not available or is disabled then always use the prebuilt.
|
// If source is not available or is disabled then always use the prebuilt.
|
||||||
if source == nil || !source.Enabled(ctx) {
|
if source == nil || !source.Enabled() {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -351,7 +351,7 @@ func TestPrebuilts(t *testing.T) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
moduleIsDisabled := !foo.Module().Enabled(PanickingConfigAndErrorContext(result.TestContext))
|
moduleIsDisabled := !foo.Module().Enabled()
|
||||||
deps := foo.Module().(*sourceModule).deps
|
deps := foo.Module().(*sourceModule).deps
|
||||||
if moduleIsDisabled {
|
if moduleIsDisabled {
|
||||||
if len(deps) > 0 {
|
if len(deps) > 0 {
|
||||||
|
@@ -16,9 +16,8 @@ package android
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"github.com/google/blueprint"
|
"github.com/google/blueprint"
|
||||||
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
// A sortable component is one whose registration order affects the order in which it is executed
|
// A sortable component is one whose registration order affects the order in which it is executed
|
||||||
|
@@ -284,5 +284,5 @@ func (s *singletonContextAdaptor) moduleProvider(module blueprint.Module, provid
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *singletonContextAdaptor) OtherModulePropertyErrorf(module Module, property string, format string, args ...interface{}) {
|
func (s *singletonContextAdaptor) OtherModulePropertyErrorf(module Module, property string, format string, args ...interface{}) {
|
||||||
s.blueprintSingletonContext().OtherModulePropertyErrorf(module, property, format, args...)
|
s.blueprintSingletonContext().OtherModulePropertyErrorf(module, property, format, args)
|
||||||
}
|
}
|
||||||
|
@@ -1287,21 +1287,3 @@ func EnsureListContainsSuffix(t *testing.T, result []string, expected string) {
|
|||||||
t.Errorf("%q is not found in %v", expected, result)
|
t.Errorf("%q is not found in %v", expected, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type panickingConfigAndErrorContext struct {
|
|
||||||
ctx *TestContext
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ctx *panickingConfigAndErrorContext) OtherModulePropertyErrorf(module Module, property, fmt string, args ...interface{}) {
|
|
||||||
panic(ctx.ctx.PropertyErrorf(module, property, fmt, args...).Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ctx *panickingConfigAndErrorContext) Config() Config {
|
|
||||||
return ctx.ctx.Config()
|
|
||||||
}
|
|
||||||
|
|
||||||
func PanickingConfigAndErrorContext(ctx *TestContext) ConfigAndErrorContext {
|
|
||||||
return &panickingConfigAndErrorContext{
|
|
||||||
ctx: ctx,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@@ -58,13 +58,13 @@ type variableProperties struct {
|
|||||||
// unbundled_build is a catch-all property to annotate modules that don't build in one or
|
// unbundled_build is a catch-all property to annotate modules that don't build in one or
|
||||||
// more unbundled branches, usually due to dependencies missing from the manifest.
|
// more unbundled branches, usually due to dependencies missing from the manifest.
|
||||||
Unbundled_build struct {
|
Unbundled_build struct {
|
||||||
Enabled proptools.Configurable[bool] `android:"arch_variant,replace_instead_of_append"`
|
Enabled *bool `android:"arch_variant"`
|
||||||
} `android:"arch_variant"`
|
} `android:"arch_variant"`
|
||||||
|
|
||||||
// similar to `Unbundled_build`, but `Always_use_prebuilt_sdks` means that it uses prebuilt
|
// similar to `Unbundled_build`, but `Always_use_prebuilt_sdks` means that it uses prebuilt
|
||||||
// sdk specifically.
|
// sdk specifically.
|
||||||
Always_use_prebuilt_sdks struct {
|
Always_use_prebuilt_sdks struct {
|
||||||
Enabled proptools.Configurable[bool] `android:"arch_variant,replace_instead_of_append"`
|
Enabled *bool `android:"arch_variant"`
|
||||||
} `android:"arch_variant"`
|
} `android:"arch_variant"`
|
||||||
|
|
||||||
Malloc_not_svelte struct {
|
Malloc_not_svelte struct {
|
||||||
|
16
apex/apex.go
16
apex/apex.go
@@ -1077,7 +1077,7 @@ type ApexInfoMutator interface {
|
|||||||
// specific variant to modules that support the ApexInfoMutator.
|
// specific variant to modules that support the ApexInfoMutator.
|
||||||
// It also propagates updatable=true to apps of updatable apexes
|
// It also propagates updatable=true to apps of updatable apexes
|
||||||
func apexInfoMutator(mctx android.TopDownMutatorContext) {
|
func apexInfoMutator(mctx android.TopDownMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1094,7 +1094,7 @@ func apexInfoMutator(mctx android.TopDownMutatorContext) {
|
|||||||
// apexStrictUpdatibilityLintMutator propagates strict_updatability_linting to transitive deps of a mainline module
|
// apexStrictUpdatibilityLintMutator propagates strict_updatability_linting to transitive deps of a mainline module
|
||||||
// This check is enforced for updatable modules
|
// This check is enforced for updatable modules
|
||||||
func apexStrictUpdatibilityLintMutator(mctx android.TopDownMutatorContext) {
|
func apexStrictUpdatibilityLintMutator(mctx android.TopDownMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if apex, ok := mctx.Module().(*apexBundle); ok && apex.checkStrictUpdatabilityLinting() {
|
if apex, ok := mctx.Module().(*apexBundle); ok && apex.checkStrictUpdatabilityLinting() {
|
||||||
@@ -1121,7 +1121,7 @@ func apexStrictUpdatibilityLintMutator(mctx android.TopDownMutatorContext) {
|
|||||||
|
|
||||||
// enforceAppUpdatability propagates updatable=true to apps of updatable apexes
|
// enforceAppUpdatability propagates updatable=true to apps of updatable apexes
|
||||||
func enforceAppUpdatability(mctx android.TopDownMutatorContext) {
|
func enforceAppUpdatability(mctx android.TopDownMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if apex, ok := mctx.Module().(*apexBundle); ok && apex.Updatable() {
|
if apex, ok := mctx.Module().(*apexBundle); ok && apex.Updatable() {
|
||||||
@@ -1199,7 +1199,7 @@ func (a *apexBundle) checkStrictUpdatabilityLinting() bool {
|
|||||||
// unique apex variations for this module. See android/apex.go for more about unique apex variant.
|
// unique apex variations for this module. See android/apex.go for more about unique apex variant.
|
||||||
// TODO(jiyong): move this to android/apex.go?
|
// TODO(jiyong): move this to android/apex.go?
|
||||||
func apexUniqueVariationsMutator(mctx android.BottomUpMutatorContext) {
|
func apexUniqueVariationsMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if am, ok := mctx.Module().(android.ApexModule); ok {
|
if am, ok := mctx.Module().(android.ApexModule); ok {
|
||||||
@@ -1211,7 +1211,7 @@ func apexUniqueVariationsMutator(mctx android.BottomUpMutatorContext) {
|
|||||||
// the apex in order to retrieve its contents later.
|
// the apex in order to retrieve its contents later.
|
||||||
// TODO(jiyong): move this to android/apex.go?
|
// TODO(jiyong): move this to android/apex.go?
|
||||||
func apexTestForDepsMutator(mctx android.BottomUpMutatorContext) {
|
func apexTestForDepsMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if am, ok := mctx.Module().(android.ApexModule); ok {
|
if am, ok := mctx.Module().(android.ApexModule); ok {
|
||||||
@@ -1226,7 +1226,7 @@ func apexTestForDepsMutator(mctx android.BottomUpMutatorContext) {
|
|||||||
|
|
||||||
// TODO(jiyong): move this to android/apex.go?
|
// TODO(jiyong): move this to android/apex.go?
|
||||||
func apexTestForMutator(mctx android.BottomUpMutatorContext) {
|
func apexTestForMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if _, ok := mctx.Module().(android.ApexModule); ok {
|
if _, ok := mctx.Module().(android.ApexModule); ok {
|
||||||
@@ -1340,7 +1340,7 @@ func apexModuleTypeRequiresVariant(module ApexInfoMutator) bool {
|
|||||||
// See android.UpdateDirectlyInAnyApex
|
// See android.UpdateDirectlyInAnyApex
|
||||||
// TODO(jiyong): move this to android/apex.go?
|
// TODO(jiyong): move this to android/apex.go?
|
||||||
func apexDirectlyInAnyMutator(mctx android.BottomUpMutatorContext) {
|
func apexDirectlyInAnyMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if !mctx.Module().Enabled(mctx) {
|
if !mctx.Module().Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if am, ok := mctx.Module().(android.ApexModule); ok {
|
if am, ok := mctx.Module().(android.ApexModule); ok {
|
||||||
@@ -1968,7 +1968,7 @@ func (a *apexBundle) depVisitor(vctx *visitorContext, ctx android.ModuleContext,
|
|||||||
if _, ok := depTag.(android.ExcludeFromApexContentsTag); ok {
|
if _, ok := depTag.(android.ExcludeFromApexContentsTag); ok {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if mod, ok := child.(android.Module); ok && !mod.Enabled(ctx) {
|
if mod, ok := child.(android.Module); ok && !mod.Enabled() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
depName := ctx.OtherModuleName(child)
|
depName := ctx.OtherModuleName(child)
|
||||||
|
@@ -5622,21 +5622,8 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
// This test disables libbar, which causes the ComponentDepsMutator to add
|
|
||||||
// deps on libbar.stubs and other sub-modules that don't exist. We can
|
|
||||||
// enable AllowMissingDependencies to work around that, but enabling that
|
|
||||||
// causes extra checks for missing source files to dex_bootjars, so add those
|
|
||||||
// to the mock fs as well.
|
|
||||||
preparer2 := android.GroupFixturePreparers(
|
|
||||||
preparer,
|
|
||||||
android.PrepareForTestWithAllowMissingDependencies,
|
|
||||||
android.FixtureMergeMockFs(map[string][]byte{
|
|
||||||
"build/soong/scripts/check_boot_jars/package_allowed_list.txt": nil,
|
|
||||||
"frameworks/base/config/boot-profile.txt": nil,
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
|
|
||||||
ctx := testDexpreoptWithApexes(t, bp, "", preparer2, fragment)
|
ctx := testDexpreoptWithApexes(t, bp, "", preparer, fragment)
|
||||||
checkBootDexJarPath(t, ctx, "libfoo", "out/soong/.intermediates/prebuilt_myapex.deapexer/android_common/deapexer/javalib/libfoo.jar")
|
checkBootDexJarPath(t, ctx, "libfoo", "out/soong/.intermediates/prebuilt_myapex.deapexer/android_common/deapexer/javalib/libfoo.jar")
|
||||||
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/prebuilt_myapex.deapexer/android_common/deapexer/javalib/libbar.jar")
|
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/prebuilt_myapex.deapexer/android_common/deapexer/javalib/libbar.jar")
|
||||||
|
|
||||||
@@ -9254,7 +9241,7 @@ func TestPrebuiltStubLibDep(t *testing.T) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
mod := ctx.ModuleForTests(modName, variant).Module().(*cc.Module)
|
mod := ctx.ModuleForTests(modName, variant).Module().(*cc.Module)
|
||||||
if !mod.Enabled(android.PanickingConfigAndErrorContext(ctx)) || mod.IsHideFromMake() {
|
if !mod.Enabled() || mod.IsHideFromMake() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
for _, ent := range android.AndroidMkEntriesForTest(t, ctx, mod) {
|
for _, ent := range android.AndroidMkEntriesForTest(t, ctx, mod) {
|
||||||
|
4
cc/cc.go
4
cc/cc.go
@@ -2508,7 +2508,7 @@ func (c *Module) shouldUseApiSurface() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
||||||
if !c.Enabled(actx) {
|
if !c.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2756,7 +2756,7 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func BeginMutator(ctx android.BottomUpMutatorContext) {
|
func BeginMutator(ctx android.BottomUpMutatorContext) {
|
||||||
if c, ok := ctx.Module().(*Module); ok && c.Enabled(ctx) {
|
if c, ok := ctx.Module().(*Module); ok && c.Enabled() {
|
||||||
c.beginMutator(ctx)
|
c.beginMutator(ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
cc/fuzz.go
18
cc/fuzz.go
@@ -352,14 +352,18 @@ func NewFuzzer(hod android.HostOrDeviceSupported) *Module {
|
|||||||
Sanitize struct {
|
Sanitize struct {
|
||||||
Fuzzer *bool
|
Fuzzer *bool
|
||||||
}
|
}
|
||||||
Enabled proptools.Configurable[bool]
|
Target struct {
|
||||||
|
Darwin struct {
|
||||||
|
Enabled *bool
|
||||||
|
}
|
||||||
|
Linux_bionic struct {
|
||||||
|
Enabled *bool
|
||||||
|
}
|
||||||
|
}
|
||||||
}{}
|
}{}
|
||||||
extraProps.Sanitize.Fuzzer = BoolPtr(true)
|
extraProps.Sanitize.Fuzzer = BoolPtr(true)
|
||||||
extraProps.Enabled = android.CreateSelectOsToBool(map[string]*bool{
|
extraProps.Target.Darwin.Enabled = BoolPtr(false)
|
||||||
"": nil,
|
extraProps.Target.Linux_bionic.Enabled = BoolPtr(false)
|
||||||
"darwin": proptools.BoolPtr(false),
|
|
||||||
"linux_bionic": proptools.BoolPtr(false),
|
|
||||||
})
|
|
||||||
ctx.AppendProperties(&extraProps)
|
ctx.AppendProperties(&extraProps)
|
||||||
|
|
||||||
targetFramework := fuzz.GetFramework(ctx, fuzz.Cc)
|
targetFramework := fuzz.GetFramework(ctx, fuzz.Cc)
|
||||||
@@ -429,7 +433,7 @@ func (s *ccRustFuzzPackager) GenerateBuildActions(ctx android.SingletonContext)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Discard non-fuzz targets.
|
// Discard non-fuzz targets.
|
||||||
if ok := fuzz.IsValid(ctx, ccModule.FuzzModuleStruct()); !ok {
|
if ok := fuzz.IsValid(ccModule.FuzzModuleStruct()); !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -279,7 +279,7 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
|
|||||||
sanitizerLibs := android.SortedStringValues(sanitizerVariables)
|
sanitizerLibs := android.SortedStringValues(sanitizerVariables)
|
||||||
var sanitizerLibStems []string
|
var sanitizerLibStems []string
|
||||||
ctx.VisitAllModules(func(m android.Module) {
|
ctx.VisitAllModules(func(m android.Module) {
|
||||||
if !m.Enabled(ctx) {
|
if !m.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -40,7 +40,7 @@ type ndkAbiDumpSingleton struct{}
|
|||||||
func (n *ndkAbiDumpSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
func (n *ndkAbiDumpSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||||
var depPaths android.Paths
|
var depPaths android.Paths
|
||||||
ctx.VisitAllModules(func(module android.Module) {
|
ctx.VisitAllModules(func(module android.Module) {
|
||||||
if !module.Enabled(ctx) {
|
if !module.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ type ndkAbiDiffSingleton struct{}
|
|||||||
func (n *ndkAbiDiffSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
func (n *ndkAbiDiffSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||||
var depPaths android.Paths
|
var depPaths android.Paths
|
||||||
ctx.VisitAllModules(func(module android.Module) {
|
ctx.VisitAllModules(func(module android.Module) {
|
||||||
if m, ok := module.(android.Module); ok && !m.Enabled(ctx) {
|
if m, ok := module.(android.Module); ok && !m.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -148,7 +148,7 @@ func ndkLibraryVersions(ctx android.BaseMutatorContext, from android.ApiLevel) [
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *stubDecorator) stubsVersions(ctx android.BaseMutatorContext) []string {
|
func (this *stubDecorator) stubsVersions(ctx android.BaseMutatorContext) []string {
|
||||||
if !ctx.Module().Enabled(ctx) {
|
if !ctx.Module().Enabled() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if ctx.Target().NativeBridge == android.NativeBridgeEnabled {
|
if ctx.Target().NativeBridge == android.NativeBridgeEnabled {
|
||||||
|
@@ -150,7 +150,7 @@ func (n *ndkSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
|||||||
var installPaths android.Paths
|
var installPaths android.Paths
|
||||||
var licensePaths android.Paths
|
var licensePaths android.Paths
|
||||||
ctx.VisitAllModules(func(module android.Module) {
|
ctx.VisitAllModules(func(module android.Module) {
|
||||||
if m, ok := module.(android.Module); ok && !m.Enabled(ctx) {
|
if m, ok := module.(android.Module); ok && !m.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1371,7 +1371,7 @@ func sanitizerRuntimeDepsMutator(mctx android.TopDownMutatorContext) {
|
|||||||
// Add the dependency to the runtime library for each of the sanitizer variants
|
// Add the dependency to the runtime library for each of the sanitizer variants
|
||||||
func sanitizerRuntimeMutator(mctx android.BottomUpMutatorContext) {
|
func sanitizerRuntimeMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if c, ok := mctx.Module().(*Module); ok && c.sanitize != nil {
|
if c, ok := mctx.Module().(*Module); ok && c.sanitize != nil {
|
||||||
if !c.Enabled(mctx) {
|
if !c.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
var sanitizers []string
|
var sanitizers []string
|
||||||
|
@@ -220,7 +220,7 @@ func collectTidyObjModuleTargets(ctx android.SingletonContext, module android.Mo
|
|||||||
|
|
||||||
// (1) Collect all obj/tidy files into OS-specific groups.
|
// (1) Collect all obj/tidy files into OS-specific groups.
|
||||||
ctx.VisitAllModuleVariants(module, func(variant android.Module) {
|
ctx.VisitAllModuleVariants(module, func(variant android.Module) {
|
||||||
if ctx.Config().KatiEnabled() && android.ShouldSkipAndroidMkProcessing(ctx, variant) {
|
if ctx.Config().KatiEnabled() && android.ShouldSkipAndroidMkProcessing(variant) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if m, ok := variant.(*Module); ok {
|
if m, ok := variant.(*Module); ok {
|
||||||
|
@@ -323,8 +323,8 @@ func processVndkLibrary(mctx android.BottomUpMutatorContext, m *Module) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check for modules that mustn't be VNDK
|
// Check for modules that mustn't be VNDK
|
||||||
func shouldSkipVndkMutator(ctx android.ConfigAndErrorContext, m *Module) bool {
|
func shouldSkipVndkMutator(m *Module) bool {
|
||||||
if !m.Enabled(ctx) {
|
if !m.Enabled() {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
if !m.Device() {
|
if !m.Device() {
|
||||||
@@ -339,7 +339,7 @@ func shouldSkipVndkMutator(ctx android.ConfigAndErrorContext, m *Module) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func IsForVndkApex(mctx android.BottomUpMutatorContext, m *Module) bool {
|
func IsForVndkApex(mctx android.BottomUpMutatorContext, m *Module) bool {
|
||||||
if shouldSkipVndkMutator(mctx, m) {
|
if shouldSkipVndkMutator(m) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,7 +370,7 @@ func VndkMutator(mctx android.BottomUpMutatorContext) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if shouldSkipVndkMutator(mctx, m) {
|
if shouldSkipVndkMutator(m) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -577,7 +577,6 @@ func (txt *vndkLibrariesTxt) SubDir() string {
|
|||||||
func (txt *vndkLibrariesTxt) OutputFiles(tag string) (android.Paths, error) {
|
func (txt *vndkLibrariesTxt) OutputFiles(tag string) (android.Paths, error) {
|
||||||
return android.Paths{txt.outputFile}, nil
|
return android.Paths{txt.outputFile}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getVndkFileName(m *Module) (string, error) {
|
func getVndkFileName(m *Module) (string, error) {
|
||||||
if library, ok := m.linker.(*libraryDecorator); ok {
|
if library, ok := m.linker.(*libraryDecorator); ok {
|
||||||
return library.getLibNameHelper(m.BaseModuleName(), true, false) + ".so", nil
|
return library.getLibNameHelper(m.BaseModuleName(), true, false) + ".so", nil
|
||||||
|
@@ -449,10 +449,10 @@ func IsValidFrameworkForModule(targetFramework Framework, lang Lang, moduleFrame
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func IsValid(ctx android.ConfigAndErrorContext, fuzzModule FuzzModule) bool {
|
func IsValid(fuzzModule FuzzModule) bool {
|
||||||
// Discard ramdisk + vendor_ramdisk + recovery modules, they're duplicates of
|
// Discard ramdisk + vendor_ramdisk + recovery modules, they're duplicates of
|
||||||
// fuzz targets we're going to package anyway.
|
// fuzz targets we're going to package anyway.
|
||||||
if !fuzzModule.Enabled(ctx) || fuzzModule.InRamdisk() || fuzzModule.InVendorRamdisk() || fuzzModule.InRecovery() {
|
if !fuzzModule.Enabled() || fuzzModule.InRamdisk() || fuzzModule.InVendorRamdisk() || fuzzModule.InRecovery() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -299,7 +299,7 @@ func (g *Module) generateCommonBuildActions(ctx android.ModuleContext) {
|
|||||||
case android.HostToolProvider:
|
case android.HostToolProvider:
|
||||||
// A HostToolProvider provides the path to a tool, which will be copied
|
// A HostToolProvider provides the path to a tool, which will be copied
|
||||||
// into the sandbox.
|
// into the sandbox.
|
||||||
if !t.(android.Module).Enabled(ctx) {
|
if !t.(android.Module).Enabled() {
|
||||||
if ctx.Config().AllowMissingDependencies() {
|
if ctx.Config().AllowMissingDependencies() {
|
||||||
ctx.AddMissingDependencies([]string{tool})
|
ctx.AddMissingDependencies([]string{tool})
|
||||||
} else {
|
} else {
|
||||||
|
@@ -509,7 +509,7 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) {
|
|||||||
|
|
||||||
variant := ctx.ModuleForTests("foo", "android_common")
|
variant := ctx.ModuleForTests("foo", "android_common")
|
||||||
if test.expected == "" {
|
if test.expected == "" {
|
||||||
if variant.Module().Enabled(android.PanickingConfigAndErrorContext(ctx)) {
|
if variant.Module().Enabled() {
|
||||||
t.Error("module should have been disabled, but wasn't")
|
t.Error("module should have been disabled, but wasn't")
|
||||||
}
|
}
|
||||||
rule := variant.MaybeRule("genProvenanceMetaData")
|
rule := variant.MaybeRule("genProvenanceMetaData")
|
||||||
@@ -586,7 +586,7 @@ func TestAndroidAppImport_SoongConfigVariables(t *testing.T) {
|
|||||||
|
|
||||||
variant := ctx.ModuleForTests("foo", "android_common")
|
variant := ctx.ModuleForTests("foo", "android_common")
|
||||||
if test.expected == "" {
|
if test.expected == "" {
|
||||||
if variant.Module().Enabled(android.PanickingConfigAndErrorContext(ctx)) {
|
if variant.Module().Enabled() {
|
||||||
t.Error("module should have been disabled, but wasn't")
|
t.Error("module should have been disabled, but wasn't")
|
||||||
}
|
}
|
||||||
rule := variant.MaybeRule("genProvenanceMetaData")
|
rule := variant.MaybeRule("genProvenanceMetaData")
|
||||||
@@ -629,7 +629,7 @@ func TestAndroidAppImport_overridesDisabledAndroidApp(t *testing.T) {
|
|||||||
if !a.prebuilt.UsePrebuilt() {
|
if !a.prebuilt.UsePrebuilt() {
|
||||||
t.Errorf("prebuilt foo module is not active")
|
t.Errorf("prebuilt foo module is not active")
|
||||||
}
|
}
|
||||||
if !a.Enabled(android.PanickingConfigAndErrorContext(ctx)) {
|
if !a.Enabled() {
|
||||||
t.Errorf("prebuilt foo module is disabled")
|
t.Errorf("prebuilt foo module is disabled")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,8 +21,8 @@ import (
|
|||||||
// isActiveModule returns true if the given module should be considered for boot
|
// isActiveModule returns true if the given module should be considered for boot
|
||||||
// jars, i.e. if it's enabled and the preferred one in case of source and
|
// jars, i.e. if it's enabled and the preferred one in case of source and
|
||||||
// prebuilt alternatives.
|
// prebuilt alternatives.
|
||||||
func isActiveModule(ctx android.ConfigAndErrorContext, module android.Module) bool {
|
func isActiveModule(module android.Module) bool {
|
||||||
if !module.Enabled(ctx) {
|
if !module.Enabled() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return android.IsModulePreferred(module)
|
return android.IsModulePreferred(module)
|
||||||
|
@@ -127,10 +127,7 @@ func reportMissingVariationDependency(ctx android.BottomUpMutatorContext, variat
|
|||||||
// added by addDependencyOntoApexModulePair.
|
// added by addDependencyOntoApexModulePair.
|
||||||
func gatherApexModulePairDepsWithTag(ctx android.BaseModuleContext, tag blueprint.DependencyTag) []android.Module {
|
func gatherApexModulePairDepsWithTag(ctx android.BaseModuleContext, tag blueprint.DependencyTag) []android.Module {
|
||||||
var modules []android.Module
|
var modules []android.Module
|
||||||
isActiveModulePred := func(module android.Module) bool {
|
ctx.VisitDirectDepsIf(isActiveModule, func(module android.Module) {
|
||||||
return isActiveModule(ctx, module)
|
|
||||||
}
|
|
||||||
ctx.VisitDirectDepsIf(isActiveModulePred, func(module android.Module) {
|
|
||||||
t := ctx.OtherModuleDependencyTag(module)
|
t := ctx.OtherModuleDependencyTag(module)
|
||||||
if t == tag {
|
if t == tag {
|
||||||
modules = append(modules, module)
|
modules = append(modules, module)
|
||||||
|
@@ -474,7 +474,7 @@ func (b *BootclasspathFragmentModule) GenerateAndroidBuildActions(ctx android.Mo
|
|||||||
// Only perform a consistency check if this module is the active module. That will prevent an
|
// Only perform a consistency check if this module is the active module. That will prevent an
|
||||||
// unused prebuilt that was created without instrumentation from breaking an instrumentation
|
// unused prebuilt that was created without instrumentation from breaking an instrumentation
|
||||||
// build.
|
// build.
|
||||||
if isActiveModule(ctx, ctx.Module()) {
|
if isActiveModule(ctx.Module()) {
|
||||||
b.bootclasspathFragmentPropertyCheck(ctx)
|
b.bootclasspathFragmentPropertyCheck(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -519,7 +519,7 @@ func (b *BootclasspathFragmentModule) GenerateAndroidBuildActions(ctx android.Mo
|
|||||||
// empty string if this module should not provide a boot image profile.
|
// empty string if this module should not provide a boot image profile.
|
||||||
func (b *BootclasspathFragmentModule) getProfileProviderApex(ctx android.BaseModuleContext) string {
|
func (b *BootclasspathFragmentModule) getProfileProviderApex(ctx android.BaseModuleContext) string {
|
||||||
// Only use the profile from the module that is preferred.
|
// Only use the profile from the module that is preferred.
|
||||||
if !isActiveModule(ctx, ctx.Module()) {
|
if !isActiveModule(ctx.Module()) {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +590,7 @@ func (b *BootclasspathFragmentModule) configuredJars(ctx android.ModuleContext)
|
|||||||
// So ignore it even if it is not in PRODUCT_APEX_BOOT_JARS.
|
// So ignore it even if it is not in PRODUCT_APEX_BOOT_JARS.
|
||||||
// TODO(b/202896428): Add better way to handle this.
|
// TODO(b/202896428): Add better way to handle this.
|
||||||
_, unknown = android.RemoveFromList("android.car-module", unknown)
|
_, unknown = android.RemoveFromList("android.car-module", unknown)
|
||||||
if isActiveModule(ctx, ctx.Module()) && len(unknown) > 0 {
|
if isActiveModule(ctx.Module()) && len(unknown) > 0 {
|
||||||
ctx.ModuleErrorf("%s in contents must also be declared in PRODUCT_APEX_BOOT_JARS", unknown)
|
ctx.ModuleErrorf("%s in contents must also be declared in PRODUCT_APEX_BOOT_JARS", unknown)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -562,7 +562,7 @@ func gatherBootclasspathFragments(ctx android.ModuleContext) map[string]android.
|
|||||||
return ctx.Config().Once(dexBootJarsFragmentsKey, func() interface{} {
|
return ctx.Config().Once(dexBootJarsFragmentsKey, func() interface{} {
|
||||||
fragments := make(map[string]android.Module)
|
fragments := make(map[string]android.Module)
|
||||||
ctx.WalkDeps(func(child, parent android.Module) bool {
|
ctx.WalkDeps(func(child, parent android.Module) bool {
|
||||||
if !isActiveModule(ctx, child) {
|
if !isActiveModule(child) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
tag := ctx.OtherModuleDependencyTag(child)
|
tag := ctx.OtherModuleDependencyTag(child)
|
||||||
@@ -1125,7 +1125,7 @@ func buildBootImageVariant(ctx android.ModuleContext, image *bootImageVariant, p
|
|||||||
image.unstrippedInstalls = unstrippedInstalls
|
image.unstrippedInstalls = unstrippedInstalls
|
||||||
|
|
||||||
// Only set the licenseMetadataFile from the active module.
|
// Only set the licenseMetadataFile from the active module.
|
||||||
if isActiveModule(ctx, ctx.Module()) {
|
if isActiveModule(ctx.Module()) {
|
||||||
image.licenseMetadataFile = android.OptionalPathForPath(ctx.LicenseMetadataFile())
|
image.licenseMetadataFile = android.OptionalPathForPath(ctx.LicenseMetadataFile())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
14
java/fuzz.go
14
java/fuzz.go
@@ -69,13 +69,13 @@ func JavaFuzzFactory() android.Module {
|
|||||||
|
|
||||||
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
|
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
|
||||||
disableLinuxBionic := struct {
|
disableLinuxBionic := struct {
|
||||||
Enabled proptools.Configurable[bool]
|
Target struct {
|
||||||
}{
|
Linux_bionic struct {
|
||||||
Enabled: android.CreateSelectOsToBool(map[string]*bool{
|
Enabled *bool
|
||||||
"": nil,
|
|
||||||
"linux_bionic": proptools.BoolPtr(false),
|
|
||||||
}),
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}{}
|
||||||
|
disableLinuxBionic.Target.Linux_bionic.Enabled = proptools.BoolPtr(false)
|
||||||
ctx.AppendProperties(&disableLinuxBionic)
|
ctx.AppendProperties(&disableLinuxBionic)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ func (s *javaFuzzPackager) GenerateBuildActions(ctx android.SingletonContext) {
|
|||||||
javaFuzzModule.ApexModuleBase,
|
javaFuzzModule.ApexModuleBase,
|
||||||
}
|
}
|
||||||
|
|
||||||
if ok := fuzz.IsValid(ctx, fuzzModuleValidator); !ok {
|
if ok := fuzz.IsValid(fuzzModuleValidator); !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1428,7 +1428,7 @@ func deferReportingMissingBootDexJar(ctx android.ModuleContext, module android.M
|
|||||||
// should not contribute to anything. So, rather than have a missing dex jar cause a Soong
|
// should not contribute to anything. So, rather than have a missing dex jar cause a Soong
|
||||||
// failure defer the error reporting to Ninja. Unless the prebuilt build target is explicitly
|
// failure defer the error reporting to Ninja. Unless the prebuilt build target is explicitly
|
||||||
// built Ninja should never use the dex jar file.
|
// built Ninja should never use the dex jar file.
|
||||||
if !isActiveModule(ctx, module) {
|
if !isActiveModule(module) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -53,7 +53,7 @@ func jacocoDepsMutator(ctx android.BottomUpMutatorContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
j, ok := ctx.Module().(instrumentable)
|
j, ok := ctx.Module().(instrumentable)
|
||||||
if !ctx.Module().Enabled(ctx) || !ok {
|
if !ctx.Module().Enabled() || !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ func (j *jdepsGeneratorSingleton) GenerateBuildActions(ctx android.SingletonCont
|
|||||||
moduleInfos := make(map[string]android.IdeInfo)
|
moduleInfos := make(map[string]android.IdeInfo)
|
||||||
|
|
||||||
ctx.VisitAllModules(func(module android.Module) {
|
ctx.VisitAllModules(func(module android.Module) {
|
||||||
if !module.Enabled(ctx) {
|
if !module.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -19,7 +19,6 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
|
|
||||||
"github.com/google/blueprint"
|
"github.com/google/blueprint"
|
||||||
"github.com/google/blueprint/proptools"
|
"github.com/google/blueprint/proptools"
|
||||||
)
|
)
|
||||||
@@ -234,7 +233,7 @@ func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.Singlet
|
|||||||
var compatConfigMetadata android.Paths
|
var compatConfigMetadata android.Paths
|
||||||
|
|
||||||
ctx.VisitAllModules(func(module android.Module) {
|
ctx.VisitAllModules(func(module android.Module) {
|
||||||
if !module.Enabled(ctx) {
|
if !module.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if c, ok := module.(platformCompatConfigMetadataProvider); ok {
|
if c, ok := module.(platformCompatConfigMetadataProvider); ok {
|
||||||
|
@@ -2294,7 +2294,7 @@ func (module *SdkLibrary) getApiDir() string {
|
|||||||
// once for public API level and once for system API level
|
// once for public API level and once for system API level
|
||||||
func (module *SdkLibrary) CreateInternalModules(mctx android.DefaultableHookContext) {
|
func (module *SdkLibrary) CreateInternalModules(mctx android.DefaultableHookContext) {
|
||||||
// If the module has been disabled then don't create any child modules.
|
// If the module has been disabled then don't create any child modules.
|
||||||
if !module.Enabled(mctx) {
|
if !module.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,7 +18,6 @@ package provenance
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
|
|
||||||
"github.com/google/blueprint"
|
"github.com/google/blueprint"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -69,15 +68,6 @@ type provenanceInfoSingleton struct {
|
|||||||
|
|
||||||
func (p *provenanceInfoSingleton) GenerateBuildActions(context android.SingletonContext) {
|
func (p *provenanceInfoSingleton) GenerateBuildActions(context android.SingletonContext) {
|
||||||
allMetaDataFiles := make([]android.Path, 0)
|
allMetaDataFiles := make([]android.Path, 0)
|
||||||
moduleFilter := func(module android.Module) bool {
|
|
||||||
if !module.Enabled(context) || module.IsSkipInstall() {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if p, ok := module.(ProvenanceMetadata); ok {
|
|
||||||
return p.ProvenanceMetaDataFile().String() != ""
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
context.VisitAllModulesIf(moduleFilter, func(module android.Module) {
|
context.VisitAllModulesIf(moduleFilter, func(module android.Module) {
|
||||||
if p, ok := module.(ProvenanceMetadata); ok {
|
if p, ok := module.(ProvenanceMetadata); ok {
|
||||||
allMetaDataFiles = append(allMetaDataFiles, p.ProvenanceMetaDataFile())
|
allMetaDataFiles = append(allMetaDataFiles, p.ProvenanceMetaDataFile())
|
||||||
@@ -101,6 +91,16 @@ func (p *provenanceInfoSingleton) GenerateBuildActions(context android.Singleton
|
|||||||
context.Phony("droidcore", android.PathForPhony(context, "provenance_metadata"))
|
context.Phony("droidcore", android.PathForPhony(context, "provenance_metadata"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func moduleFilter(module android.Module) bool {
|
||||||
|
if !module.Enabled() || module.IsSkipInstall() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if p, ok := module.(ProvenanceMetadata); ok {
|
||||||
|
return p.ProvenanceMetaDataFile().String() != ""
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func GenerateArtifactProvenanceMetaData(ctx android.ModuleContext, artifactPath android.Path, installedFile android.InstallPath) android.OutputPath {
|
func GenerateArtifactProvenanceMetaData(ctx android.ModuleContext, artifactPath android.Path, installedFile android.InstallPath) android.OutputPath {
|
||||||
onDevicePathOfInstalledFile := android.InstallPathToOnDevicePath(ctx, installedFile)
|
onDevicePathOfInstalledFile := android.InstallPathToOnDevicePath(ctx, installedFile)
|
||||||
artifactMetaDataFile := android.PathForIntermediates(ctx, "provenance_metadata", ctx.ModuleDir(), ctx.ModuleName(), "provenance_metadata.textproto")
|
artifactMetaDataFile := android.PathForIntermediates(ctx, "provenance_metadata", ctx.ModuleDir(), ctx.ModuleName(), "provenance_metadata.textproto")
|
||||||
|
@@ -39,7 +39,7 @@ func (afdo *afdo) addDep(ctx BaseModuleContext, actx android.BottomUpMutatorCont
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if mod, ok := ctx.Module().(*Module); ok && mod.Enabled(ctx) {
|
if mod, ok := ctx.Module().(*Module); ok && mod.Enabled() {
|
||||||
fdoProfileName, err := actx.DeviceConfig().AfdoProfile(actx.ModuleName())
|
fdoProfileName, err := actx.DeviceConfig().AfdoProfile(actx.ModuleName())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ModuleErrorf("%s", err.Error())
|
ctx.ModuleErrorf("%s", err.Error())
|
||||||
|
@@ -38,7 +38,7 @@ func (n *rustdocSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
|||||||
FlagWithArg("-D ", docDir.String())
|
FlagWithArg("-D ", docDir.String())
|
||||||
|
|
||||||
ctx.VisitAllModules(func(module android.Module) {
|
ctx.VisitAllModules(func(module android.Module) {
|
||||||
if !module.Enabled(ctx) {
|
if !module.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
19
rust/fuzz.go
19
rust/fuzz.go
@@ -20,8 +20,6 @@ import (
|
|||||||
"android/soong/fuzz"
|
"android/soong/fuzz"
|
||||||
"android/soong/rust/config"
|
"android/soong/rust/config"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/google/blueprint/proptools"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@@ -66,14 +64,17 @@ func NewRustFuzz(hod android.HostOrDeviceSupported) (*Module, *fuzzDecorator) {
|
|||||||
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
|
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
|
||||||
|
|
||||||
extraProps := struct {
|
extraProps := struct {
|
||||||
Enabled proptools.Configurable[bool]
|
Target struct {
|
||||||
}{
|
Darwin struct {
|
||||||
Enabled: android.CreateSelectOsToBool(map[string]*bool{
|
Enabled *bool
|
||||||
"": nil,
|
|
||||||
"darwin": proptools.BoolPtr(false),
|
|
||||||
"linux_bionic": proptools.BoolPtr(false),
|
|
||||||
}),
|
|
||||||
}
|
}
|
||||||
|
Linux_bionic struct {
|
||||||
|
Enabled *bool
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}{}
|
||||||
|
extraProps.Target.Darwin.Enabled = cc.BoolPtr(false)
|
||||||
|
extraProps.Target.Linux_bionic.Enabled = cc.BoolPtr(false)
|
||||||
ctx.AppendProperties(&extraProps)
|
ctx.AppendProperties(&extraProps)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@@ -713,7 +713,7 @@ func LibraryMutator(mctx android.BottomUpMutatorContext) {
|
|||||||
if sourceVariant {
|
if sourceVariant {
|
||||||
sv := modules[0]
|
sv := modules[0]
|
||||||
for _, v := range modules[1:] {
|
for _, v := range modules[1:] {
|
||||||
if !v.Enabled(mctx) {
|
if !v.Enabled() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
mctx.AddInterVariantDependency(sourceDepTag, v, sv)
|
mctx.AddInterVariantDependency(sourceDepTag, v, sv)
|
||||||
|
@@ -119,7 +119,7 @@ func isModuleSupported(ctx android.SingletonContext, module android.Module) (*Mo
|
|||||||
if !ok {
|
if !ok {
|
||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
if !rModule.Enabled(ctx) {
|
if !rModule.Enabled() {
|
||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
return rModule, true
|
return rModule, true
|
||||||
|
@@ -1697,7 +1697,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func BeginMutator(ctx android.BottomUpMutatorContext) {
|
func BeginMutator(ctx android.BottomUpMutatorContext) {
|
||||||
if mod, ok := ctx.Module().(*Module); ok && mod.Enabled(ctx) {
|
if mod, ok := ctx.Module().(*Module); ok && mod.Enabled() {
|
||||||
mod.beginMutator(ctx)
|
mod.beginMutator(ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -258,7 +258,7 @@ func (sanitize *sanitize) deps(ctx BaseModuleContext, deps Deps) Deps {
|
|||||||
|
|
||||||
func rustSanitizerRuntimeMutator(mctx android.BottomUpMutatorContext) {
|
func rustSanitizerRuntimeMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if mod, ok := mctx.Module().(*Module); ok && mod.sanitize != nil {
|
if mod, ok := mctx.Module().(*Module); ok && mod.sanitize != nil {
|
||||||
if !mod.Enabled(mctx) {
|
if !mod.Enabled() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -116,7 +116,7 @@ func (c *hostFakeSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
|||||||
prebuilts[android.RemoveOptionalPrebuiltPrefix(module.Name())] = true
|
prebuilts[android.RemoveOptionalPrebuiltPrefix(module.Name())] = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !module.Enabled(ctx) || module.IsHideFromMake() {
|
if !module.Enabled() || module.IsHideFromMake() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
apexInfo, _ := android.SingletonModuleProvider(ctx, module, android.ApexInfoProvider)
|
apexInfo, _ := android.SingletonModuleProvider(ctx, module, android.ApexInfoProvider)
|
||||||
|
Reference in New Issue
Block a user