Use hashed subdir for soong_config modules
This is to differentiate soong intermediate directories for soong config modules. This will help incremental build across different devices. Test result of building panther, building cheetah, and building panther again: Before this change - build time: 02:57 - # of tasks: 31044 After this change - build time: 01:48 - # of tasks: 1694 Build time includes build.ninja generating time (which is more than 1 minute), so the overriden artifacts become far fewer. And "NINJA_ARGS='-n -d explain' m" only gave 4 "command line changed" nodes. Bug: 279362051 Test: see above Change-Id: I4891cbe823ae21628465e5c6eb26a4837ccdd202
This commit is contained in:
@@ -565,6 +565,12 @@ modules (`cc_defaults`, `java_defaults`, etc.), which can then be referenced
|
||||
by all of the vendor's other modules using the normal namespace and visibility
|
||||
rules.
|
||||
|
||||
`soongConfigTraceMutator` enables modules affected by soong config variables to
|
||||
write outputs into a hashed directory path. It does this by recording accesses
|
||||
to soong config variables on each module, and then accumulating records of each
|
||||
module's all dependencies. `m soong_config_trace` builds information about
|
||||
hashes to `$OUT_DIR/soong/soong_config_trace.json`.
|
||||
|
||||
## Build logic
|
||||
|
||||
The build logic is written in Go using the
|
||||
|
Reference in New Issue
Block a user