diff options
author | 2023-05-15 18:06:31 +0900 | |
---|---|---|
committer | 2023-05-26 18:07:05 +0900 | |
commit | 81b00a8db73491a4cac326853853be743000a2ac (patch) | |
tree | 15552762d2315ba25a26fb5cf8fe10453e506e0e /README.md | |
parent | 1a608b0b0a3bcbc80526c42993e190c6ff73aa81 (diff) |
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
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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 |