diff --git a/.idea/artifacts/KotlinPlugin.xml b/.idea/artifacts/KotlinPlugin.xml
index 16780fcda3b..125017f4562 100644
--- a/.idea/artifacts/KotlinPlugin.xml
+++ b/.idea/artifacts/KotlinPlugin.xml
@@ -31,6 +31,7 @@
+
diff --git a/build.xml b/build.xml
index a9fdbfc6a71..0970973ea1a 100644
--- a/build.xml
+++ b/build.xml
@@ -335,6 +335,7 @@
+
diff --git a/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java b/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java
index 872b21d78fb..b165f59d1dd 100644
--- a/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java
+++ b/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java
@@ -28,6 +28,7 @@ import com.intellij.psi.PsiManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetFile;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@@ -38,6 +39,7 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import static org.jetbrains.jet.lang.psi.PsiPackage.JetPsiFactory;
+import static org.jetbrains.jet.utils.LibraryUtils.isJsRuntimeLibrary;
public class LibrarySourcesConfig extends Config {
@NotNull
@@ -80,8 +82,10 @@ public class LibrarySourcesConfig extends Config {
moduleName = path.substring(1);
}
else if (path.endsWith(".jar") || path.endsWith(".zip")) {
+ String actualModuleName = isJsRuntimeLibrary(new File(path)) ? "kotlin_lib_compiled" : moduleName;
+
try {
- jetFiles.addAll(readZip(path));
+ jetFiles.addAll(readZip(path, actualModuleName));
}
catch (IOException e) {
LOG.error(e);
@@ -105,10 +109,10 @@ public class LibrarySourcesConfig extends Config {
return jetFiles;
}
- private List readZip(String file) throws IOException {
+ private List readZip(String file, String moduleName) throws IOException {
ZipFile zipFile = new ZipFile(file);
try {
- return traverseArchive(zipFile);
+ return traverseArchive(zipFile, moduleName);
}
finally {
zipFile.close();
@@ -116,16 +120,16 @@ public class LibrarySourcesConfig extends Config {
}
@NotNull
- private List traverseArchive(@NotNull ZipFile file) throws IOException {
+ private List traverseArchive(@NotNull ZipFile zipFile, String moduleName) throws IOException {
List result = Lists.newArrayList();
- Enumeration extends ZipEntry> zipEntries = file.entries();
+ Enumeration extends ZipEntry> zipEntries = zipFile.entries();
while (zipEntries.hasMoreElements()) {
ZipEntry entry = zipEntries.nextElement();
if (!entry.isDirectory() && entry.getName().endsWith(".kt")) {
- InputStream stream = file.getInputStream(entry);
+ InputStream stream = zipFile.getInputStream(entry);
String text = StringUtil.convertLineSeparators(FileUtil.loadTextAndClose(stream));
JetFile jetFile = JetPsiFactory(getProject()).createFile(entry.getName(), text);
- jetFile.putUserData(EXTERNAL_MODULE_NAME, UNKNOWN_EXTERNAL_MODULE_NAME);
+ jetFile.putUserData(EXTERNAL_MODULE_NAME, moduleName);
result.add(jetFile);
}
}