Is is there a perf difference between building app with a library module from source (2nd build; 1st is obviously compiling everything) vs. prebuilt .aar (think internal maven artefact)?
j
jlleitschuh
12/11/2018, 9:01 PM
Short version: Yes.
Longer version: It depends. If your prebuilt is changing a lot, there is a lot of developer overhead required in constantly revving version numbers.
u
ursus
12/11/2018, 9:04 PM
can I ask why? I had it would be the same, because of caching... (comparing 2nd build && not changing anything in the module vs prebuilt aar)
ursus
12/12/2018, 7:10 PM
bump
j
jlleitschuh
12/13/2018, 1:35 PM
@ursus Well, it depends, are you talking about the perf difference across two builds on the same system, or the combined time when building it across CI & multiple developer machines?
You can reduce the time building the app with a library modules from source if you use the Gradle Build Cache.
https://docs.gradle.org/current/userguide/build_cache.html
u
ursus
12/13/2018, 2:59 PM
@jlleitschuh I mean comparing two builds on the same system. Ofcourse across team its going to be better to use .aars, since for sure at some point someone will do a clean build and eat the cost of building the library + ci, as you mentioned. The Build Cache afaik works as to commit the cache to git and then hope however pulls it its going to be valid for him and avoid building, right?
j
jlleitschuh
12/13/2018, 4:39 PM
@ursus No, the build cache is something you setup externally, either using Gradle Enterprise or you can use JFrog artifactory as a build cache server.
u
ursus
12/13/2018, 4:40 PM
okay maybe I was not completely correct but it is a external thing, not the build avoidance you get from running the same build on the same machine again, right?