Протестируйте несколько целевых языков Haxe с помощью одного скрипта

Есть ли в Haxe скрипт или команда, которая может автоматически запускать программу Haxe на нескольких целевых языках? Я хотел бы написать скрипт, который делает следующее:

1) Скомпилируйте исходный код Haxe в JavaScript, C++, PHP и Java.

2) Отображать вывод программы Haxe на каждом целевом языке.


person Anderson Green    schedule 22.11.2012    source источник
comment
См. также stackoverflow.com/questions/14409869/   -  person joeytwiddle    schedule 04.04.2014


Ответы (1)


Вы можете сделать это с помощью обычного hxml и специальной среды выполнения js, которая позволяет выводить данные на терминал. Я использую phantomjs, но возможны и другие среды, такие как node.js.

Обратите внимание, что мне нужно добавить добавление определенной команды выхода, чтобы фантомы завершились правильно. См. документы phantomjs для получения более подробной информации. Вам также потребуется установить hxjava и hxcpp из haxelib.

Я использую здесь --next для выполнения нескольких компиляций за один проход. Вы можете легко разбить это на несколько файлов hxml и управлять ими через make-файл и т. д.

-main Main  
-php php                                                                        
-cmd echo "PHP:"                                                                
-cmd php php/index.php                                                          
-cmd echo "\n"                                                                  

--next                                                                          
-main Main                                                                      
-js bin/Main.js                                                                 
-cmd echo "phantom.exit();" >> bin/Main.js                                      
-cmd echo "JS:"                                                                 
-cmd phantomjs bin/Main.js                                                      
-cmd echo "\n"                                                                  

--next                                                                          
-main Main                                                                      
-cpp cpp                                                                        
-cmd echo "CPP:"                                                                
-cmd ./cpp/Main                                                                 
-cmd echo "\n"                                                                  

--next                                                                          
-main Main                                                                      
-java java                                                                      
-cmd echo "JAVA:"                                                               
-cmd java -jar java/java.jar                                                    
-cmd echo "\n"  
person jdonaldson    schedule 18.12.2012
comment
На каких операционных системах предназначен этот сценарий? - person Anderson Green; 01.01.2013
comment
Это должно работать на типичных системах unix. Для окон вам придется изменить косую черту каталога. echo и оператор ›› должны работать на большинстве платформ. - person jdonaldson; 09.01.2013