Slackbot
10/26/2023, 7:14 AMGabriel Feo
10/26/2023, 10:27 AMA has a dependency on B module.
🟢 A and B have multiple tasks.
🟢 Changing a Kotlin file on module B file triggers compilation on module B because the source file has changed.
• 🟡 Specifically runs ``BkaptGenerateStubsKotlin`` among other Kotlin tasks. It does probably run kapt, if you have it, but note that the actual compilation task would be :B:compileKotlin
• 🔴 B replaces old build cache key by this new one. _*It simply stores a new cache entry (identified by a key), it does not replace the older one. The older one may get deleted later when it's been unused for 7d (default, but configurable*) *. If you revert your changes before that's cleaned up and build with the older source files, the older cache entry will still be there to re-use. This is regarding local cache. Remote cache has different clean-up configuration and it's set server-side.*_
🟡 A executes multiple Kotlin tasks because the input cache key has changed for these tasks. Whether :A will need compilation depends on the actual changes made to source files. If you change, for example, the implementation of a private function in a class of :B, :A doesn't need to be compiled again because that's a non-ABI change.
• Specifically runs ``AkaptGenerateStubsKotlin`` among other Kotlin tasks that are involved.Roberto Fuentes
10/26/2023, 1:46 PM