Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96ce6ab1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Use localPool consistently for UseGoma() == true"

parents 332f35fc 2e2dbc25
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1189,6 +1189,12 @@ func (m *moduleContext) Variable(pctx PackageContext, name, value string) {
func (m *moduleContext) Rule(pctx PackageContext, name string, params blueprint.RuleParams,
	argNames ...string) blueprint.Rule {

	if m.config.UseGoma() && params.Pool == nil {
		// When USE_GOMA=true is set and the rule is not supported by goma, restrict jobs to the
		// local parallelism value
		params.Pool = localPool
	}

	rule := m.bp.Rule(pctx.PackageContext, name, params, argNames...)

	if m.config.captureBuild {
+17 −17
Original line number Diff line number Diff line
@@ -104,7 +104,8 @@ func (p PackageContext) PoolFunc(name string,
}

// RuleFunc wraps blueprint.PackageContext.RuleFunc, converting the interface{} config
// argument to a Context that supports Config().
// argument to a Context that supports Config(), and provides a default Pool if none is
// specified.
func (p PackageContext) RuleFunc(name string,
	f func(PackageRuleContext) blueprint.RuleParams, argNames ...string) blueprint.Rule {

@@ -114,6 +115,11 @@ func (p PackageContext) RuleFunc(name string,
		if len(ctx.errors) > 0 {
			return params, ctx.errors[0]
		}
		if ctx.Config().UseGoma() && params.Pool == nil {
			// When USE_GOMA=true is set and the rule is not supported by goma, restrict jobs to the
			// local parallelism value
			params.Pool = localPool
		}
		return params, nil
	}, argNames...)
}
@@ -234,10 +240,16 @@ func (p PackageContext) PrefixedExistentPathsForSourcesVariable(
	})
}

// AndroidStaticRule wraps blueprint.StaticRule and provides a default Pool if none is specified
// AndroidStaticRule is an alias for StaticRule.
func (p PackageContext) AndroidStaticRule(name string, params blueprint.RuleParams,
	argNames ...string) blueprint.Rule {
	return p.AndroidRuleFunc(name, func(PackageRuleContext) blueprint.RuleParams {
	return p.StaticRule(name, params, argNames...)
}

// StaticRule wraps blueprint.StaticRule and provides a default Pool if none is specified.
func (p PackageContext) StaticRule(name string, params blueprint.RuleParams,
	argNames ...string) blueprint.Rule {
	return p.RuleFunc(name, func(PackageRuleContext) blueprint.RuleParams {
		return params
	}, argNames...)
}
@@ -245,18 +257,6 @@ func (p PackageContext) AndroidStaticRule(name string, params blueprint.RulePara
// AndroidGomaStaticRule wraps blueprint.StaticRule but uses goma's parallelism if goma is enabled
func (p PackageContext) AndroidGomaStaticRule(name string, params blueprint.RuleParams,
	argNames ...string) blueprint.Rule {
	return p.StaticRule(name, params, argNames...)
}

func (p PackageContext) AndroidRuleFunc(name string,
	f func(PackageRuleContext) blueprint.RuleParams, argNames ...string) blueprint.Rule {
	return p.RuleFunc(name, func(ctx PackageRuleContext) blueprint.RuleParams {
		params := f(ctx)
		if ctx.Config().UseGoma() && params.Pool == nil {
			// When USE_GOMA=true is set and the rule is not supported by goma, restrict jobs to the
			// local parallelism value
			params.Pool = localPool
		}
		return params
	}, argNames...)
	// bypass android.PackageContext.StaticRule so that Pool does not get set to local_pool.
	return p.PackageContext.StaticRule(name, params, argNames...)
}
+5 −0
Original line number Diff line number Diff line
@@ -127,6 +127,11 @@ func (s *singletonContextAdaptor) Variable(pctx PackageContext, name, value stri
}

func (s *singletonContextAdaptor) Rule(pctx PackageContext, name string, params blueprint.RuleParams, argNames ...string) blueprint.Rule {
	if s.Config().UseGoma() && params.Pool == nil {
		// When USE_GOMA=true is set and the rule is not supported by goma, restrict jobs to the
		// local parallelism value
		params.Pool = localPool
	}
	rule := s.SingletonContext.Rule(pctx.PackageContext, name, params, argNames...)
	if s.Config().captureBuild {
		s.ruleParams[rule] = params
+1 −1
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@ var (

	_ = pctx.SourcePathVariable("sAbiDiffer", "prebuilts/clang-tools/${config.HostPrebuiltTag}/bin/header-abi-diff")

	sAbiDiff = pctx.AndroidRuleFunc("sAbiDiff",
	sAbiDiff = pctx.RuleFunc("sAbiDiff",
		func(ctx android.PackageRuleContext) blueprint.RuleParams {
			// TODO(b/78139997): Add -check-all-apis back
			commandStr := "($sAbiDiffer ${allowFlags} -lib ${libName} -arch ${arch} -o ${out} -new ${in} -old ${referenceDump})"