Status Update
Comments
lu...@google.com <lu...@google.com>
je...@google.com <je...@google.com> #2
Branch: androidx-master-dev
commit b90079595f33f58fece04026a97faa0d243acdb1
Author: Yuichi Araki <yaraki@google.com>
Date: Wed Sep 18 16:55:49 2019
Change the way to detect mismatch between POJO and query
This fixes cursor mismatch warnings with expandProjection.
Bug: 140759491
Test: QueryMethodProcessorTest
Change-Id: I7659002e5e0d1ef60fc1af2a625c0c36da0664d8
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/TestProcessor.kt
jb...@google.com <jb...@google.com> #3
je...@google.com <je...@google.com> #4
Branch: androidx-master-dev
commit bdde5a1a970ddc9007b28de4aa29d60ffa588f08
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Apr 16 16:47:05 2020
Re-factor how errors are dismissed when query is re-written
This CL changes how we handle errors/warnings if query is
re-written.
There was a bug in expandProjection where we would report warnings
for things that Room already fixes automatically (
The solution to that problem (I7659002e5e0d1ef60fc1af2a625c0c36da0664d8)
solved it by deferring validating of columns until after re-write
decision is made. Unfortunately, this required changing PojoRowAdapter
to have a dummy mapping until it is validating, make it hard to use
as it does have a non-null mapping which is not useful.
This CL partially reverts that change and instead rely on the log
deferring logic we have in Context. This way, we don't need to break
the stability of PojoRowAdapter while still having the ability to
drop warnings that room fixes. This will also play nicer when we
have different query re-writing options that can use more information
about the query results.
Bug: 153387066
Bug: 140759491
Test: existing tests pass
Change-Id: I2ec967c763d33d7a3ff02c1a13c6953b460d1e5f
M room/compiler/src/main/kotlin/androidx/room/log/RLog.kt
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
jb...@google.com <jb...@google.com> #5
Safeargs still relies on AGP 4.2
. We need some of the BaseVariant
APIs to have replacements before we can upgrade to 7.0+
(
je...@google.com <je...@google.com> #6
The BaseVariant API are deprecated but still available in 7.x, so you should be able to release a newer version that uses the new package and still relies on the old API you require. Or am I missing something ?
jb...@google.com <jb...@google.com> #7
I'll try updating to the latest stable to see if we run into any issues. I can check to make sure changing the package name in 7.2.0-alpha05 works, but we would need it to be stable before we could do a release with this change.
cj...@gmail.com <cj...@gmail.com> #8
FYI this also breaks the latest Studio (2021.1.1 Beta 5)/AGP (7.1.0-beta05) beta where com.android.build.api.extension.AndroidComponentsExtension
has been removed.
Is there a particular reason why
As it stands, no one can upgrade either AGP/Studio Beta or Canary and take advantage of fixes in the latest versions because Navigation still uses the old AGP APIs.
ti...@gmail.com <ti...@gmail.com> #9
Was this fixed in Studio 2021.1.1 RC 1?
jb...@google.com <jb...@google.com> #11
This will be fixed in the Navigation Safe Args 2.5.0-alpha01
and 2.4.1
versions. You can follow the
cj...@gmail.com <cj...@gmail.com> #12
Thank you! 2.4.1 is at least two weeks out (possibly 4, if I'm not mistaken).
I applaud the AGPs team decision to stick to the new APIs though. Hopefully its not too long before Navigation fixes this.
ro...@gmail.com <ro...@gmail.com> #13
So we are talking mid february ?
jb...@google.com <jb...@google.com>
de...@google.com <de...@google.com> #14
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Dolphin Canary 5 (2021.3.1.5)
- Android Gradle Plugin 7.3.0-alpha05
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
zo...@gmail.com <zo...@gmail.com> #15
Is this included in the Dolphin Beta 1 build? 7.3.0-beta01?
I'm able to consistent reproduce this when having the namespace
field setup in my gradle file. Removing it (and adding the value back to the Manifest files) does not cause the issue. Not sure if the same case here, or a new one.
ro...@gmail.com <ro...@gmail.com> #16
May be related to this one ?
xo...@google.com <xo...@google.com> #17
Right, the direct incompatibility between AGP and Safe Args is fixed, I believe, but there's another issue related to the use of applicationId
vs namespace
, tracking at
Description
Build: AI-212.5457.46.2112.7905983, 202111111328,
AI-212.5457.46.2112.7905983, JRE 11.0.12+0-b1504.28-7817840x64 JetBrains s.r.o., OS Linux(amd64) v5.13.0-21-generic, screens 2560.0x1440.0, 1080.0x1920.0
AS: Chipmunk | 2021.2.1 Canary 5; Kotlin plugin: 212-1.5.31-release-556-AS4638.7; Android Gradle Plugin: 7.0.3; Gradle: 7.2; Gradle JDK: version 13.0.2; NDK: from local.properties: (not specified), latest from SDK: (not found); LLDB: pinned revision 3.1 not found, latest from SDK: (package not found); CMake: from local.properties: (not specified), latest from SDK: (not found), from PATH: (not found)
Updating Android Gradle Plug-in from 7.2.0-alpha04 to 7.2.0-alpha05 breaks the build as the Safe Args plug-in no longer works.
This project uses AGP 7.2.0-alpha04 and after changing to 7.2.0-alpha05 it fails to build:
Stack trace attached.