-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathcompile_packages.sh
executable file
·141 lines (134 loc) · 5.58 KB
/
compile_packages.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/bin/sh
echo '****************************************************************************'
echo ' compile_packages.sh '
echo ' by niuren.zhu '
echo ' 2016.06.17 '
echo ' 说明: '
echo ' 1. 安装apache-maven,sudo apt-get install maven '
echo ' 2. 解压apache-maven,并设置系统变量MAVEN_HOME为解压的程序目录。 '
echo ' 3. 添加PATH变量到MAVEN_HOME/bin,并检查JAVE_HOME配置是否正确。 '
echo ' 4. 运行提示符运行mvn -v 检查安装是否成功。 '
echo ' 5. 此脚本会遍历当前目录的子目录,查找pom.xml并编译jar包到release目录。 '
echo ' 6. 可在compile_order.txt文件中调整编译顺序。 '
echo '****************************************************************************'
# 设置参数变量
cd `dirname $0`
WORK_FOLDER=${PWD}
echo --当前工作的目录是[${WORK_FOLDER}]
echo --检查编译顺序文件[compile_order.txt]
if [ ! -e ${WORK_FOLDER}/compile_order.txt ]
then
ls -l | awk '/^d/{print $NF}' > ${WORK_FOLDER}/compile_order.txt
fi
echo --清除项目缓存
if [ -e ${WORK_FOLDER}/release/ ]
then
rm -rf ${WORK_FOLDER}/release/
fi
mkdir -p ${WORK_FOLDER}/release/
if [ -e ${WORK_FOLDER}/pom.xml ]
then
mvn -q clean install -f ${WORK_FOLDER}/pom.xml
fi
echo --开始编译[compile_order.txt]内容
while read line
do
if [ -e ${WORK_FOLDER}/${line}/pom.xml ]
then
isService=`echo ${line}|grep '.service$'|wc -l`
if [ ${isService} != 0 ]
then
# 网站,编译war包
echo --开始编译[${line}]
mvn -q clean package -Dmaven.test.skip=true -f ${WORK_FOLDER}/${line}/pom.xml
if [ -e ${WORK_FOLDER}/${line}/target/*.war ]
then
cp -r ${WORK_FOLDER}/${line}/target/*.war ${WORK_FOLDER}/release
fi
else
# 非网站,编译jar包并安装到本地
echo --开始编译[${line}]+安装
mvn -q clean package install -Dmaven.test.skip=true -f ${WORK_FOLDER}/${line}/pom.xml
if [ -e ${WORK_FOLDER}/${line}/target/*.jar ]
then
cp -r ${WORK_FOLDER}/${line}/target/*.jar ${WORK_FOLDER}/release
fi
# 复制lib目录
if [ -e ${WORK_FOLDER}/${line}/target/lib/ ]
then
cp -r ${WORK_FOLDER}/${line}/target/lib/* ${WORK_FOLDER}/release
fi
fi
# 检查编译结果
if [ -e ${WORK_FOLDER}/release/${line}*.* ]
then
echo --编译[${line}]成功
else
echo --编译[${line}]失败
fi
fi
done < ${WORK_FOLDER}/compile_order.txt | sed 's/\r//g'
echo --开始编译额外内容
mvn -q clean install -f ${WORK_FOLDER}/btulz.transforms.b1/pom.xml
# complie b1 8.8
mvn -q clean package install -Dmaven.test.skip=true -f ${WORK_FOLDER}/btulz.transforms.b1/pom.b188.xml
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ${WORK_FOLDER}/release
fi
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/lib/ ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/lib/* ${WORK_FOLDER}/release
fi
# complie b1 9.1
mvn -q clean package install -Dmaven.test.skip=true -f ${WORK_FOLDER}/btulz.transforms.b1/pom.b191.xml
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ${WORK_FOLDER}/release
fi
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/lib/ ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/lib/* ${WORK_FOLDER}/release
fi
# complie b1 9.2
mvn -q clean package install -Dmaven.test.skip=true -f ${WORK_FOLDER}/btulz.transforms.b1/pom.b192.xml
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ${WORK_FOLDER}/release
fi
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/lib/ ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/lib/* ${WORK_FOLDER}/release
fi
# complie b1 9.3
mvn -q clean package install -Dmaven.test.skip=true -f ${WORK_FOLDER}/btulz.transforms.b1/pom.b193.xml
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ${WORK_FOLDER}/release
fi
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/lib/ ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/lib/* ${WORK_FOLDER}/release
fi
# complie b1 10
mvn -q clean package install -Dmaven.test.skip=true -f ${WORK_FOLDER}/btulz.transforms.b1/pom.b110.xml
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/btulz.transforms.b1-*.jar ${WORK_FOLDER}/release
fi
if [ -e ${WORK_FOLDER}/btulz.transforms.b1/target/lib/ ]
then
cp -r ${WORK_FOLDER}/btulz.transforms.b1/target/lib/* ${WORK_FOLDER}/release
fi
echo --输出直接调用shell脚本
cp -r ${WORK_FOLDER}/btulz.transforms.b1/src/main/commands/btulz.shell.sh.txt ${WORK_FOLDER}/release/btulz.shell.sh
cp -r ${WORK_FOLDER}/btulz.transforms.b1/src/main/commands/btulz.shell.bat.txt ${WORK_FOLDER}/release/btulz.shell.bat
chmod 777 ${WORK_FOLDER}/release/btulz.shell.sh
echo --压缩编译文件为tar包
if [ -e ${WORK_FOLDER}/release ]
then
cd ${WORK_FOLDER}/release/
tar -cvf btulz.transforms.tar *.jar btulz.shell.*
fi
cd ${WORK_FOLDER}
echo --编译完成