Minor: fix compilation in IDEA
This commit is contained in:
Generated
+1
@@ -31,6 +31,7 @@
|
|||||||
<element id="module-output" name="eval4j" />
|
<element id="module-output" name="eval4j" />
|
||||||
<element id="module-output" name="idea-analysis" />
|
<element id="module-output" name="idea-analysis" />
|
||||||
<element id="module-output" name="ide-lazy-resolve" />
|
<element id="module-output" name="ide-lazy-resolve" />
|
||||||
|
<element id="file-copy" path="$PROJECT_DIR$/resources/manifest.properties" />
|
||||||
</element>
|
</element>
|
||||||
<element id="library" level="project" name="javax.inject" />
|
<element id="library" level="project" name="javax.inject" />
|
||||||
<element id="directory" name="jps">
|
<element id="directory" name="jps">
|
||||||
|
|||||||
@@ -335,6 +335,7 @@
|
|||||||
</fileset>
|
</fileset>
|
||||||
<fileset dir="${basedir}/compiler/frontend.java/src" includes="META-INF/services/**"/>
|
<fileset dir="${basedir}/compiler/frontend.java/src" includes="META-INF/services/**"/>
|
||||||
<fileset dir="${basedir}/compiler/backend/src" includes="META-INF/services/**"/>
|
<fileset dir="${basedir}/compiler/backend/src" includes="META-INF/services/**"/>
|
||||||
|
<fileset dir="${basedir}/resources" includes="manifest.properties"/>
|
||||||
|
|
||||||
<zipgroupfileset dir="${basedir}/lib" includes="*.jar"/>
|
<zipgroupfileset dir="${basedir}/lib" includes="*.jar"/>
|
||||||
<zipgroupfileset dir="${basedir}/ideaSDK/core" includes="*.jar" excludes="util.jar"/>
|
<zipgroupfileset dir="${basedir}/ideaSDK/core" includes="*.jar" excludes="util.jar"/>
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import com.intellij.psi.PsiManager;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -38,6 +39,7 @@ import java.util.zip.ZipEntry;
|
|||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
import static org.jetbrains.jet.lang.psi.PsiPackage.JetPsiFactory;
|
import static org.jetbrains.jet.lang.psi.PsiPackage.JetPsiFactory;
|
||||||
|
import static org.jetbrains.jet.utils.LibraryUtils.isJsRuntimeLibrary;
|
||||||
|
|
||||||
public class LibrarySourcesConfig extends Config {
|
public class LibrarySourcesConfig extends Config {
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -80,8 +82,10 @@ public class LibrarySourcesConfig extends Config {
|
|||||||
moduleName = path.substring(1);
|
moduleName = path.substring(1);
|
||||||
}
|
}
|
||||||
else if (path.endsWith(".jar") || path.endsWith(".zip")) {
|
else if (path.endsWith(".jar") || path.endsWith(".zip")) {
|
||||||
|
String actualModuleName = isJsRuntimeLibrary(new File(path)) ? "kotlin_lib_compiled" : moduleName;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
jetFiles.addAll(readZip(path));
|
jetFiles.addAll(readZip(path, actualModuleName));
|
||||||
}
|
}
|
||||||
catch (IOException e) {
|
catch (IOException e) {
|
||||||
LOG.error(e);
|
LOG.error(e);
|
||||||
@@ -105,10 +109,10 @@ public class LibrarySourcesConfig extends Config {
|
|||||||
return jetFiles;
|
return jetFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<JetFile> readZip(String file) throws IOException {
|
private List<JetFile> readZip(String file, String moduleName) throws IOException {
|
||||||
ZipFile zipFile = new ZipFile(file);
|
ZipFile zipFile = new ZipFile(file);
|
||||||
try {
|
try {
|
||||||
return traverseArchive(zipFile);
|
return traverseArchive(zipFile, moduleName);
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
zipFile.close();
|
zipFile.close();
|
||||||
@@ -116,16 +120,16 @@ public class LibrarySourcesConfig extends Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private List<JetFile> traverseArchive(@NotNull ZipFile file) throws IOException {
|
private List<JetFile> traverseArchive(@NotNull ZipFile zipFile, String moduleName) throws IOException {
|
||||||
List<JetFile> result = Lists.newArrayList();
|
List<JetFile> result = Lists.newArrayList();
|
||||||
Enumeration<? extends ZipEntry> zipEntries = file.entries();
|
Enumeration<? extends ZipEntry> zipEntries = zipFile.entries();
|
||||||
while (zipEntries.hasMoreElements()) {
|
while (zipEntries.hasMoreElements()) {
|
||||||
ZipEntry entry = zipEntries.nextElement();
|
ZipEntry entry = zipEntries.nextElement();
|
||||||
if (!entry.isDirectory() && entry.getName().endsWith(".kt")) {
|
if (!entry.isDirectory() && entry.getName().endsWith(".kt")) {
|
||||||
InputStream stream = file.getInputStream(entry);
|
InputStream stream = zipFile.getInputStream(entry);
|
||||||
String text = StringUtil.convertLineSeparators(FileUtil.loadTextAndClose(stream));
|
String text = StringUtil.convertLineSeparators(FileUtil.loadTextAndClose(stream));
|
||||||
JetFile jetFile = JetPsiFactory(getProject()).createFile(entry.getName(), text);
|
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);
|
result.add(jetFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user