Statistics
| Revision:

gvsig-raster / org.gvsig.raster / trunk / org.gvsig.raster / package.sh @ 1701

History | View | Annotate | Download (11.1 KB)

1 1126 nbrodin
#/bin/sh
2
3
if [ "$1" = "--help" ] ; then
4
   echo "Usage: First parameter:"
5 1168 nbrodin
   echo "          -update"
6 1220 nbrodin
   echo "          -install"
7 1126 nbrodin
   echo "          -package: crear paquetes"
8
   echo "          -upload: subir al repositorio"
9
   echo "          -tags: crear tags buildNumber_VERSION"
10 1220 nbrodin
   echo "          -commit: subir build number"
11 1168 nbrodin
   echo "          -ticket: crear fichero de texto con las URLS de los índices para el ticket"
12 1126 nbrodin
   echo "Para hacer nuevo empaquetado"
13 1304 nbrodin
   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 1168 nbrodin
   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 1220 nbrodin
   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 1168 nbrodin
   echo "Para revertir cambios del SVN ./package.sh -revert"
23 1126 nbrodin
   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 1168 nbrodin
PACKAGE_DIRECTORY=/home/nacho/Workspaces/gvsig-2.0/build/product/install/pool
32
PATH_TICKET=/tmp/ticket.txt
33 1126 nbrodin
USER=nbrodin
34 1220 nbrodin
PASS=
35 1126 nbrodin
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 1168 nbrodin
MAIN_PACKAGE=0 #Posición 1 obligatoria tilecache en ARCH_DEP_PLUGINS
48 1126 nbrodin
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 1304 nbrodin
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 1126 nbrodin
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 1168 nbrodin
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 1126 nbrodin
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 1168 nbrodin
#-------------------------------------------------
84 1126 nbrodin
#Gets the number of the version
85
#$1: Project name
86 1168 nbrodin
#-------------------------------------------------
87 1126 nbrodin
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 1168 nbrodin
  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 1126 nbrodin
}
110
111 1168 nbrodin
#-------------------------------------------------
112 1126 nbrodin
#Loads the array of versions
113
#Be careful. It has to be called after package generation
114 1168 nbrodin
#-------------------------------------------------
115 1126 nbrodin
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 1168 nbrodin
	 #echo "===>>>>$i---->${VER[cont]}"
125 1126 nbrodin
         let "cont=cont+1";
126
       fi
127
     fi
128
     cd $CURRENT_DIR
129
   done
130 1168 nbrodin
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 1126 nbrodin
}
145
146
147 1168 nbrodin
#-------------------------------------------------
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 1126 nbrodin
160 1168 nbrodin
161
#-------------------------------------------------
162 1220 nbrodin
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 1126 nbrodin
175 1220 nbrodin
if [ "$1" = "-install" ] ; then
176 1126 nbrodin
177 1220 nbrodin
178 1126 nbrodin
  echo "***********************************"
179 1220 nbrodin
  echo "Clean and install"
180 1126 nbrodin
  echo "***********************************"
181
182
183 1220 nbrodin
  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 1126 nbrodin
  for i in $PROJECTS
186
    do
187
      cd $i
188
      echo "-----------------"
189
      echo "Cambiando a"....$i
190
      echo "Ejecutando mvn "$COMMAND_PARAMS
191 1220 nbrodin
      mvn clean
192
      mvn $INSTALL_PARAMS;
193 1126 nbrodin
      cd ..
194
    done
195
196 1220 nbrodin
fi
197 1126 nbrodin
198 1220 nbrodin
#-------------------------------------------------
199 1126 nbrodin
200 1220 nbrodin
#-------------------------------------------------
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 1168 nbrodin
  for i in $ARCH_DEP_PLUGINS #Plugins architecture dependent
225 1126 nbrodin
    do
226 1168 nbrodin
      pad=`echo $i | cut -d/ -f1` #Projects architecture dependent
227
      cd $pad
228 1126 nbrodin
      echo "-----------------"
229 1168 nbrodin
      echo "Cambiando a"....$pad
230 1126 nbrodin
      echo "Ejecutando mvn "$COMMAND_PARAMS
231 1220 nbrodin
      mvn $COMMAND_PARAMS;
232 1126 nbrodin
      svn revert --recursive .
233 1220 nbrodin
      mvn $COMMAND_PARAMS_PLATFORM_B;
234
      cd $DIR_BASE
235 1126 nbrodin
   done
236
237
fi
238
239
240
loadVersion
241
242 1168 nbrodin
#-------------------------------------------------
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 1126 nbrodin
257 1168 nbrodin
#-------------------------------------------------
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 1126 nbrodin
289 1168 nbrodin
#-------------------------------------------------
290 1126 nbrodin
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 1168 nbrodin
     #echo "svn copy $URL_TAGS$i/trunk $URL_TAGS$i/tags/buildNumber_$PVERSION -m \"Tag build $PVERSION\""
301 1220 nbrodin
     svn copy $URL_TAGS$i/trunk $URL_TAGS$i/tags/buildNumber_$PVERSION -m "Tag build $PVERSION"
302 1126 nbrodin
   done
303
fi
304
305
306
307 1168 nbrodin
#-------------------------------------------------
308 1126 nbrodin
if [ "$1" != "-upload" ] ; then
309
  exit
310
fi
311
312
echo "***********************************"
313
echo "Uploading"
314
echo "***********************************"
315
316 1168 nbrodin
CURRENT_DIRECTORY=`pwd`;
317
echo "Cambiando a..."$PACKAGE_DIRECTORY
318
cd $PACKAGE_DIRECTORY
319 1126 nbrodin
320
cont=0;
321 1168 nbrodin
for i in $PLUGINS
322 1126 nbrodin
do
323 1168 nbrodin
package=`echo $i | cut -d/ -f3`
324
if [ "$package" == "" ] ; then
325
package=`echo $i | cut -d/ -f2`
326
fi
327 1126 nbrodin
/usr/bin/expect <<EOD
328
spawn cadaver $URL
329
expect (y/n)
330
send y\r
331
expect dav:/download/projects/Raster/pool/>
332 1168 nbrodin
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 1126 nbrodin
expect "Nombre de usuario:"
338
send $USER\r
339
expect "Contraseña:"
340
send $PASS\r
341 1168 nbrodin
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 1126 nbrodin
send quit\r
345
expect "cerrada."
346
EOD
347
let "cont=cont+1";
348
done
349
350
351
cont=0;
352 1168 nbrodin
for i in $ARCH_DEP_PLUGINS
353 1126 nbrodin
do
354 1168 nbrodin
pckgad=`echo $i | cut -d/ -f2` #Packages architecture dependent
355 1126 nbrodin
/usr/bin/expect <<EOD
356
spawn cadaver $URL
357
expect (y/n)
358
send y\r
359
expect dav:/download/projects/Raster/pool/>
360 1168 nbrodin
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 1126 nbrodin
expect "Nombre de usuario:"
366
send $USER\r
367
expect "Contraseña:"
368
send $PASS\r
369 1168 nbrodin
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 1126 nbrodin
send quit\r
377
expect "cerrada."
378
EOD
379
let "cont=cont+1";
380
done
381
382 1168 nbrodin
cd $CURRENT_DIRECTORY