From 41e4f7eababca54db7821d99ede39af5f9198a98 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 7 Jul 2017 12:57:35 +0300 Subject: [PATCH] Copy stdlib-js source map during JPS build Original commit: 7edb352aeb0c411bfd8b0744b31d92420f11667f --- .../test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt | 3 +++ .../src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt index 7a484fa415f..b360bd55057 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt @@ -305,6 +305,9 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { val sourceMapContent = File(getOutputDir(PROJECT_NAME), "$PROJECT_NAME.js.map").readText() val expectedPath = "prefix-dir/pkg/test1.kt" assertTrue("Source map file should contain relative path ($expectedPath)", sourceMapContent.contains("\"$expectedPath\"")) + + val librarySourceMapFile = File(getOutputDir(PROJECT_NAME), "lib/kotlin.js.map") + assertTrue("Source map for stdlib should be copied to $librarySourceMapFile", librarySourceMapFile.exists()) } fun testKotlinJavaScriptProjectWithTwoModules() { diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt index 32328819334..eec33685141 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -679,11 +679,13 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { val representativeTarget = chunk.representativeTarget() val outputDir = KotlinBuilderModuleScriptGenerator.getOutputDirSafe(representativeTarget) val compilerSettings = JpsKotlinCompilerSettings.getCompilerSettings(representativeTarget.module) + val k2jsCompilerSettings = JpsKotlinCompilerSettings.getK2JsCompilerArguments(representativeTarget.module) if (compilerSettings.copyJsLibraryFiles) { val outputLibraryRuntimeDirectory = File(outputDir, compilerSettings.outputDirectoryForJsLibraryFiles).absolutePath val libraryFilesToCopy = arrayListOf() JpsJsModuleUtils.getLibraryFiles(representativeTarget, libraryFilesToCopy) - JsLibraryUtils.copyJsFilesFromLibraries(libraryFilesToCopy, outputLibraryRuntimeDirectory) + JsLibraryUtils.copyJsFilesFromLibraries(libraryFilesToCopy, outputLibraryRuntimeDirectory, + copySourceMap = k2jsCompilerSettings.sourceMap) } }