Status Update
Comments
go...@jakewharton.com <go...@jakewharton.com> #2
Thanks for your detailed post.
However, benchmark build type is under configured: at least isProfileable is not set to true for existing build type, probably there's more.
We should set isProfileable = true
by default when overriding an existing benchmark build type.
This issue is not about some specific configuration flag, but the general approach of dealing with external configuration. As a developer adopting baseline profiles, it seems extremely risky to me using a custom configuration due to how it's applied under the hood and the fact it may break default configuration.
I agree that is not great but this is a little tricky to do. For custom baseline profile build types we override all the properties. For benchmark I left it open to configure but it's mostly about these 2 properties:
isMinifyEnabled
isShrinkResources
I don't have a way to see if the user is setting them before overriding, so for this reason, I'd prefer not to. I agree with you that some other properties could be set by default to make this easier, i.e.:
isJniDebuggable = false
isDebuggable = false
isProfileable = true
The reason why I mentioned the release signing config in the beginning is because I want to use debug signing config.
In the specific of your issue, i.e. using a debug certificate can you override the benchmark and baseline profile setting? You should be able to do something like:
android {
buildTypes {
release { ... }
debug { ... }
benchmarkRelease {
...
signingConfig signingConfigs.debug
}
nonMinifiedRelease {
...
signingConfig signingConfigs.debug
}
}
}
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Albano <
Link:
Added override for debuggable and profileable for benchmark builds in bpgp
Expand for full commit details
Added override for debuggable and profileable for benchmark builds in bpgp
Test: ./gradlew :benchmark:benchmark-baseline-profile-gradle-plugin:test
Bug: 369213505
Relnote: "isProfileable is always overridden in benchmark builds,
and isDebuggable is also now always overridden in both benchmark and
nonMinified (baseline profile capture) builds."
Change-Id: I487fa71083921682173f04fcbb477be5baf165f8
Files:
- M
benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/apptarget/BaselineProfileAppTargetPlugin.kt
- M
benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/apptarget/BaselineProfileAppTargetPluginTest.kt
Hash: 1906bbe52ba7ccb9ca0e1c1d6de33e7c91b5c6f0
Date: Fri Oct 11 10:07:06 2024
ap...@google.com <ap...@google.com> #4
I've landed a change that will set the following properties also when the benchmark build type already exists:
isJniDebuggable = false
isDebuggable = false
isProfileable = true
As well as the following for agp 8.0:
isDebuggable = false
I'm going ahead and closing this - if you've further questions please answer here and will reopen. Thanks.
fs...@google.com <fs...@google.com>
ap...@google.com <ap...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.benchmark:benchmark-baseline-profile-gradle-plugin:1.4.0-alpha04
au...@google.com <au...@google.com> #6
Since release signing config is used by default instead of debug
is not mentioned in release notes - maybe this is a bug?
Cause the last time I found it mentioned in the release notes was in version 1.1
signingConfig.debug is used as the default signing config (
) b/153583269
So, if the switch to the release one indeed happened - maybe it's an issue?
au...@google.com <au...@google.com>
pr...@google.com <pr...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-common:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-iosarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-iossimulatorarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-iosx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-jvm:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-linuxx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-macosarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-common-macosx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-android:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-desktop:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-iosarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-iossimulatorarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-iosx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-linuxx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-macosarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-macosx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-android:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-desktop:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-iosarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-iossimulatorarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-iosx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-linuxx64:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-macosarm64:2.9.0-alpha01
androidx.lifecycle:lifecycle-viewmodel-macosx64:2.9.0-alpha01
androidx.paging:paging-common:3.3.2
androidx.paging:paging-common-android:3.3.2
androidx.paging:paging-common-iosarm64:3.3.2
androidx.paging:paging-common-iossimulatorarm64:3.3.2
androidx.paging:paging-common-iosx64:3.3.2
androidx.paging:paging-common-jvm:3.3.2
androidx.paging:paging-common-linuxx64:3.3.2
androidx.paging:paging-common-macosarm64:3.3.2
androidx.paging:paging-common-macosx64:3.3.2
androidx.paging:paging-testing:3.3.2
androidx.paging:paging-testing-android:3.3.2
androidx.paging:paging-testing-iosarm64:3.3.2
androidx.paging:paging-testing-iossimulatorarm64:3.3.2
androidx.paging:paging-testing-iosx64:3.3.2
androidx.paging:paging-testing-jvm:3.3.2
androidx.paging:paging-testing-linuxx64:3.3.2
androidx.paging:paging-testing-macosarm64:3.3.2
androidx.paging:paging-testing-macosx64:3.3.2
androidx.room:room-common:2.7.0-alpha06
androidx.room:room-common-iosarm64:2.7.0-alpha06
androidx.room:room-common-iossimulatorarm64:2.7.0-alpha06
androidx.room:room-common-iosx64:2.7.0-alpha06
androidx.room:room-common-jvm:2.7.0-alpha06
androidx.room:room-common-linuxx64:2.7.0-alpha06
androidx.room:room-common-macosarm64:2.7.0-alpha06
androidx.room:room-common-macosx64:2.7.0-alpha06
androidx.room:room-migration:2.7.0-alpha06
androidx.room:room-migration-iosarm64:2.7.0-alpha06
androidx.room:room-migration-iossimulatorarm64:2.7.0-alpha06
androidx.room:room-migration-iosx64:2.7.0-alpha06
androidx.room:room-migration-jvm:2.7.0-alpha06
androidx.room:room-migration-linuxx64:2.7.0-alpha06
androidx.room:room-migration-macosarm64:2.7.0-alpha06
androidx.room:room-migration-macosx64:2.7.0-alpha06
androidx.room:room-paging:2.7.0-alpha06
androidx.room:room-paging-android:2.7.0-alpha06
androidx.room:room-paging-iosarm64:2.7.0-alpha06
androidx.room:room-paging-iossimulatorarm64:2.7.0-alpha06
androidx.room:room-paging-iosx64:2.7.0-alpha06
androidx.room:room-paging-jvm:2.7.0-alpha06
androidx.room:room-paging-linuxx64:2.7.0-alpha06
androidx.room:room-paging-macosarm64:2.7.0-alpha06
androidx.room:room-paging-macosx64:2.7.0-alpha06
androidx.room:room-runtime:2.7.0-alpha06
androidx.room:room-runtime-android:2.7.0-alpha06
androidx.room:room-runtime-iosarm64:2.7.0-alpha06
androidx.room:room-runtime-iossimulatorarm64:2.7.0-alpha06
androidx.room:room-runtime-iosx64:2.7.0-alpha06
androidx.room:room-runtime-jvm:2.7.0-alpha06
androidx.room:room-runtime-linuxx64:2.7.0-alpha06
androidx.room:room-runtime-macosarm64:2.7.0-alpha06
androidx.room:room-runtime-macosx64:2.7.0-alpha06
androidx.room:room-testing:2.7.0-alpha06
androidx.room:room-testing-android:2.7.0-alpha06
androidx.room:room-testing-iosarm64:2.7.0-alpha06
androidx.room:room-testing-iossimulatorarm64:2.7.0-alpha06
androidx.room:room-testing-iosx64:2.7.0-alpha06
androidx.room:room-testing-jvm:2.7.0-alpha06
androidx.room:room-testing-linuxx64:2.7.0-alpha06
androidx.room:room-testing-macosarm64:2.7.0-alpha06
androidx.room:room-testing-macosx64:2.7.0-alpha06
androidx.sqlite:sqlite:2.5.0-alpha06
androidx.sqlite:sqlite-android:2.5.0-alpha06
androidx.sqlite:sqlite-bundled:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-android:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-iosarm64:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-iossimulatorarm64:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-iosx64:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-jvm:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-linuxx64:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-macosarm64:2.5.0-alpha06
androidx.sqlite:sqlite-bundled-macosx64:2.5.0-alpha06
androidx.sqlite:sqlite-framework:2.5.0-alpha06
androidx.sqlite:sqlite-framework-android:2.5.0-alpha06
androidx.sqlite:sqlite-framework-iosarm64:2.5.0-alpha06
androidx.sqlite:sqlite-framework-iossimulatorarm64:2.5.0-alpha06
androidx.sqlite:sqlite-framework-iosx64:2.5.0-alpha06
androidx.sqlite:sqlite-framework-linuxx64:2.5.0-alpha06
androidx.sqlite:sqlite-framework-macosarm64:2.5.0-alpha06
androidx.sqlite:sqlite-framework-macosx64:2.5.0-alpha06
androidx.sqlite:sqlite-iosarm64:2.5.0-alpha06
androidx.sqlite:sqlite-iossimulatorarm64:2.5.0-alpha06
androidx.sqlite:sqlite-iosx64:2.5.0-alpha06
androidx.sqlite:sqlite-jvm:2.5.0-alpha06
androidx.sqlite:sqlite-linuxx64:2.5.0-alpha06
androidx.sqlite:sqlite-macosarm64:2.5.0-alpha06
androidx.sqlite:sqlite-macosx64:2.5.0-alpha06
na...@google.com <na...@google.com> #9
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.annotation:annotation:1.9.0-alpha02
androidx.annotation:annotation-androidnativearm32:1.9.0-alpha02
androidx.annotation:annotation-androidnativearm64:1.9.0-alpha02
androidx.annotation:annotation-androidnativex64:1.9.0-alpha02
androidx.annotation:annotation-androidnativex86:1.9.0-alpha02
androidx.annotation:annotation-iosarm64:1.9.0-alpha02
androidx.annotation:annotation-iossimulatorarm64:1.9.0-alpha02
androidx.annotation:annotation-iosx64:1.9.0-alpha02
androidx.annotation:annotation-jvm:1.9.0-alpha02
androidx.annotation:annotation-linuxarm64:1.9.0-alpha02
androidx.annotation:annotation-linuxx64:1.9.0-alpha02
androidx.annotation:annotation-macosarm64:1.9.0-alpha02
androidx.annotation:annotation-macosx64:1.9.0-alpha02
androidx.annotation:annotation-tvosarm64:1.9.0-alpha02
androidx.annotation:annotation-tvossimulatorarm64:1.9.0-alpha02
androidx.annotation:annotation-tvosx64:1.9.0-alpha02
androidx.annotation:annotation-watchosarm32:1.9.0-alpha02
androidx.annotation:annotation-watchosarm64:1.9.0-alpha02
androidx.annotation:annotation-watchossimulatorarm64:1.9.0-alpha02
androidx.annotation:annotation-watchosx64:1.9.0-alpha02
pr...@google.com <pr...@google.com> #10
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.collection:collection:1.5.0-alpha01
androidx.collection:collection-iosarm64:1.5.0-alpha01
androidx.collection:collection-iossimulatorarm64:1.5.0-alpha01
androidx.collection:collection-iosx64:1.5.0-alpha01
androidx.collection:collection-jvm:1.5.0-alpha01
androidx.collection:collection-linuxarm64:1.5.0-alpha01
androidx.collection:collection-linuxx64:1.5.0-alpha01
androidx.collection:collection-macosarm64:1.5.0-alpha01
androidx.collection:collection-macosx64:1.5.0-alpha01
androidx.collection:collection-tvosarm64:1.5.0-alpha01
androidx.collection:collection-tvossimulatorarm64:1.5.0-alpha01
androidx.collection:collection-tvosx64:1.5.0-alpha01
androidx.collection:collection-watchosarm32:1.5.0-alpha01
androidx.collection:collection-watchosarm64:1.5.0-alpha01
androidx.collection:collection-watchossimulatorarm64:1.5.0-alpha01
androidx.collection:collection-watchosx64:1.5.0-alpha01
Description