blob: a2d874a5e5e04933eb965a2f5b97c069aa1e32e2 [file] [edit]
plugins {
id("common-configuration")
id("test-federation-convention")
id("com.autonomousapps.dependency-analysis")
kotlin("jvm")
id("project-tests-convention")
id("test-inputs-check-v2")
id("java-test-fixtures")
}
dependencies {
testFixturesApi(testFixtures(project(":generators:test-generator")))
testFixturesApi(testFixtures(project(":compiler:tests-integration")))
testFixturesImplementation(project(":compiler:cli-jklib"))
testFixturesImplementation(project(":compiler:ir.serialization.jklib"))
testFixturesApi("org.junit.jupiter:junit-jupiter")
testImplementation(project(":compiler:cli-jklib"))
testImplementation(project(":compiler:cli-jvm"))
testImplementation(testFixtures(project(":compiler:tests-integration")))
testImplementation(testFixtures(project(":compiler:tests-common")))
testImplementation(testFixtures(project(":compiler:tests-compiler-utils")))
testImplementation("org.junit.jupiter:junit-jupiter")
}
sourceSets {
"main" { }
"test" { projectDefault() }
"testFixtures" { projectDefault() }
}
projectTests {
testData(project(":compiler").isolated, "testData/ir/irText")
testData(rootProject.isolated, "third-party/mockJDKs/mockJDK")
withJvmStdlibAndReflect()
withMockJdkRuntime()
withMockJdkAnnotationsJar()
withThirdPartyJava8Annotations()
withThirdPartyJsr305()
testTask(
jUnitMode = JUnitMode.JUnit5,
defineJDKEnvVariables = listOf(JdkMajorVersion.JDK_1_8, JdkMajorVersion.JDK_11_0, JdkMajorVersion.JDK_17_0)
) {
val klibProvider = objects.newInstance<SystemPropertyClasspathProvider>().apply {
property.set("kotlin.stdlib.jklib.for.test")
classpath.from(stdlibJvmIr.elements.map { it.filter { it.asFile.name.endsWith(".klib") } })
}
jvmArgumentProviders.add(klibProvider)
}
testGenerator("org.jetbrains.kotlin.generators.tests.GenerateJklibTestsKt", generateTestsInBuildDirectory = true)
}
val stdlibJvmIr by configurations.creating {
isCanBeConsumed = false
isCanBeResolved = true
}
dependencies {
stdlibJvmIr(project(":kotlin-stdlib-jklib-for-test", configuration = "distMinimalJKlib"))
testRuntimeOnly(files(stdlibJvmIr))
}
tasks.named("generateTestsWriteClassPath") {
inputs.files(stdlibJvmIr)
}