From 5072cb63d3d99fc90bc7541a256f714a4f4554b1 Mon Sep 17 00:00:00 2001 From: LepilkinaElena Date: Thu, 10 Oct 2019 12:44:39 +0300 Subject: [PATCH] Merge all jars with compiler dependencies in one (#3448) --- build.gradle | 75 +++++++++++++++++++---------------------------- cmd/run_konan | 22 ++------------ cmd/run_konan.bat | 22 ++------------ 3 files changed, 34 insertions(+), 85 deletions(-) diff --git a/build.gradle b/build.gradle index 71ea279c3db..1ec1fd766f6 100644 --- a/build.gradle +++ b/build.gradle @@ -226,35 +226,44 @@ task distSources { dependsOn(distEndorsedSources) } -task distCompiler(type: Copy) { +def jarContent(def jarTask, FileTree baseFileTree) { + jarTask.from { + baseFileTree + .matching { include("*.jar") } + .collect { zipTree("${it.absolutePath}") } + } +} + +task mergeJars(type: Jar) { dependsOn ':backend.native:jar' dependsOn ':utilities:jar' dependsOn ':klib:jar' dependsOn ':sharedJar' dependsOn ':endorsedLibraries:jvmJar' + archiveFileName = 'kotlin-native.jar' + destinationDirectory = file("$distDir/konan/lib") + + jarContent(it, project(':backend.native').fileTree('build/libs')) + jarContent(it, project('Interop').fileTree('Runtime/build/libs')) + jarContent(it, project('Interop').fileTree('Indexer/build/libs')) + jarContent(it, project('Interop').fileTree('StubGenerator/build/libs')) + jarContent(it, project(':backend.native').fileTree('build/external_jars')) + jarContent(it, project(':utilities').fileTree('build/libs')) + + jarContent(it, project(':klib').fileTree('build/libs')) + jarContent(it, project(':endorsedLibraries:kotlinx.cli').fileTree('build/libs')) + jarContent(it, fileTree("${gradle.includedBuild('kotlin-native-shared').projectDir}/build/libs")) + jarContent(it, fileTree("${gradle.includedBuild('konan.metadata').projectDir}/build/libs")) + jarContent(it, fileTree("${gradle.includedBuild('konan.serializer').projectDir}/build/libs")) + +} + +task distCompiler(type: Copy) { + dependsOn ':mergeJars' + destinationDir distDir - from(project(':backend.native').file('build/libs')) { - into('konan/lib') - } - - from(project('Interop').file('Runtime/build/libs')) { - into('konan/lib') - } - - from(project('Interop').file('Indexer/build/libs')) { - into('konan/lib') - } - - from(project('Interop').file('StubGenerator/build/libs')) { - into('konan/lib') - } - - from(project(':backend.native').file('build/external_jars')) { - into('konan/lib') - } - from(project(':backend.native').file("build/nativelibs/$hostName")) { into('konan/nativelib') } @@ -283,30 +292,6 @@ task distCompiler(type: Copy) { into('tools') } - from(project(':utilities').file('build/libs')) { - into('konan/lib') - } - - from(project(':klib').file('build/libs')) { - into('konan/lib') - } - - from(project(':endorsedLibraries:kotlinx.cli').file('build/libs')) { - into('konan/lib') - } - - from(file("${gradle.includedBuild('kotlin-native-shared').projectDir}/build/libs")) { - into('konan/lib') - } - - from(file("${gradle.includedBuild('konan.metadata').projectDir}/build/libs")) { - into('konan/lib') - } - - from(file("${gradle.includedBuild('konan.serializer').projectDir}/build/libs")) { - into('konan/lib') - } - from(file('cmd')) { fileMode(0755) into('bin') diff --git a/cmd/run_konan b/cmd/run_konan index fc28d1df247..b9daa2f8d08 100755 --- a/cmd/run_konan +++ b/cmd/run_konan @@ -77,26 +77,8 @@ while IFS=$'\r' read -r line || [[ -n "$line" ]]; do unset $line done < "${KONAN_HOME}/tools/env_blacklist" -KONAN_JAR="${KONAN_HOME}/konan/lib/backend.native.jar" -KOTLIN_JAR="${KONAN_HOME}/konan/lib/kotlin-compiler.jar" -KOTLIN_STDLIB_JAR="${KONAN_HOME}/konan/lib/kotlin-stdlib.jar" -KOTLIN_REFLECT_JAR="${KONAN_HOME}/konan/lib/kotlin-reflect.jar" -KOTLIN_SCRIPT_RUNTIME_JAR="${KONAN_HOME}/konan/lib/kotlin-script-runtime.jar" -STUB_GENERATOR_JAR="${KONAN_HOME}/konan/lib/StubGenerator.jar" -INTEROP_INDEXER_JAR="${KONAN_HOME}/konan/lib/Indexer.jar" -INTEROP_JAR="${KONAN_HOME}/konan/lib/Runtime.jar" -SHARED_JAR="${KONAN_HOME}/konan/lib/shared.jar" -EXTRACTED_METADATA_JAR="${KONAN_HOME}/konan/lib/konan.metadata.jar" -EXTRACTED_SERIALIZER_JAR="${KONAN_HOME}/konan/lib/konan.serializer.jar" -KLIB_JAR="${KONAN_HOME}/konan/lib/klib.jar" -KOTLINX_CLI_JAR="${KONAN_HOME}/konan/lib/kotlinx.cli-jvm.jar" -UTILITIES_JAR="${KONAN_HOME}/konan/lib/utilities.jar" -NATIVE_UTILS_JAR="${KONAN_HOME}/konan/lib/kotlin-native-utils.jar" -UTIL_IO_JAR="${KONAN_HOME}/konan/lib/kotlin-util-io.jar" -UTIL_KLIB_JAR="${KONAN_HOME}/konan/lib/kotlin-util-klib.jar" -UTIL_KLIB_METADATA_JAR="${KONAN_HOME}/konan/lib/kotlin-util-klib-metadata.jar" -TROVE_JAR="${KONAN_HOME}/konan/lib/trove4j.jar" -KONAN_CLASSPATH="$KOTLIN_JAR:$KOTLIN_STDLIB_JAR:$KOTLIN_REFLECT_JAR:$KOTLIN_SCRIPT_RUNTIME_JAR:$INTEROP_JAR:$STUB_GENERATOR_JAR:$INTEROP_INDEXER_JAR:$KONAN_JAR:$KLIB_JAR:$UTILITIES_JAR:$SHARED_JAR:$EXTRACTED_METADATA_JAR:$EXTRACTED_SERIALIZER_JAR:$NATIVE_UTILS_JAR:$TROVE_JAR:$UTIL_IO_JAR:$UTIL_KLIB_JAR:$UTIL_KLIB_METADATA_JAR:$KOTLINX_CLI_JAR" +KONAN_JAR="${KONAN_HOME}/konan/lib/kotlin-native.jar" +KONAN_CLASSPATH="$KONAN_JAR" TOOL_CLASS=org.jetbrains.kotlin.cli.utilities.MainKt LIBCLANG_DISABLE_CRASH_RECOVERY=1 \ diff --git a/cmd/run_konan.bat b/cmd/run_konan.bat index 6cf4f0c5d0c..909d722430f 100644 --- a/cmd/run_konan.bat +++ b/cmd/run_konan.bat @@ -54,27 +54,9 @@ if not "!ARG!" == "" ( set "NATIVE_LIB=%_KONAN_HOME%\konan\nativelib" set "KONAN_LIB=%_KONAN_HOME%\konan\lib" -set "SHARED_JAR=%KONAN_LIB%\shared.jar" -set "KOTLINX_CLI_JAR=%KONAN_LIB%\kotlinx.cli-jvm.jar" -set "EXTRACTED_METADATA_JAR=%KONAN_LIB%\konan.metadata.jar" -set "EXTRACTED_SERIALIZER_JAR=%KONAN_LIB%\konan.serializer.jar" -set "INTEROP_INDEXER_JAR=%KONAN_LIB%\Indexer.jar" -set "INTEROP_RUNTIME_JAR=%KONAN_LIB%\Runtime.jar" -set "KLIB_JAR=%KONAN_LIB%\klib.jar" -set "KONAN_JAR=%KONAN_LIB%\backend.native.jar" -set "KOTLIN_JAR=%KONAN_LIB%\kotlin-compiler.jar" -set "KOTLIN_STDLIB_JAR=%KONAN_LIB%\kotlin-stdlib.jar" -set "KOTLIN_REFLECT_JAR=%KONAN_LIB%\kotlin-stdlib.jar" -set "KOTLIN_SCRIPT_RUNTIME_JAR=%KONAN_LIB%\kotlin-script-runtime.jar" -set "STUB_GENERATOR_JAR=%KONAN_LIB%\StubGenerator.jar" -set "UTILITIES_JAR=%KONAN_LIB%\utilities.jar" -set "NATIVE_UTILS_JAR=%KONAN_LIB%\kotlin-native-utils.jar" -set "UTIL_IO_JAR=%KONAN_LIB%\kotlin-util-io.jar" -set "UTIL_KLIB_JAR=%KONAN_LIB%\kotlin-util-klib.jar" -set "UTIL_KLIB_METADATA_JAR=%KONAN_LIB%\kotlin-util-klib-metadata.jar" -set TROVE_JAR="%KONAN_LIB%\lib\trove4j.jar" +set "KONAN_JAR=%KONAN_LIB%\kotlin-native.jar" -set "KONAN_CLASSPATH=%KOTLIN_JAR%;%KOTLIN_STDLIB_JAR%;%KOTLIN_REFLECT_JAR%;%KOTLIN_SCRIPT_RUNTIME_JAR%;%INTEROP_RUNTIME_JAR%;%KONAN_JAR%;%STUB_GENERATOR_JAR%;%INTEROP_INDEXER_JAR%;%SHARED_JAR%;%EXTRACTED_METADATA_JAR%;%EXTRACTED_SERIALIZER_JAR%;%KLIB_JAR%;%UTILITIES_JAR%;%NATIVE_UTILS_JAR%;%UTIL_IO_JAR%;%UTIL_KLIB_JAR%;%UTIL_KLIB_METADATA_JAR%;%TROVE_JAR%;%KOTLINX_CLI_JAR%" +set "KONAN_CLASSPATH=%KONAN_JAR%" set JAVA_OPTS=-ea ^ -Xmx3G ^