Build: Use project dependency via configuration to build kotlin-plugin

Using configuration allows us to embed fat jars
Removed unnecessary shadowJar task, unnecessary unless relocation is required
This commit is contained in:
Vyacheslav Gerasimov
2019-03-13 21:02:03 +03:00
parent 3ba48f219c
commit 4ff1506161
+8 -9
View File
@@ -1,6 +1,3 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.jvm.tasks.Jar
description = "Kotlin IDEA plugin" description = "Kotlin IDEA plugin"
plugins { plugins {
@@ -78,6 +75,9 @@ val packedJars by configurations.creating
val sideJars by configurations.creating val sideJars by configurations.creating
dependencies { dependencies {
projectsToShadow.forEach {
packedJars(project(it)) { isTransitive = false }
}
packedJars(protobufFull()) packedJars(protobufFull())
packedJars(kotlinBuiltins()) packedJars(kotlinBuiltins())
sideJars(project(":kotlin-script-runtime")) sideJars(project(":kotlin-script-runtime"))
@@ -93,13 +93,12 @@ dependencies {
sideJars(commonDep("org.jetbrains", "markdown")) { isTransitive = false } sideJars(commonDep("org.jetbrains", "markdown")) { isTransitive = false }
} }
val jar = runtimeJar(task<ShadowJar>("shadowJar")) { val jar = runtimeJar {
from(files("$rootDir/resources/kotlinManifest.properties")) from("$rootDir/resources/kotlinManifest.properties")
from(packedJars) from {
for (p in projectsToShadow) { packedJars.files.map(::zipTree)
dependsOn("$p:classes")
from(getSourceSetsFrom(p)["main"].output)
} }
archiveName = "kotlin-plugin.jar" archiveName = "kotlin-plugin.jar"
} }