source: osm/applications/editors/josm/debian/make_install_files.sh@ 12610

Last change on this file since 12610 was 12610, checked in by joerg, 16 years ago

Also compile and add webkit-image

  • Property svn:executable set to *
File size: 7.6 KB
Line 
1#!/bin/sh
2
3dst_path=debian/openstreetmap-josm
4
5#test -n "$1" || help=1
6quiet=" -q "
7verbose=1
8
9do_update_icons=true
10do_update_josm=true
11do_update_josm_ng=true
12do_update_plugins=true
13do_remove_jar=true
14
15for arg in "$@" ; do
16 case $arg in
17 --dest-path=*) # Destination path to install the final *.jar Files
18 dst_path=${arg#*=}
19 ;;
20
21 --no-update-icons) # Do not update icons
22 do_update_icons=false
23 ;;
24
25 --no-update-josm) # Do not update Josm
26 do_update_josm=false
27 ;;
28
29 --no-update-josm-ng) # Do not update Josm-NG
30 do_update_josm_ng=false
31 ;;
32
33 --no-update-plugins) # Do not update the plugins
34 do_update_plugins=false
35 ;;
36
37 --no-remove-jar) # Do not remove old jar Files
38 do_remove_jar=false
39 ;;
40
41 *)
42 echo ""
43 echo "!!!!!!!!! Unknown option $arg"
44 echo ""
45 help=1
46 ;;
47 esac
48done
49
50if [ -n "$help" ] ; then
51 # extract options from case commands above
52 options=`grep -E -e esac -e '\s*--.*\).*#' $0 | sed '/esac/,$d;s/.*--/ [--/; s/=\*)/=val]/; s/)[\s ]/]/; s/#.*\s*//; s/[\n/]//g;'`
53 options=`for a in $options; do echo -n " $a" ; done`
54 echo "$0 $options"
55 echo "
56
57 This script tries to compile and copy all josm Files
58 and all the plugins.
59 In case a plugin will not compile it is omitted.
60 "
61 # extract options + description from case commands above
62 grep -E -e esac -e '--.*\).*#' -e '^[\t\s ]+#' $0 | \
63 grep -v /bin/bash | sed '/esac/,$d;s/.*--/ --/;s/=\*)/=val/;s/)//;s/#//;'
64 exit;
65fi
66
67
68# define colors
69ESC=`echo -e "\033"`
70RED="${ESC}[91m"
71GREEN="${ESC}[92m"
72YELLOW="${ESC}[93m"
73BLUE="${ESC}[94m"
74MAGENTA="${ESC}[95m"
75CYAN="${ESC}[96m"
76WHITE="${ESC}[97m"
77BG_RED="${ESC}[41m"
78BG_GREEN="${ESC}[42m"
79BG_YELLOW="${ESC}[43m"
80BG_BLUE="${ESC}[44m"
81BG_MAGENTA="${ESC}[45m"
82BG_CYAN="${ESC}[46m"
83BG_WHITE="${ESC}[47m"
84BRIGHT="${ESC}[01m"
85UNDERLINE="${ESC}[04m"
86BLINK="${ESC}[05m"
87REVERSE="${ESC}[07m"
88NORMAL="${ESC}[0m"
89
90echo "copying Files to '$dst_path'"
91package_name=openstreetmap-josm
92dst_path=${dst_path%/}
93
94jar_path="$dst_path/usr/local/share/josm"
95mkdir -p "$jar_path"
96
97bin_path="$dst_path/usr/bin"
98mkdir -p "$bin_path"
99
100#plugin_dir="$dst_path/usr/local/share/josm/plugins"
101plugin_dir="$dst_path/usr/lib/josm/plugins"
102mkdir -p "$plugin_dir"
103
104mkdir -p "$dst_path/usr/share/josm"
105#( # map-icons to be symlinked
106# cd "$dst_path/usr/share/josm"
107# ln -s ../map-icons/classic.small images
108#)
109
110# --------------------------------------------
111# Try to update Icons
112if $do_update_icons ; then
113 echo "Now we try our best ... to get more icons ..."
114 find ../../share/map-icons/build/square.small -type f -name "*.png" | while read src_file ; do
115 file=${src_file#.*square.small/}
116 dst_dir="plugins/mappaint/icons/`dirname $file`"
117 mkdir -p $dst_dir
118 #echo "File $file"
119 cp -u "$src_file" "plugins/mappaint/icons/$file"
120 done
121fi
122mkdir -p "$dst_path/usr/lib/josm"
123
124# ------------------------------------------------------------------
125# Remove Old Jar Files in dist/*.jar
126
127$do_remove_jar && rm -f dist/*.jar
128$do_remove_jar && rm -f plugins/*/dist/*.jar
129
130# ------------------------------------------------------------------
131# Compile the Josm Main File(s)
132if $do_update_josm ; then
133 echo "------------- Compile Josm"
134 cd core
135 ant -q clean 2>build.err
136 ant -q dist >>build.log 2>>build.err
137 rc=$?
138 if [ "$rc" -ne "0" ] ; then
139 echo "${BG_RED}!!!!!!!!!! ERROR compiling josm core${NORMAL}"
140 exit -1
141 fi
142 cd ..
143fi
144
145# ------------------------------------------------------------------
146# Try to Compile as many Josm Plugins as possible
147if $do_update_plugins ; then
148 echo "------------- Compile Josm Plugin webkit-image for wmsplugin"
149 cd plugins/wmsplugin
150 make clean
151 make
152 cd ../..
153 cp plugins/wmsplugin/webkit-image $bin_path/webkit-image
154fi
155# ------------------------------------------------------------------
156# Try to Compile as many Josm Plugins as possible
157if $do_update_plugins ; then
158 echo "------------- Compile Josm Plugins"
159 compiling_error=''
160 compiling_ok=''
161 cd plugins
162 plugins=`ls */build.xml | sed s,/build.xml,,`
163 echo "Plugins(`echo "$plugins"| wc -l`): " $plugins
164 for dir in $plugins; do
165 cd $dir
166 echo -n -e "----- $dir\r"
167 $do_remove_jar && rm -f dist/*.jar
168 $do_remove_jar && rm -f ../../dist/$dir.jar
169 rm -f *.log
170 echo "ant clean" >build.log
171 echo "ant clean" >build.err
172 ant -q clean >>build.log 2>>build.err
173 echo "ant dist" >>build.log
174 echo "ant dist" >>build.err
175 ant -q dist >>build.log 2>>build.err
176 rc=$?
177 number_of_jar=`(find . -name "*.jar" ;find ../../dist -name "$dir.jar")| grep -v '/lib'| wc -l`
178 if [ "$rc" -eq "0" ] ; then
179 echo "${GREEN}------------------------- compiling $dir successfull${NORMAL} ( $number_of_jar jar Files)"
180 grep -i -e error -e warn *.log *.err
181 compiling_ok="$compiling_ok $dir"
182 else
183 echo "${BG_RED}!!!!!!!!!! ERROR compiling $dir${NORMAL} ( $number_of_jar jar Files)"
184 #echo "Details see:"
185 #echo " `pwd`/build.log"
186 #echo " `pwd`/build.err"
187 compiling_error="$compiling_error $dir"
188 fi
189 find . -name "*.jar" | grep -v -e '/lib'
190
191 cd ..
192 done
193 if [ -n "$compiling_error" ] ; then
194 echo "${BG_RED}!!!!!!!!!! ERROR compiling Plugins${NORMAL}"
195 echo "Details see:"
196
197 err_log_path=''
198 for dir in $compiling_error; do
199 echo " `pwd`/$dir/build.log"
200 err_log_path="$err_log_path $dir/build.log $dir/build.err"
201 done
202 zip -q errors.zip $err_log_path
203 echo "${RED}Combined ERROR Logfiles are at: `pwd`/errors.zip${NORMAL}"
204 echo "${RED}Compiling ERRORs(`echo "$compiling_error"| wc -w`): $compiling_error${NORMAL}"
205 fi
206 echo "Compiling OK(`echo "$compiling_ok"| wc -w`): $compiling_ok"
207 cd ..
208fi
209
210# ------------------------------------------------------------------
211# Compile the Josm-ng Files
212if $do_update_josm_ng ; then
213 echo "------------- Compile Josm-ng"
214 cd ../josm-ng
215 ant -q clean
216 ant -q josm-ng-impl.jar >>build.log 2>>build.err
217 rc=$?
218 if [ "$rc" -ne "0" ] ; then
219 echo "------------- ERROR Compiling Josm-ng"
220 echo "${RED}!!!!!!!!!!!!!!!!! WARNING Josm-NG is not included into the package${NORMAL}"
221 #exit -1
222 fi
223 cd ../josm
224fi
225
226
227# ------------------------------------------------------------------
228echo "------------- Copy Jar Files"
229
230cp ./core/dist/josm-custom.jar $jar_path/josm.jar || exit -1
231rc=$?
232if [ "$rc" -ne "0" ] ; then
233 echo "${RED}------------- ERROR Compiling Josm-ng${NORMAL}"
234fi
235cp ../josm-ng/dist/josm-ng.jar $jar_path/josm-ng.jar || {
236 echo "${RED}!!!!!!!!!!!!!!!!! WARNING Josm-NG is not included into the package${NORMAL}"
237 #exit -1
238}
239
240# Find all existing plugin-jar files and generate a pluginlist from it
241plugin_jars=`find dist -name "*.jar"`
242plugins=''
243for src_fn in $plugin_jars ; do
244 fn="`basename ${src_fn}`"
245 dst_fn="$plugin_dir/$fn"
246 echo "cp $src_fn $dst_fn"
247 cp "$src_fn" "$dst_fn"
248 if [ "$?" -ne "0" ] ; then
249 echo "${RED}------------- ERROR Copying $src_fn ${NORMAL}"
250 exit -1
251 fi
252 plugin_name=${fn%.jar}
253 echo $plugin_name | grep -q -e plastic_laf -e lang && continue
254 plugins="$plugins$plugin_name,"
255done || exit -1
256
257# remove last empty plugin definition ,
258plugins=${plugins%,}
259
260echo "Activated Plugins:"
261echo "$plugins"
262
263# Copy words.cfg for spelling
264mkdir -p "$jar_path/speller"
265cp ../../utils/planet.osm/java/speller/words.cfg "$jar_path/speller/"
266
267# ------------------------------------------------------------------
268cp "debian/bin/josm.sh" "$bin_path/josm" || exit -1
269cp "debian/bin/josm-ng.sh" "$bin_path/josm-ng" || {
270 echo "!!!!!!!!!!!!!!!!! WARNING Josm-NG is not included into the package"
271 #exit -1
272}
273
274# add plugins to default preferences
275sed "s/PLUGIN_LIST/$plugins/;" <debian/bin/preferences >"$jar_path/preferences"
276
277# Copy default Bookmarks
278cp nsis/bookmarks "$jar_path/bookmarks"
Note: See TracBrowser for help on using the repository browser.