/
release
executable file
·243 lines (212 loc) · 6.53 KB
/
release
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
#!/bin/bash
# release
#
#{{IS_NOTE
# Purpose:
#
# Description:
#
# History:
# Mon Nov 14 14:29:09 2005, Created by tomyeh
#}}IS_NOTE
#
#Copyright (C) 2005 Potix Corporation. All Rights Reserved.
#
#{{IS_RIGHT
#}}IS_RIGHT
#
stamp=$(date +%Y-%m-%d)
target=$1
javadocdir=$(grep '^javadoc' build.setting.local)
javadocdir=${javadocdir#javadoc=}
if [ "$javadocdir" = "" ] ; then
echo javadoc must be specified in $setting
exit 1
fi
javadocdir=${javadocdir/\~/$HOME}
ver=$(grep '^version=' build.setting.local)
ver=${ver#version=}
#jar
if [ "$target" == "official" ] ; then
prjnm=zk-$ver
demonm=zk-demo-$ver
javadocnm=zk-javadoc-$ver
srcnm=zk-src-$ver
echo "Release $prjnm..."
elif [ "$target" == "" ] || [ "$target" == "daily" ] ; then
target=daily
prjnm=zk-$ver-$stamp
javadocnm=zk-javadoc-$ver-$stamp
srcnm=zk-src-$ver-$stamp
echo "Release $prjnm..."
else
echo "Usage: release [ official | daily ]"
echo Default: daily
exit 1
fi
rm -rf /tmp/zk
#build *-all.war *-all.ear
if [ "$target" == "official" ] ; then
rm -rf dist/lib/zkdemo*.war dist/lib/zkdemos*.ear
cp -f zkdemo/war.libs.all zkdemo/war.libs
./build clean zkdemo zkdemos
./build zkdemo zkdemos
mv dist/lib/zkdemo.war dist/lib/zkdemo-all.war
mv dist/lib/zkdemos.ear dist/lib/zkdemos-all.ear
cp -f zkdemo/war.libs.minimal zkdemo/war.libs
./build clean zkdemo zkdemos
./build zkdemo zkdemos
fi
#Prepare the source codes
if [ "$target" == "official" ] || [ "$target" == "daily" ] ; then
#mkdir -p /tmp/zk/$srcnm/dist/lib/ext
mkdir -p /tmp/zk/$srcnm/bin
mkdir -p /tmp/zk/$srcnm/doc
echo Prepare ${srcnm}.tar.gz
cd $HOME/prj/zk1
cp bin/* /tmp/zk/$srcnm/bin
cp build* /tmp/zk/$srcnm
cp -rp bin /tmp/zk/$srcnm
cp -rp zcommon /tmp/zk/$srcnm
cp -rp zweb /tmp/zk/$srcnm
cp -rp zk /tmp/zk/$srcnm
cp -rp zul /tmp/zk/$srcnm
cp -rp zhtml /tmp/zk/$srcnm
cp -rp zkplus /tmp/zk/$srcnm
cp zkdoc/COPYING zkdoc/release-note zkdoc/how-to-build-zk /tmp/zk/$srcnm/doc
#if [ "$target" == "official" ] ; then
#cp dist/lib/zcommon.jar dist/lib/zweb.jar dist/lib/zk.jar dist/lib/zul.jar dist/lib/zhtml.jar dist/lib/zkplus.jar /tmp/zk/$srcnm/dist/lib
#cp dist/lib/ext/* /tmp/zk/$srcnm/dist/lib/ext
#fi
cd /tmp/zk/$srcnm
rm -rf zcommon/debug zweb/debug zk/debug zul/debug zhtml/debug zkplus/debug
#find -name CVS | xargs rm -rf
find -name .svn | xargs rm -rf
cd /tmp/zk
echo Output ${srcnm}.tar.gz
tar zcf ${srcnm}.tar.gz $srcnm
#prepare *-sources.jar
echo Prepare '*-sources.jar'
mkdir -p src/zcommon
mkdir -p src/zweb
mkdir -p src/zk
mkdir -p src/zul
mkdir -p src/zhtml
mkdir -p src/zkplus
cd $srcnm
cp -rp zcommon/codegen/* zcommon/src/* ../src/zcommon
cp -rp zweb/codegen/* zweb/src/* ../src/zweb
cp -rp zk/codegen/* zk/src/* ../src/zk
cp -rp zul/codegen/* zul/src/* ../src/zul
cp -rp zhtml/codegen/* zhtml/src/* ../src/zhtml
cp -rp zkplus/codegen/* zkplus/src/* ../src/zkplus
cd ..
rm -rf $srcnm
rm -rf src/*/archive src/*/export
echo Output '*-sources.jar'
cd src
find -name 'package.html' | xargs rm -rf
jar cfM zcommon-sources.jar -C zcommon .
jar cfM zweb-sources.jar -C zweb .
jar cfM zk-sources.jar -C zk .
jar cfM zul-sources.jar -C zul .
jar cfM zhtml-sources.jar -C zhtml .
jar cfM zkplus-sources.jar -C zkplus .
mv *-sources.jar ..
cd ..
rm -rf src
fi
#Prepare the binary release
if [ "$target" == "official" ] || [ "$target" == "daily" ] ; then
mkdir -p /tmp/zk/$prjnm/dist/lib/ext
mkdir -p /tmp/zk/$prjnm/dist/lib/zkforge
mkdir -p /tmp/zk/$prjnm/dist/WEB-INF
mkdir -p /tmp/zk/$prjnm/dist/src
mkdir -p /tmp/zk/$prjnm/doc
mkdir -p /tmp/zk/$prjnm/demo/bin
mkdir -p /tmp/zk/$prjnm/demo/src/zkdemo/WebContent
mkdir -p /tmp/zk/$prjnm/demo/src/zkdemo/src/org
mkdir -p /tmp/zk/$prjnm/demo/src/MyApp/WebContent
cd $HOME/prj/zk1
mv -f /tmp/zk/*-sources.jar /tmp/zk/$prjnm/dist/src
cp dist/lib/ext/commons-fileupload.jar dist/lib/ext/commons-io.jar dist/lib/ext/commons-el.jar /tmp/zk/$prjnm/dist/lib/ext
#Fileupload
cp dist/lib/ext/bsh.jar /tmp/zk/$prjnm/dist/lib/ext
#BeanShell
cp dist/lib/ext/js.jar /tmp/zk/$prjnm/dist/lib/ext
#JavaScript (rhino)
cp dist/lib/ext/groovy.jar /tmp/zk/$prjnm/dist/lib/ext
#Groovy
cp dist/lib/ext/jruby.jar /tmp/zk/$prjnm/dist/lib/ext
#Ruby (jruby)
cp dist/lib/ext/jcommon.jar dist/lib/ext/jfreechart.jar /tmp/zk/$prjnm/dist/lib/ext
#jFreeChart
cp dist/lib/ext/Filters.jar /tmp/zk/$prjnm/dist/lib/ext
#captcha
cp dist/lib/zcommon.jar dist/lib/zweb.jar dist/lib/zk.jar dist/lib/zul.jar dist/lib/zhtml.jar dist/lib/zkplus.jar /tmp/zk/$prjnm/dist/lib/
cp dist/lib/fckez.jar dist/lib/dojoz.jar dist/lib/gmapsz.jar /tmp/zk/$prjnm/dist/lib/zkforge
cp dist/lib/timelinez.jar dist/lib/ext/json_simple.jar /tmp/zk/$prjnm/dist/lib/zkforge
#timelinez
cp -rp dist/export/WEB-INF/* /tmp/zk/$prjnm/dist/WEB-INF
cp zkdoc/ZK-dev*.pdf zkdoc/ZK-quickstart.pdf zkdoc/release-note zkdoc/COPYING /tmp/zk/$prjnm/doc
cp -rp zkdemo/src/archive/* /tmp/zk/$prjnm/demo/src/zkdemo/WebContent
cp -rp zkdemo/src/org/* /tmp/zk/$prjnm/demo/src/zkdemo/src/org
cp -rp MyApp/src/archive/* /tmp/zk/$prjnm/demo/src/MyApp/WebContent
cp -rp dist/lib/zkdemos.ear dist/lib/zkdemo.war /tmp/zk/$prjnm/demo/bin
cd /tmp/zk
rm -rf /tmp/zk/$prjnm/demo/src/*/codegen /tmp/zk/$prjnm/demo/src/*/debug
find -name CVS | xargs rm -rf
find -name .svn | xargs rm -rf
if [ "$target" == "official" ] ; then
echo Output ${prjnm}.tar.gz
tar zcf ${prjnm}.tar.gz $prjnm
fi
echo Output ${prjnm}.zip
zip -qr9 ${prjnm}.zip $prjnm
if [ "$target" == "official" ] ; then
#Prepare maven repository
function mvnrepo {
mkdir -p $1
mv /tmp/zk/$prjnm/dist/src/$1-sources.jar $1/$1-$ver-sources.jar
sed -e "s/{version}/$ver/" $HOME/prj/zk1/$1/pom.xml > $1/pom.xml
cp $HOME/prj/zk1/dist/lib/$1.jar $1/$1-$ver.jar
jar cfM $1-$ver-bundle.jar -C $1 .
}
mkdir -p maven
mkdir -p /tmp/maven
cd maven
mvnrepo zcommon
mvnrepo zweb
mvnrepo zk
mvnrepo zul
mvnrepo zhtml
mvnrepo zkplus
mv *-bundle.jar /tmp/maven
cd ..
rm -rf maven
fi
rm -rf $prjnm
#Prepare the java doc
cd $javadocdir
echo Output ${javadocnm}.zip
zip -qr9 ${javadocnm}.zip zcommon zweb zk zul zhtml zkplus
mv ${javadocnm}.zip /tmp/zk
fi
if [ "$target" == "official" ] ; then
mkdir -p /tmp/zk/$demonm
cd $HOME/prj/zk1
mv dist/lib/zkdemos-all.ear dist/lib/zkdemo-all.war /tmp/zk/$demonm
cp -rp dist/lib/zkdemos.ear dist/lib/zkdemo.war /tmp/zk/$demonm
cd /tmp/zk
echo Ouput ${demonm}.zip
zip -qr9 ${demonm}.zip $demonm
rm -rf $demonm
fi
#Prepare the doc
if [ "$target" == "official" ]; then
mkdir -p /tmp/zk/doc
cd $HOME/prj/zk1/zkdoc
for f in *.pdf ; do
cp $f /tmp/zk/doc/${f%.pdf}-$ver.pdf
done
fi