Statistics
| Revision:

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

History | View | Annotate | Download (19.1 KB)

1
#/bin/sh
2

    
3
#----------------------
4
#Configuration section
5
#----------------------
6

    
7
GVSIG_VERSION=2.1.0
8
FIX_VERSION=SNAPSHOT
9
RELEASE=testing
10
PACKAGE_PREFIX=gvSIG-desktop
11
LIB_PKG=depman.tgz
12

    
13
PACKAGE_DIRECTORY=/tmp
14
USER=nbrodin
15
PASS=chkdsk
16

    
17
#Distribution groups
18
#-------------------
19

    
20
#GROUP 0
21
PROJECTS[0]="org.gvsig.raster.cache 
22
org.gvsig.raster 
23
org.gvsig.raster.gdal 
24
org.gvsig.raster.tilecache 
25
org.gvsig.raster.tools"
26
REPO_NAME[0]="Raster" #Repository of packages
27
URL_REPO[0]="https://devel.gvsig.org/download/projects/${REPO_NAME[0]}/pool/"
28
URL_SVN[0]="https://devel.gvsig.org/svn/gvsig-raster/"
29
PATH_TICKET[0]="/tmp/ticket-raster.txt"
30
PLUGINS[0]="org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.app
31
org.gvsig.raster.tools/org.gvsig.raster.tools.app.basic 
32
org.gvsig.raster.gdal/org.gvsig.raster.gdal.app"
33
ARCH_DEP[0]="org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.app
34
org.gvsig.raster.gdal/org.gvsig.raster.gdal.app" #Architecture dependent plugins 
35

    
36
#GROUP 1
37
PROJECTS[1]="org.gvsig.raster.multifile
38
org.gvsig.raster.reproject"
39
REPO_NAME[1]="Raster"
40
URL_REPO[1]="https://devel.gvsig.org/download/projects/${REPO_NAME[1]}/pool/"
41
URL_SVN[1]="https://devel.gvsig.org/svn/gvsig-raster/"
42
PATH_TICKET[1]="/tmp/ticket-raster.txt"
43
PLUGINS[1]="org.gvsig.raster.multifile/org.gvsig.raster.multifile.app.multifileclient
44
org.gvsig.raster.reproject/org.gvsig.raster.reproject.app.reprojectclient"
45
ARCH_DEP[1]=""
46

    
47
#GROUP 2
48
PROJECTS[2]="org.gvsig.raster.ermapper 
49
org.gvsig.raster.lizardtech 
50
org.gvsig.raster.netcdf"
51
REPO_NAME[2]="Raster"
52
URL_REPO[2]="https://devel.gvsig.org/download/projects/${REPO_NAME[2]}/pool/"
53
URL_SVN[2]="https://devel.gvsig.org/svn/gvsig-raster/"
54
PATH_TICKET[2]="/tmp/ticket-raster.txt"
55
PLUGINS[2]="org.gvsig.raster.netcdf/org.gvsig.raster.netcdf.app.netcdfclient 
56
org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.app
57
org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app"
58
ARCH_DEP[2]="org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.app
59
org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app"
60

    
61
#GROUP 3
62
PROJECTS[3]="org.gvsig.raster.wmts 
63
org.gvsig.raster.wms 
64
org.gvsig.raster.wcs
65
org.gvsig.raster.postgis"
66
REPO_NAME[3]="Raster"
67
URL_REPO[3]="https://devel.gvsig.org/download/projects/${REPO_NAME[3]}/pool/"
68
URL_SVN[3]="https://devel.gvsig.org/svn/gvsig-raster/"
69
PATH_TICKET[3]="/tmp/ticket-raster.txt"
70
PLUGINS[3]="org.gvsig.raster.wmts/org.gvsig.raster.wmts.app.wmtsclient 
71
org.gvsig.raster.wms/org.gvsig.raster.wms.app.wmsclient 
72
org.gvsig.raster.wcs/org.gvsig.raster.wcs.app.wcsclient 
73
org.gvsig.raster.postgis/org.gvsig.raster.postgis.app.postgisrasterclient"
74
ARCH_DEP[3]=""
75

    
76
#GROUP 4
77
PROJECTS[4]="org.gvsig.raster.georeferencing"
78
REPO_NAME[4]="Raster"
79
URL_REPO[4]="https://devel.gvsig.org/download/projects/${REPO_NAME[4]}/pool/"
80
URL_SVN[4]="https://devel.gvsig.org/svn/gvsig-georeferencing/"
81
PATH_TICKET[4]="/tmp/ticket-raster.txt"
82
PLUGINS[4]="org.gvsig.raster.georeferencing/org.gvsig.raster.georeferencing.app.georeferencingclient"
83
ARCH_DEP[4]=""
84

    
85
#GROUP 5
86
PROJECTS[5]="org.gvsig.raster.osm"
87
REPO_NAME[5]="Raster"
88
URL_REPO[5]="https://devel.gvsig.org/download/projects/${REPO_NAME[5]}/pool/"
89
URL_SVN[5]="https://devel.gvsig.org/svn/gvsig-osm/"
90
PATH_TICKET[5]="/tmp/ticket-raster.txt"
91
PLUGINS[5]="org.gvsig.raster.osm/org.gvsig.raster.osm.app.osmclient"
92
ARCH_DEP[5]=""
93

    
94
#GROUP 6
95
PROJECTS[6]="org.gvsig.geoprocess"
96
REPO_NAME[6]="gvsig-geoprocess"
97
URL_REPO[6]="https://devel.gvsig.org/download/projects/${REPO_NAME[6]}/pool/"
98
URL_SVN[6]="https://devel.gvsig.org/svn/gvsig-geoprocess/"
99
PATH_TICKET[6]="/tmp/ticket-geoprocess.txt"
100
PLUGINS[6]="org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.algorithm
101
org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.mainplugin
102
org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.sextante
103
org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.tool"
104
ARCH_DEP[6]=""
105

    
106
#Platforms supported (Add a new block for a new architecture)
107
#-------------------------------------------------------------
108

    
109
ARCH="i386"
110
TYPE="dynamic"
111

    
112
PLATFORM[0]="linux"
113
COMPILER[0]="gcc4"
114
DISTRIBUTION[0]="all"
115
CLASSIFIER[0]=${PLATFORM[0]}"-"${DISTRIBUTION[0]}"-"${COMPILER[0]}"-"$ARCH"-"$TYPE
116

    
117
PLATFORM[1]="win"
118
COMPILER[1]="vs8"
119
DISTRIBUTION[1]="nt"
120
CLASSIFIER[1]=${PLATFORM[1]}"-"${DISTRIBUTION[1]}"-"${COMPILER[1]}"-"$ARCH"-"$TYPE
121

    
122
#-------------------------
123
#End configuration section
124
#-------------------------
125

    
126
ALL_PROJECTS=${PROJECTS[*]}
127
ALL_PLUGINS=${PLUGINS[*]}
128
ARCH_DEP_PLUGINS=${ARCH_DEP[*]}
129

    
130
for k in `seq 1 ${#PLATFORM[@]}`
131
do
132
  let "i=k-1";
133
  INSTALL_PARAMS[$i]="install -Dnative-platform="${PLATFORM[$i]}" -Dnative-compiler="${COMPILER[$i]}" -Dnative-arch="$ARCH" -Dnative-distribution="${DISTRIBUTION[$i]}" -Dlibrary-type="$TYPE" -Dnative-classifier="${CLASSIFIER[$i]}" -Dnative_classifier="${CLASSIFIER[$i]}" -Dmaven.test.skip -Dmaven.javadoc.skip=true -Danimal.sniffer.skip=true -Dlicense.skip=true"
134
done
135

    
136
if [ $1 != "-changeversion" ] ; then
137
  PACKAGE_TO_BUILD=$2
138

    
139
  if [ -n $PACKAGE_TO_BUILD -a  $PACKAGE_TO_BUILD -ge ${#PROJECTS[@]} ]; then
140
    t=${#PROJECTS[@]}
141
    let "t=t-1"
142
    echo "Number of package to build wrong. Maximum "$t
143
    exit
144
  fi
145

    
146
  if [ -z $PACKAGE_TO_BUILD ]; then #Si PACKAGE_TO_BUILD es null
147
    PROJECTS_TO_BUILD=$ALL_PROJECTS
148
  else
149
    PROJECTS_TO_BUILD=${PROJECTS[$PACKAGE_TO_BUILD]}
150
  fi
151

    
152
  if [ -z $PACKAGE_TO_BUILD ]; then
153
    PLUGINS_TO_BUILD=$ALL_PLUGINS
154
  else
155
    PLUGINS_TO_BUILD=${PLUGINS[$PACKAGE_TO_BUILD]}
156
  fi
157

    
158
  if [ -z $PACKAGE_TO_BUILD ]; then
159
    PLUGINS_ARCH_DEP_TO_BUILD=$ARCH_DEP_PLUGINS
160
  else
161
    PLUGINS_ARCH_DEP_TO_BUILD=${ARCH_DEP[$PACKAGE_TO_BUILD]}
162
  fi
163
fi
164

    
165
#-------------------------------------------------
166
# HELP
167
#-------------------------------------------------
168

    
169
if [ "$1" = "--help" ] ; then
170
   echo "Usage: First parameter:"
171
   echo "          -all (clean, update, buildnumber, install, tags, commit, ticket, upload)"
172
   echo "          -clean"
173
   echo "          -update"
174
   echo "          -buildnumber"
175
   echo "          -install"
176
   echo "          -upload: subir al repositorio"
177
   echo "          -tags: crear tags tagdate_fecha_hora"
178
   echo "          -commit: subir build number"
179
   echo "          -ticket: crear fichero de texto con las URLS de los índices para el ticket" 
180
   echo "       Second parameter:"
181
   echo "           -number: Number of group to build the package or empty to build all"
182
   echo ""
183
   echo "Other utils:"
184
   echo "          -changeversion <old_version> <new_version>:Change the parent pom version (org.gvsig.desktop) of all projects"
185
   echo "          -eclipse: mvn eclipse:eclipse"
186
   echo ""
187
   echo "Para hacer nuevo empaquetado"
188
   echo "----------------------------"
189
   echo "   Recomendable usar cpulimit -e java -l 50 -b si se necesita CPU para otras tareas"
190
   echo "   1 - Comprobar y actualizar variables"
191
   echo "   2 - Ejecutar ./package.sh -clean para limpiar"
192
   echo "   3 - Ejecutar ./package.sh -update para actualizar los proyectos"
193
   echo "   4 - Ejecutar ./package.sh -buildnumber para actualizar los build number"
194
   echo "   5 - Ejecutar ./package.sh -install para instalar los proyectos en ~/.gvsig-devel.properties y empaquetar"
195
   echo "   6 - (Testear lo instalado y comprobar que en tmp están todos los paquetes)"
196
   echo "   7 - Ejecutar ./package.sh -upload para subir a URL_REPO"
197
   echo "   8 - Ejecutar ./package.sh -commit para subir los buildnumber"
198
   echo "   9 - Ejecutar ./package.sh -tags para crear tags en URL_SVN"
199
   echo "   10 - Ejecutar ./package.sh -ticket para generar el fichero con las urls de los índices"
200
   exit
201
fi
202

    
203

    
204
#-------------------------------------------------
205
# CLEAN
206
#-------------------------------------------------
207

    
208
clean() {
209
  echo "***********************************"
210
  echo "Clean"
211
  echo "***********************************"
212
  
213
  for i in $PROJECTS_TO_BUILD
214
    do
215
      cd $i
216
      echo "-----------------"
217
      echo "Cambiando a"....$i
218
      echo "Ejecutando clean"
219
      mvn clean
220
      cd ..
221
    done
222
}
223

    
224
#-------------------------------------------------
225
# UPDATE
226
#-------------------------------------------------
227

    
228
update() {
229
  for i in $PROJECTS_TO_BUILD
230
    do
231
      cd $i
232
      echo "-----------------"
233
      echo "Cambiando a"....$i
234
      echo "Ejecutando svn update "
235
      svn update;
236
      cd ..
237
    done
238
}
239

    
240
#-------------------------------------------------
241
# BUILDNUMBER
242
# Increase the build number for all plugins
243
#-------------------------------------------------
244

    
245
increaseBuildNumber() {
246
  DIR_BASE=`pwd`
247
  for i in $PLUGINS_TO_BUILD
248
   do
249
     if [ -d $i ]; then
250
       cd $i
251
       if [ -f buildNumber.properties ]; then
252
         CURRENT_VER=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2`
253
         NEXT_VER=$CURRENT_VER
254
         let "NEXT_VER=NEXT_VER+1";
255
         echo "Changin buildNumber "$CURRENT_VER" by "$NEXT_VER" IN "$i
256
         (cat buildNumber.properties | sed -e "s/buildNumber=${CURRENT_VER}/buildNumber=${NEXT_VER}/g") > tmp
257
         rm buildNumber.properties
258
         mv tmp buildNumber.properties
259
       fi
260
     fi
261
     cd $DIR_BASE
262
   done
263
}
264

    
265
#-------------------------------------------------
266
# Copy to $PACKAGE_DIRECTORY
267
#-------------------------------------------------
268

    
269
copyToPackageFolder() {
270
  DIR_BASE=`pwd`
271
  for i in $PLUGINS_TO_BUILD 
272
    do
273
      cd $i/target
274
      echo "-----------------"
275
      echo "Cambiando a"....$i/target
276
      echo "Copiando "$i" a "$PACKAGE_DIRECTORY
277
      COUNT_SLASHES=`grep -o "\/" <<< "$i" | wc -l` #Count the number of slashes in the path
278
      if [ $COUNT_SLASHES -eq 1 ]; then
279
        pad=`echo $i | cut -d/ -f2`
280
      fi
281
      if [ $COUNT_SLASHES -eq 2 ]; then
282
        pad=`echo $i | cut -d/ -f3`
283
      fi
284
      mkdir $PACKAGE_DIRECTORY/$pad
285
      rename 's/\.zip$//' *.gvspkg.zip  #Elimina los .zip si los gvspkg están como .zip
286
      cp $PACKAGE_PREFIX* $PACKAGE_DIRECTORY/$pad
287
      cd $DIR_BASE
288
   done
289

    
290
}
291

    
292
#-------------------------------------------------
293
# Install libraries and package plugins
294
#-------------------------------------------------
295

    
296
installAndPackage() {
297
  echo "***********************************"
298
  echo "Install"
299
  echo "***********************************"
300

    
301
  DIR_BASE=`pwd`
302

    
303
  #------Install and Package---------
304

    
305
  for i in $PROJECTS_TO_BUILD
306
    do
307
      cd $i
308
      echo "-----------------"
309
      echo "Cambiando a"....$i
310
      echo "Ejecutando mvn "${INSTALL_PARAMS[0]}
311
      mvn ${INSTALL_PARAMS[0]};
312
      cd ..
313
    done
314

    
315

    
316
  for i in $PLUGINS_ARCH_DEP_TO_BUILD #Plugins architecture dependent
317
    do
318
      dir=`cut -d/ -f1 <<<$i`
319
      cd $dir
320
      echo "-----------------"
321
      echo "Cambiando a"....$dir
322
      
323
      for k in `seq 2 ${#INSTALL_PARAMS[@]}`
324
       do
325
         let "j=k-1";
326
         echo "Ejecutando mvn "$j ${INSTALL_PARAMS[$j]}
327
         mvn ${INSTALL_PARAMS[$j]};
328
       done
329

    
330
      cd $DIR_BASE
331
   done
332
}
333

    
334
#-------------------------------------------------
335
# Unpack deman
336
#-------------------------------------------------
337

    
338
unpackDepman( ) { 
339
 if [ "$PLUGINS_ARCH_DEP_TO_BUILD" != "" ]; then #Si no hay plugins dependientes de la arquitectura no descomprimimos el depman
340
   if [ -f $HOME"/"$LIB_PKG ]; then
341
      CURRENT_DIR=`pwd`
342
      cd $HOME
343
      tar -xzvf $LIB_PKG
344
      cd $CURRENT_DIR
345
   else
346
      echo "Error: No existe "$HOME"/"$LIB_PKG"!!!!"
347
      exit
348
   fi
349
 fi
350
}
351

    
352

    
353
#----------------------------------------------------------
354
#Gets the number of the version reading it from the pom.xml
355
#----------------------------------------------------------
356

    
357
loadPluginVersion( ) {
358
  CURRENT_DIR=`pwd`
359
  VERSION_COUNTER=0
360
  for k in `seq 1 ${#PLUGINS[@]}`
361
    do
362
      let "i=k-1";
363
      for j in ${PLUGINS[$i]}
364
        do 
365
          if [ -d $j ]; then
366
            cd $j
367
            if [ -f pom.xml ]; then
368
               exec<pom.xml
369
               while read line
370
                 do
371
                   if test "${line#*<version>}" != "$line" ; then #La linea contiene el tag <version>
372
                      NEW_VN=`sed -e "s/<version>//g" <<< $line`
373
                      NEW_VN=`sed -e "s/<\/version>//g" <<< $NEW_VN`
374
                      PLUGIN_VERSIONS[$VERSION_COUNTER]=${PLUGIN_VERSIONS[$VERSION_COUNTER]}" "$NEW_VN
375
                      let "VERSION_COUNTER=VERSION_COUNTER+1"
376
                      break
377
                   fi
378
                 done
379
            fi
380
            cd $CURRENT_DIR
381
          fi
382
        done
383
    done
384
}
385

    
386
#-------------------------------------------------
387
#Loads the array of build numbers
388
#-------------------------------------------------
389

    
390
loadBuildNumber() {
391
  CURRENT_DIR=`pwd`
392
  BN_COUNTER=0
393
  for k in `seq 1 ${#PLUGINS[@]}`
394
    do
395
      let "i=k-1";
396
      for j in ${PLUGINS[$i]}
397
        do 
398
          if [ -d $j ]; then
399
            cd $j
400
            if [ -f buildNumber.properties ]; then
401
              NEW_BN=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2`
402
              BN[$BN_COUNTER]=${BN[$BN_COUNTER]}" "$NEW_BN
403
              let "BN_COUNTER=BN_COUNTER+1"
404
            fi
405
            cd $CURRENT_DIR
406
          fi
407
        done
408
    done
409
}
410

    
411
#-------------------------------------------------
412
#COMMIT CHANGES (BUILD NUMBERS)
413
#-------------------------------------------------
414

    
415
commit() {
416
 CURRENT_DIR=`pwd`
417
 for i in $PROJECTS_TO_BUILD
418
    do
419
      cd $i
420
      echo "-----------------"
421
      echo "Cambiando a"....$i
422
      echo "Ejecutando svn commit "
423
      svn commit * -m "New build number";
424
      cd $CURRENT_DIR
425
    done
426
}
427

    
428
#-------------------------------------------------
429
# REVERT CHANGES (SOLO TEST)
430
#-------------------------------------------------
431
if [ "$1" = "-revert" ] ; then
432
 for i in $PROJECTS_TO_BUILD
433
    do
434
      cd $i
435
      echo "-----------------"
436
      echo "Cambiando a"....$i
437
      echo "Ejecutando svn update "
438
      svn revert --recursive .
439
      cd ..
440
    done
441
fi
442

    
443
#-------------------------------------------------
444
# TICKET
445
#-------------------------------------------------
446

    
447
ticketGeneration() {
448
 for k in `seq 1 ${#PATH_TICKET[@]}`
449
   do
450
     let "i=k-1";
451
     rm ${PATH_TICKET[$i]} 2> /dev/null 
452
   done
453

    
454
 for k in `seq 1 ${#URL_REPO[@]}`
455
   do
456
     let "i=k-1";
457
     POS_INSIDE_PLUGINS=1 #Position of the plugin inside PLUGINS
458
     for j in ${PLUGINS[$i]}
459
       do
460
         #Si se ha seleccionado algún grupo en concreto solo se añadirá este al fichero (-n está definido)
461
         if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
462
           break
463
         fi
464

    
465
         COUNT_SLASHES=`grep -o "\/" <<< "$j" | wc -l` #Count the number of slashes in the path
466
         if [ $COUNT_SLASHES -eq 1 ]; then
467
           package=`echo $j | cut -d/ -f2`
468
         fi
469
         if [ $COUNT_SLASHES -eq 2 ]; then
470
           package=`echo $j | cut -d/ -f3`
471
         fi
472

    
473
         PLUGIN_VER=`cut -d' ' -f$POS_INSIDE_PLUGINS <<< ${PLUGIN_VERSIONS[$i]}`
474
         PLUGIN_BN=`cut -d' ' -f$POS_INSIDE_PLUGINS <<< ${BN[$i]}`
475

    
476
	 if test "${ARCH_DEP_PLUGINS#*$j}" != "$ARCH_DEP_PLUGINS"
477
         then
478
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-lin-x86-j1_5.gvspki" >> ${PATH_TICKET[$i]}
479
           echo "" >> ${PATH_TICKET[$i]}
480
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-win-x86-j1_5.gvspki" >> ${PATH_TICKET[$i]}
481
         else
482
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-all-all-j1_5.gvspki" >> ${PATH_TICKET[$i]}
483
         fi
484

    
485
         echo "" >> ${PATH_TICKET[$i]}
486
         let "POS_INSIDE_PLUGINS=POS_INSIDE_PLUGINS+1";
487
       done
488
   done
489
}
490

    
491
#-------------------------------------------------
492
# TAGS
493
#-------------------------------------------------
494

    
495
tagsGeneration() {
496
 echo "***********************************"
497
 echo "Creating tags"
498
 echo "***********************************"
499

    
500
 tag=`date +%d%m%Y_%H_%M`
501

    
502
  for k in `seq 1 ${#URL_SVN[@]}`
503
   do
504
     let "i=k-1";
505
     for j in ${PROJECTS[$i]}
506
       do
507
         #Si se ha seleccionado algún grupo en concreto solo se hará el tag de estos proyectos
508
         if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
509
           break
510
         fi
511

    
512
         #echo "svn copy ${URL_SVN[$i]}$j/trunk ${URL_SVN[$i]}$j/tags/tagdate_$tag -m \"Tag build $tag\""
513
         svn copy ${URL_SVN[$i]}$j/trunk ${URL_SVN[$i]}$j/tags/tagdate_$tag -m "Tag build $tag"
514
       done
515
   done
516
}
517

    
518
#-------------------------------------------------
519
# CHANGE THE PROJECT VERSION
520
# Change the version of the pom parent in a project
521
#-------------------------------------------------
522

    
523
changeProjectVersion() {
524
  CURRENT_DIR=`pwd`
525
  if [ -z $1 ] ; then
526
    echo "Current version number not defined"
527
    exit
528
  fi
529

    
530
  if [ -z $2 ] ; then
531
    echo "Next version number not defined"
532
    exit
533
  fi
534

    
535
  for i in `ls`
536
    do 
537
      if [[ "$i" == org.gvsig.* ]] ; then 
538
        echo $i
539
        cd $i
540
	(cat pom.xml | sed -e "s/<version>$1<\/version>/<version>$2<\/version>/") > tmp
541
	rm pom.xml
542
        mv tmp pom.xml
543
	cd $CURRENT_DIR
544
      fi
545
    done
546
}
547

    
548
#-------------------------------------------------
549
# ECLIPSE .project
550
#-------------------------------------------------
551

    
552
eclipse() {
553
  echo "***********************************"
554
  echo "Eclipse:eclipse"
555
  echo "***********************************"
556

    
557
  DIR_BASE=`pwd`
558

    
559
  for i in $PROJECTS_TO_BUILD
560
    do
561
      cd $i
562
      echo "-----------------"
563
      echo "Cambiando a"....$i
564
      echo "Ejecutando mvn eclipse:eclipse"
565
      mvn eclipse:eclipse;
566
      cd ..
567
    done
568
}
569

    
570

    
571

    
572
#-------------------------------------------------
573
# COMMANDS
574
#-------------------------------------------------
575

    
576
if [ "$1" = "-all" ] ; then
577
  clean
578
  update
579
  increaseBuildnumber
580
  unpackDepman
581
  installAndPackage
582
  copyToPackageFolder
583
  commit
584
  tagsGeneration
585
  loadBuildNumber
586
  loadPluginVersion
587
  ticketGeneration
588
fi
589

    
590
if [ "$1" = "-install" ] ; then
591
  unpackDepman
592
  installAndPackage
593
  copyToPackageFolder
594
fi
595

    
596
if [ "$1" = "-clean" ] ; then
597
  clean
598
fi
599

    
600
if [ "$1" = "-update" ] ; then
601
  update
602
fi
603

    
604
if [ "$1" = "-buildnumber" ] ; then
605
  increaseBuildNumber
606
fi
607

    
608
if [ "$1" = "-commit" ] ; then
609
  commit
610
fi
611

    
612
if [ "$1" = "-ticket" ] ; then
613
 loadBuildNumber
614
 loadPluginVersion
615
 ticketGeneration
616
fi
617

    
618
if [ "$1" = "-tags" ] ; then
619
 tagsGeneration
620
fi 
621

    
622
if [ "$1" = "-changeversion" ] ; then
623
 changeProjectVersion $2 $3
624
fi
625

    
626
if [ "$1" = "-eclipse" ] ; then
627
 eclipse
628
fi
629

    
630
if [ "$1" != "-upload" -a "$1" != "-all" ] ; then
631
  exit
632
fi  
633

    
634
#-------------------------------------------------
635
# UPLOAD
636
#-------------------------------------------------
637

    
638
echo "***********************************"
639
echo "Uploading"
640
echo "***********************************"
641

    
642
CURRENT_DIRECTORY=`pwd`;
643
echo "Cambiando a..."$PACKAGE_DIRECTORY
644
cd $PACKAGE_DIRECTORY
645

    
646

    
647
for k in `seq 1 ${#URL_REPO[@]}`
648
do
649
let "i=k-1";
650

    
651
for j in ${PLUGINS[$i]}
652
do
653

    
654
#Si se ha seleccionado algún grupo en concreto solo se subiran los paquetes de este grupo
655
if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
656
 break
657
fi
658

    
659
PKG_DIR=`echo $j | cut -d/ -f3`
660
if [ "$PKG_DIR" == "" ] ; then 
661
PKG_DIR=`echo $j | cut -d/ -f2`
662
fi
663

    
664
expect <<EOD
665
set timeout -1
666
spawn cadaver ${URL_REPO[$i]}
667
expect (y/n)
668
send y\r
669
expect dav:/download/projects/${REPO_NAME[$i]}/pool/>
670
send "cd $PKG_DIR\r"
671
expect $PKG_DIR/>
672
send "lcd $PKG_DIR\r"
673
expect $PKG_DIR/>
674
send "mput *.gvspki\r"
675
expect "Nombre de usuario:"
676
send $USER\r
677
expect "Contraseña:"
678
send $PASS\r
679
expect $PKG_DIR/>
680
send "mput *.gvspkg\r"
681
expect $PKG_DIR/>
682
send quit\r
683
expect "cerrada."
684
EOD
685

    
686
done
687
done
688

    
689
cd $CURRENT_DIRECTORY