Package .js library file into plugin

This commit is contained in:
pTalanov
2012-05-22 17:20:50 +04:00
parent c7c4a4bd39
commit 6a24d0cf6d
4 changed files with 28 additions and 13 deletions
+1
View File
@@ -141,6 +141,7 @@
<jar jarfile="${kotlin-home}/lib/kotlin-jslib.jar"> <jar jarfile="${kotlin-home}/lib/kotlin-jslib.jar">
<fileset dir = "${basedir}/js/js.libraries/src"/> <fileset dir = "${basedir}/js/js.libraries/src"/>
</jar> </jar>
<copyfile src="${basedir}/js/js.translator/testFiles/kotlin_lib.js" dest="${kotlin-home}/lib/kotlinLib.js"/>
</target> </target>
<target name="compiler"> <target name="compiler">
@@ -33,6 +33,7 @@ import java.util.List;
public class PathUtil { public class PathUtil {
public static String JS_LIB_JAR_NAME = "kotlin-jslib.jar"; public static String JS_LIB_JAR_NAME = "kotlin-jslib.jar";
public static String JS_LIB_JS_NAME = "kotlinLib.js";
private PathUtil() {} private PathUtil() {}
@@ -72,9 +73,13 @@ public class PathUtil {
return getFilePackedIntoLib("kotlin-runtime.jar"); return getFilePackedIntoLib("kotlin-runtime.jar");
} }
@Nullable
public static File getDefaultJsLibJsPath() {
return getFilePackedIntoLib(JS_LIB_JS_NAME);
}
@Nullable @Nullable
public static File getDefaultJsLibPath() { public static File getDefaultJsLibJarPath() {
return getFilePackedIntoLib(JS_LIB_JAR_NAME); return getFilePackedIntoLib(JS_LIB_JAR_NAME);
} }
@@ -32,6 +32,8 @@ import org.jetbrains.jet.utils.PathUtil;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import static org.jetbrains.jet.plugin.k2jsrun.K2JSRunnerUtils.copyFileToDir; import static org.jetbrains.jet.plugin.k2jsrun.K2JSRunnerUtils.copyFileToDir;
@@ -49,19 +51,13 @@ public final class JsModuleSetUp {
return; return;
} }
File jsLibPath = PathUtil.getDefaultJsLibPath();
if (jsLibPath == null) {
notifyFailure("JavaScript library not found. Make sure plugin is installed properly.");
return;
}
File rootDir = getRootDir(project); File rootDir = getRootDir(project);
if (!rootDir.isDirectory()) { if (!rootDir.isDirectory()) {
notifyFailure("Internal error: Broken content root."); notifyFailure("Internal error: Broken content root.");
return; return;
} }
if (!copyJsLib(jsLibPath, rootDir)) return; if (!copyJsLibFiles(rootDir)) return;
File file = new File(rootDir, JsModuleDetector.INDICATION_FILE_NAME); File file = new File(rootDir, JsModuleDetector.INDICATION_FILE_NAME);
if (file.exists()) { if (file.exists()) {
@@ -74,8 +70,19 @@ public final class JsModuleSetUp {
refreshRootDir(project); refreshRootDir(project);
} }
private static boolean copyJsLibFiles(@NotNull File rootDir) {
File jsLibJarPath = PathUtil.getDefaultJsLibJarPath();
File jsLibJsPath = PathUtil.getDefaultJsLibJsPath();
if ((jsLibJarPath == null) || (jsLibJsPath == null)) {
notifyFailure("JavaScript library not found. Make sure plugin is installed properly.");
return false;
}
return doCopyJsLibFiles(Arrays.asList(jsLibJarPath, jsLibJsPath), rootDir);
}
private static void refreshRootDir(@NotNull Project project) { private static void refreshRootDir(@NotNull Project project) {
getContentRoot(project).refresh(false, false); getContentRoot(project).refresh(false, true);
} }
private static void createIndicationFile(@NotNull File file) { private static void createIndicationFile(@NotNull File file) {
@@ -87,9 +94,12 @@ public final class JsModuleSetUp {
} }
} }
private static boolean copyJsLib(@NotNull File jsLibPath, @NotNull File rootDir) { private static boolean doCopyJsLibFiles(@NotNull List<File> files, @NotNull File rootDir) {
try { try {
copyFileToDir(jsLibPath, new File(rootDir, "lib")); File lib = new File(rootDir, "lib");
for (File file : files) {
copyFileToDir(file, lib);
}
} }
catch (IOException e) { catch (IOException e) {
notifyFailure("Failed to copy file: " + e.getMessage()); notifyFailure("Failed to copy file: " + e.getMessage());
+1 -2
View File
@@ -353,8 +353,7 @@ var Kotlin;
}); });
Kotlin.parseInt = Kotlin.parseInt = function (str) {
function (str) {
return parseInt(str, 10); return parseInt(str, 10);
} }
; ;