-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.sh
More file actions
75 lines (62 loc) · 1.67 KB
/
package.sh
File metadata and controls
75 lines (62 loc) · 1.67 KB
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
#!/bin/bash -x
CURDIR=`pwd`
OS=`uname | tr '[A-Z]' '[a-z]'`
ARCH=`uname -m | tr '[A-Z]' '[a-z]'`
PROJECTNAME=$1
PUBLISHDIR=${CURDIR}/publishdir/${PROJECTNAME}
if [ x"${OS}" == x"darwin" ]; then
MD5CMD="md5"
else
MD5CMD="md5sum"
fi
function check_git_clean() {
GITSTATUSOUT=`git status -s`
if [ x${GITSTATUSOUT} == x"" ]; then
GITCHERRYOUT=`git cherry`
if [ x${GITCHERRYOUT} == x"" ]; then
echo 'clean'
else
echo 'git_cherry_not_clean'
fi
else
echo 'git_status_not_clean'
fi
}
function write_version_info() {
VERSIONTXTFILEPATH=${PUBLISHDIR}/version.txt
echo "[md5 bin file]" >> ${VERSIONTXTFILEPATH}
${MD5CMD} ${PUBLISHDIR}/bin/${PROJECTNAME} >> ${VERSIONTXTFILEPATH}
echo "____________________________________">> ${VERSIONTXTFILEPATH}
echo "" >> ${VERSIONTXTFILEPATH}
echo "[git status]" >> ${VERSIONTXTFILEPATH}
git status >> ${VERSIONTXTFILEPATH}
echo "____________________________________">> ${VERSIONTXTFILEPATH}
echo "" >> ${VERSIONTXTFILEPATH}
echo "[git log]" >> ${VERSIONTXTFILEPATH}
git log --pretty=oneline -10 >> ${VERSIONTXTFILEPATH}
}
function targz() {
echo ${CURDIR}
echo "BUILD_NUMBER" ${BUILD_NUMBER}
cd ${CURDIR}/publishdir
rm ${PROJECTNAME}.tar.gz
tar -cvxf ${PROJECTNAME}.tar.gz ${PROJECTNAME}
cd -
}
function main() {
CLEANOUT=`check_git_clean`
if [ x"${CLEANOUT}" != x"clean" ]; then
echo ${CLEANOUT}
git status
git cherry
exit 1
fi
make ${PROJECTNAME}
write_version_info
targz
}
if [ x"${PROJECTNAME}" == x"" ]; then
echo "please set target"
exit 1
fi
main