blob: b9cce4af6d4aa004a0104ad26907767941cd51c7 [file]
import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation
plugins {
kotlin("jvm")
id("java-test-fixtures")
id("project-tests-convention")
id("test-inputs-check")
}
dependencies {
implementation(project(":compiler:psi:psi-api"))
implementation(project(":compiler:frontend.java"))
implementation(project(":core:compiler.common"))
implementation(project(":analysis:analysis-api"))
implementation(project(":analysis:decompiled:decompiler-to-file-stubs"))
implementation(project(":analysis:decompiled:decompiler-to-psi"))
implementation(project(":analysis:decompiled:decompiler-native"))
implementation(intellijCore())
implementation(libs.opentelemetry.api)
implementation(libs.caffeine)
testFixturesApi(kotlinTest("junit"))
testFixturesApi(platform(libs.junit.bom))
testFixturesApi(libs.junit.jupiter.api)
testFixturesApi(testFixtures(project(":analysis:analysis-test-framework")))
testRuntimeOnly(libs.junit.jupiter.engine)
testImplementation(testFixtures(project(":compiler:psi:psi-api")))
}
kotlin {
explicitApi()
compilerOptions {
optIn.add("org.jetbrains.kotlin.analysis.api.KaPlatformInterface")
}
@OptIn(ExperimentalAbiValidation::class)
abiValidation {
referenceDumpDir = File("api-unstable")
filters {
exclude.annotatedWith.addAll(
"org.jetbrains.kotlin.analysis.api.KaImplementationDetail",
)
}
}
}
sourceSets {
"main" { projectDefault() }
"test" { none() }
}
projectTests {
testCodebaseTask(dumpDirs = listOf("api", "api-unstable"))
}