Skip writing ninja file for module with a cache hit during incremental build.
This is just the first change, many more will come to make this feature really work. The main changes included here are: 1. Skip the writing of ninja file if a module has a cache hit. 2. Handle the case where a skipped module doesn't have the build defs info for the OrderOnlyStrings dedup logic to work by caching the missing info. Bug: 335718784 Test: local manual tests Change-Id: I32542bd1e7fd268113e072e7f68b51b293d83d03
This commit is contained in:
@@ -220,15 +220,10 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (module *DeclarationsModule) BuildActionProviderKeys() []blueprint.AnyProviderKey {
|
func (module *DeclarationsModule) BuildActionProviderKeys() []blueprint.AnyProviderKey {
|
||||||
return []blueprint.AnyProviderKey{android.AconfigDeclarationsProviderKey}
|
return []blueprint.AnyProviderKey{
|
||||||
}
|
android.AconfigDeclarationsProviderKey,
|
||||||
|
android.AconfigReleaseDeclarationsProviderKey,
|
||||||
func (module *DeclarationsModule) PackageContextPath() string {
|
}
|
||||||
return pkgPath
|
|
||||||
}
|
|
||||||
|
|
||||||
func (module *DeclarationsModule) CachedRules() []blueprint.Rule {
|
|
||||||
return []blueprint.Rule{aconfigRule, aconfigTextRule}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ blueprint.Incremental = &DeclarationsModule{}
|
var _ blueprint.Incremental = &DeclarationsModule{}
|
||||||
|
@@ -23,8 +23,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
pkgPath = "android/soong/aconfig"
|
pctx = android.NewPackageContext("android/soong/aconfig")
|
||||||
pctx = android.NewPackageContext(pkgPath)
|
|
||||||
|
|
||||||
// For aconfig_declarations: Generate cache file
|
// For aconfig_declarations: Generate cache file
|
||||||
aconfigRule = pctx.AndroidStaticRule("aconfig",
|
aconfigRule = pctx.AndroidStaticRule("aconfig",
|
||||||
@@ -111,6 +110,7 @@ func init() {
|
|||||||
pctx.HostBinToolVariable("soong_zip", "soong_zip")
|
pctx.HostBinToolVariable("soong_zip", "soong_zip")
|
||||||
|
|
||||||
gob.Register(android.AconfigDeclarationsProviderData{})
|
gob.Register(android.AconfigDeclarationsProviderData{})
|
||||||
|
gob.Register(android.AconfigReleaseDeclarationsProviderData{})
|
||||||
gob.Register(android.ModuleOutPath{})
|
gob.Register(android.ModuleOutPath{})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1921,7 +1921,7 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext)
|
|||||||
|
|
||||||
restored := false
|
restored := false
|
||||||
if incrementalAnalysis && cacheKey != nil {
|
if incrementalAnalysis && cacheKey != nil {
|
||||||
restored = ctx.bp.RestoreBuildActions(cacheKey, incrementalModule)
|
restored = ctx.bp.RestoreBuildActions(cacheKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !restored {
|
if !restored {
|
||||||
|
Reference in New Issue
Block a user