c087be1e8b
This change automates one of the best practices for custom tools. The best practice says "Prefer to list input files on the command line, otherwise we may not know to re-run your command when a new input file is added." [1] Normally you'd reference these inputs with $(in) or one of the forms of the $(location*) substituions on the command line for the custom tool. However, if the custom tool does not accept the list of inputs on the command line, the build system could fail to re-run the custom tool if the list changes. This change adds a hash of the list of input names to the sbox command that wraps the custom tool. If the list of inputs change, the hash will change, and therefore the sbox command will change, causing ninja to re-run the custom tool. The hash is visible to (but ignored by) the sbox command, and hidden from your custom tool. [1] https://android.googlesource.com/platform/build/soong/+/refs/heads/master/docs/best_practices.md#custom-build-tools Test: TestGenruleHashInputs Bug: 149397658 Change-Id: I18b547ea3c4296ee15bd6150a4778a8f376d80b7 |
||
---|---|---|
.. | ||
dep_fixer | ||
diff_target_files | ||
extract_jar_packages | ||
extract_linker | ||
fileslist | ||
host_bionic_inject | ||
javac_wrapper | ||
merge_zips | ||
multiproduct_kati | ||
path_interposer | ||
pom2bp | ||
pom2mk | ||
sbox | ||
soong_build | ||
soong_env | ||
soong_ui | ||
zip2zip | ||
zipsync |