Status Update
Comments
je...@google.com <je...@google.com>
is...@google.com <is...@google.com>
je...@google.com <je...@google.com> #2
Luke, can you have a look if we still have a lot of those usages ? if not, close the bug, if yes, can it be fixed in 7.2 or is there too many usages ?
lu...@google.com <lu...@google.com> #3
Looks like there's around 21 usages of ProjectComponentIdentifier.projectPath
, so seems feasible the new identifier format for 7.2.
lu...@google.com <lu...@google.com>
de...@google.com <de...@google.com> #4
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 4 (2021.3.1.4)
- Android Gradle Plugin 7.3.0-alpha04
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!
ga...@google.com <ga...@google.com> #5
It seems like we are still not using the build path as part of the project identity. In
fun ProjectComponentIdentifier.getIdString(): String {
return projectPath.apply {
(build as BuildIdentifier?)?.let { plus(":${it.name}") }
}
}
will just return the project path. We should instead concatenate build.buildPath
(from Gradle 8.2) and projectPath
.
mi...@google.com <mi...@google.com>
mi...@google.com <mi...@google.com>
an...@google.com <an...@google.com> #6
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 Iguana | 2023.2.1 Canary 4
- Android Gradle Plugin 8.3.0-alpha04
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!
Description
There are quite a few places in the code base where we use
ProjectComponentIdentifier.projectPath
as a unique ID for a sub-project.However, this is not correct in the context of composite builds where there can be collision in project paths.
We need to always combine it with
ProjectComponentIdentifier.build.name
to get a unique project identifier.