Add IsModulePreferred
Bug: 177892522 Test: m nothing Change-Id: I47268b81359d6fceb60e899a730b3b6034e09814
This commit is contained in:
parent
8f8029a92b
commit
e1d3837645
|
@ -213,6 +213,26 @@ type PrebuiltInterface interface {
|
|||
Prebuilt() *Prebuilt
|
||||
}
|
||||
|
||||
// IsModulePreferred returns true if the given module is preferred.
|
||||
//
|
||||
// A source module is preferred if there is no corresponding prebuilt module or the prebuilt module
|
||||
// does not have "prefer: true".
|
||||
//
|
||||
// A prebuilt module is preferred if there is no corresponding source module or the prebuilt module
|
||||
// has "prefer: true".
|
||||
func IsModulePreferred(module Module) bool {
|
||||
if module.IsReplacedByPrebuilt() {
|
||||
// A source module that has been replaced by a prebuilt counterpart.
|
||||
return false
|
||||
}
|
||||
if prebuilt, ok := module.(PrebuiltInterface); ok {
|
||||
if p := prebuilt.Prebuilt(); p != nil {
|
||||
return p.UsePrebuilt()
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func RegisterPrebuiltsPreArchMutators(ctx RegisterMutatorsContext) {
|
||||
ctx.BottomUp("prebuilt_rename", PrebuiltRenameMutator).Parallel()
|
||||
}
|
||||
|
|
|
@ -56,16 +56,7 @@ func isActiveModule(module android.Module) bool {
|
|||
if !module.Enabled() {
|
||||
return false
|
||||
}
|
||||
if module.IsReplacedByPrebuilt() {
|
||||
// A source module that has been replaced by a prebuilt counterpart.
|
||||
return false
|
||||
}
|
||||
if prebuilt, ok := module.(android.PrebuiltInterface); ok {
|
||||
if p := prebuilt.Prebuilt(); p != nil {
|
||||
return p.UsePrebuilt()
|
||||
}
|
||||
}
|
||||
return true
|
||||
return android.IsModulePreferred(module)
|
||||
}
|
||||
|
||||
func (b *bootJarsSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||
|
|
|
@ -232,15 +232,7 @@ func isModulePreferredByCompatConfig(module android.Module) bool {
|
|||
}
|
||||
}
|
||||
|
||||
// A prebuilt module should only be used when it is preferred.
|
||||
if pi, ok := module.(android.PrebuiltInterface); ok {
|
||||
if p := pi.Prebuilt(); p != nil {
|
||||
return p.UsePrebuilt()
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise, a module should only be used if it has not been replaced by a prebuilt.
|
||||
return !module.IsReplacedByPrebuilt()
|
||||
return android.IsModulePreferred(module)
|
||||
}
|
||||
|
||||
func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||
|
|
Loading…
Reference in New Issue