Fixed
Status Update
Comments
ja...@google.com <ja...@google.com> #2
The workaround I found so far is to use project.afterEvaluate {} to access the build types, as they are created only after Baseline Profile Gradle Plugin creates them:
Kotlin
android {
buildTypes {
release { ... }
project.afterEvaluate {
getByName("benchmarkRelease") { }
getByName("nonMinifiedRelease") { }
}
}
}
Groovy
android {
buildTypes {
release { ... }
project.afterEvaluate {
benchmarkRelease { }
nonMinifiedRelease { }
}
}
}
This way there are no redundant build variants created.
ma...@textnow.com <ma...@textnow.com> #3
Attaching a sample project for convenience.
rk...@google.com <rk...@google.com>
je...@google.com <je...@google.com>
ma...@google.com <ma...@google.com> #4
This should be a bug on the AS side.
ap...@google.com <ap...@google.com> #5
I would say AS isn't the problem. Even without the AS in the project that I attached the simple commands:
./gradlew assembleBenchmarkBenchmarkRelease
./gradlew assembleNonMinifiedNonMinifiedRelease
./gradlew assembleNonMinifiedBenchmarkRelease
are executed successfully and produce some apks.
ma...@google.com <ma...@google.com>
pr...@google.com <pr...@google.com> #6
This is how the baseline profile works - it creates specific build types to correctly generate baseline profiles and benchmarks.
You can still disable the variants if you're not interested in one of them. But AS should not be showing them (by default, configurable through a flag).
Description
STEPS TO REPRODUCE:
1. Use the IDE to auto-generate a baseline profile module
2. Change _ONE_ of the two device references from pixel6 to pixel8, but not both (ie: we would expect an error message, but not this error message)
3. run `./gradlew tasks` and notice that it says it can not determine the test task. This leads devs down a rabbit hole trying to solve the wrong thing. Ideally, it would tell them there is a device mismatch.
Issue is coming from: BaselineProfileProducerPlugin.kt#createTasksForVariant
(I was not able to place this ticket in the correct component)
```
* What went wrong:
A problem occurred configuring project ':baselineprofile'.
> com.android.build.gradle.internal.crash.ExternalApiUsageException: org.gradle.api.GradleException: It wasn't possible to determine the test task for managed device `pixel8Api34`.
Please check the managed devices specified in the baseline profile
configuration.
```
Studio Build: Iguana 2023.2.1 Canary 15
Version of Gradle Plugin: 8.2.0-rc03
Version of Gradle: 8.3-rc-2-all
Version of Java: 17
OS: Ubuntu 22.04.3 LTS x86_64