File: release.neko

package info (click to toggle)
haxe 1%3A4.3.6-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 46,180 kB
  • sloc: ml: 137,199; ansic: 2,448; makefile: 456; java: 386; cs: 336; cpp: 318; python: 318; sh: 75; objc: 64; php: 50; xml: 31; javascript: 11
file content (98 lines) | stat: -rw-r--r-- 2,140 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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);