Statistics
| Revision:

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