Files
kotlin-fork/compiler/tests-common-new/build.gradle.kts
T
2022-06-29 12:00:01 +00:00

69 lines
1.9 KiB
Kotlin

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())
testCompileOnly(project(":kotlin-reflect-api"))
testRuntimeOnly(project(":kotlin-reflect"))
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"))
testApi(projectTests(":compiler:tests-common-jvm6"))
/*
* 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()