forked from magefree/mage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build-and-package.pl
executable file
·43 lines (37 loc) · 1.27 KB
/
build-and-package.pl
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
#!/usr/bin/perl -w
# yes, I know that this task can be done by more simple .bat, but perl script is more portable between OS
use strict;
use Archive::Extract;
use Archive::Zip;
use File::Copy;
use File::Path;
print "Start compiling...\n";
chdir("..");
system("mvn clean install -DskipTests");
chdir("Mage.Client");
system("mvn assembly:assembly");
chdir("../Mage.Server");
system("mvn assembly:assembly");
chdir("..");
mkdir("temp");
chdir("temp");
move("../Mage.Client/target/mage-client.zip", "client.zip");
move("../Mage.Server/target/mage-server.zip", "server.zip");
copy("../Utils/release/startMage.bat", "startMage.bat");
copy("../Utils/release/startMageWin7.bat", "startMageWin7.bat");
copy("../Utils/release/startMage.sh", "startMage.sh");
my $f = Archive::Extract->new( archive => "client.zip");
$f->extract( to => "client/");
$f = Archive::Extract->new( archive => "server.zip");
$f->extract( to => "server/");
unlink("client.zip");
unlink("server.zip");
my $zip = Archive::Zip->new();;
$zip->addTree("client", "mage-client");
$zip->addTree("server", "mage-server");
$zip->addFile("startMage.bat");
$zip->addFile("startMageWin7.bat");
$zip->addFile("startMage.sh");
$zip->writeToFileNamed("../mage-bundle.zip");
chdir("..");
rmtree("temp");