52 lines
1016 B
Bash
Executable File
52 lines
1016 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Stop on error
|
|
set -e
|
|
|
|
# 1. Legacy Setup.py method
|
|
deploy_setup_py() {
|
|
|
|
# Check if setup.py is present
|
|
[[ ! -f "setup.py" ]] && echo "Setup.py not found, please make sure you're in the correct path" && exit 4
|
|
|
|
# Remove old build
|
|
rm -rf dist
|
|
rm -rf build
|
|
|
|
# Build
|
|
python setup.py sdist bdist_wheel
|
|
|
|
# Check built files
|
|
twine check dist/*
|
|
|
|
# Upload
|
|
twine upload dist/*
|
|
}
|
|
|
|
# 2. New pyproject.toml method
|
|
deploy_pyproject() {
|
|
|
|
# Check if pyproject.toml is present
|
|
[[ ! -f "pyproject.toml" ]] && echo "pyproject.toml not found, please make sure you're in the correct path" && exit 4
|
|
|
|
# Remove old build
|
|
rm -rf dist
|
|
rm -rf build
|
|
|
|
# Build
|
|
pip install pip-tools build twine
|
|
python -m build
|
|
|
|
# Check built files
|
|
twine check dist/*
|
|
|
|
# Upload
|
|
twine upload dist/*
|
|
}
|
|
|
|
# Check which file is present
|
|
if [[ -f "setup.py" ]]; then
|
|
deploy_setup_py
|
|
elif [[ -f "pyproject.toml" ]]; then
|
|
deploy_pyproject
|
|
fi |