blob: a8ee43e850de42918d8d184865e912ce74c5a39e [file] [log] [blame] [edit]
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
description = "Kotlin compiler client embeddable"
buildscript {
repositories {
jcenter()
}
dependencies {
classpath("com.github.jengelman.gradle.plugins:shadow:${property("versions.shadow")}")
}
}
plugins {
maven
}
apply { plugin("kotlin") }
val jarContents by configurations.creating
val testRuntimeCompilerJar by configurations.creating
val testStdlibJar by configurations.creating
val testScriptRuntimeJar by configurations.creating
val archives by configurations
val projectsToInclude = listOf(
":compiler:cli-common",
":compiler:daemon-common",
":kotlin-daemon-client")
dependencies {
projectsToInclude.forEach {
jarContents(project(it)) { isTransitive = false }
testCompile(project(it))
}
testCompile(commonDep("junit:junit"))
testCompile(projectDist(":kotlin-test:kotlin-test-jvm"))
testCompile(projectDist(":kotlin-test:kotlin-test-junit"))
testRuntimeCompilerJar(projectDist(":kotlin-compiler"))
testStdlibJar(projectDist(":kotlin-stdlib"))
testScriptRuntimeJar(projectDist(":kotlin-script-runtime"))
}
sourceSets {
"main" {}
"test" {
// TODO: move closer
java.srcDir("../../libraries/tools/kotlin-compiler-client-embeddable-test/src")
}
}
projectTest {
dependsOnTaskIfExistsRec("dist", project = rootProject)
workingDir = File(rootDir, "libraries/tools/kotlin-compiler-client-embeddable-test/src")
doFirst {
systemProperty("kotlin.test.script.classpath", the<JavaPluginConvention>().sourceSets.getByName("test").output.classesDirs.joinToString(File.pathSeparator))
systemProperty("compilerJar", testRuntimeCompilerJar.singleFile.canonicalPath)
systemProperty("stdlibJar", testStdlibJar.singleFile.canonicalPath)
systemProperty("scriptRuntimeJar", testScriptRuntimeJar.singleFile.canonicalPath)
}
}
archives.artifacts.let { artifacts ->
artifacts.forEach {
if (it.type == "jar") {
artifacts.remove(it)
}
}
}
runtimeJar(task<ShadowJar>("shadowJar")) {
from(jarContents)
}
sourcesJar()
javadocJar()
publish()