From 464820458ec48a76b4f6081ce1e869f6a27ea9c9 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 30 Jan 2017 18:54:24 +0300 Subject: [PATCH] JS: rename "-library-files" argument to "-libraries" and change separator Use the system separator (':' or ';') instead of commas #KT-16083 Fixed --- .../org/jetbrains/kotlin/ant/Kotlin2JsTask.kt | 20 +++++++------------ .../arguments/K2JSCompilerArguments.java | 6 +++--- .../jetbrains/kotlin/cli/js/K2JSCompiler.java | 12 +++++------ compiler/testData/cli/js/jsHelp.out | 2 +- .../testData/cli/js/libraryDirNotFound.args | 2 +- .../testData/cli/js/notValidLibraryDir.args | 2 +- compiler/testData/cli/js/withFolderAsLib.args | 2 +- compiler/testData/cli/js/withLib.args | 2 +- compiler/testData/cli/js/wrongAbiVersion.args | 2 +- .../simpleWithStdlibAndAnotherLib/build.xml | 4 ++-- .../build.xml | 4 ++-- .../build.xml | 4 ++-- .../build.xml | 4 ++-- .../build.xml | 8 ++++---- .../build.xml | 8 ++++---- .../build.xml | 4 ++-- .../build.xml | 4 ++-- .../AbstractDiagnosticsTestWithJsStdLib.kt | 2 +- .../js/KotlinJavascriptSerializerTest.kt | 2 +- .../AbstractDiagnosticMessageJsTest.java | 2 +- .../compilerRunner/JpsKotlinCompilerRunner.kt | 16 +++++++-------- .../kotlin/jps/build/KotlinBuilder.kt | 4 ++-- .../kotlin/js/config/JSConfigurationKeys.java | 2 +- .../js/config/LibrarySourcesConfig.java | 2 +- .../jetbrains/kotlin/js/test/BasicBoxTest.kt | 2 +- .../jetbrains/kotlin/js/test/BasicTest.java | 2 +- .../kotlin/js/test/EncodeSignatureTest.kt | 2 +- .../CompileMavenGeneratedJSLibrary.java | 8 ++++---- .../jetbrains/kotlin/gradle/tasks/Tasks.kt | 5 +---- .../kotlin/maven/K2JSCompilerMojo.java | 6 +++--- 30 files changed, 68 insertions(+), 77 deletions(-) diff --git a/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt b/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt index c377ab3d976..7cadf5d5a22 100644 --- a/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt +++ b/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt @@ -22,7 +22,7 @@ import java.io.File class Kotlin2JsTask : KotlinCompilerBaseTask() { override val compilerFqName = "org.jetbrains.kotlin.cli.js.K2JSCompiler" - var library: Path? = null + var libraries: Path? = null var outputPrefix: File? = null var outputPostfix: File? = null var sourceMap: Boolean = false @@ -35,15 +35,9 @@ class Kotlin2JsTask : KotlinCompilerBaseTask() { */ var main: String? = null - fun createLibrary(): Path { - val libraryPath = library - if (libraryPath == null) { - val t = Path(getProject()) - library = t - return t - } - - return libraryPath.createPath() + fun createLibraries(): Path { + val libraryPaths = libraries ?: return Path(getProject()).also { libraries = it } + return libraryPaths.createPath() } override fun fillSpecificArguments() { @@ -51,9 +45,9 @@ class Kotlin2JsTask : KotlinCompilerBaseTask() { args.add(output!!.canonicalPath) // TODO: write test - library?.let { - args.add("-library-files") - args.add(it.list().joinToString(separator = ",") { File(it).canonicalPath }) + libraries?.let { + args.add("-libraries") + args.add(it.list().joinToString(File.pathSeparator) { File(it).canonicalPath }) } outputPrefix?.let { diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.java index 1cd71d10360..37da1d56d8b 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.java @@ -35,9 +35,9 @@ public class K2JSCompilerArguments extends CommonCompilerArguments { @Argument(value = "no-stdlib", description = "Don't use bundled Kotlin stdlib") public boolean noStdlib; - @Argument(value = "library-files", description = "Path to zipped library sources or kotlin files separated by commas") - @ValueDescription("") - public String[] libraryFiles; + @Argument(value = "libraries", description = "Paths to Kotlin libraries with .meta.js and .kjsm files, separated by system file separator") + @ValueDescription("") + public String libraries; @GradleOption(DefaultValues.BooleanFalseDefault.class) @Argument(value = "source-map", description = "Generate source map") diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java index 422dd7d2bbc..aadbc36b946 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java @@ -58,8 +58,8 @@ import org.jetbrains.kotlin.js.facade.MainCallParameters; import org.jetbrains.kotlin.js.facade.TranslationResult; import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus; import org.jetbrains.kotlin.psi.KtFile; -import org.jetbrains.kotlin.utils.ExceptionUtilsKt; import org.jetbrains.kotlin.serialization.js.ModuleKind; +import org.jetbrains.kotlin.utils.ExceptionUtilsKt; import org.jetbrains.kotlin.utils.PathUtil; import java.io.File; @@ -276,16 +276,16 @@ public class K2JSCompiler extends CLICompiler { configuration.put(JSConfigurationKeys.META_INFO, true); } - List libraryFiles = new SmartList(); + List libraries = new SmartList(); if (!arguments.noStdlib) { - libraryFiles.add(0, PathUtil.getKotlinPathsForCompiler().getJsStdLibJarPath().getAbsolutePath()); + libraries.add(0, PathUtil.getKotlinPathsForCompiler().getJsStdLibJarPath().getAbsolutePath()); } - if (arguments.libraryFiles != null) { - ContainerUtil.addAllNotNull(libraryFiles, arguments.libraryFiles); + if (arguments.libraries != null) { + ContainerUtil.addAllNotNull(libraries, arguments.libraries.split(File.pathSeparator)); } - configuration.put(JSConfigurationKeys.LIBRARY_FILES, libraryFiles); + configuration.put(JSConfigurationKeys.LIBRARIES, libraries); String moduleKindName = arguments.moduleKind; ModuleKind moduleKind = moduleKindName != null ? moduleKindMap.get(moduleKindName) : ModuleKind.PLAIN; diff --git a/compiler/testData/cli/js/jsHelp.out b/compiler/testData/cli/js/jsHelp.out index 427cd3be86c..664249595c8 100644 --- a/compiler/testData/cli/js/jsHelp.out +++ b/compiler/testData/cli/js/jsHelp.out @@ -2,7 +2,7 @@ Usage: kotlinc-js where possible options include: -output Output file path -no-stdlib Don't use bundled Kotlin stdlib - -library-files Path to zipped library sources or kotlin files separated by commas + -libraries Paths to Kotlin libraries with .meta.js and .kjsm files, separated by system file separator -source-map Generate source map -meta-info Generate .meta.js and .kjsm files with metadata. Use to create a library -target { v5 } Generate JS files for specific ECMA version diff --git a/compiler/testData/cli/js/libraryDirNotFound.args b/compiler/testData/cli/js/libraryDirNotFound.args index c145bc0a751..49af9451779 100644 --- a/compiler/testData/cli/js/libraryDirNotFound.args +++ b/compiler/testData/cli/js/libraryDirNotFound.args @@ -1,5 +1,5 @@ $TESTDATA_DIR$/withLib.kt --library-files +-libraries not/existing/path -output $TEMP_DIR$/out.js diff --git a/compiler/testData/cli/js/notValidLibraryDir.args b/compiler/testData/cli/js/notValidLibraryDir.args index 99e4efa12b8..70460c4bb3e 100644 --- a/compiler/testData/cli/js/notValidLibraryDir.args +++ b/compiler/testData/cli/js/notValidLibraryDir.args @@ -1,5 +1,5 @@ $TESTDATA_DIR$/withLib.kt --library-files +-libraries compiler/testData/integration/ant/js/simpleWithStdlibAndFolderAsAnotherLib -output $TEMP_DIR$/out.js diff --git a/compiler/testData/cli/js/withFolderAsLib.args b/compiler/testData/cli/js/withFolderAsLib.args index cb5c30e6d87..2bf9dc145ea 100644 --- a/compiler/testData/cli/js/withFolderAsLib.args +++ b/compiler/testData/cli/js/withFolderAsLib.args @@ -1,5 +1,5 @@ $TESTDATA_DIR$/withLib.kt --library-files +-libraries compiler/testData/integration/ant/js/simpleWithStdlibAndFolderAsAnotherLib/jslib-example -output $TEMP_DIR$/out.js diff --git a/compiler/testData/cli/js/withLib.args b/compiler/testData/cli/js/withLib.args index 036a895e7ea..1192909df99 100644 --- a/compiler/testData/cli/js/withLib.args +++ b/compiler/testData/cli/js/withLib.args @@ -1,5 +1,5 @@ $TESTDATA_DIR$/withLib.kt --library-files +-libraries compiler/testData/integration/ant/js/simpleWithStdlibAndAnotherLib/jslib-example.jar -output $TEMP_DIR$/out.js diff --git a/compiler/testData/cli/js/wrongAbiVersion.args b/compiler/testData/cli/js/wrongAbiVersion.args index 06ce726a676..eb454bd5cf0 100644 --- a/compiler/testData/cli/js/wrongAbiVersion.args +++ b/compiler/testData/cli/js/wrongAbiVersion.args @@ -1,6 +1,6 @@ $TESTDATA_DIR$/simple2js.kt -no-stdlib --library-files +-libraries $TESTDATA_DIR$/wrongAbiVersionLib/wrongAbiLib.meta.js -output $TEMP_DIR$/out.js diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndAnotherLib/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndAnotherLib/build.xml index 867814b7500..e6853081fc0 100644 --- a/compiler/testData/integration/ant/js/simpleWithStdlibAndAnotherLib/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndAnotherLib/build.xml @@ -3,9 +3,9 @@ - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndFolderAsAnotherLib/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndFolderAsAnotherLib/build.xml index b09094d262a..5c132935d2b 100644 --- a/compiler/testData/integration/ant/js/simpleWithStdlibAndFolderAsAnotherLib/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndFolderAsAnotherLib/build.xml @@ -3,9 +3,9 @@ - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLib/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLib/build.xml index e209ab0c022..0bb3592409e 100644 --- a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLib/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLib/build.xml @@ -8,9 +8,9 @@ - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLibModuleKind/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLibModuleKind/build.xml index 4effa950e3d..9685e785814 100644 --- a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLibModuleKind/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFileAsAnotherLibModuleKind/build.xml @@ -8,9 +8,9 @@ - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml index b87acebf748..7a36adb0f87 100644 --- a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml @@ -8,9 +8,9 @@ - + - + @@ -26,9 +26,9 @@ - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml index f408fc39827..18d9611ebb3 100644 --- a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml @@ -8,16 +8,16 @@ - + - + - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithoutStdlibAndFolderAsAnotherLib/build.xml b/compiler/testData/integration/ant/js/simpleWithoutStdlibAndFolderAsAnotherLib/build.xml index 74476909e4e..c4a0e7cf67e 100644 --- a/compiler/testData/integration/ant/js/simpleWithoutStdlibAndFolderAsAnotherLib/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithoutStdlibAndFolderAsAnotherLib/build.xml @@ -8,9 +8,9 @@ - + - + diff --git a/compiler/testData/integration/ant/js/simpleWithoutStdlibAndJsFileAsAnotherLib/build.xml b/compiler/testData/integration/ant/js/simpleWithoutStdlibAndJsFileAsAnotherLib/build.xml index 4b7a0a0eecf..66bd81e13a9 100644 --- a/compiler/testData/integration/ant/js/simpleWithoutStdlibAndJsFileAsAnotherLib/build.xml +++ b/compiler/testData/integration/ant/js/simpleWithoutStdlibAndJsFileAsAnotherLib/build.xml @@ -8,9 +8,9 @@ - + - + diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTestWithJsStdLib.kt b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTestWithJsStdLib.kt index 29bb369bc43..6d5a8a92203 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTestWithJsStdLib.kt +++ b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTestWithJsStdLib.kt @@ -47,7 +47,7 @@ abstract class AbstractDiagnosticsTestWithJsStdLib : AbstractDiagnosticsTest() { super.setUp() config = LibrarySourcesConfig(project, environment.configuration.copy().apply { put(CommonConfigurationKeys.MODULE_NAME, KotlinTestUtils.TEST_MODULE_NAME) - put(JSConfigurationKeys.LIBRARY_FILES, LibrarySourcesConfig.JS_STDLIB) + put(JSConfigurationKeys.LIBRARIES, LibrarySourcesConfig.JS_STDLIB) }) } diff --git a/compiler/tests/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerTest.kt b/compiler/tests/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerTest.kt index 78af6f0fc6b..e47759599fb 100644 --- a/compiler/tests/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerTest.kt @@ -50,7 +50,7 @@ class KotlinJavascriptSerializerTest : TestCaseWithTmpdir() { val configuration = KotlinTestUtils.newConfiguration() configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, MessageCollector.NONE) - configuration.put(JSConfigurationKeys.LIBRARY_FILES, LibrarySourcesConfig.JS_STDLIB) + configuration.put(JSConfigurationKeys.LIBRARIES, LibrarySourcesConfig.JS_STDLIB) configuration.addKotlinSourceRoots(srcDirs.map { it.path }) diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageJsTest.java b/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageJsTest.java index d749be05a76..bc13983e9c3 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageJsTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageJsTest.java @@ -64,7 +64,7 @@ public abstract class AbstractDiagnosticMessageJsTest extends AbstractDiagnostic private JsConfig getConfig(@Nullable LanguageVersion explicitLanguageVersion) { CompilerConfiguration configuration = getEnvironment().getConfiguration().copy(); configuration.put(CommonConfigurationKeys.MODULE_NAME, KotlinTestUtils.TEST_MODULE_NAME); - configuration.put(JSConfigurationKeys.LIBRARY_FILES, LibrarySourcesConfig.JS_STDLIB); + configuration.put(JSConfigurationKeys.LIBRARIES, LibrarySourcesConfig.JS_STDLIB); configuration.put(CommonConfigurationKeys.DISABLE_INLINE, true); configuration.put(JSConfigurationKeys.UNIT_TEST_CONFIG, true); if (explicitLanguageVersion != null) { diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt index 22f2f111759..7ac9197dc32 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt @@ -19,7 +19,10 @@ package org.jetbrains.kotlin.compilerRunner import org.jetbrains.jps.api.GlobalOptions import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY -import org.jetbrains.kotlin.cli.common.arguments.* +import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments +import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments +import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments +import org.jetbrains.kotlin.cli.common.arguments.mergeBeans import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.config.CompilerSettings @@ -28,9 +31,6 @@ import org.jetbrains.kotlin.jps.build.KotlinBuilder import java.io.ByteArrayOutputStream import java.io.File import java.io.PrintStream -import java.io.Serializable -import java.rmi.server.UnicastRemoteObject -import java.util.* class JpsKotlinCompilerRunner : KotlinCompilerRunner() { override val log: KotlinLogger = JpsKotlinLogger(KotlinBuilder.LOG) @@ -72,11 +72,11 @@ class JpsKotlinCompilerRunner : KotlinCompilerRunner() { compilerSettings: CompilerSettings, environment: JpsCompilerEnvironment, sourceFiles: Collection, - libraryFiles: List, + libraries: List, outputFile: File ) { val arguments = mergeBeans(commonArguments, k2jsArguments) - setupK2JsArguments(outputFile, sourceFiles, libraryFiles, arguments) + setupK2JsArguments(outputFile, sourceFiles, libraries, arguments) withCompilerSettings(compilerSettings) { runCompiler(K2JS_COMPILER, arguments, environment) } @@ -182,13 +182,13 @@ class JpsKotlinCompilerRunner : KotlinCompilerRunner() { } } - private fun setupK2JsArguments( _outputFile: File, sourceFiles: Collection, _libraryFiles: List, settings: K2JSCompilerArguments) { + private fun setupK2JsArguments(_outputFile: File, sourceFiles: Collection, _libraries: List, settings: K2JSCompilerArguments) { with(settings) { noStdlib = true freeArgs = sourceFiles.map { it.path } outputFile = _outputFile.path metaInfo = true - libraryFiles = _libraryFiles.toTypedArray() + libraries = _libraries.joinToString(File.pathSeparator) } } diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt index a519d7a1a96..a995806b60c 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -658,12 +658,12 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { val representativeModule = representativeTarget.module val moduleName = representativeModule.name val outputFile = JpsJsModuleUtils.getOutputFile(outputDir, moduleName) - val libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget) + val libraries = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget) val compilerSettings = JpsKotlinCompilerSettings.getCompilerSettings(representativeModule) val k2JsArguments = JpsKotlinCompilerSettings.getK2JsCompilerArguments(representativeModule) val compilerRunner = JpsKotlinCompilerRunner() - compilerRunner.runK2JsCompiler(commonArguments, k2JsArguments, compilerSettings, environment, sourceFiles, libraryFiles, outputFile) + compilerRunner.runK2JsCompiler(commonArguments, k2JsArguments, compilerSettings, environment, sourceFiles, libraries, outputFile) return environment.outputItemsCollector } diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java b/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java index c01b5759fcc..d1ca4990a30 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.serialization.js.ModuleKind; import java.util.List; public class JSConfigurationKeys { - public static final CompilerConfigurationKey> LIBRARY_FILES = + public static final CompilerConfigurationKey> LIBRARIES = CompilerConfigurationKey.create("library file paths"); public static final CompilerConfigurationKey SOURCE_MAP = diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/config/LibrarySourcesConfig.java b/js/js.frontend/src/org/jetbrains/kotlin/js/config/LibrarySourcesConfig.java index fa219c557ab..7b5fa22a057 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/config/LibrarySourcesConfig.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/config/LibrarySourcesConfig.java @@ -60,7 +60,7 @@ public class LibrarySourcesConfig extends JsConfig { @NotNull public List getLibraries() { - return getConfiguration().getList(JSConfigurationKeys.LIBRARY_FILES); + return getConfiguration().getList(JSConfigurationKeys.LIBRARIES); } @Override diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt index d8b248873a0..75f8d56942a 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt @@ -259,7 +259,7 @@ abstract class BasicBoxTest( configuration.put(CommonConfigurationKeys.LANGUAGE_VERSION_SETTINGS, LanguageVersionSettingsImpl(it, ApiVersion.LATEST)) } - configuration.put(JSConfigurationKeys.LIBRARY_FILES, LibrarySourcesConfig.JS_STDLIB + LibrarySourcesConfig.JS_KOTLIN_TEST + dependencies) + configuration.put(JSConfigurationKeys.LIBRARIES, LibrarySourcesConfig.JS_STDLIB + LibrarySourcesConfig.JS_KOTLIN_TEST + dependencies) configuration.put(CommonConfigurationKeys.MODULE_NAME, module.name.removeSuffix(OLD_MODULE_SUFFIX)) configuration.put(JSConfigurationKeys.MODULE_KIND, module.moduleKind) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicTest.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicTest.java index 167571114cd..faa4d9fecc9 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicTest.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicTest.java @@ -322,7 +322,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment { } librariesWithStdlib.add(getKotlinPathsForDistDirectory().getJsKotlinTestJarPath().getAbsolutePath()); - configuration.put(JSConfigurationKeys.LIBRARY_FILES, librariesWithStdlib); + configuration.put(JSConfigurationKeys.LIBRARIES, librariesWithStdlib); configuration.put(CommonConfigurationKeys.MODULE_NAME, moduleName); configuration.put(JSConfigurationKeys.TARGET, ecmaVersion); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/EncodeSignatureTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/EncodeSignatureTest.kt index b6c2c27d71a..8b9a0aa6eaf 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/EncodeSignatureTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/EncodeSignatureTest.kt @@ -207,7 +207,7 @@ class EncodeSignatureTest { val psiFile = psiManager.findFile(file) as KtFile val configuration = environment.configuration.copy() - configuration.put(JSConfigurationKeys.LIBRARY_FILES, LibrarySourcesConfig.JS_STDLIB) + configuration.put(JSConfigurationKeys.LIBRARIES, LibrarySourcesConfig.JS_STDLIB) configuration.put(CommonConfigurationKeys.MODULE_NAME, "sample") val analysisResult = TopDownAnalyzerFacadeForJS.analyzeFiles(listOf(psiFile), LibrarySourcesConfig(project, configuration)) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CompileMavenGeneratedJSLibrary.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CompileMavenGeneratedJSLibrary.java index 3aac7c5d67d..a048a77533e 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CompileMavenGeneratedJSLibrary.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CompileMavenGeneratedJSLibrary.java @@ -36,9 +36,9 @@ import java.util.List; * has completed so that there are various kotlin files to be compiled */ public class CompileMavenGeneratedJSLibrary extends SingleFileTranslationTest { - protected final String generatedJsDir = "libraries/tools/kotlin-js-library/target/"; - protected String generatedJsDefinitionsDir = generatedJsDir + "generated-js-definitions"; - protected File generatedJsLibraryDir = new File( generatedJsDir + "generated-js-library"); + private static final String generatedJsDir = "libraries/tools/kotlin-js-library/target/"; + private static final String generatedJsDefinitionsDir = generatedJsDir + "generated-js-definitions"; + private final File generatedJsLibraryDir = new File(generatedJsDir + "generated-js-library"); public CompileMavenGeneratedJSLibrary() { super("kotlin-js-library/"); @@ -96,7 +96,7 @@ public class CompileMavenGeneratedJSLibrary extends SingleFileTranslationTest { List args = new ArrayList(Arrays.asList( "-output", outputFile, - "-library-files", generatedJsDefinitionsDir, + "-libraries", generatedJsDefinitionsDir, "-verbose" )); args.addAll(files); 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 f5060773ddd..17494371482 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 @@ -325,10 +325,7 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(), .filter { LibraryUtils.isKotlinJavascriptLibrary(it) } .map { it.canonicalPath } - args.libraryFiles = when (friendDependency) { - null -> dependencies.toTypedArray() - else -> (dependencies + friendDependency).toTypedArray() - } + args.libraries = (dependencies + friendDependency.orEmpty()).joinToString(File.pathSeparator) kotlinOptionsImpl.updateArguments(args) return args diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java index 32937933aba..56724002cd7 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.maven; -import com.intellij.util.ArrayUtil; +import com.intellij.openapi.util.text.StringUtil; import kotlin.text.StringsKt; import org.apache.maven.artifact.DependencyResolutionRequiredException; import org.apache.maven.plugin.MojoExecutionException; @@ -97,8 +97,8 @@ public class K2JSCompilerMojo extends KotlinCompileMojoBase