Statistics
| Revision:

gvsig-raster / org.gvsig.raster / branches / org.gvsig.raster_dataaccess_refactoring / gvprjutils @ 6796

History | View | Annotate | Download (20.5 KB)

1 2032 nbrodin
#/bin/sh
2
3 2084 nbrodin
#----------------------
4
#Configuration section
5
#----------------------
6
7 2032 nbrodin
GVSIG_VERSION=2.1.0
8
FIX_VERSION=SNAPSHOT
9
RELEASE=testing
10
PACKAGE_PREFIX=gvSIG-desktop
11 2081 nbrodin
LIB_PKG=depman.tgz
12 2032 nbrodin
13
PACKAGE_DIRECTORY=/tmp
14
USER=nbrodin
15 2087 nbrodin
PASS=
16 2032 nbrodin
17 2084 nbrodin
#Distribution groups
18
#-------------------
19 2032 nbrodin
20 2125 nbrodin
#GROUP 0 (CORE)
21 2032 nbrodin
PROJECTS[0]="org.gvsig.raster.cache
22
org.gvsig.raster
23
org.gvsig.raster.gdal
24
org.gvsig.raster.tilecache
25 2084 nbrodin
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 2125 nbrodin
PLUGINS[0]="org.gvsig.raster/org.gvsig.raster.mainplugin
31
org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.app
32 2084 nbrodin
org.gvsig.raster.tools/org.gvsig.raster.tools.app.basic
33
org.gvsig.raster.gdal/org.gvsig.raster.gdal.app"
34 2125 nbrodin
ARCH_DEP[0]="org.gvsig.raster/org.gvsig.raster.mainplugin
35 2084 nbrodin
org.gvsig.raster.gdal/org.gvsig.raster.gdal.app" #Architecture dependent plugins
36 2032 nbrodin
37 2125 nbrodin
#GROUP 1 (PLUGINS)
38 2084 nbrodin
PROJECTS[1]="org.gvsig.raster.multifile
39 2142 nbrodin
org.gvsig.raster.reproject
40
org.gvsig.raster.principalcomponents"
41 2084 nbrodin
REPO_NAME[1]="Raster"
42
URL_REPO[1]="https://devel.gvsig.org/download/projects/${REPO_NAME[1]}/pool/"
43
URL_SVN[1]="https://devel.gvsig.org/svn/gvsig-raster/"
44
PATH_TICKET[1]="/tmp/ticket-raster.txt"
45
PLUGINS[1]="org.gvsig.raster.multifile/org.gvsig.raster.multifile.app.multifileclient
46 2142 nbrodin
org.gvsig.raster.reproject/org.gvsig.raster.reproject.app.reprojectclient
47 2149 nbrodin
org.gvsig.raster.principalcomponents/org.gvsig.raster.principalcomponents.app.principalcomponentsclient"
48 2084 nbrodin
ARCH_DEP[1]=""
49 2032 nbrodin
50 2125 nbrodin
#GROUP 2 (FORMATS)
51 2084 nbrodin
PROJECTS[2]="org.gvsig.raster.ermapper
52
org.gvsig.raster.lizardtech
53
org.gvsig.raster.netcdf"
54
REPO_NAME[2]="Raster"
55
URL_REPO[2]="https://devel.gvsig.org/download/projects/${REPO_NAME[2]}/pool/"
56
URL_SVN[2]="https://devel.gvsig.org/svn/gvsig-raster/"
57
PATH_TICKET[2]="/tmp/ticket-raster.txt"
58
PLUGINS[2]="org.gvsig.raster.netcdf/org.gvsig.raster.netcdf.app.netcdfclient
59
org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.app
60
org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app"
61
ARCH_DEP[2]="org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.app
62
org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app"
63 2032 nbrodin
64 2125 nbrodin
#GROUP 3 (REMOTE)
65 2084 nbrodin
PROJECTS[3]="org.gvsig.raster.wmts
66
org.gvsig.raster.wms
67
org.gvsig.raster.wcs
68
org.gvsig.raster.postgis"
69
REPO_NAME[3]="Raster"
70
URL_REPO[3]="https://devel.gvsig.org/download/projects/${REPO_NAME[3]}/pool/"
71
URL_SVN[3]="https://devel.gvsig.org/svn/gvsig-raster/"
72
PATH_TICKET[3]="/tmp/ticket-raster.txt"
73
PLUGINS[3]="org.gvsig.raster.wmts/org.gvsig.raster.wmts.app.wmtsclient
74 2032 nbrodin
org.gvsig.raster.wms/org.gvsig.raster.wms.app.wmsclient
75
org.gvsig.raster.wcs/org.gvsig.raster.wcs.app.wcsclient
76 2084 nbrodin
org.gvsig.raster.postgis/org.gvsig.raster.postgis.app.postgisrasterclient"
77
ARCH_DEP[3]=""
78 2032 nbrodin
79 2125 nbrodin
#GROUP 4 (GEOREFERENCING)
80 2084 nbrodin
PROJECTS[4]="org.gvsig.raster.georeferencing"
81
REPO_NAME[4]="Raster"
82
URL_REPO[4]="https://devel.gvsig.org/download/projects/${REPO_NAME[4]}/pool/"
83
URL_SVN[4]="https://devel.gvsig.org/svn/gvsig-georeferencing/"
84
PATH_TICKET[4]="/tmp/ticket-raster.txt"
85
PLUGINS[4]="org.gvsig.raster.georeferencing/org.gvsig.raster.georeferencing.app.georeferencingclient"
86
ARCH_DEP[4]=""
87 2032 nbrodin
88 2125 nbrodin
#GROUP 5 (OSM)
89 2084 nbrodin
PROJECTS[5]="org.gvsig.raster.osm"
90
REPO_NAME[5]="Raster"
91
URL_REPO[5]="https://devel.gvsig.org/download/projects/${REPO_NAME[5]}/pool/"
92
URL_SVN[5]="https://devel.gvsig.org/svn/gvsig-osm/"
93
PATH_TICKET[5]="/tmp/ticket-raster.txt"
94
PLUGINS[5]="org.gvsig.raster.osm/org.gvsig.raster.osm.app.osmclient"
95
ARCH_DEP[5]=""
96 2050 nbrodin
97 2125 nbrodin
#GROUP 6 (GEOPROCESS)
98 2084 nbrodin
PROJECTS[6]="org.gvsig.geoprocess"
99
REPO_NAME[6]="gvsig-geoprocess"
100
URL_REPO[6]="https://devel.gvsig.org/download/projects/${REPO_NAME[6]}/pool/"
101
URL_SVN[6]="https://devel.gvsig.org/svn/gvsig-geoprocess/"
102
PATH_TICKET[6]="/tmp/ticket-geoprocess.txt"
103
PLUGINS[6]="org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.algorithm
104 2032 nbrodin
org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.mainplugin
105
org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.sextante
106
org.gvsig.geoprocess/org.gvsig.geoprocess.app/org.gvsig.geoprocess.app.tool"
107 2084 nbrodin
ARCH_DEP[6]=""
108 2032 nbrodin
109 2084 nbrodin
#Platforms supported (Add a new block for a new architecture)
110
#-------------------------------------------------------------
111 2032 nbrodin
112
ARCH="i386"
113
TYPE="dynamic"
114
115
PLATFORM[0]="linux"
116
COMPILER[0]="gcc4"
117
DISTRIBUTION[0]="all"
118
CLASSIFIER[0]=${PLATFORM[0]}"-"${DISTRIBUTION[0]}"-"${COMPILER[0]}"-"$ARCH"-"$TYPE
119
120
PLATFORM[1]="win"
121
COMPILER[1]="vs8"
122
DISTRIBUTION[1]="nt"
123
CLASSIFIER[1]=${PLATFORM[1]}"-"${DISTRIBUTION[1]}"-"${COMPILER[1]}"-"$ARCH"-"$TYPE
124
125 2084 nbrodin
#-------------------------
126
#End configuration section
127
#-------------------------
128
129 2032 nbrodin
ALL_PROJECTS=${PROJECTS[*]}
130
ALL_PLUGINS=${PLUGINS[*]}
131 2084 nbrodin
ARCH_DEP_PLUGINS=${ARCH_DEP[*]}
132 2032 nbrodin
133 2033 nbrodin
for k in `seq 1 ${#PLATFORM[@]}`
134 2032 nbrodin
do
135 2033 nbrodin
  let "i=k-1";
136 2032 nbrodin
  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"
137
done
138
139 2084 nbrodin
if [ $1 != "-changeversion" ] ; then
140
  PACKAGE_TO_BUILD=$2
141 2149 nbrodin
142
  if [ "$PACKAGE_TO_BUILD" != "" ]; then
143
    if [ -n $PACKAGE_TO_BUILD -a  $PACKAGE_TO_BUILD -ge ${#PROJECTS[@]} ]; then
144
      t=${#PROJECTS[@]}
145
      let "t=t-1"
146
      echo "Number of package to build wrong. Maximum "$t
147
      exit
148
    fi
149 2084 nbrodin
  fi
150
151
  if [ -z $PACKAGE_TO_BUILD ]; then #Si PACKAGE_TO_BUILD es null
152
    PROJECTS_TO_BUILD=$ALL_PROJECTS
153
  else
154
    PROJECTS_TO_BUILD=${PROJECTS[$PACKAGE_TO_BUILD]}
155
  fi
156
157
  if [ -z $PACKAGE_TO_BUILD ]; then
158
    PLUGINS_TO_BUILD=$ALL_PLUGINS
159
  else
160
    PLUGINS_TO_BUILD=${PLUGINS[$PACKAGE_TO_BUILD]}
161
  fi
162
163
  if [ -z $PACKAGE_TO_BUILD ]; then
164
    PLUGINS_ARCH_DEP_TO_BUILD=$ARCH_DEP_PLUGINS
165
  else
166
    PLUGINS_ARCH_DEP_TO_BUILD=${ARCH_DEP[$PACKAGE_TO_BUILD]}
167
  fi
168
fi
169
170 2032 nbrodin
#-------------------------------------------------
171
# HELP
172
#-------------------------------------------------
173
174
if [ "$1" = "--help" ] ; then
175
   echo "Usage: First parameter:"
176 2083 nbrodin
   echo "          -all (clean, update, buildnumber, install, tags, commit, ticket, upload)"
177 2032 nbrodin
   echo "          -clean"
178
   echo "          -update"
179
   echo "          -buildnumber"
180
   echo "          -install"
181 2125 nbrodin
   echo "          -upload: Upload to the repository"
182
   echo "          -tags: Create tags tagdate_date_hour"
183
   echo "          -commit: Commit the build number"
184
   echo "          -ticket: Build a file with the URL for the package index"
185 2084 nbrodin
   echo "       Second parameter:"
186
   echo "           -number: Number of group to build the package or empty to build all"
187 2032 nbrodin
   echo ""
188 2084 nbrodin
   echo "Other utils:"
189
   echo "          -changeversion <old_version> <new_version>:Change the parent pom version (org.gvsig.desktop) of all projects"
190
   echo "          -eclipse: mvn eclipse:eclipse"
191 2085 nbrodin
   echo "          -basicinstall: mvn install without copy and decompress depman"
192 2170 nbrodin
   echo "          -installplugins: install plugins"
193 2084 nbrodin
   echo ""
194 2125 nbrodin
   echo "To build a new package"
195 2032 nbrodin
   echo "----------------------------"
196 2125 nbrodin
   echo "   Advisable to use: cpulimit -e java -l 50 -b "
197
   echo "   1 - Check and update variables"
198
   echo "   2 - Ejecutar ./gvprjutils -clean to clean projects"
199
   echo "   3 - Ejecutar ./gvprjutils -update to update projects"
200
   echo "   4 - Ejecutar ./gvprjutils -buildnumber to update the build numbers"
201
   echo "   5 - Ejecutar ./gvprjutils -install to install in ~/.gvsig-devel.properties and package"
202
   echo "   6 - (Check the instalation and the packages that have been built)"
203 2170 nbrodin
   echo "   7 - Ejecutar ./gvprjutils -upload to upload to URL_REPO (Run with the console maximized)"
204 2125 nbrodin
   echo "   8 - Ejecutar ./gvprjutils -commit to upload the buildnumber"
205
   echo "   9 - Ejecutar ./gvprjutils -tags to create tags in URL_SVN"
206 2142 nbrodin
   echo "   10 - Ejecutar ./gvprjutils -ticket to create the file with the URLs of the indexes"
207 2087 nbrodin
   echo ""
208
   echo "Examples:"
209
   echo "---------"
210
   echo "   gvprjutils -clean 5 : Cleans the group 5"
211
   echo "   gvprjutils -all : Build all projects and upload to the server"
212
   echo "   gvprjutils -changeversion 2.0.16-SNAPSHOT 2.0.17-SNAPSHOT  : change the number version of the parent"
213 2032 nbrodin
   exit
214
fi
215
216 2084 nbrodin
217 2032 nbrodin
#-------------------------------------------------
218
# CLEAN
219
#-------------------------------------------------
220
221 2081 nbrodin
clean() {
222 2032 nbrodin
  echo "***********************************"
223
  echo "Clean"
224
  echo "***********************************"
225 2084 nbrodin
226
  for i in $PROJECTS_TO_BUILD
227 2032 nbrodin
    do
228
      cd $i
229
      echo "-----------------"
230
      echo "Cambiando a"....$i
231
      echo "Ejecutando clean"
232
      mvn clean
233
      cd ..
234
    done
235 2081 nbrodin
}
236 2032 nbrodin
237
#-------------------------------------------------
238
# UPDATE
239
#-------------------------------------------------
240
241 2083 nbrodin
update() {
242 2084 nbrodin
  for i in $PROJECTS_TO_BUILD
243 2032 nbrodin
    do
244
      cd $i
245
      echo "-----------------"
246
      echo "Cambiando a"....$i
247
      echo "Ejecutando svn update "
248
      svn update;
249
      cd ..
250
    done
251 2083 nbrodin
}
252 2032 nbrodin
253
#-------------------------------------------------
254
# BUILDNUMBER
255
# Increase the build number for all plugins
256
#-------------------------------------------------
257
258 2084 nbrodin
increaseBuildNumber() {
259 2032 nbrodin
  DIR_BASE=`pwd`
260 2084 nbrodin
  for i in $PLUGINS_TO_BUILD
261 2032 nbrodin
   do
262
     if [ -d $i ]; then
263
       cd $i
264
       if [ -f buildNumber.properties ]; then
265
         CURRENT_VER=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2`
266
         NEXT_VER=$CURRENT_VER
267
         let "NEXT_VER=NEXT_VER+1";
268
         echo "Changin buildNumber "$CURRENT_VER" by "$NEXT_VER" IN "$i
269
         (cat buildNumber.properties | sed -e "s/buildNumber=${CURRENT_VER}/buildNumber=${NEXT_VER}/g") > tmp
270
         rm buildNumber.properties
271
         mv tmp buildNumber.properties
272
       fi
273
     fi
274
     cd $DIR_BASE
275
   done
276 2083 nbrodin
}
277 2032 nbrodin
278
#-------------------------------------------------
279 2083 nbrodin
# Copy to $PACKAGE_DIRECTORY
280 2032 nbrodin
#-------------------------------------------------
281
282
copyToPackageFolder() {
283
  DIR_BASE=`pwd`
284 2084 nbrodin
  for i in $PLUGINS_TO_BUILD
285 2032 nbrodin
    do
286
      cd $i/target
287
      echo "-----------------"
288
      echo "Cambiando a"....$i/target
289
      echo "Copiando "$i" a "$PACKAGE_DIRECTORY
290
      COUNT_SLASHES=`grep -o "\/" <<< "$i" | wc -l` #Count the number of slashes in the path
291
      if [ $COUNT_SLASHES -eq 1 ]; then
292
        pad=`echo $i | cut -d/ -f2`
293
      fi
294
      if [ $COUNT_SLASHES -eq 2 ]; then
295
        pad=`echo $i | cut -d/ -f3`
296
      fi
297
      mkdir $PACKAGE_DIRECTORY/$pad
298
      rename 's/\.zip$//' *.gvspkg.zip  #Elimina los .zip si los gvspkg están como .zip
299
      cp $PACKAGE_PREFIX* $PACKAGE_DIRECTORY/$pad
300
      cd $DIR_BASE
301
   done
302
303
}
304
305
#-------------------------------------------------
306 2170 nbrodin
# Install plugins
307
#-------------------------------------------------
308
309
installPlugins() {
310
  echo "***********************************"
311
  echo "Install"
312
  echo "***********************************"
313
314
  DIR_BASE=`pwd`
315
316
  for i in $PLUGINS
317
    do
318
      cd $i
319
      echo "-----------------"
320
      echo "Cambiando a"....$i
321
322
      echo "Ejecutando mvn "${INSTALL_PARAMS[0]}
323
      mvn ${INSTALL_PARAMS[0]};
324
325
      cd $DIR_BASE
326
   done
327
}
328
329
#-------------------------------------------------
330 2083 nbrodin
# Install libraries and package plugins
331 2032 nbrodin
#-------------------------------------------------
332
333
installAndPackage() {
334
  echo "***********************************"
335
  echo "Install"
336
  echo "***********************************"
337
338
  DIR_BASE=`pwd`
339
340
  #------Install and Package---------
341
342 2084 nbrodin
  for i in $PROJECTS_TO_BUILD
343 2032 nbrodin
    do
344
      cd $i
345
      echo "-----------------"
346
      echo "Cambiando a"....$i
347
      echo "Ejecutando mvn "${INSTALL_PARAMS[0]}
348 2050 nbrodin
      mvn ${INSTALL_PARAMS[0]};
349 2032 nbrodin
      cd ..
350
    done
351
352
353 2084 nbrodin
  for i in $PLUGINS_ARCH_DEP_TO_BUILD #Plugins architecture dependent
354 2032 nbrodin
    do
355 2033 nbrodin
      dir=`cut -d/ -f1 <<<$i`
356
      cd $dir
357 2032 nbrodin
      echo "-----------------"
358 2033 nbrodin
      echo "Cambiando a"....$dir
359 2032 nbrodin
360 2033 nbrodin
      for k in `seq 2 ${#INSTALL_PARAMS[@]}`
361 2032 nbrodin
       do
362 2033 nbrodin
         let "j=k-1";
363
         echo "Ejecutando mvn "$j ${INSTALL_PARAMS[$j]}
364 2032 nbrodin
         mvn ${INSTALL_PARAMS[$j]};
365
       done
366
367
      cd $DIR_BASE
368
   done
369
}
370
371
#-------------------------------------------------
372 2083 nbrodin
# Unpack deman
373 2050 nbrodin
#-------------------------------------------------
374 2083 nbrodin
375 2084 nbrodin
unpackDepman( ) {
376
 if [ "$PLUGINS_ARCH_DEP_TO_BUILD" != "" ]; then #Si no hay plugins dependientes de la arquitectura no descomprimimos el depman
377
   if [ -f $HOME"/"$LIB_PKG ]; then
378
      CURRENT_DIR=`pwd`
379
      cd $HOME
380
      tar -xzvf $LIB_PKG
381
      cd $CURRENT_DIR
382
   else
383
      echo "Error: No existe "$HOME"/"$LIB_PKG"!!!!"
384
      exit
385
   fi
386 2083 nbrodin
 fi
387
}
388 2032 nbrodin
389
390 2084 nbrodin
#----------------------------------------------------------
391 2032 nbrodin
#Gets the number of the version reading it from the pom.xml
392 2084 nbrodin
#----------------------------------------------------------
393
394 2032 nbrodin
loadPluginVersion( ) {
395 2084 nbrodin
  CURRENT_DIR=`pwd`
396
  VERSION_COUNTER=0
397 2033 nbrodin
  for k in `seq 1 ${#PLUGINS[@]}`
398 2032 nbrodin
    do
399 2033 nbrodin
      let "i=k-1";
400 2032 nbrodin
      for j in ${PLUGINS[$i]}
401
        do
402
          if [ -d $j ]; then
403
            cd $j
404
            if [ -f pom.xml ]; then
405
               exec<pom.xml
406
               while read line
407
                 do
408
                   if test "${line#*<version>}" != "$line" ; then #La linea contiene el tag <version>
409
                      NEW_VN=`sed -e "s/<version>//g" <<< $line`
410
                      NEW_VN=`sed -e "s/<\/version>//g" <<< $NEW_VN`
411 2084 nbrodin
                      PLUGIN_VERSIONS[$VERSION_COUNTER]=${PLUGIN_VERSIONS[$VERSION_COUNTER]}" "$NEW_VN
412
                      let "VERSION_COUNTER=VERSION_COUNTER+1"
413 2032 nbrodin
                      break
414
                   fi
415
                 done
416
            fi
417
            cd $CURRENT_DIR
418
          fi
419
        done
420
    done
421
}
422
423
#-------------------------------------------------
424
#Loads the array of build numbers
425
#-------------------------------------------------
426 2084 nbrodin
427 2032 nbrodin
loadBuildNumber() {
428
  CURRENT_DIR=`pwd`
429 2084 nbrodin
  BN_COUNTER=0
430 2033 nbrodin
  for k in `seq 1 ${#PLUGINS[@]}`
431 2032 nbrodin
    do
432 2033 nbrodin
      let "i=k-1";
433 2032 nbrodin
      for j in ${PLUGINS[$i]}
434
        do
435
          if [ -d $j ]; then
436
            cd $j
437
            if [ -f buildNumber.properties ]; then
438
              NEW_BN=`cat buildNumber.properties | grep "buildNumber=" | cut -d'=' -f2`
439 2084 nbrodin
              BN[$BN_COUNTER]=${BN[$BN_COUNTER]}" "$NEW_BN
440
              let "BN_COUNTER=BN_COUNTER+1"
441 2032 nbrodin
            fi
442
            cd $CURRENT_DIR
443
          fi
444
        done
445
    done
446
}
447
448
#-------------------------------------------------
449
#COMMIT CHANGES (BUILD NUMBERS)
450
#-------------------------------------------------
451 2083 nbrodin
452
commit() {
453 2081 nbrodin
 CURRENT_DIR=`pwd`
454 2084 nbrodin
 for i in $PROJECTS_TO_BUILD
455 2032 nbrodin
    do
456
      cd $i
457
      echo "-----------------"
458
      echo "Cambiando a"....$i
459
      echo "Ejecutando svn commit "
460 2081 nbrodin
      svn commit * -m "New build number";
461
      cd $CURRENT_DIR
462 2032 nbrodin
    done
463 2083 nbrodin
}
464 2032 nbrodin
465
#-------------------------------------------------
466
# REVERT CHANGES (SOLO TEST)
467
#-------------------------------------------------
468
if [ "$1" = "-revert" ] ; then
469 2084 nbrodin
 for i in $PROJECTS_TO_BUILD
470 2032 nbrodin
    do
471
      cd $i
472
      echo "-----------------"
473
      echo "Cambiando a"....$i
474
      echo "Ejecutando svn update "
475
      svn revert --recursive .
476
      cd ..
477
    done
478
fi
479
480
#-------------------------------------------------
481 2083 nbrodin
# TICKET
482
#-------------------------------------------------
483 2032 nbrodin
484 2083 nbrodin
ticketGeneration() {
485 2084 nbrodin
 for k in `seq 1 ${#PATH_TICKET[@]}`
486 2032 nbrodin
   do
487 2033 nbrodin
     let "i=k-1";
488 2032 nbrodin
     rm ${PATH_TICKET[$i]} 2> /dev/null
489
   done
490
491 2033 nbrodin
 for k in `seq 1 ${#URL_REPO[@]}`
492 2032 nbrodin
   do
493 2033 nbrodin
     let "i=k-1";
494 2084 nbrodin
     POS_INSIDE_PLUGINS=1 #Position of the plugin inside PLUGINS
495 2032 nbrodin
     for j in ${PLUGINS[$i]}
496
       do
497 2084 nbrodin
         #Si se ha seleccionado algún grupo en concreto solo se añadirá este al fichero (-n está definido)
498 2170 nbrodin
         if [ "$PACKAGE_TO_BUILD" != "" ]; then
499
           if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
500
             break
501
           fi
502 2084 nbrodin
         fi
503
504 2032 nbrodin
         COUNT_SLASHES=`grep -o "\/" <<< "$j" | wc -l` #Count the number of slashes in the path
505
         if [ $COUNT_SLASHES -eq 1 ]; then
506
           package=`echo $j | cut -d/ -f2`
507
         fi
508
         if [ $COUNT_SLASHES -eq 2 ]; then
509
           package=`echo $j | cut -d/ -f3`
510
         fi
511
512 2084 nbrodin
         PLUGIN_VER=`cut -d' ' -f$POS_INSIDE_PLUGINS <<< ${PLUGIN_VERSIONS[$i]}`
513
         PLUGIN_BN=`cut -d' ' -f$POS_INSIDE_PLUGINS <<< ${BN[$i]}`
514 2032 nbrodin
515
	 if test "${ARCH_DEP_PLUGINS#*$j}" != "$ARCH_DEP_PLUGINS"
516
         then
517
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-lin-x86-j1_5.gvspki" >> ${PATH_TICKET[$i]}
518
           echo "" >> ${PATH_TICKET[$i]}
519
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-win-x86-j1_5.gvspki" >> ${PATH_TICKET[$i]}
520
         else
521
           echo "${URL_REPO[$i]}$package/gvSIG-desktop-$GVSIG_VERSION-$package-$PLUGIN_VER-$PLUGIN_BN-$RELEASE-all-all-j1_5.gvspki" >> ${PATH_TICKET[$i]}
522
         fi
523
524
         echo "" >> ${PATH_TICKET[$i]}
525 2084 nbrodin
         let "POS_INSIDE_PLUGINS=POS_INSIDE_PLUGINS+1";
526 2032 nbrodin
       done
527
   done
528 2083 nbrodin
}
529 2032 nbrodin
530
#-------------------------------------------------
531 2083 nbrodin
# TAGS
532
#-------------------------------------------------
533 2032 nbrodin
534 2083 nbrodin
tagsGeneration() {
535 2032 nbrodin
 echo "***********************************"
536
 echo "Creating tags"
537
 echo "***********************************"
538
539 2081 nbrodin
 tag=`date +%d%m%Y_%H_%M`
540 2032 nbrodin
541 2084 nbrodin
  for k in `seq 1 ${#URL_SVN[@]}`
542 2032 nbrodin
   do
543 2033 nbrodin
     let "i=k-1";
544 2032 nbrodin
     for j in ${PROJECTS[$i]}
545
       do
546 2084 nbrodin
         #Si se ha seleccionado algún grupo en concreto solo se hará el tag de estos proyectos
547 2170 nbrodin
         if [ "$PACKAGE_TO_BUILD" != "" ]; then
548
           if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
549
             break
550
           fi
551 2084 nbrodin
         fi
552
553
         #echo "svn copy ${URL_SVN[$i]}$j/trunk ${URL_SVN[$i]}$j/tags/tagdate_$tag -m \"Tag build $tag\""
554
         svn copy ${URL_SVN[$i]}$j/trunk ${URL_SVN[$i]}$j/tags/tagdate_$tag -m "Tag build $tag"
555 2032 nbrodin
       done
556
   done
557 2083 nbrodin
}
558 2032 nbrodin
559 2084 nbrodin
#-------------------------------------------------
560
# CHANGE THE PROJECT VERSION
561
# Change the version of the pom parent in a project
562
#-------------------------------------------------
563 2032 nbrodin
564 2084 nbrodin
changeProjectVersion() {
565
  CURRENT_DIR=`pwd`
566
  if [ -z $1 ] ; then
567
    echo "Current version number not defined"
568
    exit
569
  fi
570
571
  if [ -z $2 ] ; then
572
    echo "Next version number not defined"
573
    exit
574
  fi
575
576
  for i in `ls`
577
    do
578
      if [[ "$i" == org.gvsig.* ]] ; then
579
        echo $i
580
        cd $i
581
	(cat pom.xml | sed -e "s/<version>$1<\/version>/<version>$2<\/version>/") > tmp
582
	rm pom.xml
583
        mv tmp pom.xml
584
	cd $CURRENT_DIR
585
      fi
586
    done
587
}
588
589 2033 nbrodin
#-------------------------------------------------
590 2084 nbrodin
# ECLIPSE .project
591 2033 nbrodin
#-------------------------------------------------
592 2032 nbrodin
593 2084 nbrodin
eclipse() {
594
  echo "***********************************"
595
  echo "Eclipse:eclipse"
596
  echo "***********************************"
597
598
  DIR_BASE=`pwd`
599
600
  for i in $PROJECTS_TO_BUILD
601
    do
602
      cd $i
603
      echo "-----------------"
604
      echo "Cambiando a"....$i
605
      echo "Ejecutando mvn eclipse:eclipse"
606
      mvn eclipse:eclipse;
607
      cd ..
608
    done
609
}
610
611
612
613
#-------------------------------------------------
614
# COMMANDS
615
#-------------------------------------------------
616
617 2083 nbrodin
if [ "$1" = "-all" ] ; then
618
  clean
619
  update
620 2084 nbrodin
  increaseBuildnumber
621 2083 nbrodin
  unpackDepman
622
  installAndPackage
623
  copyToPackageFolder
624
  commit
625
  tagsGeneration
626
  loadBuildNumber
627
  loadPluginVersion
628
  ticketGeneration
629 2033 nbrodin
fi
630 2032 nbrodin
631 2085 nbrodin
if [ "$1" = "-basicinstall" ] ; then
632
  installAndPackage
633
fi
634
635 2170 nbrodin
if [ "$1" = "-installplugins" ] ; then
636
  installPlugins
637
fi
638
639 2083 nbrodin
if [ "$1" = "-install" ] ; then
640
  unpackDepman
641
  installAndPackage
642
  copyToPackageFolder
643
fi
644 2033 nbrodin
645 2083 nbrodin
if [ "$1" = "-clean" ] ; then
646
  clean
647
fi
648
649
if [ "$1" = "-update" ] ; then
650
  update
651
fi
652
653
if [ "$1" = "-buildnumber" ] ; then
654 2084 nbrodin
  increaseBuildNumber
655 2083 nbrodin
fi
656
657
if [ "$1" = "-commit" ] ; then
658
  commit
659
fi
660
661
if [ "$1" = "-ticket" ] ; then
662
 loadBuildNumber
663
 loadPluginVersion
664
 ticketGeneration
665
fi
666
667
if [ "$1" = "-tags" ] ; then
668
 tagsGeneration
669
fi
670
671 2084 nbrodin
if [ "$1" = "-changeversion" ] ; then
672
 changeProjectVersion $2 $3
673
fi
674
675
if [ "$1" = "-eclipse" ] ; then
676
 eclipse
677
fi
678
679 2083 nbrodin
if [ "$1" != "-upload" -a "$1" != "-all" ] ; then
680 2032 nbrodin
  exit
681
fi
682
683 2084 nbrodin
#-------------------------------------------------
684
# UPLOAD
685
#-------------------------------------------------
686
687 2032 nbrodin
echo "***********************************"
688
echo "Uploading"
689
echo "***********************************"
690
691
CURRENT_DIRECTORY=`pwd`;
692
echo "Cambiando a..."$PACKAGE_DIRECTORY
693
cd $PACKAGE_DIRECTORY
694
695
696 2033 nbrodin
for k in `seq 1 ${#URL_REPO[@]}`
697
do
698
let "i=k-1";
699 2084 nbrodin
700 2033 nbrodin
for j in ${PLUGINS[$i]}
701
do
702 2084 nbrodin
703
#Si se ha seleccionado algún grupo en concreto solo se subiran los paquetes de este grupo
704 2149 nbrodin
if [ "$PACKAGE_TO_BUILD" != "" ]; then
705
 if [ -n $PACKAGE_TO_BUILD -a $i -ne $PACKAGE_TO_BUILD ] ; then
706
   break
707
 fi
708 2084 nbrodin
fi
709
710 2033 nbrodin
PKG_DIR=`echo $j | cut -d/ -f3`
711
if [ "$PKG_DIR" == "" ] ; then
712
PKG_DIR=`echo $j | cut -d/ -f2`
713
fi
714 2032 nbrodin
715 2033 nbrodin
expect <<EOD
716
set timeout -1
717
spawn cadaver ${URL_REPO[$i]}
718
expect (y/n)
719
send y\r
720
expect dav:/download/projects/${REPO_NAME[$i]}/pool/>
721
send "cd $PKG_DIR\r"
722
expect $PKG_DIR/>
723
send "lcd $PKG_DIR\r"
724
expect $PKG_DIR/>
725
send "mput *.gvspki\r"
726
expect "Nombre de usuario:"
727
send $USER\r
728
expect "Contraseña:"
729
send $PASS\r
730
expect $PKG_DIR/>
731
send "mput *.gvspkg\r"
732
expect $PKG_DIR/>
733
send quit\r
734
expect "cerrada."
735
EOD
736
737
done
738
done
739
740 2032 nbrodin
cd $CURRENT_DIRECTORY