Add support for JS source map source roots to Gradle plugin
This commit is contained in:
+17
@@ -6,6 +6,7 @@ import org.junit.Test
|
|||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.zip.ZipFile
|
import java.util.zip.ZipFile
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||||
@Test
|
@Test
|
||||||
@@ -170,4 +171,20 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
|||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testKotlinJsSourceMap() {
|
||||||
|
val project = Project("kotlin2JsProjectWithSourceMap", "2.10")
|
||||||
|
|
||||||
|
project.build("build") {
|
||||||
|
assertSuccessful()
|
||||||
|
|
||||||
|
val mapFilePath = "build/kotlin2js/main/app.js.map"
|
||||||
|
assertFileExists(mapFilePath)
|
||||||
|
val map = fileInWorkingDir(mapFilePath).readText()
|
||||||
|
|
||||||
|
val sourceFilePath = "prefixprefix/example/main.kt"
|
||||||
|
assertTrue("Source map should contain reference to $sourceFilePath") { map.contains("\"$sourceFilePath\"") }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
apply plugin: "kotlin2js"
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
|
||||||
|
}
|
||||||
|
|
||||||
|
compileKotlin2Js.kotlinOptions.sourceMap = true
|
||||||
|
compileKotlin2Js.kotlinOptions.sourceMapPrefix = "prefixprefix/"
|
||||||
|
compileKotlin2Js.kotlinOptions.outputFile = "${buildDir}/kotlin2js/main/app.js"
|
||||||
|
compileKotlin2Js.kotlinOptions.suppressWarnings = true
|
||||||
|
compileKotlin2Js.kotlinOptions.verbose = true
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package example
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println("Hello")
|
||||||
|
}
|
||||||
+3
@@ -210,6 +210,9 @@ internal class Kotlin2JsSourceSetProcessor(
|
|||||||
|
|
||||||
sourceSet.output.setClassesDir(outputDir)
|
sourceSet.output.setClassesDir(outputDir)
|
||||||
kotlinTask.destinationDir = outputDir
|
kotlinTask.destinationDir = outputDir
|
||||||
|
|
||||||
|
kotlinTask.kotlinOptions.sourceMapSourceRoots =
|
||||||
|
sourceSet.allSource.srcDirs.joinToString(File.pathSeparator) { it.absolutePath }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user