update to 1.2.70 and remove friend paths work arround (#142)
diff --git a/kotlin/internal/repositories/repositories.bzl b/kotlin/internal/repositories/repositories.bzl
index e15a165..866f657 100644
--- a/kotlin/internal/repositories/repositories.bzl
+++ b/kotlin/internal/repositories/repositories.bzl
@@ -32,9 +32,9 @@
_KOTLIN_CURRENT_COMPILER_RELEASE = {
"urls": [
- "https://github.com/JetBrains/kotlin/releases/download/v1.2.61/kotlin-compiler-1.2.61.zip",
+ "https://github.com/JetBrains/kotlin/releases/download/v1.2.70/kotlin-compiler-1.2.70.zip",
],
- "sha256": "be6d45385029ae99dee38fc77f554bddd49761067a532bfbf6bbf1b7348d5bbf",
+ "sha256": "a23a40a3505e78563100b9e6cfd7f535fbf6593b69a5c470800fbafbeccf8434",
}
def github_archive(name, repo, commit, build_file_content = None):
diff --git a/src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/KotlinJvmTaskExecutor.kt b/src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/KotlinJvmTaskExecutor.kt
index 2f4d3c8..2b7f14e 100644
--- a/src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/KotlinJvmTaskExecutor.kt
+++ b/src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/KotlinJvmTaskExecutor.kt
@@ -96,15 +96,12 @@
*/
private fun JvmCompilationTask.getCommonArgs(): MutableList<String> {
val args = mutableListOf<String>()
-
- // use -- for flags not meant for the kotlin compiler
args.addAll(
"-cp", inputs.joinedClasspath,
"-api-version", info.toolchainInfo.common.apiVersion,
"-language-version", info.toolchainInfo.common.languageVersion,
"-jvm-target", info.toolchainInfo.jvm.jvmTarget,
- // https://github.com/bazelbuild/rules_kotlin/issues/69: remove once jetbrains adds a flag for it.
- "--friend-paths", info.friendPathsList.joinToString(File.pathSeparator)
+ "-Xfriend-paths=${info.friendPathsList.joinToString(File.pathSeparator)}"
)
args
diff --git a/src/main/kotlin/io/bazel/kotlin/compiler/BazelK2JVMCompiler.kt b/src/main/kotlin/io/bazel/kotlin/compiler/BazelK2JVMCompiler.kt
index 061b962..69fb631 100644
--- a/src/main/kotlin/io/bazel/kotlin/compiler/BazelK2JVMCompiler.kt
+++ b/src/main/kotlin/io/bazel/kotlin/compiler/BazelK2JVMCompiler.kt
@@ -16,42 +16,15 @@
package io.bazel.kotlin.compiler
import org.jetbrains.kotlin.cli.common.ExitCode
-import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.kotlin.config.Services
-import java.io.File
@Suppress("unused")
class BazelK2JVMCompiler(private val delegate: K2JVMCompiler = K2JVMCompiler()) {
- private fun createArgs(args: Array<out String>): K2JVMCompilerArguments {
- var friendsPaths: Array<String>? = null
-
- val tally = mutableListOf<String>()
- var i = 0
- do {
- when {
- // https://github.com/bazelbuild/rules_kotlin/issues/69: remove once jetbrains adds a flag for it.
- args[i].startsWith("--friend-paths") -> {
- i++
- friendsPaths = args[i].split(File.pathSeparator).toTypedArray()
- }
- else -> tally += args[i]
- }
- i++
- } while (i < args.size)
-
- return delegate.createArguments().also {
- delegate.parseArguments(tally.toTypedArray(), it)
- if (friendsPaths != null) {
- it.friendPaths = friendsPaths
- }
- }
- }
-
fun exec(errStream: java.io.PrintStream, vararg args: kotlin.String): ExitCode {
- val arguments = createArgs(args)
+ val arguments = delegate.createArguments().also { delegate.parseArguments(args, it) }
val collector = PrintingMessageCollector(errStream, MessageRenderer.PLAIN_RELATIVE_PATHS, arguments.verbose)
return delegate.exec(collector, Services.EMPTY, arguments)
}