@@ -62,12 +62,14 @@ class RemoteConfigProcessor(
6262 }.flatMap { it.toList() }
6363 .toMap()
6464
65- RemoteFeatureConfigDefaultsBuilder (defaults).getContent()
66- .writeTo(
67- codeGenerator,
68- aggregating = true ,
69- originatingKSFiles = remoteFeatures.map { it.containingFile!! }
70- )
65+ if (defaults.isNotEmpty()) {
66+ RemoteFeatureConfigDefaultsBuilder (defaults).getContent()
67+ .writeTo(
68+ codeGenerator,
69+ aggregating = true ,
70+ originatingKSFiles = remoteFeatures.map { it.containingFile!! }
71+ )
72+ }
7173 }
7274
7375 private fun generateRemoteFieldsConfigDefaults (resolver : Resolver ) {
@@ -84,12 +86,14 @@ class RemoteConfigProcessor(
8486 }
8587 }
8688
87- RemoteFieldConfigDefaultsBuilder (remoteFieldDefaults).getContent()
88- .writeTo(
89- codeGenerator,
90- aggregating = true ,
91- originatingKSFiles = remoteFields.map { it.containingFile!! }
92- )
89+ if (remoteFieldDefaults.isNotEmpty()) {
90+ RemoteFieldConfigDefaultsBuilder (remoteFieldDefaults).getContent()
91+ .writeTo(
92+ codeGenerator,
93+ aggregating = true ,
94+ originatingKSFiles = remoteFields.map { it.containingFile!! }
95+ )
96+ }
9397 }
9498
9599 private fun generateFeaturesInDevelopment (resolver : Resolver ) {
@@ -100,21 +104,25 @@ class RemoteConfigProcessor(
100104 val featuresInDevelopmentDefaults = featuresInDevelopment
101105 .map { it.simpleName.asString() }
102106
103- FeaturesInDevelopmentDefaultsBuilder (featuresInDevelopmentDefaults).getContent()
104- .writeTo(
105- codeGenerator,
106- aggregating = true ,
107- originatingKSFiles = featuresInDevelopment.map { it.containingFile!! }
108- )
107+ if (featuresInDevelopmentDefaults.isNotEmpty()) {
108+ FeaturesInDevelopmentDefaultsBuilder (featuresInDevelopmentDefaults).getContent()
109+ .writeTo(
110+ codeGenerator,
111+ aggregating = true ,
112+ originatingKSFiles = featuresInDevelopment.map { it.containingFile!! }
113+ )
114+ }
109115 }
110116
111117 private fun generateRemoteFeatureConfigCheck (remoteFeatures : List <KSAnnotated >) {
112- RemoteFeatureConfigCheckBuilder (
113- remoteFeatures.filterIsInstance<KSClassDeclaration >().map { it.asType(emptyList()).toTypeName() }
114- ).getContent().writeTo(
115- codeGenerator,
116- aggregating = true ,
117- originatingKSFiles = remoteFeatures.map { it.containingFile!! }
118- )
118+ if (remoteFeatures.isNotEmpty()) {
119+ RemoteFeatureConfigCheckBuilder (
120+ remoteFeatures.filterIsInstance<KSClassDeclaration >().map { it.asType(emptyList()).toTypeName() }
121+ ).getContent().writeTo(
122+ codeGenerator,
123+ aggregating = true ,
124+ originatingKSFiles = remoteFeatures.map { it.containingFile!! }
125+ )
126+ }
119127 }
120128}
0 commit comments