https://kotlinlang.org logo
Title
z

Zac Sweers

08/10/2020, 3:53 PM
Undocumented in public but I’m sure you could ask the right colleagues internally :) https://github.com/google/turbine
s

Sam Garfinkel

08/18/2020, 3:23 PM
This is interesting, but has little documentation. @Zac Sweers Could I get a TLDR on what this does?
z

Zac Sweers

08/18/2020, 4:18 PM
basically creates stub jars with signatures only
so you can compile against an API even if it’s not implemented
s

Sam Garfinkel

08/18/2020, 7:14 PM
Oh huh interesting. So this is separate than say a traditional API jar with interfaces only?
z

Zac Sweers

08/18/2020, 11:14 PM
same idea but could include non-public API
same idea but could include non-public API
j

jw

08/21/2020, 4:31 AM
It's even better than just not implemented. Because it only has to parse signatures and not method bodies the stub jar can be made available before the regular jar. This means downstream dependencies can start compiling before you're done fully compiling upstream deps.
2
Same is true for annotation processors. They can start running before the real jar of the module is compiled. It's basically kapt's stubs for for javac