blob: 54edbf79f85ff59e081277b24af9116d18824cc7 [file] [log] [blame] [edit]
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
plugins {
kotlin("jvm")
id("jps-compatible")
id("org.jetbrains.kotlinx.binary-compatibility-validator")
id("project-tests-convention")
}
kotlin {
explicitApiWarning()
}
dependencies {
compileOnly(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
compileOnly(project(":compiler:psi:psi-api"))
implementation(project(":compiler:backend"))
compileOnly(project(":core:compiler.common"))
compileOnly(project(":core:compiler.common.jvm"))
compileOnly(project(":core:compiler.common.js"))
implementation(project(":analysis:analysis-internal-utils"))
implementation(project(":analysis:kt-references"))
api(intellijCore())
api(libs.intellij.asm)
api(libs.guava)
testApi(platform(libs.junit.bom))
testImplementation(libs.junit.jupiter.api)
testRuntimeOnly(libs.junit.jupiter.engine)
testImplementation(testFixtures(project(":compiler:psi:psi-api")))
testImplementation(testFixtures(project(":compiler:tests-common")))
}
kotlin {
explicitApi()
}
sourceSets {
"main" { projectDefault() }
"test" { projectDefault() }
}
apiValidation {
nonPublicMarkers += listOf(
"org.jetbrains.kotlin.analysis.api.KaImplementationDetail",
"org.jetbrains.kotlin.analysis.api.KaNonPublicApi",
"org.jetbrains.kotlin.analysis.api.KaIdeApi",
"org.jetbrains.kotlin.analysis.api.KaExperimentalApi",
"org.jetbrains.kotlin.analysis.api.KaPlatformInterface", // Platform interface is not stable yet
"org.jetbrains.kotlin.analysis.api.KaContextParameterApi",
)
}
testsJar()
projectTests {
testTask(jUnitMode = JUnitMode.JUnit5) {
workingDir = rootDir
}
withJvmStdlibAndReflect()
}