diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsImpl.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsImpl.kt index 634dc8af22d..bbf9f9d806d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsImpl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsImpl.kt @@ -16,13 +16,19 @@ package org.jetbrains.kotlin.gradle.dsl +import org.gradle.api.file.FileCollection import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments internal class KotlinJsOptionsImpl : KotlinJsOptionsBase() { override var freeCompilerArgs: List = listOf() + var sourceMapBaseDirs: FileCollection? = null + override fun updateArguments(args: K2JSCompilerArguments) { super.updateArguments(args) copyFreeCompilerArgsToArgs(args) + sourceMapBaseDirs?.let { + args.sourceMapBaseDirs = it.asPath + } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index d0fc2224154..63a03a09588 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -547,6 +547,13 @@ open class Kotlin2JsCompile : AbstractKotlinCompile(), Ko return friendPaths.filter { filter(File(it)) } } + @Suppress("unused") + @get:InputFiles + @get:Optional + @get:PathSensitive(PathSensitivity.RELATIVE) + internal val sourceMapBaseDirs: FileCollection? + get() = kotlinOptionsImpl.sourceMapBaseDirs + private fun isHybridKotlinJsLibrary(file: File): Boolean = LibraryUtils.isKotlinJavascriptLibrary(file) && isKotlinLibrary(file)