JS: write full version (major.minor.patch) to .meta.js

This commit is contained in:
Alexander Udalov
2017-01-25 20:13:33 +03:00
parent 038e4da83c
commit ef42e3e4aa
9 changed files with 57 additions and 69 deletions
@@ -37,8 +37,8 @@ import org.jetbrains.kotlin.serialization.js.JsModuleDescriptor;
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil;
import org.jetbrains.kotlin.serialization.js.ModuleKind;
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.utils.JsBinaryVersion;
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadata;
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils;
import java.util.ArrayList;
import java.util.Collection;
@@ -128,9 +128,8 @@ public abstract class JsConfig {
}
private JsModuleDescriptor<ModuleDescriptorImpl> createModuleDescriptor(KotlinJavascriptMetadata metadata) {
assert metadata.isAbiVersionCompatible() :
"expected abi version " + KotlinJavascriptMetadataUtils.ABI_VERSION +
", but metadata.abiVersion = " + metadata.getAbiVersion();
assert metadata.getVersion().isCompatible() :
"Expected JS metadata version " + JsBinaryVersion.INSTANCE + ", but actual metadata version is " + metadata.getVersion();
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(
Name.special("<" + metadata.getModuleName() + ">"), storageManager, JsPlatform.INSTANCE.getBuiltIns()
@@ -32,6 +32,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.idea.KotlinFileType;
import org.jetbrains.kotlin.psi.KtFile;
import org.jetbrains.kotlin.utils.JsBinaryVersion;
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadata;
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils;
import org.jetbrains.kotlin.utils.LibraryUtils;
@@ -144,10 +145,10 @@ public class LibrarySourcesConfig extends JsConfig {
}
for (KotlinJavascriptMetadata metadata : metadataList) {
if (!metadata.isAbiVersionCompatible()) {
if (!metadata.getVersion().isCompatible()) {
report.invoke("File '" + path + "' was compiled with an incompatible version of Kotlin. " +
"Its ABI version is " + metadata.getAbiVersion() +
", expected version is " + KotlinJavascriptMetadataUtils.ABI_VERSION);
"The binary version of its metadata is " + metadata.getVersion() +
", expected version is " + JsBinaryVersion.INSTANCE);
return true;
}
}