#!/bin/bash set -e echo # osx support # port install gnutar findutils gsed coreutils gtar=$(command -v gtar || command -v gnutar) || true [ ! -z "$gtar" ] && command -v gfind >/dev/null && { tar() { $gtar "$@"; } sed() { gsed "$@"; } find() { gfind "$@"; } sort() { gsort "$@"; } command -v grealpath >/dev/null && realpath() { grealpath "$@"; } } mode="$1" fast="$2" [ -z "$mode" ] && { echo "need argument 1: (D)ry, (T)est, (U)pload" echo " optional arg 2: fast" echo exit 1 } [ -e copyparty/__main__.py ] || cd .. [ -e copyparty/__main__.py ] || { echo "run me from within the copyparty folder" echo exit 1 } # one-time stuff, do this manually through copy/paste true || { cat > ~/.pypirc <$f) tar --strip-components=2 -xf $f strip-hints-0.1.10/src/strip_hints python3 -c 'from strip_hints.a import uh; uh("copyparty")' # resolve symlinks find -type l | while IFS= read -r f1; do ( cd "${f1%/*}" f1="./${f1##*/}" f2="$(readlink "$f1")" [ -e "$f2" ] || f2="../$f2" [ -e "$f2" ] || { echo could not resolve "$f1" exit 1 } rm "$f1" cp -p "$f2" "$f1" ); done # resolve symlinks on windows [ "$OSTYPE" = msys ] && (cd ../..; git ls-files -s | awk '/^120000/{print$4}') | while IFS= read -r x; do [ $(wc -l <"$x") -gt 1 ] && continue (cd "${x%/*}"; cp -p "../$(cat "${x##*/}")" ${x##*/}) done rm -rf contrib [ $fast ] && sed -ri s/5730/10/ copyparty/web/Makefile (cd copyparty/web && make -j$(nproc) && rm Makefile) # build python3 -m build [ "$mode" == t ] && twine upload -r pypitest dist/* [ "$mode" == u ] && twine upload -r pypi dist/*