-
Notifications
You must be signed in to change notification settings - Fork 24
/
package.sh
106 lines (92 loc) · 1.57 KB
/
package.sh
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
99
100
101
102
103
104
105
106
#!/bin/bash
# build and package everything for Linux
# recommend running as : package.sh > build.log
# then search build.log for "error" or "fail"
function detectos {
if [ ! -f /etc/os-release ]; then
echo Unable to detect os
echo /etc/os-release not found!
exit
fi
. /etc/os-release
case $ID in
debian | ubuntu)
pkg=deb
PKG=DEB
OS=debian
sudo apt install bzip2
case $HOSTTYPE in
x86_64)
ARCH=amd64
;;
aarch64)
ARCH=arm64
;;
*)
echo Invalid HOSTTYPE!
exit
;;
esac
;;
fedora)
pkg=rpm
PKG=RPM
OS=fedora
ARCH=$HOSTTYPE
;;
arch)
pkg=pac
PKG=PAC
OS=arch
ARCH=$HOSTTYPE
;;
*)
echo Unknown os detected!
echo ID=%ID
exit
;;
esac
}
detectos
if [ ! -f javaforce.jar ]; then
echo Please build javaforce first!
exit
fi
if [ ! -f native/linux64.bin ]; then
echo Please build native first!
exit
fi
#install repo
if [ ! -f repo/readme.txt ]; then
ant repo
fi
#clean repo
echo cleaning repo/$OS/$ARCH/
cd repo/$OS/$ARCH
chmod +x clean.sh
./clean.sh
cd ../../..
#force rebuild everything
find -name "*.class" | xargs rm 2>/dev/null
#package javaforce
echo Packaging javaforce
echo Packaging javaforce 1>&2
ant $pkg
#package utils
echo Packaging utils
echo Packaging utils 1>&2
cd utils
ant buildall
ant $pkg
cd ..
#package projects
cd projects
chmod +x package.sh
./package.sh
cd ..
#package libs
cd lib
chmod +x package.sh
./package.sh
cd ..
echo Build Complete!