Skip to content

Commit 8046eab

Browse files
authored
Merge pull request #56 from sourcegraph/nsc/kotlin-1.8
bump kotlin + compiler api dependency to 1.8.21
2 parents e6729a9 + 17675c5 commit 8046eab

File tree

6 files changed

+15
-8
lines changed

6 files changed

+15
-8
lines changed

build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ import groovy.lang.Closure
44
import org.gradle.jvm.toolchain.internal.CurrentJvmToolchainSpec
55

66
plugins {
7-
kotlin("jvm") version "1.5.30"
7+
kotlin("jvm") version "1.8.21"
88
id("com.github.johnrengelman.shadow") version "7.1.0"
99
id("com.palantir.git-version") version "0.12.3"
1010
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
1111
id("com.diffplug.spotless") version "5.17.1"
1212
}
1313

14-
1514
val versionDetails: Closure<VersionDetails> by extra
1615

1716
allprojects {

semanticdb-kotlinc/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ dependencies {
3535
testImplementation(kotlin("compiler-embeddable"))
3636
testImplementation(kotlin("test"))
3737
testImplementation("io.kotest", "kotest-assertions-core", "4.6.3")
38-
testImplementation("com.github.tschuchortdev", "kotlin-compile-testing", "1.4.0")
38+
testImplementation("com.github.tschuchortdev", "kotlin-compile-testing", "1.5.0")
3939
testImplementation("org.junit.jupiter", "junit-jupiter-params", "5.8.1")
4040
testImplementation("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", "1.5.0") {
4141
version {

semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCommandLineProcessor.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import java.nio.file.Paths
55
import org.jetbrains.kotlin.compiler.plugin.AbstractCliOption
66
import org.jetbrains.kotlin.compiler.plugin.CliOption
77
import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
8+
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
89
import org.jetbrains.kotlin.config.CompilerConfiguration
910
import org.jetbrains.kotlin.config.CompilerConfigurationKey
1011

@@ -14,6 +15,7 @@ val KEY_SOURCES = CompilerConfigurationKey<Path>(VAL_SOURCES)
1415
const val VAL_TARGET = "targetroot"
1516
val KEY_TARGET = CompilerConfigurationKey<Path>(VAL_TARGET)
1617

18+
@OptIn(ExperimentalCompilerApi::class)
1719
class AnalyzerCommandLineProcessor : CommandLineProcessor {
1820
override val pluginId: String = "semanticdb-kotlinc"
1921
override val pluginOptions: Collection<AbstractCliOption> =

semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import java.lang.IllegalArgumentException
44
import kotlin.contracts.ExperimentalContracts
55
import org.jetbrains.kotlin.com.intellij.mock.MockProject
66
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
7+
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
78
import org.jetbrains.kotlin.config.CompilerConfiguration
89
import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
910

11+
@OptIn(ExperimentalCompilerApi::class)
1012
@ExperimentalContracts
1113
class AnalyzerRegistrar(private val callback: (Semanticdb.TextDocument) -> Unit = {}) :
1214
ComponentRegistrar {

semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ import kotlin.contracts.ExperimentalContracts
1919
import kotlin.test.Test
2020
import kotlin.test.assertEquals
2121
import org.intellij.lang.annotations.Language
22+
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
2223
import org.junit.jupiter.api.io.TempDir
2324

25+
@OptIn(ExperimentalCompilerApi::class)
2426
@ExperimentalContracts
2527
class AnalyzerTest {
26-
2728
fun compileSemanticdb(path: Path, @Language("kotlin") code: String): TextDocument {
2829
val buildPath = File(path.resolve("build").toString()).apply { mkdir() }
2930
val source = SourceFile.testKt(code)
@@ -33,7 +34,7 @@ class AnalyzerTest {
3334
KotlinCompilation()
3435
.apply {
3536
sources = listOf(source)
36-
compilerPlugins = listOf(AnalyzerRegistrar { document = it })
37+
componentRegistrars = listOf(AnalyzerRegistrar { document = it })
3738
verbose = false
3839
pluginOptions =
3940
listOf(
@@ -128,7 +129,7 @@ class AnalyzerTest {
128129
KotlinCompilation()
129130
.apply {
130131
sources = listOf(SourceFile.testKt(""))
131-
compilerPlugins = listOf(AnalyzerRegistrar { throw Exception("sample text") })
132+
componentRegistrars = listOf(AnalyzerRegistrar { throw Exception("sample text") })
132133
verbose = false
133134
pluginOptions =
134135
listOf(
@@ -565,7 +566,7 @@ class AnalyzerTest {
565566
KotlinCompilation()
566567
.apply {
567568
sources = listOf(source)
568-
compilerPlugins = listOf(AnalyzerRegistrar())
569+
componentRegistrars = listOf(AnalyzerRegistrar())
569570
verbose = false
570571
pluginOptions =
571572
listOf(

semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.analyzer.AnalysisResult
1414
import org.jetbrains.kotlin.com.intellij.mock.MockProject
1515
import org.jetbrains.kotlin.com.intellij.openapi.project.Project
1616
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
17+
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
1718
import org.jetbrains.kotlin.config.CompilerConfiguration
1819
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
1920
import org.jetbrains.kotlin.psi.KtFile
@@ -96,6 +97,7 @@ fun checkContainsExpectedSemanticdb(
9697
assertSoftly(document.symbolsList) { expectedSymbols?.let { this.shouldContainInOrder(it) } }
9798
}
9899

100+
@OptIn(ExperimentalCompilerApi::class)
99101
@ExperimentalContracts
100102
private fun configureTestCompiler(
101103
source: SourceFile,
@@ -111,10 +113,11 @@ private fun configureTestCompiler(
111113
}
112114

113115
val analyzer = semanticdbVisitorAnalyzer(globals, locals, compilation.workingDir.toPath(), hook)
114-
compilation.apply { compilerPlugins = listOf(analyzer) }
116+
compilation.apply { componentRegistrars = listOf(analyzer) }
115117
return compilation
116118
}
117119

120+
@OptIn(ExperimentalCompilerApi::class)
118121
@ExperimentalContracts
119122
fun semanticdbVisitorAnalyzer(
120123
globals: GlobalSymbolsCache,

0 commit comments

Comments
 (0)