[AGP 3.6] BaseVariant.getMappingFile() is deprecated
benjamin-bader opened this issue · 3 comments
It's been replaced by BaseVariant.getMappingFileProvider()
. In order to avoid warnings that become build-breaks for some consumers, at minimum we need to update the various providers to do the right thing (reflectively access the old property on AGP < 3.6, use the new one in the ThreeSixProvider that will land shortly).
It would be better, and a larger task, to use the provider to avoid configuring tasks that don't need configuration. That would mean updating the tasks themselves to take a Provider<FileCollection>
(which we'd synthesize ourselves for older AGP versions), instead of a File
.
Are there plans to also fully support lazy task configurations? With the new APIs ideally the tasks should be wired up through lazy task Input and Output bindings so dependsOn(task)
won't be necessary which breaks lazy configuration.
Kind of. We're non-lazy by default, intentionally, because people have historically been more surprised by not seeing method counts (when an incremental build was avoided) than they have been upset by the eager nature of the task configuration. We added a config option to be lazy that is off by default.
What I'd like to do is what you suggest - configure as fully lazily as possible using input and output bindings, but keep the config option.
Sounds great 👍