Skip to content

Commit 55199e2

Browse files
committed
fix: do not generate classes if inputs are empty
This commit brings back behaviour from previous, kapt implementation, of not generating classes if inputs for them are empty. This solves the problem of generating classes with empty content in different sourceset, e.g. `androidTest`. You can reproduce such problem in 80a80aa
1 parent 80a80aa commit 55199e2

File tree

1 file changed

+33
-25
lines changed

1 file changed

+33
-25
lines changed

libs/processors/src/main/java/org/wordpress/android/processor/RemoteConfigProcessor.kt

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)