Какую логику Bazel build использует для вычисления входных и выходных хэшей? - PullRequest
0 голосов
/ 12 ноября 2019

Многие источники утверждают, что для ускорения сборки Bazel вычисляет хэши входных данных правила и выполняет поиск в кэше для поиска предварительно созданных выходных данных. К сожалению, я не могу найти подробностей о его логике. Например, как именно он вычисляет хэши выходных данных для поиска? Это какой-то хэш входных хэшей? Потому что он должен быть рассчитан ДО того, как фактические результаты будут созданы впервые. Кроме того, он когда-либо вычисляет хэши выходных файлов? Как они используются? Есть ли способ помешать вычислению хэшей? Например, мы хотели бы создать ZIP-архив в качестве выходных данных, но хеш-файл «манифеста» внутри этого архива, так как остальная часть архива создается недетерминированными инструментами, и хеш будет меняться после каждой сборки.

...