diff --git a/.gitignore b/.gitignore index f3b1d23d8..59487cfcd 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,8 @@ data/bookmarks data/edits.xml data/World.mwm data/WorldCoasts.mwm +data/world_mwm/* +data/_*_ver # Compiled Python *.pyc diff --git a/configure.sh b/configure.sh index d7ec5271c..87a2aaf8d 100755 --- a/configure.sh +++ b/configure.sh @@ -30,7 +30,22 @@ set -euo pipefail ############################################################################### -echo "Configuring the repository for development." +Diff() { + local VER_PATH=$1 + shift + local GIT_DIFF="$(git diff "$@")" + local LAST_COMMIT=$(git log -n 1 --pretty=format:%H -- "$@") + if [ "$LAST_COMMIT" != "$(cat "$VER_PATH" 2>/dev/null)" ]; then + printf "$LAST_COMMIT" > "$VER_PATH" + else + false + fi + if [ "$GIT_DIFF" != "$(cat "$VER_PATH"1_ver 2>/dev/null)" ]; then + printf "$GIT_DIFF" > "$VER_PATH"1_ver + else + false + fi +} if [ ! -d 3party/boost/tools ]; then git submodule update --init --recursive --depth 1 @@ -43,18 +58,31 @@ if [ ! -d 3party/boost/boost ]; then fi if [ "$SKIP_MAP_DOWNLOAD" = false ]; then - echo "Downloading world map..." - wget -N https://cdn.comaps.app/maps/latest/World.mwm -P ./data/ - wget -N https://cdn.comaps.app/maps/latest/WorldCoasts.mwm -P ./data/ + MWM_VERSION=$(awk -F'[:,]' '/"v":/{ $2 = substr($2, 2); print $2 }' data/countries.txt) + MWM_PATH="data/world_mwm/$MWM_VERSION" + WORLD_PATH="$MWM_PATH/World.mwm" + WORLD_PATH2="$MWM_PATH/WorldCoasts.mwm" + + mkdir -p "$MWM_PATH" + + if [ ! -f "$WORLD_PATH" ]; then + echo "Downloading world map..." + wget -N "https://cdn.comaps.app/maps/$MWM_VERSION/World.mwm" -P "$MWM_PATH" && + rm data/World.mwm 2>/dev/null; ln -s "$WORLD_PATH" data/World.mwm + fi + if [ ! -f "$WORLD_PATH2" ]; then + wget -N "https://cdn.comaps.app/maps/$MWM_VERSION/WorldCoasts.mwm" -P "$MWM_PATH" && + rm data/WorldCoasts.mwm 2>/dev/null; ln -s "$WORLD_PATH2" data/WorldCoasts.mwm + fi else echo "Skipping world map download..." fi if [ "$SKIP_GENERATE_SYMBOLS" = false ]; then - echo "Generating symbols..." - bash ./tools/unix/generate_symbols.sh + if Diff data/_sym_ver data/styles/*/*/symbols; then + echo "Generating symbols..." + bash ./tools/unix/generate_symbols.sh + fi else echo "Skipping generate symbols..." fi - -echo "The repository is configured for development."