54 lines
1.6 KiB
Haxe
54 lines
1.6 KiB
Haxe
import Sys.*;
|
|
import sys.FileSystem.*;
|
|
import sys.io.File.*;
|
|
import haxe.io.*;
|
|
|
|
class Run {
|
|
// https://helpx.adobe.com/flash-player/kb/configure-debugger-version-flash-player.html
|
|
static var flashlog(default, never) = switch (systemName()) {
|
|
case "Linux":
|
|
Path.join([getEnv("HOME"), ".macromedia/Flash_Player/Logs/flashlog.txt"]);
|
|
case "Mac":
|
|
Path.join([getEnv("HOME"), "Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt"]);
|
|
case "Windows":
|
|
Path.join([getEnv("APPDATA"), "Macromedia", "Flash Player", "Logs", "flashlog.txt"]);
|
|
case _:
|
|
throw "unsupported system";
|
|
}
|
|
static function main() {
|
|
var args = args();
|
|
var swf = args[0];
|
|
var exitCode = switch (systemName()) {
|
|
case "Linux":
|
|
// The flash player has some issues with unexplained crashes,
|
|
// but if it runs about 16 times, it should succeed one of those...
|
|
var c = -1;
|
|
for (i in 0...16) {
|
|
if ((c = command("xvfb-run", ["-a", "flash/flashplayerdebugger", swf])) == 0)
|
|
break;
|
|
println('retry... (${i+1})');
|
|
sleep(1.5);
|
|
}
|
|
c;
|
|
case "Mac":
|
|
command("/Applications/Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger", [fullPath(swf)]);
|
|
case "Windows":
|
|
command("flash\\flashplayer.exe", [fullPath(swf)]);
|
|
case _:
|
|
throw "unsupported platform";
|
|
}
|
|
if (exists(flashlog))
|
|
println(getContent(flashlog));
|
|
else {
|
|
println('does not exist: $flashlog');
|
|
var parts = Path.normalize(flashlog).split("/");
|
|
println(parts);
|
|
for (i in 0...parts.length-1) {
|
|
var path = parts.splice(0, i+1).join("/");
|
|
println('ls $path');
|
|
command("ls", [path]);
|
|
}
|
|
}
|
|
exit(exitCode);
|
|
}
|
|
} |