Statistics
| Revision:

gvsig-raster / org.gvsig.raster / trunk / org.gvsig.raster / gvprjutils @ 2125

History | View | Annotate | Download (19.5 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=
16

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

    
20
#GROUP 0 (CORE)
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/org.gvsig.raster.mainplugin
31
org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.app
32
org.gvsig.raster.tools/org.gvsig.raster.tools.app.basic 
33
org.gvsig.raster.gdal/org.gvsig.raster.gdal.app"
34
ARCH_DEP[0]="org.gvsig.raster/org.gvsig.raster.mainplugin
35
org.gvsig.raster.gdal/org.gvsig.raster.gdal.app" #Architecture dependent plugins 
36

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

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

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

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

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

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

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

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

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

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

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

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

    
131
for k in `seq 1 ${#PLATFORM[@]}`
132
do
133
  let "i=k-1";
134
  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"
135
done
136

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

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

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

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

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

    
166
#-------------------------------------------------
167
# HELP
168
#-------------------------------------------------
169

    
170
if [ "$1" = "--help" ] ; then
171
   echo "Usage: First parameter:"
172
   echo "          -all (clean, update, buildnumber, install, tags, commit, ticket, upload)"
173
   echo "          -clean"
174
   echo "          -update"
175
   echo "          -buildnumber"
176
   echo "          -install"
177
   echo "          -upload: Upload to the repository"
178
   echo "          -tags: Create tags tagdate_date_hour"
179
   echo "          -commit: Commit the build number"
180
   echo "          -ticket: Build a file with the URL for the package index" 
181
   echo "       Second parameter:"
182
   echo "           -number: Number of group to build the package or empty to build all"
183
   echo ""
184
   echo "Other utils:"
185
   echo "          -changeversion <old_version> <new_version>:Change the parent pom version (org.gvsig.desktop) of all projects"
186
   echo "          -eclipse: mvn eclipse:eclipse"
187
   echo "          -basicinstall: mvn install without copy and decompress depman"
188
   echo ""
189
   echo "To build a new package"
190
   echo "----------------------------"
191
   echo "   Advisable to use: cpulimit -e java -l 50 -b "
192
   echo "   1 - Check and update variables"
193
   echo "   2 - Ejecutar ./gvprjutils -clean to clean projects"
194
   echo "   3 - Ejecutar ./gvprjutils -update to update projects"
195
   echo "   4 - Ejecutar ./gvprjutils -buildnumber to update the build numbers"
196
   echo "   5 - Ejecutar ./gvprjutils -install to install in ~/.gvsig-devel.properties and package"
197
   echo "   6 - (Check the instalation and the packages that have been built)"
198
   echo "   7 - Ejecutar ./gvprjutils -upload to upload to URL_REPO"
199
   echo "   8 - Ejecutar ./gvprjutils -commit to upload the buildnumber"
200
   echo "   9 - Ejecutar ./gvprjutils -tags to create tags in URL_SVN"
201
   echo "   10 - Ejecutar ./gvprjutils -ticket to create the file with the URLs of the indexes
202
   echo ""
203
   echo "Examples:"
204
   echo "---------"
205
   echo "   gvprjutils -clean 5 : Cleans the group 5"
206
   echo "   gvprjutils -all : Build all projects and upload to the server"
207
   echo "   gvprjutils -changeversion 2.0.16-SNAPSHOT 2.0.17-SNAPSHOT  : change the number version of the parent"
208
   exit
209
fi
210

    
211

    
212
#-------------------------------------------------
213
# CLEAN
214
#-------------------------------------------------
215

    
216
clean() {
217
  echo "***********************************"
218
  echo "Clean"
219
  echo "***********************************"
220
  
221
  for i in $PROJECTS_TO_BUILD
222
    do
223
      cd $i
224
      echo "-----------------"
225
      echo "Cambiando a"....$i
226
      echo "Ejecutando clean"
227
      mvn clean
228
      cd ..
229
    done
230
}
231

    
232
#-------------------------------------------------
233
# UPDATE
234
#-------------------------------------------------
235

    
236
update() {
237
  for i in $PROJECTS_TO_BUILD
238
    do
239
      cd $i
240
      echo "-----------------"
241
      echo "Cambiando a"....$i
242
      echo "Ejecutando svn update "
243
      svn update;
244
      cd ..
245
    done
246
}
247

    
248
#-------------------------------------------------
249
# BUILDNUMBER
250
# Increase the build number for all plugins
251
#-------------------------------------------------
252

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

    
273
#-------------------------------------------------
274
# Copy to $PACKAGE_DIRECTORY
275
#-------------------------------------------------
276

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

    
298
}
299

    
300
#-------------------------------------------------
301
# Install libraries and package plugins
302
#-------------------------------------------------
303

    
304
installAndPackage() {
305
  echo "***********************************"
306
  echo "Install"
307
  echo "***********************************"
308

    
309
  DIR_BASE=`pwd`
310

    
311
  #------Install and Package---------
312

    
313
  for i in $PROJECTS_TO_BUILD
314
    do
315
      cd $i
316
      echo "-----------------"
317
      echo "Cambiando a"....$i
318
      echo "Ejecutando mvn "${INSTALL_PARAMS[0]}
319
      mvn ${INSTALL_PARAMS[0]};
320
      cd ..
321
    done
322

    
323

    
324
  for i in $PLUGINS_ARCH_DEP_TO_BUILD #Plugins architecture dependent
325
    do
326
      dir=`cut -d/ -f1 <<<$i`
327
      cd $dir
328
      echo "-----------------"
329
      echo "Cambiando a"....$dir
330
      
331
      for k in `seq 2 ${#INSTALL_PARAMS[@]}`
332
       do
333
         let "j=k-1";
334
         echo "Ejecutando mvn "$j ${INSTALL_PARAMS[$j]}
335
         mvn ${INSTALL_PARAMS[$j]};
336
       done
337

    
338
      cd $DIR_BASE
339
   done
340
}
341

    
342
#-------------------------------------------------
343
# Unpack deman
344
#-------------------------------------------------
345

    
346
unpackDepman( ) { 
347
 if [ "$PLUGINS_ARCH_DEP_TO_BUILD" != "" ]; then #Si no hay plugins dependientes de la arquitectura no descomprimimos el depman
348
   if [ -f $HOME"/"$LIB_PKG ]; then
349
      CURRENT_DIR=`pwd`
350
      cd $HOME
351
      tar -xzvf $LIB_PKG
352
      cd $CURRENT_DIR
353
   else
354
      echo "Error: No existe "$HOME"/"$LIB_PKG"!!!!"
355
      exit
356
   fi
357
 fi
358
}
359

    
360

    
361
#----------------------------------------------------------
362
#Gets the number of the version reading it from the pom.xml
363
#----------------------------------------------------------
364

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

    
394
#-------------------------------------------------
395
#Loads the array of build numbers
396
#-------------------------------------------------
397

    
398
loadBuildNumber() {
399
  CURRENT_DIR=`pwd`
400
  BN_COUNTER=0
401
  for k in `seq 1 ${#PLUGINS[@]}`
402
    do
403
      let "i=k-1";
404
      for j in ${PLUGINS[$i]}
405
        do 
406
          if [ -d $j ]; then
407
            cd $j
408
            if [ -f buildNumber.properties ]; then
409
              NEW_BN=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2`
410
              BN[$BN_COUNTER]=${BN[$BN_COUNTER]}" "$NEW_BN
411
              let "BN_COUNTER=BN_COUNTER+1"
412
            fi
413
            cd $CURRENT_DIR
414
          fi
415
        done
416
    done
417
}
418

    
419
#-------------------------------------------------
420
#COMMIT CHANGES (BUILD NUMBERS)
421
#-------------------------------------------------
422

    
423
commit() {
424
 CURRENT_DIR=`pwd`
425
 for i in $PROJECTS_TO_BUILD
426
    do
427
      cd $i
428
      echo "-----------------"
429
      echo "Cambiando a"....$i
430
      echo "Ejecutando svn commit "
431
      svn commit * -m "New build number";
432
      cd $CURRENT_DIR
433
    done
434
}
435

    
436
#-------------------------------------------------
437
# REVERT CHANGES (SOLO TEST)
438
#-------------------------------------------------
439
if [ "$1" = "-revert" ] ; then
440
 for i in $PROJECTS_TO_BUILD
441
    do
442
      cd $i
443
      echo "-----------------"
444
      echo "Cambiando a"....$i
445
      echo "Ejecutando svn update "
446
      svn revert --recursive .
447
      cd ..
448
    done
449
fi
450

    
451
#-------------------------------------------------
452
# TICKET
453
#-------------------------------------------------
454

    
455
ticketGeneration() {
456
 for k in `seq 1 ${#PATH_TICKET[@]}`
457
   do
458
     let "i=k-1";
459
     rm ${PATH_TICKET[$i]} 2> /dev/null 
460
   done
461

    
462
 for k in `seq 1 ${#URL_REPO[@]}`
463
   do
464
     let "i=k-1";
465
     POS_INSIDE_PLUGINS=1 #Position of the plugin inside PLUGINS
466
     for j in ${PLUGINS[$i]}
467
       do
468
         #Si se ha seleccionado algún grupo en concreto solo se añadirá este al fichero (-n está definido)
469
         if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
470
           break
471
         fi
472

    
473
         COUNT_SLASHES=`grep -o "\/" <<< "$j" | wc -l` #Count the number of slashes in the path
474
         if [ $COUNT_SLASHES -eq 1 ]; then
475
           package=`echo $j | cut -d/ -f2`
476
         fi
477
         if [ $COUNT_SLASHES -eq 2 ]; then
478
           package=`echo $j | cut -d/ -f3`
479
         fi
480

    
481
         PLUGIN_VER=`cut -d' ' -f$POS_INSIDE_PLUGINS <<< ${PLUGIN_VERSIONS[$i]}`
482
         PLUGIN_BN=`cut -d' ' -f$POS_INSIDE_PLUGINS <<< ${BN[$i]}`
483

    
484
	 if test "${ARCH_DEP_PLUGINS#*$j}" != "$ARCH_DEP_PLUGINS"
485
         then
486
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-lin-x86-j1_5.gvspki" >> ${PATH_TICKET[$i]}
487
           echo "" >> ${PATH_TICKET[$i]}
488
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-win-x86-j1_5.gvspki" >> ${PATH_TICKET[$i]}
489
         else
490
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-all-all-j1_5.gvspki" >> ${PATH_TICKET[$i]}
491
         fi
492

    
493
         echo "" >> ${PATH_TICKET[$i]}
494
         let "POS_INSIDE_PLUGINS=POS_INSIDE_PLUGINS+1";
495
       done
496
   done
497
}
498

    
499
#-------------------------------------------------
500
# TAGS
501
#-------------------------------------------------
502

    
503
tagsGeneration() {
504
 echo "***********************************"
505
 echo "Creating tags"
506
 echo "***********************************"
507

    
508
 tag=`date +%d%m%Y_%H_%M`
509

    
510
  for k in `seq 1 ${#URL_SVN[@]}`
511
   do
512
     let "i=k-1";
513
     for j in ${PROJECTS[$i]}
514
       do
515
         #Si se ha seleccionado algún grupo en concreto solo se hará el tag de estos proyectos
516
         if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
517
           break
518
         fi
519

    
520
         #echo "svn copy ${URL_SVN[$i]}$j/trunk ${URL_SVN[$i]}$j/tags/tagdate_$tag -m \"Tag build $tag\""
521
         svn copy ${URL_SVN[$i]}$j/trunk ${URL_SVN[$i]}$j/tags/tagdate_$tag -m "Tag build $tag"
522
       done
523
   done
524
}
525

    
526
#-------------------------------------------------
527
# CHANGE THE PROJECT VERSION
528
# Change the version of the pom parent in a project
529
#-------------------------------------------------
530

    
531
changeProjectVersion() {
532
  CURRENT_DIR=`pwd`
533
  if [ -z $1 ] ; then
534
    echo "Current version number not defined"
535
    exit
536
  fi
537

    
538
  if [ -z $2 ] ; then
539
    echo "Next version number not defined"
540
    exit
541
  fi
542

    
543
  for i in `ls`
544
    do 
545
      if [[ "$i" == org.gvsig.* ]] ; then 
546
        echo $i
547
        cd $i
548
	(cat pom.xml | sed -e "s/<version>$1<\/version>/<version>$2<\/version>/") > tmp
549
	rm pom.xml
550
        mv tmp pom.xml
551
	cd $CURRENT_DIR
552
      fi
553
    done
554
}
555

    
556
#-------------------------------------------------
557
# ECLIPSE .project
558
#-------------------------------------------------
559

    
560
eclipse() {
561
  echo "***********************************"
562
  echo "Eclipse:eclipse"
563
  echo "***********************************"
564

    
565
  DIR_BASE=`pwd`
566

    
567
  for i in $PROJECTS_TO_BUILD
568
    do
569
      cd $i
570
      echo "-----------------"
571
      echo "Cambiando a"....$i
572
      echo "Ejecutando mvn eclipse:eclipse"
573
      mvn eclipse:eclipse;
574
      cd ..
575
    done
576
}
577

    
578

    
579

    
580
#-------------------------------------------------
581
# COMMANDS
582
#-------------------------------------------------
583

    
584
if [ "$1" = "-all" ] ; then
585
  clean
586
  update
587
  increaseBuildnumber
588
  unpackDepman
589
  installAndPackage
590
  copyToPackageFolder
591
  commit
592
  tagsGeneration
593
  loadBuildNumber
594
  loadPluginVersion
595
  ticketGeneration
596
fi
597

    
598
if [ "$1" = "-basicinstall" ] ; then
599
  installAndPackage
600
fi
601

    
602
if [ "$1" = "-install" ] ; then
603
  unpackDepman
604
  installAndPackage
605
  copyToPackageFolder
606
fi
607

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

    
612
if [ "$1" = "-update" ] ; then
613
  update
614
fi
615

    
616
if [ "$1" = "-buildnumber" ] ; then
617
  increaseBuildNumber
618
fi
619

    
620
if [ "$1" = "-commit" ] ; then
621
  commit
622
fi
623

    
624
if [ "$1" = "-ticket" ] ; then
625
 loadBuildNumber
626
 loadPluginVersion
627
 ticketGeneration
628
fi
629

    
630
if [ "$1" = "-tags" ] ; then
631
 tagsGeneration
632
fi 
633

    
634
if [ "$1" = "-changeversion" ] ; then
635
 changeProjectVersion $2 $3
636
fi
637

    
638
if [ "$1" = "-eclipse" ] ; then
639
 eclipse
640
fi
641

    
642
if [ "$1" != "-upload" -a "$1" != "-all" ] ; then
643
  exit
644
fi  
645

    
646
#-------------------------------------------------
647
# UPLOAD
648
#-------------------------------------------------
649

    
650
echo "***********************************"
651
echo "Uploading"
652
echo "***********************************"
653

    
654
CURRENT_DIRECTORY=`pwd`;
655
echo "Cambiando a..."$PACKAGE_DIRECTORY
656
cd $PACKAGE_DIRECTORY
657

    
658

    
659
for k in `seq 1 ${#URL_REPO[@]}`
660
do
661
let "i=k-1";
662

    
663
for j in ${PLUGINS[$i]}
664
do
665

    
666
#Si se ha seleccionado algún grupo en concreto solo se subiran los paquetes de este grupo
667
if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
668
 break
669
fi
670

    
671
PKG_DIR=`echo $j | cut -d/ -f3`
672
if [ "$PKG_DIR" == "" ] ; then 
673
PKG_DIR=`echo $j | cut -d/ -f2`
674
fi
675

    
676
expect <<EOD
677
set timeout -1
678
spawn cadaver ${URL_REPO[$i]}
679
expect (y/n)
680
send y\r
681
expect dav:/download/projects/${REPO_NAME[$i]}/pool/>
682
send "cd $PKG_DIR\r"
683
expect $PKG_DIR/>
684
send "lcd $PKG_DIR\r"
685
expect $PKG_DIR/>
686
send "mput *.gvspki\r"
687
expect "Nombre de usuario:"
688
send $USER\r
689
expect "Contraseña:"
690
send $PASS\r
691
expect $PKG_DIR/>
692
send "mput *.gvspkg\r"
693
expect $PKG_DIR/>
694
send quit\r
695
expect "cerrada."
696
EOD
697

    
698
done
699
done
700

    
701
cd $CURRENT_DIRECTORY