gvsig-raster / org.gvsig.raster / trunk / org.gvsig.raster / package.sh @ 1304
History | View | Annotate | Download (11.1 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. Ojo! Si el directorio para el plugin no está creado en pool dará un error" |
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.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.reproject |
54 |
org.gvsig.raster.wmts/org.gvsig.raster.wmts.app/org.gvsig.raster.wmts.app.wmtsclient |
55 |
org.gvsig.raster.wms/org.gvsig.raster.wms.app/org.gvsig.raster.wms.app.wmsclient |
56 |
org.gvsig.raster.wcs/org.gvsig.raster.wcs.app/org.gvsig.raster.wcs.app.wcsclient |
57 |
org.gvsig.raster.netcdf/org.gvsig.raster.netcdf.app/org.gvsig.raster.netcdf.app.netcdfclient |
58 |
org.gvsig.raster.postgis/org.gvsig.raster.postgis.app/org.gvsig.raster.postgis.app.postgisrasterclient" |
59 |
|
60 |
ARCH_DEP_PLUGINS="org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.app |
61 |
org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.app |
62 |
org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app" |
63 |
|
64 |
#eclipse projects |
65 |
PROJECTS="org.gvsig.raster.cache |
66 |
org.gvsig.raster |
67 |
org.gvsig.raster.gdal |
68 |
org.gvsig.raster.tilecache |
69 |
org.gvsig.raster.tools |
70 |
org.gvsig.raster.wmts |
71 |
org.gvsig.raster.wms |
72 |
org.gvsig.raster.wcs |
73 |
org.gvsig.raster.ermapper |
74 |
org.gvsig.raster.lizardtech |
75 |
org.gvsig.raster.netcdf |
76 |
org.gvsig.raster.postgis" |
77 |
|
78 |
|
79 |
CLASSIFIER=$PLATFORM"-"$DISTRIBUTION"-"$COMPILER"-"$ARCH"-"$TYPE |
80 |
|
81 |
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" |
82 |
|
83 |
#------------------------------------------------- |
84 |
#Gets the number of the version |
85 |
#$1: Project name |
86 |
#------------------------------------------------- |
87 |
getVersionProject( ) { |
88 |
c=-1; |
89 |
for i in $PLUGINS |
90 |
do |
91 |
let "c=c+1"; |
92 |
AUX=`echo $i | grep "$1\/"`; |
93 |
if [ "$AUX" != "" ]; then |
94 |
echo ${VER[c]} |
95 |
return; |
96 |
fi |
97 |
done |
98 |
c=-1; |
99 |
for i in $ARCH_DEP_PLUGINS |
100 |
do |
101 |
let "c=c+1"; |
102 |
AUX=`echo $i | grep "$1\/"`; |
103 |
if [ "$AUX" != "" ]; then |
104 |
echo ${VER_ARCH_DEP[c]} |
105 |
return; |
106 |
fi |
107 |
done |
108 |
echo ${VER_ARCH_DEP[MAIN_PACKAGE]} |
109 |
} |
110 |
|
111 |
#------------------------------------------------- |
112 |
#Loads the array of versions |
113 |
#Be careful. It has to be called after package generation |
114 |
#------------------------------------------------- |
115 |
loadVersion() { |
116 |
cont=0; |
117 |
CURRENT_DIR=`pwd` |
118 |
for i in $PLUGINS |
119 |
do |
120 |
if [ -d $i ]; then |
121 |
cd $i |
122 |
if [ -f buildNumber.properties ]; then |
123 |
VER[cont]=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2` |
124 |
#echo "===>>>>$i---->${VER[cont]}" |
125 |
let "cont=cont+1"; |
126 |
fi |
127 |
fi |
128 |
cd $CURRENT_DIR |
129 |
done |
130 |
|
131 |
cont=0; |
132 |
for i in $ARCH_DEP_PLUGINS |
133 |
do |
134 |
if [ -d $i ]; then |
135 |
cd $i |
136 |
if [ -f buildNumber.properties ]; then |
137 |
VER_ARCH_DEP[cont]=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2` |
138 |
#echo "===>>>*$i---->${VER_ARCH_DEP[cont]}" |
139 |
let "cont=cont+1"; |
140 |
fi |
141 |
fi |
142 |
cd $CURRENT_DIR |
143 |
done |
144 |
} |
145 |
|
146 |
|
147 |
#------------------------------------------------- |
148 |
if [ "$1" = "-update" ] ; then |
149 |
for i in $PROJECTS |
150 |
do |
151 |
cd $i |
152 |
echo "-----------------" |
153 |
echo "Cambiando a"....$i |
154 |
echo "Ejecutando svn update " |
155 |
svn update; |
156 |
cd .. |
157 |
done |
158 |
fi |
159 |
|
160 |
|
161 |
#------------------------------------------------- |
162 |
if [ "$1" = "-commit" ] ; then |
163 |
for i in $PROJECTS |
164 |
do |
165 |
cd $i |
166 |
echo "-----------------" |
167 |
echo "Cambiando a"....$i |
168 |
echo "Ejecutando svn commit " |
169 |
svn commit * -m "new build number $PVERSION"; |
170 |
cd .. |
171 |
done |
172 |
fi |
173 |
#------------------------------------------------- |
174 |
|
175 |
if [ "$1" = "-install" ] ; then |
176 |
|
177 |
|
178 |
echo "***********************************" |
179 |
echo "Clean and install" |
180 |
echo "***********************************" |
181 |
|
182 |
|
183 |
INSTALL_PARAMS="install -Dnative-platform="$PLATFORM" -Dnative-compiler="$COMPILER" -Dnative-arch="$ARCH" -Dnative-distribution="$DISTRIBUTION" -Dlibrary-type="$TYPE" -Dnative-classifier="$CLASSIFIER" -Dmaven.test.skip" |
184 |
|
185 |
for i in $PROJECTS |
186 |
do |
187 |
cd $i |
188 |
echo "-----------------" |
189 |
echo "Cambiando a"....$i |
190 |
echo "Ejecutando mvn "$COMMAND_PARAMS |
191 |
mvn clean |
192 |
mvn $INSTALL_PARAMS; |
193 |
cd .. |
194 |
done |
195 |
|
196 |
fi |
197 |
|
198 |
#------------------------------------------------- |
199 |
|
200 |
#------------------------------------------------- |
201 |
if [ "$1" = "-package" ] ; then |
202 |
|
203 |
|
204 |
echo "***********************************" |
205 |
echo "Generating Packages" |
206 |
echo "************i***********************" |
207 |
|
208 |
DIR_BASE=`pwd` |
209 |
|
210 |
for i in $PLUGINS |
211 |
do |
212 |
cd $i |
213 |
echo "-----------------" |
214 |
echo "Cambiando a"....$i |
215 |
echo "Ejecutando mvn "$COMMAND_PARAMS |
216 |
mvn $COMMAND_PARAMS; |
217 |
cd $DIR_BASE |
218 |
done |
219 |
|
220 |
CLASSIFIER_B=$PLATFORM_B"-"$DISTRIBUTION_B"-"$COMPILER_B"-"$ARCH"-"$TYPE |
221 |
|
222 |
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" |
223 |
|
224 |
for i in $ARCH_DEP_PLUGINS #Plugins architecture dependent |
225 |
do |
226 |
pad=`echo $i | cut -d/ -f1` #Projects architecture dependent |
227 |
cd $pad |
228 |
echo "-----------------" |
229 |
echo "Cambiando a"....$pad |
230 |
echo "Ejecutando mvn "$COMMAND_PARAMS |
231 |
mvn $COMMAND_PARAMS; |
232 |
svn revert --recursive . |
233 |
mvn $COMMAND_PARAMS_PLATFORM_B; |
234 |
cd $DIR_BASE |
235 |
done |
236 |
|
237 |
fi |
238 |
|
239 |
|
240 |
loadVersion |
241 |
|
242 |
#------------------------------------------------- |
243 |
#SOLO TEST |
244 |
#------------------------------------------------- |
245 |
if [ "$1" = "-revert" ] ; then |
246 |
for i in $PROJECTS |
247 |
do |
248 |
cd $i |
249 |
echo "-----------------" |
250 |
echo "Cambiando a"....$i |
251 |
echo "Ejecutando svn update " |
252 |
svn revert --recursive . |
253 |
cd .. |
254 |
done |
255 |
fi |
256 |
|
257 |
#------------------------------------------------- |
258 |
#SOLO TEST |
259 |
#------------------------------------------------- |
260 |
if [ "$1" = "-ticket" ] ; then |
261 |
rm $PATH_TICKET 2> /dev/null |
262 |
cont=0; |
263 |
for i in $PLUGINS |
264 |
do |
265 |
package=`echo $i | cut -d/ -f3` |
266 |
if [ "$package" == "" ] ; then |
267 |
package=`echo $i | cut -d/ -f2` |
268 |
fi |
269 |
echo "$URL$package/gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER[$cont]}-$RELEASE-all-all-j1_5.gvspki" >> $PATH_TICKET |
270 |
echo "" >> $PATH_TICKET |
271 |
let "cont=cont+1"; |
272 |
done |
273 |
cont=0; |
274 |
for i in $ARCH_DEP_PLUGINS |
275 |
do |
276 |
package=`echo $i | cut -d/ -f3` |
277 |
if [ "$package" == "" ] ; then |
278 |
package=`echo $i | cut -d/ -f2` |
279 |
fi |
280 |
echo "$URL$package/gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-lin-x86-j1_5.gvspki" >> $PATH_TICKET |
281 |
echo "" >> $PATH_TICKET |
282 |
echo "$URL$package/gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-win-x86-j1_5.gvspki" >> $PATH_TICKET |
283 |
echo "" >> $PATH_TICKET |
284 |
let "cont=cont+1"; |
285 |
done |
286 |
echo "Creado fichero de URLs en "$PATH_TICKET |
287 |
fi |
288 |
|
289 |
#------------------------------------------------- |
290 |
if [ "$1" = "-tags" ] ; then |
291 |
|
292 |
echo "***********************************" |
293 |
echo "Creating tags" |
294 |
echo "***********************************" |
295 |
|
296 |
|
297 |
for i in $PROJECTS |
298 |
do |
299 |
PVERSION=`getVersionProject $i` |
300 |
#echo "svn copy $URL_TAGS$i/trunk $URL_TAGS$i/tags/buildNumber_$PVERSION -m \"Tag build $PVERSION\"" |
301 |
svn copy $URL_TAGS$i/trunk $URL_TAGS$i/tags/buildNumber_$PVERSION -m "Tag build $PVERSION" |
302 |
done |
303 |
fi |
304 |
|
305 |
|
306 |
|
307 |
#------------------------------------------------- |
308 |
if [ "$1" != "-upload" ] ; then |
309 |
exit |
310 |
fi |
311 |
|
312 |
echo "***********************************" |
313 |
echo "Uploading" |
314 |
echo "***********************************" |
315 |
|
316 |
CURRENT_DIRECTORY=`pwd`; |
317 |
echo "Cambiando a..."$PACKAGE_DIRECTORY |
318 |
cd $PACKAGE_DIRECTORY |
319 |
|
320 |
cont=0; |
321 |
for i in $PLUGINS |
322 |
do |
323 |
package=`echo $i | cut -d/ -f3` |
324 |
if [ "$package" == "" ] ; then |
325 |
package=`echo $i | cut -d/ -f2` |
326 |
fi |
327 |
/usr/bin/expect <<EOD |
328 |
spawn cadaver $URL |
329 |
expect (y/n) |
330 |
send y\r |
331 |
expect dav:/download/projects/Raster/pool/> |
332 |
send "cd $package\r" |
333 |
expect $package/> |
334 |
send "lcd $package\r" |
335 |
expect $package/> |
336 |
send "put gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER[$cont]}-$RELEASE-all-all-j1_5.gvspkg\r" |
337 |
expect "Nombre de usuario:" |
338 |
send $USER\r |
339 |
expect "Contraseña:" |
340 |
send $PASS\r |
341 |
expect $package/> |
342 |
send "put gvSIG-desktop-$VERSION-$package-$VERSION-$FIX_VERSION-${VER[$cont]}-$RELEASE-all-all-j1_5.gvspki\r" |
343 |
expect $package/> |
344 |
send quit\r |
345 |
expect "cerrada." |
346 |
EOD |
347 |
let "cont=cont+1"; |
348 |
done |
349 |
|
350 |
|
351 |
cont=0; |
352 |
for i in $ARCH_DEP_PLUGINS |
353 |
do |
354 |
pckgad=`echo $i | cut -d/ -f2` #Packages architecture dependent |
355 |
/usr/bin/expect <<EOD |
356 |
spawn cadaver $URL |
357 |
expect (y/n) |
358 |
send y\r |
359 |
expect dav:/download/projects/Raster/pool/> |
360 |
send "cd $pckgad\r" |
361 |
expect $pckgad/> |
362 |
send "lcd $pckgad\r" |
363 |
expect $pckgad/> |
364 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-lin-x86-j1_5.gvspkg\r" |
365 |
expect "Nombre de usuario:" |
366 |
send $USER\r |
367 |
expect "Contraseña:" |
368 |
send $PASS\r |
369 |
expect $pckgad/> |
370 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-lin-x86-j1_5.gvspki\r" |
371 |
expect $pckgad/> |
372 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-win-x86-j1_5.gvspkg\r" |
373 |
expect $pckgad/> |
374 |
send "put gvSIG-desktop-$VERSION-$pckgad-$VERSION-$FIX_VERSION-${VER_ARCH_DEP[$cont]}-$RELEASE-win-x86-j1_5.gvspki\r" |
375 |
expect $pckgad/> |
376 |
send quit\r |
377 |
expect "cerrada." |
378 |
EOD |
379 |
let "cont=cont+1"; |
380 |
done |
381 |
|
382 |
cd $CURRENT_DIRECTORY |