#
# Пересобирает raw.xml страниц проекта. По умолчанию ищет их в pages.
#
# Запуск: rebuild-pages
#
# Можно указать, где именно искать страницы, передав параметр pages=dir1[,dir2[,dir3[,…]]]
#
# Запуск: rebuild-pages pages=another-pages
# Запуск: rebuild-pages pages=pages-one,pages-two
#

# perl-скрипт для разбора параметров, получает два аргумента на вход: параметр список-параметров
# например, pages "layouts=2pane themes=default pages=messages,message,compose colors=blue"
# возвращает значение переданного параметра разделённое пробелами: "messages message"
# или пустую строку, если этого параметра нет~
getParams='map {/(.+?)=(.*)/; if ($ARGV[0] eq $1) {my $s = $2; $s =~ s/,/ /g; print $s; exit}} split(/ /, $ARGV[1]);'

PAGES=`perl -e "$getParams" pages "$*"`
if [ "$PAGES" = "" ]; then PAGES="pages"; fi

echo $SERVICES;
if [ -z $SERVICES ] && [ -e lego/services ]; then for service in $( ls -1 lego/services ); do SERVICES=$SERVICES:lego/services/$service/blocks ; done fi

PAGES_DIRS=`find $PAGES -mindepth 1 -maxdepth 1 -type d -not -name '.*'`;

for PAGE in ${PAGES_DIRS}; do
    echo $PAGE
    find $PAGE -name '*.raw.xml' |
        xargs lego/tools/rebuild --paths lego/blocks$SERVICES:blocks:$PAGE/blocks
done

