QGIS/scripts/sipify_all.sh

71 lines
2.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
###########################################################################
# sipify_all.sh
# ---------------------
# Date : 25.03.2017
# Copyright : (C) 2017 by Denis Rouzaud
# Email : denis.rouzaud@gmail.com
###########################################################################
# #
# This program is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
###########################################################################
set -e
# TEMPLATE_DOC=""
# while :; do
# case $1 in
# -t|--template-doc) TEMPLATE_DOC="-template-doc"
# ;;
# *) break
# esac
# shift
# done
DIR=$(git rev-parse --show-toplevel)
# GNU prefix command for mac os support (gsed, gsplit)
GP=
if [[ "$OSTYPE" =~ darwin* ]]; then
GP=g
fi
pushd ${DIR} > /dev/null
2017-04-24 15:52:13 +02:00
count=0
2017-06-26 09:57:09 +02:00
modules=(core gui analysis server)
for module in "${modules[@]}"; do
# clean auto_additions and auto_generated folders
rm -rf python/${module}/auto_additions/*.py
rm -rf python/${module}/auto_generated/*.py
# put back __init__.py
echo '"""
This folder is completed using sipify.pl script
It is not aimed to be manually edited
"""' > python/${module}/auto_additions/__init__.py
2017-06-26 09:57:09 +02:00
while read -r sipfile; do
echo "$sipfile.in"
header=$(${GP}sed -E 's@(.*)\.sip@src/\1.h@; s@auto_generated/@@' <<< $sipfile)
2018-05-31 10:40:07 -04:00
pyfile=$(${GP}sed -E 's@([^\/]+\/)*([^\/]+)\.sip@\2.py@;' <<< $sipfile)
2017-06-26 09:57:09 +02:00
if [ ! -f $header ]; then
echo "*** Missing header: $header for sipfile $sipfile"
else
path=$(${GP}sed -r 's@/[^/]+$@@' <<< $sipfile)
2017-06-26 09:57:09 +02:00
mkdir -p python/$path
2018-05-31 10:40:07 -04:00
./scripts/sipify.pl -s python/$sipfile.in -p python/${module}/auto_additions/${pyfile} $header &
2017-06-26 09:57:09 +02:00
fi
count=$((count+1))
done < <( ${GP}sed -n -r "s@^%Include auto_generated/(.*\.sip)@${module}/auto_generated/\1@p" python/${module}/${module}_auto.sip )
2017-06-26 09:57:09 +02:00
done
wait # wait for sipify processes to finish
2017-04-30 14:12:05 +02:00
echo " => $count files sipified! 🍺"
2017-04-24 15:52:13 +02:00
popd > /dev/null