Build: Use embedded configuration in kotlin-main-kts project

This commit is contained in:
Vyacheslav Gerasimov
2019-04-18 21:15:12 +03:00
parent 9a4cf2d835
commit a6e3a0f5c3
@@ -15,9 +15,8 @@ val shrink =
val jarBaseName = property("archivesBaseName") as String val jarBaseName = property("archivesBaseName") as String
val fatJarContents by configurations.creating
val proguardLibraryJars by configurations.creating val proguardLibraryJars by configurations.creating
val fatJar by configurations.creating
val default by configurations val default by configurations
val runtimeJar by configurations.creating val runtimeJar by configurations.creating
@@ -34,15 +33,15 @@ val projectsDependencies = listOf(
dependencies { dependencies {
projectsDependencies.forEach { projectsDependencies.forEach {
compileOnly(project(it)) compileOnly(project(it))
fatJarContents(project(it)) { isTransitive = false } embedded(project(it)) { isTransitive = false }
testCompile(project(it)) testCompile(project(it))
} }
compileOnly("org.apache.ivy:ivy:2.4.0") compileOnly("org.apache.ivy:ivy:2.4.0")
runtime(project(":kotlin-compiler-embeddable")) runtime(project(":kotlin-compiler-embeddable"))
runtime(project(":kotlin-scripting-compiler-embeddable")) runtime(project(":kotlin-scripting-compiler-embeddable"))
runtime(project(":kotlin-reflect")) runtime(project(":kotlin-reflect"))
fatJarContents("org.apache.ivy:ivy:2.4.0") embedded("org.apache.ivy:ivy:2.4.0")
fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } embedded(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
proguardLibraryJars(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"), proguardLibraryJars(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"),
firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"), firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"),
toolsJar())) toolsJar()))
@@ -63,14 +62,14 @@ val mainKtsRootPackage = "org.jetbrains.kotlin.mainKts"
val mainKtsRelocatedDepsRootPackage = "$mainKtsRootPackage.relocatedDeps" val mainKtsRelocatedDepsRootPackage = "$mainKtsRootPackage.relocatedDeps"
val packJar by task<ShadowJar> { val packJar by task<ShadowJar> {
configurations = listOf(fatJar) configurations = emptyList()
duplicatesStrategy = DuplicatesStrategy.EXCLUDE duplicatesStrategy = DuplicatesStrategy.EXCLUDE
destinationDir = File(buildDir, "libs") destinationDir = File(buildDir, "libs")
setupPublicJar(project.the<BasePluginConvention>().archivesBaseName, "before-proguard") setupPublicJar(project.the<BasePluginConvention>().archivesBaseName, "before-proguard")
from(mainSourceSet.output) from(mainSourceSet.output)
from(fatJarContents) from(project.configurations.embedded)
// don't add this files to resources classpath to avoid IDE exceptions on kotlin project // don't add this files to resources classpath to avoid IDE exceptions on kotlin project
from("jar-resources") from("jar-resources")