Summary: See https://github.com/facebook/flipper/issues/230 for a longer explanation. It turns out that many of the tasks in `native.gradle` (at least `prepareGlog` which modifies files inside the source directory, but also others) cause the cmake cache to invalidate. Because we run those tasks unconditionally, we need to recompile all our C++ code even when unmodified. I fix this by adding a manual cache key to this which simply skips all the tasks unless an up-to-date `external_cache_revision.txt` is found. This is a bit hacky, but the alternatives are a) convincing cmake that these modifications are not recompile-worthy which I have no idea how to do and which might be impossible to do `mtime` on the files touches, or b) having fine-grained `onlyIf` rules for every task which can easily break. This seems the most straight-forward option. Fixes #230. Pull Request resolved: https://github.com/facebook/flipper/pull/242 Reviewed By: jknoxville Differential Revision: D9381340 Pulled By: passy fbshipit-source-id: a7db55aacac4a29076c29298d6c5b97d8bc91f66
8.0 KiB
8.0 KiB