Add IsAddingDependency to IncomingTransitionContext am: e1a8555581
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3141802 Change-Id: Ib8f5bfbb73b467e74063d15e8644aac8c6298276 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1746,7 +1746,11 @@ func (m *ModuleBase) baseModuleContextFactory(ctx blueprint.BaseModuleContext) b
|
||||
}
|
||||
}
|
||||
|
||||
func (m *ModuleBase) archModuleContextFactory(ctx blueprint.IncomingTransitionContext) archModuleContext {
|
||||
type archModuleContextFactoryContext interface {
|
||||
Config() interface{}
|
||||
}
|
||||
|
||||
func (m *ModuleBase) archModuleContextFactory(ctx archModuleContextFactoryContext) archModuleContext {
|
||||
config := ctx.Config().(Config)
|
||||
target := m.Target()
|
||||
primaryArch := false
|
||||
|
@@ -400,6 +400,12 @@ type IncomingTransitionContext interface {
|
||||
Config() Config
|
||||
|
||||
DeviceConfig() DeviceConfig
|
||||
|
||||
// IsAddingDependency returns true if the transition is being called while adding a dependency
|
||||
// after the transition mutator has already run, or false if it is being called when the transition
|
||||
// mutator is running. This should be used sparingly, all uses will have to be removed in order
|
||||
// to support creating variants on demand.
|
||||
IsAddingDependency() bool
|
||||
}
|
||||
|
||||
type OutgoingTransitionContext interface {
|
||||
@@ -574,6 +580,10 @@ func (c *incomingTransitionContextImpl) DeviceConfig() DeviceConfig {
|
||||
return DeviceConfig{c.bp.Config().(Config).deviceConfig}
|
||||
}
|
||||
|
||||
func (c *incomingTransitionContextImpl) IsAddingDependency() bool {
|
||||
return c.bp.IsAddingDependency()
|
||||
}
|
||||
|
||||
func (c *incomingTransitionContextImpl) provider(provider blueprint.AnyProviderKey) (any, bool) {
|
||||
return c.bp.Provider(provider)
|
||||
}
|
||||
|
@@ -1363,7 +1363,7 @@ func (a *apexBundle) TaggedOutputs() map[string]android.Paths {
|
||||
var _ cc.Coverage = (*apexBundle)(nil)
|
||||
|
||||
// Implements cc.Coverage
|
||||
func (a *apexBundle) IsNativeCoverageNeeded(ctx android.IncomingTransitionContext) bool {
|
||||
func (a *apexBundle) IsNativeCoverageNeeded(ctx cc.IsNativeCoverageNeededContext) bool {
|
||||
return ctx.DeviceConfig().NativeCoverageEnabled()
|
||||
}
|
||||
|
||||
|
@@ -23,26 +23,26 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
clangCoverageHostLdFlags = []string{
|
||||
"-Wl,--no-as-needed",
|
||||
"-Wl,--wrap,open",
|
||||
}
|
||||
clangContinuousCoverageFlags = []string{
|
||||
"-mllvm",
|
||||
"-runtime-counter-relocation",
|
||||
}
|
||||
clangCoverageCFlags = []string{
|
||||
"-Wno-frame-larger-than=",
|
||||
}
|
||||
clangCoverageCommonFlags = []string{
|
||||
"-fcoverage-mapping",
|
||||
"-Wno-pass-failed",
|
||||
"-D__ANDROID_CLANG_COVERAGE__",
|
||||
}
|
||||
clangCoverageHWASanFlags = []string{
|
||||
"-mllvm",
|
||||
"-hwasan-globals=0",
|
||||
}
|
||||
clangCoverageHostLdFlags = []string{
|
||||
"-Wl,--no-as-needed",
|
||||
"-Wl,--wrap,open",
|
||||
}
|
||||
clangContinuousCoverageFlags = []string{
|
||||
"-mllvm",
|
||||
"-runtime-counter-relocation",
|
||||
}
|
||||
clangCoverageCFlags = []string{
|
||||
"-Wno-frame-larger-than=",
|
||||
}
|
||||
clangCoverageCommonFlags = []string{
|
||||
"-fcoverage-mapping",
|
||||
"-Wno-pass-failed",
|
||||
"-D__ANDROID_CLANG_COVERAGE__",
|
||||
}
|
||||
clangCoverageHWASanFlags = []string{
|
||||
"-mllvm",
|
||||
"-hwasan-globals=0",
|
||||
}
|
||||
)
|
||||
|
||||
const profileInstrFlag = "-fprofile-instr-generate=/data/misc/trace/clang-%p-%m.profraw"
|
||||
@@ -247,9 +247,19 @@ func SetCoverageProperties(ctx android.BaseModuleContext, properties CoveragePro
|
||||
return properties
|
||||
}
|
||||
|
||||
type IsNativeCoverageNeededContext interface {
|
||||
Config() android.Config
|
||||
DeviceConfig() android.DeviceConfig
|
||||
Device() bool
|
||||
}
|
||||
|
||||
var _ IsNativeCoverageNeededContext = android.IncomingTransitionContext(nil)
|
||||
var _ IsNativeCoverageNeededContext = android.BaseModuleContext(nil)
|
||||
var _ IsNativeCoverageNeededContext = android.BottomUpMutatorContext(nil)
|
||||
|
||||
type UseCoverage interface {
|
||||
android.Module
|
||||
IsNativeCoverageNeeded(ctx android.IncomingTransitionContext) bool
|
||||
IsNativeCoverageNeeded(ctx IsNativeCoverageNeededContext) bool
|
||||
}
|
||||
|
||||
// Coverage is an interface for non-CC modules to implement to be mutated for coverage
|
||||
|
@@ -632,7 +632,7 @@ func sha1sum(values []string) string {
|
||||
|
||||
var _ cc.UseCoverage = (*filesystem)(nil)
|
||||
|
||||
func (*filesystem) IsNativeCoverageNeeded(ctx android.IncomingTransitionContext) bool {
|
||||
func (*filesystem) IsNativeCoverageNeeded(ctx cc.IsNativeCoverageNeededContext) bool {
|
||||
return ctx.Device() && ctx.DeviceConfig().NativeCoverageEnabled()
|
||||
}
|
||||
|
||||
|
@@ -1227,7 +1227,7 @@ func (a *AndroidApp) Privileged() bool {
|
||||
return Bool(a.appProperties.Privileged)
|
||||
}
|
||||
|
||||
func (a *AndroidApp) IsNativeCoverageNeeded(ctx android.IncomingTransitionContext) bool {
|
||||
func (a *AndroidApp) IsNativeCoverageNeeded(ctx cc.IsNativeCoverageNeededContext) bool {
|
||||
return ctx.Device() && ctx.DeviceConfig().NativeCoverageEnabled()
|
||||
}
|
||||
|
||||
|
@@ -1358,7 +1358,7 @@ func (j *JavaTestImport) InstallInTestcases() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (j *TestHost) IsNativeCoverageNeeded(ctx android.IncomingTransitionContext) bool {
|
||||
func (j *TestHost) IsNativeCoverageNeeded(ctx cc.IsNativeCoverageNeededContext) bool {
|
||||
return ctx.DeviceConfig().NativeCoverageEnabled()
|
||||
}
|
||||
|
||||
|
@@ -501,7 +501,7 @@ func (mod *Module) isCoverageVariant() bool {
|
||||
|
||||
var _ cc.Coverage = (*Module)(nil)
|
||||
|
||||
func (mod *Module) IsNativeCoverageNeeded(ctx android.IncomingTransitionContext) bool {
|
||||
func (mod *Module) IsNativeCoverageNeeded(ctx cc.IsNativeCoverageNeededContext) bool {
|
||||
return mod.coverage != nil && mod.coverage.Properties.NeedCoverageVariant
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user