blob: 5a88dcbe90485f92378bdb67dab1028353e2031b [file]
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
plugins {
kotlin("jvm")
id("project-tests-convention")
}
project.updateJvmTarget("1.8")
val allTestsRuntime by configurations.creating
val testApi by configurations
testApi.extendsFrom(allTestsRuntime)
val embeddableTestRuntime by configurations.creating {
extendsFrom(allTestsRuntime)
attributes {
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
}
}
dependencies {
allTestsRuntime(libs.junit4)
testApi(kotlinStdlib("jdk8"))
testApi(project(":kotlin-scripting-ide-services-unshaded"))
testApi(project(":kotlin-scripting-compiler"))
testApi(project(":kotlin-scripting-dependencies-maven"))
testApi(project(":compiler:cli"))
testImplementation(libs.kotlinx.coroutines.core)
testImplementation(libs.kotlinx.coroutines.core.jvm)
testImplementation(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
testImplementation(project(":analysis:decompiled:decompiler-to-psi"))
testImplementation(project(":analysis:decompiled:decompiler-to-file-stubs"))
testImplementation(intellijCore())
testImplementation(testFixtures(project(":analysis:decompiled:decompiler-to-file-stubs")))
testRuntimeOnly(project(":kotlin-compiler"))
testRuntimeOnly(project(":kotlin-scripting-ide-common")) { isTransitive = false }
embeddableTestRuntime(project(":compiler:tests-mutes:mutes-junit4"))
embeddableTestRuntime(project(":kotlin-scripting-ide-services"))
embeddableTestRuntime(project(":kotlin-scripting-compiler-impl-embeddable"))
embeddableTestRuntime(project(":kotlin-scripting-dependencies"))
embeddableTestRuntime(project(":kotlin-scripting-dependencies-maven-all"))
embeddableTestRuntime(kotlinStdlib("jdk8"))
embeddableTestRuntime(testSourceSet.output)
embeddableTestRuntime(libs.kotlinx.coroutines.core)
embeddableTestRuntime(libs.kotlinx.coroutines.core.jvm)
}
sourceSets {
"main" {}
"test" { projectDefault() }
}
tasks.withType<KotlinJvmCompile>().configureEach {
compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package")
}
projectTests {
testTask(jUnitMode = JUnitMode.JUnit4) {
dependsOn(":kotlin-compiler:distKotlinc")
workingDir = rootDir
doFirst {
systemProperty("kotlin.script.base.compiler.arguments", "-language-version 1.9")
}
}
// This doesn;t work now due to conflicts between embeddable compiler contents and intellij sdk modules
// To make it work, the dependencies to the intellij sdk should be eliminated
testTask("embeddableTest", jUnitMode = JUnitMode.JUnit4, skipInLocalBuild = false) {
workingDir = rootDir
dependsOn(embeddableTestRuntime)
classpath = embeddableTestRuntime
exclude("**/JvmReplIdeTest.class")
doFirst {
systemProperty("kotlin.script.base.compiler.arguments", "-language-version 1.9")
}
}
}