44package org.wordpress.android.processor
55
66import com.google.devtools.ksp.KspExperimental
7+ import com.google.devtools.ksp.containingFile
78import com.google.devtools.ksp.getAnnotationsByType
89import com.google.devtools.ksp.processing.CodeGenerator
910import com.google.devtools.ksp.processing.Resolver
@@ -65,40 +66,45 @@ class RemoteConfigProcessor(
6566 .writeTo(
6667 codeGenerator,
6768 aggregating = true ,
69+ originatingKSFiles = remoteFeatures.map { it.containingFile!! }
6870 )
6971 }
7072
7173 private fun generateRemoteFieldsConfigDefaults (resolver : Resolver ) {
72- val remoteFieldDefaults =
74+ val remoteFields =
7375 resolver.getSymbolsWithAnnotation(" org.wordpress.android.annotation.RemoteFieldDefaultGenerater" )
7476 .toList()
75- .associate { element: KSAnnotated ->
76- element.getAnnotationsByType(RemoteFieldDefaultGenerater ::class )
77- .toList()
78- .first()
79- .let { annotation ->
80- annotation.remoteField to annotation.defaultValue
81- }
82- }
77+ val remoteFieldDefaults = remoteFields
78+ .associate { element: KSAnnotated ->
79+ element.getAnnotationsByType(RemoteFieldDefaultGenerater ::class )
80+ .toList()
81+ .first()
82+ .let { annotation ->
83+ annotation.remoteField to annotation.defaultValue
84+ }
85+ }
8386
8487 RemoteFieldConfigDefaultsBuilder (remoteFieldDefaults).getContent()
8588 .writeTo(
8689 codeGenerator,
8790 aggregating = true ,
91+ originatingKSFiles = remoteFields.map { it.containingFile!! }
8892 )
8993 }
9094
9195 private fun generateFeaturesInDevelopment (resolver : Resolver ) {
92- val featuresInDevelopmentDefaults =
96+ val featuresInDevelopment =
9397 resolver.getSymbolsWithAnnotation(" org.wordpress.android.annotation.FeatureInDevelopment" )
9498 .filterIsInstance<KSClassDeclaration >()
9599 .toList()
96- .map { it.simpleName.asString() }
100+ val featuresInDevelopmentDefaults = featuresInDevelopment
101+ .map { it.simpleName.asString() }
97102
98103 FeaturesInDevelopmentDefaultsBuilder (featuresInDevelopmentDefaults).getContent()
99104 .writeTo(
100105 codeGenerator,
101106 aggregating = true ,
107+ originatingKSFiles = featuresInDevelopment.map { it.containingFile!! }
102108 )
103109 }
104110
@@ -108,6 +114,7 @@ class RemoteConfigProcessor(
108114 ).getContent().writeTo(
109115 codeGenerator,
110116 aggregating = true ,
117+ originatingKSFiles = remoteFeatures.map { it.containingFile!! }
111118 )
112119 }
113120}
0 commit comments