Statistics
| Revision:

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