93 lines
3.2 KiB
Kotlin
93 lines
3.2 KiB
Kotlin
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
|
|
|
plugins {
|
|
kotlin("jvm")
|
|
id("jps-compatible")
|
|
}
|
|
|
|
dependencies {
|
|
testRuntime(intellijDep())
|
|
|
|
compile(kotlinStdlib())
|
|
compile(project(":idea:idea-core"))
|
|
compile(project(":j2k"))
|
|
compile(project(":compiler:frontend"))
|
|
compile(project(":compiler:frontend.java"))
|
|
compile(project(":compiler:light-classes"))
|
|
compile(project(":compiler:util"))
|
|
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
|
|
|
testCompile(project(":idea"))
|
|
testCompile(projectTests(":j2k"))
|
|
testCompile(project(":nj2k:nj2k-services"))
|
|
testCompile(projectTests(":idea:idea-test-framework"))
|
|
testCompile(project(":compiler:light-classes"))
|
|
testCompile(project(":kotlin-test:kotlin-test-junit"))
|
|
testCompile(commonDep("junit:junit"))
|
|
|
|
when {
|
|
Ide.IJ181.orHigher() || Ide.AS33.orHigher() -> testCompileOnly(intellijDep()) { includeJars("platform-api", "platform-impl") }
|
|
Ide.AS32() -> testCompileOnly(intellijDep()) { includeJars("idea") }
|
|
}
|
|
testCompile(project(":idea:idea-native")) { isTransitive = false }
|
|
testCompile(project(":idea:idea-gradle-native")) { isTransitive = false }
|
|
|
|
testRuntime(project(":kotlin-native:kotlin-native-library-reader")) { isTransitive = false }
|
|
testRuntime(project(":kotlin-native:kotlin-native-utils")) { isTransitive = false }
|
|
testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false }
|
|
testRuntime(project(":idea:idea-jvm"))
|
|
testRuntime(project(":idea:idea-android"))
|
|
testRuntime(project(":plugins:android-extensions-ide"))
|
|
testRuntime(project(":sam-with-receiver-ide-plugin"))
|
|
testRuntime(project(":allopen-ide-plugin"))
|
|
testRuntime(project(":noarg-ide-plugin"))
|
|
testRuntime(project(":kotlin-scripting-idea"))
|
|
testRuntime(project(":kotlinx-serialization-ide-plugin"))
|
|
testRuntime(intellijPluginDep("properties"))
|
|
testRuntime(intellijPluginDep("gradle"))
|
|
testRuntime(intellijPluginDep("Groovy"))
|
|
testRuntime(intellijPluginDep("coverage"))
|
|
Ide.IJ {
|
|
testRuntime(intellijPluginDep("maven"))
|
|
}
|
|
testRuntime(intellijPluginDep("android"))
|
|
testRuntime(intellijPluginDep("smali"))
|
|
testRuntime(intellijPluginDep("junit"))
|
|
testRuntime(intellijPluginDep("testng"))
|
|
testRuntime(intellijPluginDep("IntelliLang"))
|
|
testRuntime(intellijPluginDep("testng"))
|
|
testRuntime(intellijPluginDep("copyright"))
|
|
testRuntime(intellijPluginDep("properties"))
|
|
testRuntime(intellijPluginDep("java-i18n"))
|
|
testRuntime(intellijPluginDep("java-decompiler"))
|
|
testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false }
|
|
}
|
|
|
|
sourceSets {
|
|
"main" { projectDefault() }
|
|
"test" { projectDefault() }
|
|
}
|
|
|
|
projectTest {
|
|
dependsOn(":dist")
|
|
workingDir = rootDir
|
|
}
|
|
|
|
|
|
testsJar()
|
|
|
|
configureFreeCompilerArg(true, "-Xeffect-system")
|
|
configureFreeCompilerArg(true, "-Xnew-inference")
|
|
|
|
fun configureFreeCompilerArg(isEnabled: Boolean, compilerArgument: String) {
|
|
if (isEnabled) {
|
|
allprojects {
|
|
tasks.withType<KotlinCompile<*>> {
|
|
kotlinOptions {
|
|
freeCompilerArgs += listOf(compilerArgument)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|