From a906bd0d0781634c27d2f47ad1c83a65bfe864e4 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Wed, 29 Mar 2017 15:47:29 +0700 Subject: [PATCH] Download dependencies only in dist Don't extract dependencies in dependencies/all, only in dist/dependencies Remove konan.dependencies property --- .../kotlin/native/interop/gen/jvm/main.kt | 3 +-- backend.native/build.gradle | 2 -- .../kotlin/backend/konan/Distribution.kt | 3 +-- build.gradle | 7 ++++++- .../org/jetbrains/kotlin/KonanTest.groovy | 1 - .../kotlin/NativeInteropPlugin.groovy | 1 - dependencies/build.gradle | 4 ++-- run-debug/interop | 18 ------------------ run-debug/konanc | 16 ---------------- 9 files changed, 10 insertions(+), 45 deletions(-) delete mode 100755 run-debug/interop delete mode 100755 run-debug/konanc diff --git a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt index 91b01b6e268..f12b41582be 100644 --- a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt +++ b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt @@ -250,8 +250,7 @@ private fun processLib(konanHome: String, // TODO: We can provide a set of flags to find the components in the absence of 'dist' or 'dist/dependencies'. val llvmHome = konanProperties.getOsSpecific("llvmHome")!! - // We can override dependency directory using konan.dependencies system property. - val dependencies = System.getProperty("konan.dependencies", "$konanHome/dependencies") + val dependencies = "$konanHome/dependencies" val llvmInstallPath = "$dependencies/$llvmHome" val additionalHeaders = args["-h"].orEmpty() val additionalCompilerOpts = args["-copt"].orEmpty() diff --git a/backend.native/build.gradle b/backend.native/build.gradle index e2d3417bcec..f3ddc034e21 100644 --- a/backend.native/build.gradle +++ b/backend.native/build.gradle @@ -194,7 +194,6 @@ targetList.each { target -> classpath = project.configurations.cli_bc jvmArgs "-ea", "-Dkonan.home=${project.parent.file('dist')}", - "-Dkonan.dependencies=${project.parent.file('dependencies/all')}", "-Djava.library.path=${project.buildDir}/nativelibs" args('-output', project(':runtime').file("build/${target}/stdlib.kt.bc"), '-nolink', '-nostdlib', '-ea', @@ -221,7 +220,6 @@ targetList.each { target -> classpath = project.configurations.cli_bc jvmArgs "-ea", "-Dkonan.home=${project.parent.file('dist')}", - "-Dkonan.dependencies=${project.parent.file('dependencies/all')}", "-Djava.library.path=${project.buildDir}/nativelibs" args('-output', project(':runtime').file("build/${target}/start.kt.bc"), '-nolink', '-nostdlib', '-ea', diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt index f0b5cc6497e..87e53cc7e2b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt @@ -24,8 +24,7 @@ class Distribution(val config: CompilerConfiguration) { val lib = "$konanHome/lib/$target" - // We can override dependency directory using konan.dependencies system property. - val dependenciesDir = System.getProperty("konan.dependencies", "$konanHome/dependencies") + val dependenciesDir = "$konanHome/dependencies" val dependencies = properties.propertyList("dependencies.$suffix") val stdlib = "$lib/stdlib.kt.bc" diff --git a/build.gradle b/build.gradle index e6e5ee2aa99..4c462409d6b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,6 @@ +import com.sun.tools.doclets.internal.toolkit.util.Util +import groovy.io.FileType + //ant.importBuild 'backend.native/kotlin-ir/build.xml' defaultTasks 'clean', 'demo' @@ -284,7 +287,9 @@ task demo(type: Exec) { task clean { doLast { - delete 'dist' + file('dist').traverse(type: FileType.ANY, excludeNameFilter: "dependencies", maxDepth: 0) { + delete it + } delete bundle.outputs.files } } diff --git a/buildSrc/src/main/groovy/org/jetbrains/kotlin/KonanTest.groovy b/buildSrc/src/main/groovy/org/jetbrains/kotlin/KonanTest.groovy index b3ae72f0108..d7f2db59db6 100644 --- a/buildSrc/src/main/groovy/org/jetbrains/kotlin/KonanTest.groovy +++ b/buildSrc/src/main/groovy/org/jetbrains/kotlin/KonanTest.groovy @@ -59,7 +59,6 @@ abstract class KonanTest extends JavaExec { void setJvmArgs(Iterable arguments) { super.setJvmArgs(arguments + "-Dkonan.home=${dist.canonicalPath}" + - "-Dkonan.dependencies=${dependenciesDir.canonicalPath}" + "-Djava.library.path=${dist.canonicalPath}/konan/nativelib") } diff --git a/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy b/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy index 09f21026371..4ea9c9a86ac 100644 --- a/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy +++ b/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy @@ -173,7 +173,6 @@ class NamedNativeInteropConfig implements Named { new File(project.findProject(":Interop:Runtime").buildDir, "nativelibs") ).asPath systemProperties "konan.home": project.rootProject.file("dist") - systemProperties "konan.dependencies": project.findProject(":dependencies").file("all") environment "LIBCLANG_DISABLE_CRASH_RECOVERY": "1" environment "DYLD_LIBRARY_PATH": "${project.llvmDir}/lib" environment "LD_LIBRARY_PATH": "${project.llvmDir}/lib" diff --git a/dependencies/build.gradle b/dependencies/build.gradle index 19569f2fb9b..e77e03bc429 100644 --- a/dependencies/build.gradle +++ b/dependencies/build.gradle @@ -30,7 +30,7 @@ abstract class NativeDep extends DefaultTask { } protected File getBaseOutDir() { - final File res = project.file("all") + final File res = project.rootProject.file("dist/dependencies") res.mkdirs() return res } @@ -132,7 +132,7 @@ if (isLinux()) { } -task update { +task update(type: Copy) { dependsOn tasks.withType(NativeDep) } diff --git a/run-debug/interop b/run-debug/interop deleted file mode 100755 index ee103a07eef..00000000000 --- a/run-debug/interop +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -findScriptHome() { - local source="${BASH_SOURCE[0]}" - while [ -h "$source" ] ; do - local linked="$(readlink "$source")" - local dir="$(cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd)" - source="$dir/$(basename "$linked")" - done - (cd -P "$(dirname "$source")" && pwd) -} -SCRIPT_HOME="$(findScriptHome)" - -PATH="$SCRIPT_HOME/../dist/bin:$PATH" - -interop -Dkonan.dependencies="$SCRIPT_HOME/../dependencies/all" "$@" - - diff --git a/run-debug/konanc b/run-debug/konanc deleted file mode 100755 index c713109e6bb..00000000000 --- a/run-debug/konanc +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -findScriptHome() { - local source="${BASH_SOURCE[0]}" - while [ -h "$source" ] ; do - local linked="$(readlink "$source")" - local dir="$(cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd)" - source="$dir/$(basename "$linked")" - done - (cd -P "$(dirname "$source")" && pwd) -} -SCRIPT_HOME="$(findScriptHome)" - -PATH="$SCRIPT_HOME/../dist/bin:$PATH" - -konanc -Dkonan.dependencies="$SCRIPT_HOME/../dependencies/all" "$@" \ No newline at end of file