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