Add team property to all modules.
This allows vendors (like google) to specify which team owns the test module and code. Team is a commonProperty on modules and points to the designate "team" module. The DepsMutator adds the dependency on the "team" module and "GenerateBuildActions" write the team data to intermediate files. A new singleton rule, all_teams visits all modules and writes out the proto containing the team for each module. If a module doesn't have a team, then it finds the package in the blueprint file and parent directory blueprint files that have a default_team and uses that team. Test: m all_teams Test: go test ./python ./java ./cc ./rust ./android Test: added team to HelloWorldHostTest and built the new asciiproto target Test: added package default_team and checkout output proto. Change-Id: I5c07bf489de460a04fc540f5fff0394f39f574a7
This commit is contained in:
@@ -35,6 +35,7 @@ type packageProperties struct {
|
||||
Default_visibility []string
|
||||
// Specifies the default license terms for all modules defined in this package.
|
||||
Default_applicable_licenses []string
|
||||
Default_team *string `android:"path"`
|
||||
}
|
||||
|
||||
type packageModule struct {
|
||||
@@ -47,6 +48,13 @@ func (p *packageModule) GenerateAndroidBuildActions(ModuleContext) {
|
||||
// Nothing to do.
|
||||
}
|
||||
|
||||
func (p *packageModule) DepsMutator(ctx BottomUpMutatorContext) {
|
||||
// Add the dependency to do a validity check
|
||||
if p.properties.Default_team != nil {
|
||||
ctx.AddDependency(ctx.Module(), nil, *p.properties.Default_team)
|
||||
}
|
||||
}
|
||||
|
||||
func (p *packageModule) GenerateBuildActions(ctx blueprint.ModuleContext) {
|
||||
// Nothing to do.
|
||||
}
|
||||
|
Reference in New Issue
Block a user