Status Update
Comments
lw...@gmail.com <lw...@gmail.com> #2
Yigit, I haven't had time to try reproducing yet, but they have a github link which is nice. What's weird though is I don't think anything has changed recently at all, but maybe you're aware? Although, looking at the callstack, it may be an AGP issue? If it looks like that to you too, bounce it back to me.
OP: Was this a regression? And just to make sure, when you say "run ./gradlew help
", you're seeing this from the command line? Or from within Studio?
yb...@google.com <yb...@google.com> #3
I'm seeing this from command line.
Yes this seems to be a regression starting from 7.0.0-alpha10.
Note that the project I linked doesn't use databinding at all, enabling the build config flag is all that's needed to reproduce this.
lw...@gmail.com <lw...@gmail.com> #4
Thanks for the quick reply. I have a short open window right now so I'll try to repro and see if I can figure out which component this is best for.
yb...@google.com <yb...@google.com> #5
I can repro what OP is seeing. It may be tempting to move this to the data binding component but this seems more like an AGP change. I don't believe the data binding compiler has been changed recently, around the time AGP 7.0.0-alpha10 went out.
lw...@gmail.com <lw...@gmail.com> #6
Also, slightly more direct steps (although it amounts to the same thing as what's in
- Sync the github project somewhere (
git clone https://github.com/ReactiveCircus/streamlined.git
) - Double check everything's working as expected (
./gradlew help
should work) - Edit
app/build.gradle.kts
: Search forbuildFeatures
and adddataBinding = true
as the first entry, abovebuildConfig
- Now, things are expected to break (
./gradlew help
should throw an exception) - Edit
buildSrc/src/main/kotlin/io/github/reactivecircus/streamlined/Dependencies.kt
: change the AGP version to7.0.0-alpha09
- Now, things are expected to work again(
./gradle help
should work)
yb...@google.com <yb...@google.com> #7
yea this seems unrelated to data binding as we didn't change data binding itself
There were some resource related changes so cc'ing Iza in case they might be related but i don't think so. This seems like a lifecycle issue.
lw...@gmail.com <lw...@gmail.com> #8
I'll look more into this, thanks for the detailed description and repro case!
yb...@google.com <yb...@google.com> #9
This affects even 1.50-M1 kotlin, and the code resolving the attributes is here:
As a workaround to get data binding working, I'll add a new task that merges dependencies R.txt files into one, and then pass that single file to kapt/db. So while the incorrect resolving will still be there while jetbrains fixes this issue, it will allow the non-transitive R + data binding builds to succeed.
yb...@google.com <yb...@google.com> #10
nice find!
There is actually another issue about incremental compilation, do you think they might be related to the other issue you've mentioned?
Description
Version used: 3.2.1
Subsequent compilations of
Expected behavior:
compiling the project twice results in apks that - when decompiled using [1] apktool - may only differ in "META-INF/CERT.RSA", "META-INF/CERT.SF" and "META-INF/MANIFEST.MF".
Actual behavior:
The files ReceiveCoinsActivityBtcBindingImpl.smali, ReceiveCoinsActivityBindingImpl.smali, AddressFragmentBindingImpl.smali and AddressFragmentBtcBindingImpl.smali each yield one of two variants with every compilation. These variants vary independently from each other.
[1]