This message was deleted.
# community-support
s
This message was deleted.
g
Hi! 🟢
A
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.
r
Damn that’s a nice explanation. Thank you for your time and clearing it up Gabriel 🙇
🙂 1