Skip to content

Commit 0a0af2b

Browse files
yigittschuchortdev
authored andcommitted
Add java sources to KSP options
1 parent a7a2754 commit 0a0af2b

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

ksp/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
buildscript {
2-
ext.ksp_version='1.4.20-dev-experimental-20210107'
2+
ext.ksp_version='1.4.20-dev-experimental-20210111'
33
}
44

55
dependencies {

ksp/src/main/kotlin/com/tschuchort/compiletesting/Ksp.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ import com.google.devtools.ksp.KspOptions
88
import com.google.devtools.ksp.processing.KSPLogger
99
import com.google.devtools.ksp.processing.SymbolProcessor
1010
import com.google.devtools.ksp.processing.impl.MessageCollectorBasedKSPLogger
11+
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
1112
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
1213
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
14+
import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot
1315
import org.jetbrains.kotlin.com.intellij.mock.MockProject
1416
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
1517
import org.jetbrains.kotlin.config.CompilerConfiguration
@@ -159,6 +161,12 @@ private class KspCompileTestingComponentRegistrar(
159161
it.deleteRecursively()
160162
it.mkdirs()
161163
}
164+
configuration[CLIConfigurationKeys.CONTENT_ROOTS]
165+
?.filterIsInstance<JavaSourceRoot>()
166+
?.forEach {
167+
this.javaSourceRoots.add(it.file)
168+
}
169+
162170
}.build()
163171

164172
// Temporary until friend-paths is fully supported https://youtrack.jetbrains.com/issue/KT-34102

ksp/src/test/kotlin/com/tschuchort/compiletesting/KspTest.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ class KspTest {
160160
}
161161

162162
@Test
163-
fun canFindSymbols() {
163+
fun findSymbols() {
164164
val javaSource = SourceFile.java(
165165
"JavaSubject.java",
166166
"""
@@ -176,22 +176,22 @@ class KspTest {
176176
""".trimIndent()
177177
)
178178
val result = mutableListOf<String>()
179-
val processor = object: AbstractTestSymbolProcessor() {
179+
val processor = object : AbstractTestSymbolProcessor() {
180180
override fun process(resolver: Resolver) {
181181
resolver.getSymbolsWithAnnotation(
182182
SuppressWarnings::class.java.canonicalName
183183
).filterIsInstance<KSClassDeclaration>()
184-
.forEach{
185-
result.add(it.qualifiedName!!.asString())
186-
}
184+
.forEach {
185+
result.add(it.qualifiedName!!.asString())
186+
}
187187
}
188188
}
189189
val compilation = KotlinCompilation().apply {
190190
sources = listOf(javaSource, kotlinSource)
191191
symbolProcessors += processor
192192
}
193193
compilation.compile()
194-
assertThat(result).containsExactly(
194+
assertThat(result).containsExactlyInAnyOrder(
195195
"JavaSubject", "KotlinSubject"
196196
)
197197
}

0 commit comments

Comments
 (0)