Status Update
Comments
ra...@google.com <ra...@google.com>
je...@google.com <je...@google.com>
mi...@google.com <mi...@google.com> #2
I am not sure I understand the use case. how can the benchmark be code to real world scenario when it's not possible to do right now ? which scenario is it ?
In any case, since this would be for benchmarking, this would clearly not be available through the public DSL. We should find a semi-private way of doing this (maybe the private variant API object could offer that functionality for instance or a property).
an...@google.com <an...@google.com> #3
We want benchmarks to measure code after Progaurd / R8, but it's not possible to turn that on for androidTests in library modules at the moment (to my knowledge?)
Benchmarks are also a public facing thing, but we have a plugin to help configure gradle builds for our users, so if support for this ends up in a private API, we could try to keep those usages localized to our code perhaps.
Description
Reproducer:https://github.com/vanniktech/playground/pull/247
Turn on:
android.enableBuildConfigAsBytecode=true
and then this test can't be compiled:Execute
./gradlew testDebug
and you will see the compile error:To workaround this in the
defaultConfig
block I can add the following:buildConfigField("String", "WORKAROUND", "\"foo\"")
this will yield aBuildConfig
that can be resolved.Regardless of whether I have
buildConfigFields
declared or not, when usingenableBuildConfigAsBytecode
the BuildConfig should be resolvable in the Unit Tests.