Pass DepsContext to dependency methods
Pass a DepsContext that embeds android.BottomUpMutatorContext instead of android.BaseContext so that dependency methods can directly add dependencies. Test: m -j Change-Id: Id4c157975d3d6f03efd99785d217bef486a76139
This commit is contained in:
22
cc/cc.go
22
cc/cc.go
@@ -171,16 +171,21 @@ type BaseModuleContext interface {
|
||||
ModuleContextIntf
|
||||
}
|
||||
|
||||
type DepsContext interface {
|
||||
android.BottomUpMutatorContext
|
||||
ModuleContextIntf
|
||||
}
|
||||
|
||||
type feature interface {
|
||||
begin(ctx BaseModuleContext)
|
||||
deps(ctx BaseModuleContext, deps Deps) Deps
|
||||
deps(ctx DepsContext, deps Deps) Deps
|
||||
flags(ctx ModuleContext, flags Flags) Flags
|
||||
props() []interface{}
|
||||
}
|
||||
|
||||
type compiler interface {
|
||||
compilerInit(ctx BaseModuleContext)
|
||||
compilerDeps(ctx BaseModuleContext, deps Deps) Deps
|
||||
compilerDeps(ctx DepsContext, deps Deps) Deps
|
||||
compilerFlags(ctx ModuleContext, flags Flags) Flags
|
||||
compilerProps() []interface{}
|
||||
|
||||
@@ -191,7 +196,7 @@ type compiler interface {
|
||||
|
||||
type linker interface {
|
||||
linkerInit(ctx BaseModuleContext)
|
||||
linkerDeps(ctx BaseModuleContext, deps Deps) Deps
|
||||
linkerDeps(ctx DepsContext, deps Deps) Deps
|
||||
linkerFlags(ctx ModuleContext, flags Flags) Flags
|
||||
linkerProps() []interface{}
|
||||
|
||||
@@ -307,6 +312,11 @@ type baseModuleContext struct {
|
||||
moduleContextImpl
|
||||
}
|
||||
|
||||
type depsContext struct {
|
||||
android.BottomUpMutatorContext
|
||||
moduleContextImpl
|
||||
}
|
||||
|
||||
type moduleContext struct {
|
||||
android.ModuleContext
|
||||
moduleContextImpl
|
||||
@@ -534,7 +544,7 @@ func (c *Module) begin(ctx BaseModuleContext) {
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Module) deps(ctx BaseModuleContext) Deps {
|
||||
func (c *Module) deps(ctx DepsContext) Deps {
|
||||
deps := Deps{}
|
||||
|
||||
if c.compiler != nil {
|
||||
@@ -604,8 +614,8 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
||||
return
|
||||
}
|
||||
|
||||
ctx := &baseModuleContext{
|
||||
BaseContext: actx,
|
||||
ctx := &depsContext{
|
||||
BottomUpMutatorContext: actx,
|
||||
moduleContextImpl: moduleContextImpl{
|
||||
mod: c,
|
||||
},
|
||||
|
Reference in New Issue
Block a user