diff --git a/build.xml b/build.xml index 49c13921700..7f31ea007fd 100644 --- a/build.xml +++ b/build.xml @@ -420,7 +420,7 @@ - + @@ -1119,7 +1119,6 @@ - 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 63523204223..1cd71d10360 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 @@ -44,13 +44,9 @@ public class K2JSCompilerArguments extends CommonCompilerArguments { public boolean sourceMap; @GradleOption(DefaultValues.BooleanTrueDefault.class) - @Argument(value = "meta-info", description = "Generate metadata") + @Argument(value = "meta-info", description = "Generate .meta.js and .kjsm files with metadata. Use to create a library") public boolean metaInfo; - @GradleOption(DefaultValues.BooleanTrueDefault.class) - @Argument(value = "kjsm", description = "Generate kjsm-files (for creating libraries)") - public boolean kjsm; - @GradleOption(DefaultValues.JsEcmaVersions.class) @Argument(value = "target", description = "Generate JS files for specific ECMA version") @ValueDescription("{ v5 }") 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 25751bb660e..422dd7d2bbc 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java @@ -275,9 +275,6 @@ public class K2JSCompiler extends CLICompiler { if (arguments.metaInfo) { configuration.put(JSConfigurationKeys.META_INFO, true); } - if (arguments.kjsm) { - configuration.put(JSConfigurationKeys.KJSM, true); - } List libraryFiles = new SmartList(); if (!arguments.noStdlib) { diff --git a/compiler/testData/cli/js/createKjsm.args b/compiler/testData/cli/js/createKjsm.args deleted file mode 100644 index 1dccd4c93ab..00000000000 --- a/compiler/testData/cli/js/createKjsm.args +++ /dev/null @@ -1,5 +0,0 @@ -compiler/testData/integration/ant/js/simpleWithoutStdlibAndFolderAsAnotherLib/jslib-example/LibraryExample.kt --no-stdlib --kjsm --output -$TEMP_DIR$/jslib-example.js diff --git a/compiler/testData/cli/js/createKjsm.out b/compiler/testData/cli/js/createKjsm.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/compiler/testData/cli/js/createKjsm.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/compiler/testData/cli/js/createKjsm.test b/compiler/testData/cli/js/createKjsm.test deleted file mode 100644 index f3bbece519f..00000000000 --- a/compiler/testData/cli/js/createKjsm.test +++ /dev/null @@ -1,2 +0,0 @@ -// EXISTS: jslib-example.js -// EXISTS: jslib-example/library/sample/ClassA.kjsm diff --git a/compiler/testData/cli/js/createMetadata.args b/compiler/testData/cli/js/createMetadata.args index ae8b5661c1e..8ea42e28941 100644 --- a/compiler/testData/cli/js/createMetadata.args +++ b/compiler/testData/cli/js/createMetadata.args @@ -1,6 +1,5 @@ compiler/testData/integration/ant/js/simpleWithoutStdlibAndFolderAsAnotherLib/jslib-example/LibraryExample.kt -no-stdlib -meta-info --kjsm -output $TEMP_DIR$/jslib-example.js diff --git a/compiler/testData/cli/js/createMetadata.test b/compiler/testData/cli/js/createMetadata.test index c8f3f09d1ec..f2ef15728f1 100644 --- a/compiler/testData/cli/js/createMetadata.test +++ b/compiler/testData/cli/js/createMetadata.test @@ -1,3 +1,3 @@ // EXISTS: jslib-example.meta.js // EXISTS: jslib-example.js -// EXISTS: jslib-example/library/sample/ClassA.kjsm +// EXISTS: jslib-example/library/sample/sample.kjsm diff --git a/compiler/testData/cli/js/jsHelp.out b/compiler/testData/cli/js/jsHelp.out index 0b08b09ad61..427cd3be86c 100644 --- a/compiler/testData/cli/js/jsHelp.out +++ b/compiler/testData/cli/js/jsHelp.out @@ -4,8 +4,7 @@ where possible options include: -no-stdlib Don't use bundled Kotlin stdlib -library-files Path to zipped library sources or kotlin files separated by commas -source-map Generate source map - -meta-info Generate metadata - -kjsm Generate kjsm-files (for creating libraries) + -meta-info Generate .meta.js and .kjsm files with metadata. Use to create a library -target { v5 } Generate JS files for specific ECMA version -module-kind { plain, amd, commonjs, umd } Kind of a module generated by compiler diff --git a/compiler/tests-common/org/jetbrains/kotlin/test/MockLibraryUtil.java b/compiler/tests-common/org/jetbrains/kotlin/test/MockLibraryUtil.java index 8b24db3f51d..4ecfd3eaffc 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/test/MockLibraryUtil.java +++ b/compiler/tests-common/org/jetbrains/kotlin/test/MockLibraryUtil.java @@ -21,7 +21,6 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.io.ZipUtil; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.cli.common.ExitCode; import org.jetbrains.kotlin.cli.js.K2JSCompiler; import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler; @@ -135,7 +134,7 @@ public class MockLibraryUtil { } @NotNull - public static File compileJsLibraryToJar( + private static File compileJsLibraryToJar( @NotNull String sourcesPath, @NotNull String jarName, boolean addSources @@ -145,8 +144,7 @@ public class MockLibraryUtil { File outDir = new File(contentDir, "out"); File outputFile = new File(outDir, jarName + ".js"); - File outputMetaFile = new File(outDir, jarName + ".meta.js"); - compileKotlin2JS(sourcesPath, outputFile, outputMetaFile, true); + compileKotlin2JS(sourcesPath, outputFile); return createJarFile(contentDir, outDir, sourcesPath, jarName, addSources); } @@ -221,15 +219,10 @@ public class MockLibraryUtil { runJvmCompiler(args); } - public static void compileKotlin2JS(@NotNull String sourcesPath, @NotNull File outputFile, @Nullable File metaFile, boolean kjsm) { + private static void compileKotlin2JS(@NotNull String sourcesPath, @NotNull File outputFile) { List args = new ArrayList(); - if (metaFile != null) { - args.add("-meta-info"); - } - if (kjsm) { - args.add("-kjsm"); - } + args.add("-meta-info"); args.add("-output"); args.add(outputFile.getAbsolutePath()); diff --git a/compiler/tests/org/jetbrains/kotlin/cli/CliTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/cli/CliTestGenerated.java index f0a55897740..828eee2ac87 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/CliTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/cli/CliTestGenerated.java @@ -407,12 +407,6 @@ public class CliTestGenerated extends AbstractCliTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/cli/js"), Pattern.compile("^(.+)\\.args$"), TargetBackend.ANY, false); } - @TestMetadata("createKjsm.args") - public void testCreateKjsm() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cli/js/createKjsm.args"); - doJsTest(fileName); - } - @TestMetadata("createMetadata.args") public void testCreateMetadata() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/cli/js/createMetadata.args"); diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt index 53c509b3b54..a1b902c814a 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt @@ -89,15 +89,22 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { "$PROJECT_NAME.js", "$PROJECT_NAME.meta.js", "lib/kotlin.js", - "lib/kotlin.meta.js" + "lib/kotlin.meta.js", + "$PROJECT_NAME/root-package.kjsm" ) private val EXPECTED_JS_FILES_IN_OUTPUT_FOR_MODULE_STDLIB_ONLY = hashSetOf( "$ADDITIONAL_MODULE_NAME.js", "$ADDITIONAL_MODULE_NAME.meta.js", "lib/kotlin.js", - "lib/kotlin.meta.js" + "lib/kotlin.meta.js", + "$ADDITIONAL_MODULE_NAME/module2/module2.kjsm" + ) + private val EXPECTED_JS_FILES_IN_OUTPUT_NO_COPY = hashSetOf( + "$PROJECT_NAME.js", + "$PROJECT_NAME.meta.js", + "$PROJECT_NAME/root-package.kjsm", + "$PROJECT_NAME/library/sample/sample.kjsm" ) - private val EXPECTED_JS_FILES_IN_OUTPUT_NO_COPY = hashSetOf("$PROJECT_NAME.js", "$PROJECT_NAME.meta.js") private val EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_DEFAULT_DIR = hashSetOf( "$PROJECT_NAME.js", "$PROJECT_NAME.meta.js", @@ -108,7 +115,9 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { "lib/dir/file1.js", "lib/META-INF-ex/file2.js", "lib/res0.js", - "lib/resdir/res1.js" + "lib/resdir/res1.js", + "$PROJECT_NAME/root-package.kjsm", + "$PROJECT_NAME/library/sample/sample.kjsm" ) private val EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_CUSTOM_DIR = hashSetOf( "$PROJECT_NAME.js", @@ -120,7 +129,9 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { "custom/dir/file1.js", "custom/META-INF-ex/file2.js", "custom/res0.js", - "custom/resdir/res1.js" + "custom/resdir/res1.js", + "$PROJECT_NAME/root-package.kjsm", + "$PROJECT_NAME/library/sample/sample.kjsm" ) private fun k2jsOutput(vararg moduleNames: String): Array { 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 344de8a6bb4..c01b5759fcc 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 @@ -28,9 +28,7 @@ public class JSConfigurationKeys { public static final CompilerConfigurationKey SOURCE_MAP = CompilerConfigurationKey.create("generate source map"); public static final CompilerConfigurationKey META_INFO = - CompilerConfigurationKey.create("generate metadata"); - public static final CompilerConfigurationKey KJSM = - CompilerConfigurationKey.create("generate .kjsm files"); + CompilerConfigurationKey.create("generate .meta.js and .kjsm files"); public static final CompilerConfigurationKey TARGET = CompilerConfigurationKey.create("ECMA version target"); diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/facade/TranslationResult.kt b/js/js.translator/src/org/jetbrains/kotlin/js/facade/TranslationResult.kt index f8b1c091da0..ab2268d14c9 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/facade/TranslationResult.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/facade/TranslationResult.kt @@ -16,18 +16,18 @@ package org.jetbrains.kotlin.js.facade -import org.jetbrains.kotlin.js.backend.ast.JsProgram -import org.jetbrains.kotlin.js.util.TextOutput -import org.jetbrains.kotlin.js.util.TextOutputImpl import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.vfs.VfsUtilCore import org.jetbrains.kotlin.backend.common.output.* import org.jetbrains.kotlin.descriptors.ModuleDescriptor +import org.jetbrains.kotlin.js.backend.ast.JsProgram import org.jetbrains.kotlin.js.config.JSConfigurationKeys import org.jetbrains.kotlin.js.config.JsConfig import org.jetbrains.kotlin.js.sourceMap.JsSourceGenerationVisitor import org.jetbrains.kotlin.js.sourceMap.SourceMap3Builder import org.jetbrains.kotlin.js.sourceMap.SourceMapBuilder +import org.jetbrains.kotlin.js.util.TextOutput +import org.jetbrains.kotlin.js.util.TextOutputImpl import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics @@ -86,9 +86,7 @@ abstract class TranslationResult protected constructor(val diagnostics: Diagnost val sourceFilesForMetaFile = ArrayList(sourceFiles) val jsMetaFile = SimpleOutputFile(sourceFilesForMetaFile, metaFileName, metaFileContent) outputFiles.add(jsMetaFile) - } - if (config.configuration.getBoolean(JSConfigurationKeys.KJSM)) { KotlinJavascriptSerializationUtil.toContentMap(bindingContext, moduleDescriptor).forEach { // TODO Add correct source files outputFiles.add(SimpleOutputBinaryFile(emptyList(), config.moduleId + VfsUtilCore.VFS_SEPARATOR_CHAR + it.key, it.value)) diff --git a/libraries/kotlin.test/js/pom.xml b/libraries/kotlin.test/js/pom.xml index 1fd84e2e349..12a18429d56 100644 --- a/libraries/kotlin.test/js/pom.xml +++ b/libraries/kotlin.test/js/pom.xml @@ -38,7 +38,6 @@ -Xmulti-platform umd - true true @@ -77,9 +76,6 @@ **/*.js **/*.js.map **/*.kjsm - **/*.kotlin_classes - **/*.kotlin_string_table - **/*.kotlin_file_table diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptions.kt index 7f664974db4..ee46dd8a4a5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptions.kt @@ -4,12 +4,6 @@ package org.jetbrains.kotlin.gradle.dsl interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { - /** - * Generate kjsm-files (for creating libraries) - * Default value: true - */ - var kjsm: kotlin.Boolean - /** * Whether a main function should be called * Possible values: "call", "noCall" @@ -18,7 +12,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions var main: kotlin.String /** - * Generate metadata + * Generate .meta.js and .kjsm files with metadata. Use to create a library * Default value: true */ var metaInfo: kotlin.Boolean diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt index 09b3422acfe..37dda0ca9bd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinJsOptionsBase.kt @@ -24,11 +24,6 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko get() = verboseField ?: false set(value) { verboseField = value } - private var kjsmField: kotlin.Boolean? = null - override var kjsm: kotlin.Boolean - get() = kjsmField ?: true - set(value) { kjsmField = value } - private var mainField: kotlin.String? = null override var main: kotlin.String get() = mainField ?: "call" @@ -69,7 +64,6 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko languageVersionField?.let { args.languageVersion = it } suppressWarningsField?.let { args.suppressWarnings = it } verboseField?.let { args.verbose = it } - kjsmField?.let { args.kjsm = it } mainField?.let { args.main = it } metaInfoField?.let { args.metaInfo = it } moduleKindField?.let { args.moduleKind = it } @@ -85,7 +79,6 @@ internal fun org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments.fil languageVersion = "1.1" suppressWarnings = false verbose = false - kjsm = true main = "call" metaInfo = true moduleKind = "plain" 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 bc567f84a9d..32937933aba 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 @@ -58,17 +58,11 @@ public class K2JSCompilerMojo extends KotlinCompileMojoBase libraries = null;