1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- version = $loader.args[0];
- if( version == null )
- $throw("<version> argument required");
- sys = $loader.loadprim("std@sys_string",0)();
- binext = "";
- curdir = "./";
- ext = switch( sys ) {
- "Windows" => {
- curdir = ".\\";
- binext = ".exe";
- "-win"
- }
- "Mac" => "-osx"
- "Linux" => "-linux"
- "BSD" => "-bsd"
- default => $throw("Unknown system")
- }
- rights = 493; // octal 755
- _mkdir = $loader.loadprim("std@sys_create_dir",2);
- mkdir = function(d) {
- _mkdir(d,rights);
- }
- chdir = $loader.loadprim("std@set_cwd",1);
- _cmd = $loader.loadprim("std@sys_command",1);
- cmd = function(c) {
- if( _cmd(c) != 0 ) $throw("Command '"+c+"' failed");
- }
- dir = "haxe-"+version+ext;
- cmd("rm -rf "+dir);
- mkdir(dir);
- mkdir(dir+"/doc");
- if( sys == "Windows" ) {
- cmd("cp ../haxe.exe ../haxesetup.exe haxeserver.bat "+dir);
- // copy if available (means we build on recent OCaml/MSVC)
- try cmd("cp C:/Windows/System32/msvcr100.dll "+dir) catch e {};
- } else
- cmd("cp ../haxe "+dir);
- cmd("cp -pR CHANGES.txt LICENSE.txt ../std "+dir);
- if( sys == "Windows" ) cmd("chmod -R 777 "+dir);
- cmd("haxe all.hxml");
- chdir(dir+"/std/tools");
- // BUILD TOOLS
- chdir("haxedoc");
- cmd("haxe haxedoc.hxml");
- cmd(curdir+"haxedoc -v \"../../../../neko.xml;neko\" \"../../../../js.xml;js\" \"../../../../flash9.xml;flash\" \"../../../../php.xml;php\" \"../../../../cpp.xml;cpp\"");
- cmd("mv index.html content ../../../doc");
- cmd("mv haxedoc"+binext+" ../../..");
- chdir("..");
- chdir("haxelib");
- cmd("haxe haxelib.hxml");
- cmd("mv haxelib"+binext+" ../../..");
- chdir("..");
- // CLEANUP
- chdir("..");
- cmd("rm -rf .svn */.svn */*/.svn */*/*/.svn */*/*/*/.svn");
- cmd("rm -rf all.n all.js *.swf *.xml");
- chdir("tools");
- chdir("haxedoc");
- cmd("rm -rf haxedoc.n index.html content haxedoc"+binext);
- chdir("..");
- chdir("haxelib");
- cmd("rm -rf *.bat *.zip *.db *.n tmp files");
- chdir("..");
- chdir("hxinst");
- cmd("rm -rf *.n *.zip *.dmg *.app hxinst-win.exe hxinst-linux hxinst-osx");
- chdir("..");
- chdir("..");
- cmd("rm -rf mt mtwin");
- chdir("../..");
- // PACKAGE
- if( sys == "Windows" )
- cmd("7z a -tzip "+dir+".zip "+dir);
- else
- cmd("tar -czf "+dir+".tar.gz "+dir);
- cmd("rm -rf "+dir);
|