gvsig-raster / org.gvsig.raster / trunk / org.gvsig.raster / package.sh @ 1220
History | View | Annotate | Download (11 KB)
1 |
#/bin/sh |
---|---|
2 |
|
3 |
if [ "$1" = "--help" ] ; then |
4 |
echo "Usage: First parameter:" |
5 |
echo " -update" |
6 |
echo " -install" |
7 |
echo " -package: crear paquetes" |
8 |
echo " -upload: subir al repositorio" |
9 |
echo " -tags: crear tags buildNumber_VERSION" |
10 |
echo " -commit: subir build number" |
11 |
echo " -ticket: crear fichero de texto con las URLS de los índices para el ticket" |
12 |
echo "Para hacer nuevo empaquetado" |
13 |
echo " 1-Comprobar variables VERSION, FIX_VERSION, RELEASE, PACKAGE_DIRECTORY, URL, URL_TAGS, USER y PASS" |
14 |
echo " 2-Si se ha metido algún paquete nuevo actualizar la variable PROJECT y PLUGINS o ARCH_DEP_PLUGIN si fuera necesario" |
15 |
echo " 3-Ejecutar ./package.sh -update para actualizar los proyectos" |
16 |
echo " 4-Ejecutar ./package.sh -install para limpiar e instalar los proyectos" |
17 |
echo " 5-Ejecutar ./package.sh -package para empaquetar en PACKAGE_DIRECTORY" |
18 |
echo " 6-Ejecutar ./package.sh -upload para subir a URL" |
19 |
echo " 7-Ejecutar ./package.sh -commit para subir los buildnumber" |
20 |
echo " 8-Ejecutar ./package.sh -tags para crear tags en URL_TAGS" |
21 |
echo " 9-Ejecutar ./package.sh -ticket para generar el fichero con las urls de los índices" |
22 |
echo "Para revertir cambios del SVN ./package.sh -revert" |
23 |
exit |
24 |
fi |
25 |
|
26 |
VERSION=2.0.0 |
27 |
FIX_VERSION=SNAPSHOT |
28 |
RELEASE=devel |
29 |
URL=https://devel.gvsig.org/download/projects/Raster/pool/ |
30 |
URL_TAGS=https://devel.gvsig.org/svn/gvsig-raster/ |
31 |
PACKAGE_DIRECTORY=/home/nacho/Workspaces/gvsig-2.0/build/product/install/pool |
32 |
PATH_TICKET=/tmp/ticket.txt |
33 |
USER=nbrodin |
34 |
PASS= |
35 |
|
36 |
PLATFORM="linux" |
37 |
COMPILER="gcc4" |
38 |
ARCH="i386" |
39 |
DISTRIBUTION="all" |
40 |
TYPE="dynamic" |
41 |
|
42 |
PLATFORM_B="win" |
43 |
COMPILER_B="vs8" |
44 |
DISTRIBUTION_B="nt" |
45 |
|
46 |
#pool packages |
47 |
MAIN_PACKAGE=0 #Posición 1 obligatoria tilecache en ARCH_DEP_PLUGINS |
48 |
|
49 |
#Plugin list |
50 |
PLUGINS="org.gvsig.raster.gdal/org.gvsig.raster.gdal.app |
51 |
org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic |
52 |
org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.multifile |
53 |
org.gvsig.raster.wmts/org.gvsig.raster.wmts.app/org.gvsig.raster.wmts.app.wmtsclient |
54 |
org.gvsig.raster.wms/org.gvsig.raster.wms.app/org.gvsig.raster.wms.app.wmsclient |
55 |
org.gvsig.raster.wcs/org.gvsig.raster.wcs.app/org.gvsig.raster.wcs.app.wcsclient |
56 |
org.gvsig.raster.netcdf/org.gvsig.raster.netcdf.app/org.gvsig.raster.netcdf.app.netcdfclient |
57 |
org.gvsig.raster.postgis/org.gvsig.raster.postgis.app/org.gvsig.raster.postgis.app.postgisrasterclient" |
58 |
|
59 |
ARCH_DEP_PLUGINS="org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.app |
60 |
org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.app |
61 |
org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app" |
62 |
|
63 |
#eclipse projects |
64 |
PROJECTS="org.gvsig.raster.cache |
65 |
org.gvsig.raster |
66 |
org.gvsig.raster.gdal |
67 |
org.gvsig.raster.tilecache |
68 |
org.gvsig.raster.tools |
69 |
org.gvsig.raster.wmts |
70 |
org.gvsig.raster.wms |
71 |
org.gvsig.raster.wcs |
72 |
org.gvsig.raster.ermapper |
73 |
org.gvsig.raster.lizardtech |
74 |
org.gvsig.raster.netcdf |
75 |
org.gvsig.raster.postgis" |
76 |
|
77 |
|
78 |
CLASSIFIER=$PLATFORM"-"$DISTRIBUTION"-"$COMPILER"-"$ARCH"-"$TYPE |
79 |
|
80 |
COMMAND_PARAMS="install -P create-installer -Dnative-platform="$PLATFORM" -Dnative-compiler="$COMPILER" -Dnative-arch="$ARCH" -Dnative-distribution="$DISTRIBUTION" -Dlibrary-type="$TYPE" -Dnative-classifier="$CLASSIFIER" -Pinstall-extensions -Dmaven.test.skip" |
81 |
|
82 |
#------------------------------------------------- |
83 |
#Gets the number of the version |
84 |
#$1: Project name |
85 |
#------------------------------------------------- |
86 |
getVersionProject( ) { |
87 |
c=-1; |
88 |
for i in $PLUGINS |
89 |
do |
90 |
let "c=c+1"; |
91 |
AUX=`echo $i | grep "$1\/"`; |
92 |
if [ "$AUX" != "" ]; then |
93 |
echo ${VER[c]} |
94 |
return; |
95 |
fi |
96 |
done |
97 |
c=-1; |
98 |
for i in $ARCH_DEP_PLUGINS |
99 |
do |
100 |
let "c=c+1"; |
101 |
AUX=`echo $i | grep "$1\/"`; |
102 |
if [ "$AUX" != "" ]; then |
103 |
echo ${VER_ARCH_DEP[c]} |
104 |
return; |
105 |
fi |
106 |
done |
107 |
echo ${VER_ARCH_DEP[MAIN_PACKAGE]} |
108 |
} |
109 |
|
110 |
#------------------------------------------------- |
111 |
#Loads the array of versions |
112 |
#Be careful. It has to be called after package generation |
113 |
#------------------------------------------------- |
114 |
loadVersion() { |
115 |
cont=0; |
116 |
CURRENT_DIR=`pwd` |
117 |
for i in $PLUGINS |
118 |
do |
119 |
if [ -d $i ]; then |
120 |
cd $i |
121 |
if [ -f buildNumber.properties ]; then |
122 |
VER[cont]=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2` |
123 |
#echo "===>>>>$i---->${VER[cont]}" |
124 |
let "cont=cont+1"; |
125 |
fi |
126 |
fi |
127 |
cd $CURRENT_DIR |
128 |
done |
129 |
|
130 |
cont=0; |
131 |
for i in $ARCH_DEP_PLUGINS |
132 |
do |
133 |
if [ -d $i ]; then |
134 |
cd $i |
135 |
if [ -f buildNumber.properties ]; then |
136 |
VER_ARCH_DEP[cont]=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2` |
137 |
#echo "===>>>*$i---->${VER_ARCH_DEP[cont]}" |
138 |
let "cont=cont+1"; |
139 |
fi |
140 |
fi |
141 |
cd $CURRENT_DIR |
142 |
done |
143 |
} |
144 |
|
145 |
|
146 |
#------------------------------------------------- |
147 |
if [ "$1" = "-update" ] ; then |
148 |
for i in $PROJECTS |
149 |
do |
150 |
cd $i |
151 |
echo "-----------------" |
152 |
echo "Cambiando a"....$i |
153 |
echo "Ejecutando svn update " |
154 |
svn update; |
155 |
cd .. |
156 |
done |
157 |
fi |
158 |
|
159 |
|
160 |
#------------------------------------------------- |
161 |
if [ "$1" = "-commit" ] ; then |
162 |
for i in $PROJECTS |
163 |
do |
164 |
cd $i |
165 |
echo "-----------------" |
166 |
echo "Cambiando a"....$i |
167 |
echo "Ejecutando svn commit " |
168 |
svn commit * -m "new build number $PVERSION"; |
169 |
cd .. |
170 |
done |
171 |
fi |
172 |
#------------------------------------------------- |
173 |
|
174 |
if [ "$1" = "-install" ] ; then |
175 |
|
176 |
|
177 |
echo "***********************************" |
178 |
echo "Clean and install" |
179 |
echo "***********************************" |
180 |
|
181 |
|
182 |
INSTALL_PARAMS="install -Dnative-platform="$PLATFORM" -Dnative-compiler="$COMPILER" -Dnative-arch="$ARCH" -Dnative-distribution="$DISTRIBUTION" -Dlibrary-type="$TYPE" -Dnative-classifier="$CLASSIFIER" -Dmaven.test.skip" |
183 |
|
184 |
for i in $PROJECTS |
185 |
do |
186 |
cd $i |
187 |
echo "-----------------" |
188 |
echo "Cambiando a"....$i |
189 |
echo "Ejecutando mvn "$COMMAND_PARAMS |
190 |
mvn clean |
191 |
mvn $INSTALL_PARAMS; |
192 |
cd .. |
193 |
done |
194 |
|
195 |
fi |
196 |
|
197 |
#------------------------------------------------- |
198 |
|
199 |
#------------------------------------------------- |
200 |
if [ "$1" = "-package" ] ; then |
201 |
|
202 |
|
203 |
echo "***********************************" |
204 |
echo "Generating Packages" |
205 |
echo "************i***********************" |
206 |
|
207 |
DIR_BASE=`pwd` |
208 |
|
209 |
for i in $PLUGINS |
210 |
do |
211 |
cd $i |
212 |
echo "-----------------" |
213 |
echo "Cambiando a"....$i |
214 |
echo "Ejecutando mvn "$COMMAND_PARAMS |
215 |
mvn $COMMAND_PARAMS; |
216 |
cd $DIR_BASE |
217 |
done |
218 |
|
219 |
CLASSIFIER_B=$PLATFORM_B"-"$DISTRIBUTION_B"-"$COMPILER_B"-"$ARCH"-"$TYPE |
220 |
|
221 |
COMMAND_PARAMS_PLATFORM_B="install -P create-installer -Dnative-platform="$PLATFORM_B" -Dnative-compiler="$COMPILER_B" -Dnative-arch="$ARCH" -Dnative-distribution="$DISTRIBUTION_B" -Dlibrary-type="$TYPE" -Dnative-classifier="$CLASSIFIER_B" -Pinstall-extensions -Dmaven.test.skip" |
222 |
|
223 |
for i in $ARCH_DEP_PLUGINS #Plugins architecture dependent |
224 |
do |
225 |
pad=`echo $i | cut -d/ -f1` #Projects architecture dependent |
226 |
cd $pad |
227 |
echo "-----------------" |
228 |
echo "Cambiando a"....$pad |
229 |
echo "Ejecutando mvn "$COMMAND_PARAMS |
230 |
mvn $COMMAND_PARAMS; |
231 |
svn revert --recursive . |
232 |
mvn $COMMAND_PARAMS_PLATFORM_B; |
233 |
cd $DIR_BASE |
234 |
done |
235 |
|
236 |
fi |
237 |
|
238 |
|
239 |
loadVersion |
240 |
|
241 |
#------------------------------------------------- |
242 |
#SOLO TEST |
243 |
#------------------------------------------------- |
244 |
if [ "$1" = "-revert" ] ; then |
245 |
for i in $PROJECTS |
246 |
do |
247 |
cd $i |
248 |
echo "-----------------" |
249 |
echo "Cambiando a"....$i |
250 |
echo "Ejecutando svn update " |
251 |
svn revert --recursive . |
252 |
cd .. |
253 |
done |
254 |
fi |
255 |
|
256 |
#------------------------------------------------- |
257 |
#SOLO TEST |
258 |
#------------------------------------------------- |
259 |
if [ "$1" = "-ticket" ] ; then |
260 |
rm $PATH_TICKET 2> /dev/null |
261 |
cont=0; |
262 |
for i in $PLUGINS |
263 |
do |
264 |
package=`echo $i | cut -d/ -f3` |
265 |
if [ "$package" == "" ] ; then |
266 |
package=`echo $i | cut -d/ -f2` |
267 |
fi |
268 |
echo "$URL$package/gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER[$cont]}-$RELEASE-all-all-j1_5.gvspki" >> $PATH_TICKET |
269 |
echo "" >> $PATH_TICKET |
270 |
let "cont=cont+1"; |
271 |
done |
272 |
cont=0; |
273 |
for i in $ARCH_DEP_PLUGINS |
274 |
do |
275 |
package=`echo $i | cut -d/ -f3` |
276 |
if [ "$package" == "" ] ; then |
277 |
package=`echo $i | cut -d/ -f2` |
278 |
fi |
279 |
echo "$URL$package/gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-lin-x86-j1_5.gvspki" >> $PATH_TICKET |
280 |
echo "" >> $PATH_TICKET |
281 |
echo "$URL$package/gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-win-x86-j1_5.gvspki" >> $PATH_TICKET |
282 |
echo "" >> $PATH_TICKET |
283 |
let "cont=cont+1"; |
284 |
done |
285 |
echo "Creado fichero de URLs en "$PATH_TICKET |
286 |
fi |
287 |
|
288 |
#------------------------------------------------- |
289 |
if [ "$1" = "-tags" ] ; then |
290 |
|
291 |
echo "***********************************" |
292 |
echo "Creating tags" |
293 |
echo "***********************************" |
294 |
|
295 |
|
296 |
for i in $PROJECTS |
297 |
do |
298 |
PVERSION=`getVersionProject $i` |
299 |
#echo "svn copy $URL_TAGS$i/trunk $URL_TAGS$i/tags/buildNumber_$PVERSION -m \"Tag build $PVERSION\"" |
300 |
svn copy $URL_TAGS$i/trunk $URL_TAGS$i/tags/buildNumber_$PVERSION -m "Tag build $PVERSION" |
301 |
done |
302 |
fi |
303 |
|
304 |
|
305 |
|
306 |
#------------------------------------------------- |
307 |
if [ "$1" != "-upload" ] ; then |
308 |
exit |
309 |
fi |
310 |
|
311 |
echo "***********************************" |
312 |
echo "Uploading" |
313 |
echo "***********************************" |
314 |
|
315 |
CURRENT_DIRECTORY=`pwd`; |
316 |
echo "Cambiando a..."$PACKAGE_DIRECTORY |
317 |
cd $PACKAGE_DIRECTORY |
318 |
|
319 |
cont=0; |
320 |
for i in $PLUGINS |
321 |
do |
322 |
package=`echo $i | cut -d/ -f3` |
323 |
if [ "$package" == "" ] ; then |
324 |
package=`echo $i | cut -d/ -f2` |
325 |
fi |
326 |
/usr/bin/expect <<EOD |
327 |
spawn cadaver $URL |
328 |
expect (y/n) |
329 |
send y\r |
330 |
expect dav:/download/projects/Raster/pool/> |
331 |
send "cd $package\r" |
332 |
expect $package/> |
333 |
send "lcd $package\r" |
334 |
expect $package/> |
335 |
send "put gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER[$cont]}-$RELEASE-all-all-j1_5.gvspkg\r" |
336 |
expect "Nombre de usuario:" |
337 |
send $USER\r |
338 |
expect "Contraseña:" |
339 |
send $PASS\r |
340 |
expect $package/> |
341 |
send "put gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER[$cont]}-$RELEASE-all-all-j1_5.gvspki\r" |
342 |
expect $package/> |
343 |
send quit\r |
344 |
expect "cerrada." |
345 |
EOD |
346 |
let "cont=cont+1"; |
347 |
done |
348 |
|
349 |
|
350 |
cont=0; |
351 |
for i in $ARCH_DEP_PLUGINS |
352 |
do |
353 |
pckgad=`echo $i | cut -d/ -f2` #Packages architecture dependent |
354 |
/usr/bin/expect <<EOD |
355 |
spawn cadaver $URL |
356 |
expect (y/n) |
357 |
send y\r |
358 |
expect dav:/download/projects/Raster/pool/> |
359 |
send "cd $pckgad\r" |
360 |
expect $pckgad/> |
361 |
send "lcd $pckgad\r" |
362 |
expect $pckgad/> |
363 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-lin-x86-j1_5.gvspkg\r" |
364 |
expect "Nombre de usuario:" |
365 |
send $USER\r |
366 |
expect "Contraseña:" |
367 |
send $PASS\r |
368 |
expect $pckgad/> |
369 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-lin-x86-j1_5.gvspki\r" |
370 |
expect $pckgad/> |
371 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-win-x86-j1_5.gvspkg\r" |
372 |
expect $pckgad/> |
373 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-win-x86-j1_5.gvspki\r" |
374 |
expect $pckgad/> |
375 |
send quit\r |
376 |
expect "cerrada." |
377 |
EOD |
378 |
let "cont=cont+1"; |
379 |
done |
380 |
|
381 |
cd $CURRENT_DIRECTORY |