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 |