blob: bf428a6f9cf32c08dec70606a879be6c1e31f4f5 [file] [log] [blame] [edit]
plugins {
kotlin("jvm")
id("jps-compatible")
id("project-tests-convention")
id("test-inputs-check")
id("share-foreign-java-nullability-annotations")
id("java-test-fixtures")
}
dependencies {
testFixturesApi(project(":compiler:fir:entrypoint"))
testFixturesApi(project(":compiler:fir:fir-serialization"))
testFixturesApi(project(":compiler:fir:fir2ir:jvm-backend"))
testFixturesApi(project(":compiler:cli"))
testFixturesImplementation(project(":compiler:ir.tree"))
testFixturesImplementation(project(":compiler:ir.serialization.native"))
testFixturesImplementation(project(":compiler:backend.jvm.entrypoint"))
testFixturesImplementation(project(":compiler:backend.jvm.lower"))
testFixturesImplementation(project(":kotlin-util-klib-abi"))
testFixturesImplementation(intellijCore())
testFixturesImplementation(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
testRuntimeOnly(project(":core:descriptors.runtime"))
testFixturesImplementation(testFixtures(project(":generators:test-generator")))
testFixturesApi(platform(libs.junit.bom))
testFixturesApi(libs.junit.jupiter.api)
testRuntimeOnly(libs.junit.jupiter.engine)
testFixturesApi(libs.junit.platform.launcher)
testFixturesApi(testFixtures(project(":compiler:test-infrastructure")))
testFixturesApi(testFixtures(project(":compiler:test-infrastructure-utils")))
testFixturesApi(testFixtures(project(":compiler:tests-compiler-utils")))
testFixturesApi(project(":libraries:tools:abi-comparator"))
testFixturesApi(project(":compiler:tests-mutes:mutes-junit5"))
/*
* Actually those dependencies are needed only at runtime, but they
* declared as Api dependencies to propagate them to all modules
* which depend on current one
*/
testFixturesApi(libs.intellij.fastutil)
testFixturesApi(commonDependency("one.util:streamex"))
testFixturesApi(commonDependency("org.jetbrains.intellij.deps.jna:jna"))
testFixturesApi(jpsModel()) { isTransitive = false }
testFixturesApi(jpsModelImpl()) { isTransitive = false }
testFixturesApi(libs.junit4)
testFixturesApi(toolsJarApi())
testRuntimeOnly(toolsJar())
jakartaAnnotationsClasspath(commonDependency("jakarta.annotation", "jakarta.annotation-api"))
}
optInToExperimentalCompilerApi()
optInToUnsafeDuringIrConstructionAPI()
optInToK1Deprecation()
tasks.processTestFixturesResources.configure {
from(project(":compiler").layout.projectDirectory.dir("testData")) {
include("/diagnostics/helpers/**")
include("/codegen/helpers/**")
include("/ir/interpreter/helpers/**")
}
into("stdlib") {
from(project(":kotlin-stdlib").layout.projectDirectory.dir("src/kotlin")) {
into("src/kotlin")
include("ranges/Progressions.kt")
include("ranges/ProgressionIterators.kt")
include("internal/progressionUtil.kt")
include("text/regex/MatchResult.kt")
include("collections/Sequence.kt")
include("annotations/WasExperimental.kt")
include("annotations/ExperimentalStdlibApi.kt")
include("annotations/OptIn.kt")
include("internal/Annotations.kt")
include("experimental/inferenceMarker.kt")
}
from(project(":kotlin-stdlib").layout.projectDirectory.dir("unsigned/src/kotlin")) {
into("unsigned/src/kotlin")
}
from(project(":kotlin-stdlib").layout.projectDirectory.dir("jvm/src/kotlin")) {
into("jvm/src/kotlin")
include("util/UnsignedJVM.kt")
include("collections/TypeAliases.kt")
include("reflect/**")
}
from(project(":kotlin-stdlib").layout.projectDirectory.dir("jvm/runtime/kotlin")) {
into("jvm/runtime/kotlin")
include("TypeAliases.kt")
include("text/TypeAliases.kt")
include("jvm/annotations/JvmPlatformAnnotations.kt")
}
}
}
sourceSets {
"main" { none() }
"test" {
projectDefault()
generatedTestDir()
}
"testFixtures" { projectDefault() }
}
projectTests {
testData(project(":compiler").isolated, "testData/diagnostics")
testData(project(":compiler").isolated, "testData/codegen")
testData(project(":compiler").isolated, "testData/debug")
testData(project(":compiler").isolated, "testData/ir")
testData(project(":compiler").isolated, "testData/klib")
withJvmStdlibAndReflect()
withStdlibCommon()
withScriptRuntime()
withTestJar()
withAnnotations()
withScriptingPlugin()
withStdlibJsRuntime()
withTestJsRuntime()
withMockJdkRuntime()
withMockJDKModifiedRuntime()
withMockJdkAnnotationsJar()
withThirdPartyAnnotations()
withThirdPartyJava8Annotations()
withThirdPartyJava9Annotations()
withThirdPartyJsr305()
testTask(
jUnitMode = JUnitMode.JUnit5,
defineJDKEnvVariables = listOf(
JdkMajorVersion.JDK_1_8,
JdkMajorVersion.JDK_11_0, // e.g. org.jetbrains.kotlin.test.runners.ForeignAnnotationsCompiledJavaTestGenerated.Java11Tests
JdkMajorVersion.JDK_17_0,
JdkMajorVersion.JDK_21_0, // e.g. org.jetbrains.kotlin.test.runners.codegen.FirLightTreeBlackBoxModernJdkCodegenTestGenerated.TestsWithJava21
)
)
testGenerator("org.jetbrains.kotlin.test.TestGeneratorForTestCommonNewKt")
}
testsJarToBeUsedAlongWithFixtures()