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 b065e8962a4..3fbf62c0c2c 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 @@ -98,8 +98,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { 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" + "$PROJECT_NAME/root-package.kjsm" ) private val EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_DEFAULT_DIR = hashSetOf( "$PROJECT_NAME.js", @@ -107,13 +106,13 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { "lib/kotlin.js", "lib/kotlin.meta.js", "lib/jslib-example.js", + "lib/jslib-example.meta.js", "lib/file0.js", "lib/dir/file1.js", "lib/META-INF-ex/file2.js", "lib/res0.js", "lib/resdir/res1.js", - "$PROJECT_NAME/root-package.kjsm", - "$PROJECT_NAME/library/sample/sample.kjsm" + "$PROJECT_NAME/root-package.kjsm" ) private val EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_CUSTOM_DIR = hashSetOf( "$PROJECT_NAME.js", @@ -121,13 +120,13 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { "custom/kotlin.js", "custom/kotlin.meta.js", "custom/jslib-example.js", + "custom/jslib-example.meta.js", "custom/file0.js", "custom/dir/file1.js", "custom/META-INF-ex/file2.js", "custom/res0.js", "custom/resdir/res1.js", - "$PROJECT_NAME/root-package.kjsm", - "$PROJECT_NAME/library/sample/sample.kjsm" + "$PROJECT_NAME/root-package.kjsm" ) private fun k2jsOutput(vararg moduleNames: String): Array { diff --git a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/META-INF/MANIFEST.MF b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/META-INF/MANIFEST.MF index 00281ee90c5..5d1ec1e9192 100644 --- a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/META-INF/MANIFEST.MF +++ b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/META-INF/MANIFEST.MF @@ -5,5 +5,4 @@ Built-By: JetBrains Implementation-Vendor: JetBrains Implementation-Version: snapshot Specification-Title: Kotlin JavaScript Lib -Kotlin-JS-Module-Name: jslib-example diff --git a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/ReadMe.md b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/ReadMe.md index 6c269930b08..9e82278e756 100644 --- a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/ReadMe.md +++ b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/ReadMe.md @@ -1,6 +1,6 @@ # jslib-example -Path to sources: compiler/integration-tests/testData/ant/js/simpleWithStdlibAndFolderAsAnotherLib/jslib-example +Path to sources: `compiler/testData/cli/js/jslib` The archive compiler/integration-tests/testData/ant/js/simpleWithStdlibAndAnotherLib/jslib-example.jar should be updated after changing some files in source folder. \ No newline at end of file diff --git a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.js b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.js index 8fb2ce81d48..68154be1e35 100644 --- a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.js +++ b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.js @@ -1,37 +1,44 @@ -(function (Kotlin) { +if (typeof kotlin === 'undefined') { + throw new Error("Error loading module 'LibraryExample'. Its dependency 'kotlin' was not found. Please, check whether 'kotlin' is loaded prior to 'LibraryExample'."); +} +var LibraryExample = function (_, Kotlin) { 'use strict'; - var _ = Kotlin.defineRootPackage(null, /** @lends _ */ { - library: Kotlin.definePackage(null, /** @lends _.library */ { - sample: Kotlin.definePackage(null, /** @lends _.library.sample */ { - pairAdd_bunuun$: function (p) { - return p.first + p.second; - }, - pairMul_bunuun$: function (p) { - return p.first * p.second; - }, - IntHolder: Kotlin.createClass(null, function (value) { - this.value = value; - }, /** @lends _.library.sample.IntHolder.prototype */ { - component1: function () { - return this.value; - }, - copy_za3lpa$: function (value) { - return new _.library.sample.IntHolder(value === void 0 ? this.value : value); - }, - toString: function () { - return 'IntHolder(value=' + Kotlin.toString(this.value) + ')'; - }, - hashCode: function () { - var result = 0; - result = result * 31 + Kotlin.hashCode(this.value) | 0; - return result; - }, - equals_za3rmp$: function (other) { - return this === other || (other !== null && (Object.getPrototypeOf(this) === Object.getPrototypeOf(other) && Kotlin.equals(this.value, other.value))); - } - }) - }) - }) - }); - Kotlin.defineModule('jslib-example', _); -}(Kotlin)); + function pairAdd(p) { + return p.first + p.second | 0; + } + function pairMul(p) { + return Kotlin.imul(p.first, p.second); + } + function IntHolder(value) { + this.value = value; + } + IntHolder.$metadata$ = { + kind: Kotlin.Kind.CLASS, + simpleName: 'IntHolder', + interfaces: [] + }; + IntHolder.prototype.component1 = function () { + return this.value; + }; + IntHolder.prototype.copy_za3lpa$ = function (value) { + return new IntHolder(value === void 0 ? this.value : value); + }; + IntHolder.prototype.toString = function () { + return 'IntHolder(value=' + Kotlin.toString(this.value) + ')'; + }; + IntHolder.prototype.hashCode = function () { + var result = 0; + result = result * 31 + Kotlin.hashCode(this.value) | 0; + return result; + }; + IntHolder.prototype.equals = function (other) { + return this === other || (other !== null && (typeof other === 'object' && (Object.getPrototypeOf(this) === Object.getPrototypeOf(other) && Kotlin.equals(this.value, other.value)))); + }; + var package$library = _.library || (_.library = {}); + var package$sample = package$library.sample || (package$library.sample = {}); + package$sample.pairAdd_1fzo63$ = pairAdd; + package$sample.pairMul_1fzo63$ = pairMul; + package$sample.IntHolder = IntHolder; + Kotlin.defineModule('LibraryExample', _); + return _; +}(typeof LibraryExample === 'undefined' ? {} : LibraryExample, kotlin); diff --git a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.meta.js b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.meta.js new file mode 100644 index 00000000000..5dd2ffc566e --- /dev/null +++ b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example.meta.js @@ -0,0 +1 @@ +// Kotlin.kotlin_module_metadata(1, "LibraryExample", "H4sIAAAAAAAAAJVW227TQBB1fF1Pb64LJTUgRBEgbiWkCIEESC19KJWQgIoPcJ1tsqmzG9ZO0v4Ar0h9QP2UfAGf0N+BcS5O0tRu6gfvaHdmzlzOjq2490FxFa94Rv4Nn0LXHsmnRHE9sMD49oOz2NVBdRTPPCNK11aSs4cwD+aRiEPGQWXChUQBdKI4hUQNffVcvIabqZol6WFIgxjUeuQ6I318Fxw1sVK7tjp0rtf9tg96K2ZhlvOXsJo6n6fHTSpZg/LYzzToBV3/2aLyBNQWy1J7BzdAE7IKWmczAK0iGqAFUeSuXowZ36qjJaZa19YS0yfgpCGZ0udVGmWh7MNGqgqBkAJT5TSazASA8VgyHrFgJvwNWBoP/bgm8yv9CBbSIJJEr1OSlgxnCakIRs90mkO3gQzbMX34AGCEmBXWxhi95gLRaPqSRYJn1vw5rKT6dkQRmgfZHXqBSacdakqBbYlZtvqFYMKE6ywnmAn3IwLkXaVeQayjmhRcRGB06EE1zG/wZY2L2tVZGvcebl00NWkbaTkTEycGRD0zqx4H+mrTHNgcq1AP3zhosbCSn/FTWJ4aOVnobyZSnMMGHwrZ8JEU+RjPwE0xCN5QKnn21NmC9asvej7ebw3+FMAK2YH0cXaZkd9ohhTszzzeFWGFylGZtvgJGG0/bFHQ8DhBbDQFR5BXoAeiidbIez+MwNoWIqQ+B0PENXRBan5U+yQqFEgs9pOpUwVzsFpNn8mtSgUKTdC/otzf+dIK3Y9jgZtJ4EUFdzSUNUdHOVnNwQqDdXGwLhcVb8e76yx5askou47jLbq6i3L/XSJdouCxm3Pcr/M6I79IUS2rJX2buKZjJBZ7tmMl6+5fbW/FISiqZYI8NfqbBdy0UTTLxJnz9GKhpO+ea2g03zs/L6C4gKKF4veBSwQ8JSpMDdpkdM7OygMpOhGVWYR5C2tjvhe4iNkhC/z+MMlFKSHKyNI4pHFQy7d4DIuTUyUrqERxmIAe0+PMOzXxSam3Mz8pd8BOGT199T9A8eLwQcbJCMk4y/Qp46AfmVsdIY+ovGbxWEivsFgDs/+fMh3/Dty79MdnbFzMkMbEJ8LnyIQeCzJK6g1U/wOSAB0W3QkAAA=="); diff --git a/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example/library/sample/sample.kjsm b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example/library/sample/sample.kjsm new file mode 100644 index 00000000000..f53578c8ac0 Binary files /dev/null and b/jps/jps-plugin/testData/general/KotlinJavaScriptProjectWithDirectoryAsLibrary/jslib-example/jslib-example/library/sample/sample.kjsm differ