blob: 7e1c36493514d048e31d5ab87321756a89e4a50a [file] [log] [blame] [edit]
import org.jetbrains.kotlin.ideaExt.idea
plugins {
kotlin("jvm")
id("jps-compatible")
}
dependencies {
testApi(project(":compiler:fir:entrypoint"))
testApi(project(":compiler:cli"))
testImplementation(project(":compiler:ir.tree"))
testImplementation(project(":compiler:backend.jvm.entrypoint"))
testImplementation(project(":compiler:backend.jvm.lower"))
testImplementation(intellijCore())
testRuntimeOnly(project(":core:descriptors.runtime"))
testImplementation(projectTests(":generators:test-generator"))
testApiJUnit5()
testApi(projectTests(":compiler:test-infrastructure"))
testApi(projectTests(":compiler:test-infrastructure-utils"))
testApi(projectTests(":compiler:tests-compiler-utils"))
/*
* 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
*/
testApi(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil"))
testApi(commonDependency("one.util:streamex"))
testApi(commonDependency("net.java.dev.jna:jna"))
testApi(jpsModel()) { isTransitive = false }
testApi(jpsModelImpl()) { isTransitive = false }
testApi(intellijJavaRt())
testApi(toolsJar())
}
optInToExperimentalCompilerApi()
val generationRoot = projectDir.resolve("tests-gen")
sourceSets {
"main" { none() }
"test" {
projectDefault()
this.java.srcDir(generationRoot.name)
}
}
if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
apply(plugin = "idea")
idea {
this.module.generatedSourceDirs.add(generationRoot)
}
}
projectTest(jUnitMode = JUnitMode.JUnit5) {
dependsOn(":dist")
workingDir = rootDir
useJUnitPlatform()
}
testsJar()