@@ -53,34 +53,35 @@ class HaxeDownload {
53
53
installFile (dest , filename , alias );
54
54
}
55
55
56
- static function downloadLatest (? alias : String = " dev" ): Void {
56
+ static function downloadLatest (? alias : String = " dev" , ? cb : String -> Void ): Void {
57
57
final url = Utils .getBuildUrl (" latest" );
58
- install (url [0 ], url [1 ], alias );
58
+ install (url [0 ], url [1 ], alias , cb );
59
59
}
60
60
61
- static function downloadNightly (v : String , ? alias : String ): Void {
61
+ public static function downloadNightly (v : String , ? alias : String , ? cb : String -> Void ): Void {
62
62
v = HaxeNightlies .resolve (v );
63
63
final url = Utils .getBuildUrl (v );
64
- install (url [0 ], url [1 ], alias );
64
+ install (url [0 ], url [1 ], alias , cb );
65
65
}
66
66
67
- static function downloadRelease (v : String , ? alias : String ): Void {
67
+ public static function downloadRelease (v : String , ? alias : String , ? cb : String -> Void ): Void {
68
68
final url = Utils .getReleaseUrl (v );
69
- install (url [0 ], url [1 ], alias );
69
+ install (url [0 ], url [1 ], alias , cb );
70
70
}
71
71
72
- static function install (url : String , filename : String , ? alias : String ): Void {
72
+ static function install (url : String , filename : String , ? alias : String , ? cb : String -> Void ): Void {
73
73
url = url + filename ;
74
74
filename = Path .withoutDirectory (filename );
75
75
final path = Path .join ([Utils .releasesDir , filename ]);
76
76
77
77
DownloadHelper .download (url , path , () -> {
78
78
Sys .println (' Downloaded $filename ' );
79
- installFile (path , filename , alias );
79
+ alias = installFile (path , filename , alias );
80
+ if (cb != null ) cb (alias );
80
81
});
81
82
}
82
83
83
- static function installFile (path : String , filename : String , ? alias : String ): Void {
84
+ static function installFile (path : String , filename : String , ? alias : String ): String {
84
85
final out = DownloadHelper .extract (path );
85
86
FileSystem .deleteFile (path );
86
87
@@ -91,6 +92,7 @@ class HaxeDownload {
91
92
try FileSystem .deleteFile (versionPath ) catch (_ ) {}
92
93
FileSync .symlink (releasePath , versionPath );
93
94
Sys .println (' Installed $filename as $alias ' );
95
+ return alias ;
94
96
}
95
97
96
98
public static function displayUsage () {
0 commit comments