Skip to content
Snippets Groups Projects
Commit 15bccea2 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch '266-replace-dev-sh-with-tox-environments' into 'master'

Resolve "Replace dev.sh with tox environments"

Closes #266

See merge request !730
parents f03430cf dcf92780
No related branches found
Tags 2.1.dev0
1 merge request!730Resolve "Replace dev.sh with tox environments"
Pipeline #39086 failed
......@@ -14,6 +14,11 @@ Added
* Provide an ``ExtensiblePolymorphicModel`` to support the features of extensible models for polymorphic models and vice-versa.
Changed
~~~~~~~
* Replace dev.sh helper script with tox environments.
`2.0`_ - 2021-10-29
-------------------
......
#!/usr/bin/env mksh
remove_pip_metadata() {
find . -type d -name pip-wheel-metadata -print0 | xargs -0r rm -rf --
}
case "$1" in
"install-all")
set -e
cd "$(dirname "$0")"
remove_pip_metadata
poetry lock
poetry install
for d in apps/official/*; do
remove_pip_metadata
poetry run sh -c "cd $d; poetry lock; poetry install"
done
remove_pip_metadata
poetry run ./manage.py compilemessages
poetry run ./manage.py yarn install
poetry run ./manage.py collectstatic --no-input
set +e
exit
;;
"makemessages")
cd "$(dirname "$0")"
manage_py=$(realpath manage.py)
locales="-l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la"
for d in aleksis/core apps/official/*/aleksis/apps/*; do
echo; echo "Entering $d."
poetry run sh -c "cd $d; $manage_py makemessages --no-wrap -e html,txt,py,email -i static $locales"
poetry run sh -c "cd $d; $manage_py makemessages --no-wrap -d djangojs $locales"
done
exit
;;
"autopep8")
cd "$(dirname "$0")"
for d in aleksis/core apps/official/*/aleksis/apps/*; do
echo; echo "Entering $d."
poetry run sh -c "cd $d; autopep8 -i -r ."
done
exit
;;
"pylama")
cd "$(dirname "$0")"
tox_ini=$(realpath tox.ini)
for d in aleksis/core apps/official/*/aleksis/apps/*; do
echo; echo "Entering $d."
poetry run sh -c "cd $d; pylama -a -o $tox_ini ."
done
exit
;;
"gource")
for d in . apps/official/*; do
gource --output-custom-log - "$d"
done | sort -n | gource --log-format custom --background-image aleksis/core/static/img/aleksis-icon.png "$@" -
exit
;;
"devstats-commits")
# Copyright © 2018
# mirabilos <m@mirbsd.org>
# Copyright © 2017
# mirabilos <t.glaser@tarent.de>
# Copyright © 2015, 2017, 2020
# mirabilos <thorsten.glaser@teckids.org>
#
# Provided that these terms and disclaimer and all copyright notices
# are retained or reproduced in an accompanying document, permission
# is granted to deal in this work without restriction, including un‐
# limited rights to use, publicly perform, distribute, sell, modify,
# merge, give away, or sublicence.
#
# This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
# the utmost extent permitted by applicable law, neither express nor
# implied; without malicious intent or gross negligence. In no event
# may a licensor, author or contributor be held liable for indirect,
# direct, other damage, loss, or other issues arising in any way out
# of dealing in the work, even if advised of the possibility of such
# damage or existence of a defect, except proven that it results out
# of said person’s immediate fault when using the work as intended.
set -e
set -o pipefail
unset LANGUAGE
export LC_ALL=C.UTF-8
set -o utf8-mode
for d in . apps/official/*; do
cd "$d"
if [[ ! -s pyproject.toml ]]; then
print -ru2 "E: missing pyproject.toml in ${d@Q}"
print -ru2 "N: maybe you forgot the submodules?"
print -ru2 "N: try git submodule update --init --recursive"
exit 1
fi
cd "$OLDPWD"
done
for d in . apps/official/*; do
cd "$d"
git log --pretty=tformat:%aN
cd "$OLDPWD"
done | sort | uniq -c | sort -nr |&
maxnum=0
maxlen=0
set -A nums
set -A names
nlines=0
while IFS= read -pr line; do
line=${line##*( )}
num=${line%% *}
line=${line##+([0-9]) }
#print -r -- "<$num><$line>"
(( maxnum = num > maxnum ? num : maxnum ))
len=${%line}
if (( len == -1 )); then
len=${#line}
print -ru2 -- "W: assuming length $len for author ${line@Q}"
fi
(( maxlen = len > maxlen ? len : maxlen ))
nums[nlines]=$num
names[nlines++]=$line
done
w=$COLUMNS
if (( (w -= 1 + maxlen + 1) < 1 )); then
print -ru2 -- "E: terminal too small, need $((-w+1)) more columns"
exit 1
fi
if (( maxnum < 1 )); then
print -ru2 -- "E: no commits"
exit 1
fi
set +e
typeset -R$maxlen pname
mbar=██
nlen=0
num=$maxnum
while ((# num > 0 )); do
mbar+=
((# ++nlen ))
((# num /= 10 ))
done
typeset -R$nlen pnum
print '\e[0m'
line=-1
while (( ++line < nlines )); do
bar=
((# num = (nums[line] * w * 8) / maxnum ))
while ((# num >= 8 )); do
bar+=
((# num -= 8 ))
done
case $num {
(7) bar+=;;
(6) bar+=;;
(5) bar+=;;
(4) bar+=;;
(3) bar+=;;
(2) bar+=;;
(1) bar+=;;
}
pname=${names[line]}
if [[ $bar = "$mbar"* ]]; then
pnum=${nums[line]}
bar=$'\e[7m '$pnum$' \e[0m'${bar#"$mbar"}
else
bar+=" ${nums[line]}"
fi
print -r -- "$pname $bar"
done
exit
;;
*)
print -ru2 -- "E: unknown command ${1@Q}"
exit 1
;;
esac
......@@ -47,6 +47,11 @@ commands =
poetry run isort aleksis/
poetry run black aleksis/
[testenv:makemessages]
commands =
poetry run aleksis-admin makemessages --no-wrap -e html,txt,py,email -i static -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la
poetry run aleksis-admin makemessages --no-wrap -d djangojs -i **/node_modules -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la
[flake8]
max_line_length = 100
exclude = migrations,tests
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment