Hi, from previous poll I asked some people why they decided not to configure build-enable.gardle or minSDK 24. Here is the summary:
From this file we can configure and choose which DFM module we want to build. Building all DFM modules is inefficient if you work only on specific modules, as it may slow down your build significantly.
From poll, here some reason why some people not configure build-enable.gradle:
I think that make sense in that case, however if you are working on DFM we encourage to configure build-enable.gradle as it will recompile less task to faster build speed:
Build Flight and Bus DFM only (skip large module like accom, etc)
https://ge-android.test.traveloka.com/s/jizepaqsomvww/timeline
All DFM Build will run all product modules:
https://ge-android.test.traveloka.com/s/f5ajz642s4cts/timeline?details=q4um3celfryuo
This is the details how to configure DFM module on build-enable.gradle (link)
Here are some reason people not using minSDK 24:
minSDK 24 solve this DFM issue that slowing our build speed: Issue tracker
So it will slowing down build significantly if you build lot of DFM modules:
https://ge-android.test.traveloka.com/s/n5g4mmp7amdxc/timeline
From that build scan we can see that lot of empty gap, which indicate dex transformation recompiled on each DFM modules.
To avoid this, we can use minSDK 24 on our local build. Since our develop still run on minSDK 21, we need to configure it manually on local.properties (guidline). So it only affect your local build.
We encourage you to use this if you working on DFM module or UI test.