bits/publish.sh

85 lines
2.1 KiB
Bash
Executable File

#!/bin/sh -
_FALSE=0
_TRUE=1
__ScriptName="publish.sh"
username="__token__"
test_token=`cat test.token`
pypi_token=`cat pypi.token`
#--------------------------------------------------------------------------------------------------
# Handle command line arguments
#--------------------------------------------------------------------------------------------------
_USERNAME="__token__"
_TOKEN=""
_TESTREPO=$_FALSE
PTYPE="test"
#--- FUNCTION -----------------------------------------------------------------------------------
# NAME: __usage
# DESCRIPTION: Display usage information.
#--------------------------------------------------------------------------------------------------
__usage() {
cat << EOT
Usage : ${__ScriptName} [options] <publish-type>
Options:
-h Display this help
Publish types:
- pypi Publish to pypi
- test Publish to test.pypi.org
EOT
} # ---------- end of function __usage ----------
while getopts ':h' opt
do
case "${opt}" in
h ) __usage; exit 0 ;;
\?) echo "Invalid option : $OPTARG"
__usage
exit 1
;;
esac
done
shift $((OPTIND-1))
# Define publish type
if [ "$#" -gt 0 ]; then
PTYPE=$1
shift
fi
# Check publish type
if [ "$(echo "$PTYPE" | grep -E '(pypi|test)')" = "" ]; then
echo "Publish type \"$PTYPE\" is invalid..."
exit 1
fi
# Set the token
_TOKEN=$test_token # Default
_REPO="testpypi"
if [ "$(echo "$PTYPE" | grep -E '(pypi)')" = "pypi" ]; then
_TOKEN=$pypi_token
_REPO="pypi"
echo "Publishing to PYPI official..."
fi
# Upgrade pip packages
python3 -m pip install pip --upgrade
python3 -m pip install setuptools --upgrade
python3 -m pip install wheel --upgrade
python3 -m pip install twine --upgrade
python3 -m pip install build --upgrade
# build current version
# note: mkae sure to update setup.py first
python3 -m build
# command: python3 -m twine upload --username $_USERNAME --password $_TOKEN --non-interactive --repository $_REPO dist/*
python3 -m twine upload --verbose --username $_USERNAME --password $_TOKEN --non-interactive --repository $_REPO dist/*