Skip to content

Commit f33bfb5

Browse files
committed
Upgrade Metro and add new @Origin annotation
1 parent 4dbfb15 commit f33bfb5

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codegen/src/main/kotlin/io/element/android/codegen/ContributesNodeProcessor.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import dev.zacsweers.metro.BindingContainer
3535
import dev.zacsweers.metro.Binds
3636
import dev.zacsweers.metro.ContributesTo
3737
import dev.zacsweers.metro.IntoMap
38+
import dev.zacsweers.metro.Origin
3839
import io.element.android.annotations.ContributesNode
3940
import org.jetbrains.kotlin.name.FqName
4041

@@ -71,12 +72,14 @@ class ContributesNodeProcessor(
7172
val scope = annotation.arguments.find { it.name?.asString() == "scope" }!!.value as KSType
7273
val modulePackage = ksClass.packageName.asString()
7374
val moduleClassName = "${ksClass.simpleName.asString()}_Module"
75+
val nodeClassName = ClassName.bestGuess(ksClass.qualifiedName!!.asString())
7476
val content = FileSpec.builder(
7577
packageName = modulePackage,
7678
fileName = moduleClassName,
7779
)
7880
.addType(
7981
TypeSpec.interfaceBuilder(moduleClassName)
82+
.addAnnotation(AnnotationSpec.builder(Origin::class).addMember("%T::class", nodeClassName).build())
8083
.addAnnotation(BindingContainer::class)
8184
.addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember("%T::class", scope.toTypeName()).build())
8285
.addFunction(
@@ -138,6 +141,7 @@ class ContributesNodeProcessor(
138141
.addType(
139142
TypeSpec.interfaceBuilder(assistedFactoryClassName)
140143
.addSuperinterface(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(nodeClassName))
144+
.addAnnotation(AnnotationSpec.builder(Origin::class).addMember("%T::class", nodeClassName).build())
141145
.addAnnotation(AssistedFactory::class)
142146
.addFunction(
143147
FunSpec.builder("create")

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ haze = "1.6.10"
5151
dependencyAnalysis = "2.19.0"
5252

5353
# DI
54-
metro = "0.6.4"
54+
metro = "0.6.6"
5555

5656
# Auto service
5757
autoservice = "1.1.1"

0 commit comments

Comments
 (0)