File: build-release.sh

package info (click to toggle)
python-git 3.1.44-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 2,732 kB
  • sloc: python: 18,505; sh: 186; makefile: 78
file content (30 lines) | stat: -rwxr-xr-x 1,014 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
#
# This file is part of GitPython and is released under the
# 3-Clause BSD License: https://opensource.org/license/bsd-3-clause/
#
# This script builds a release. If run in a venv, it auto-installs its tools.
# You may want to run "make release" instead of running this script directly.

set -eEu

function release_with() {
    "$1" -m build --sdist --wheel
}

function suggest_venv() {
    local venv_cmd='python -m venv env && source env/bin/activate'
    printf "HELP: To avoid this error, use a virtual-env with '%s' instead.\n" "$venv_cmd"
}

if test -n "${VIRTUAL_ENV-}"; then
    deps=(build twine)  # Install twine along with build, as we need it later.
    echo "Virtual environment detected. Adding packages: ${deps[*]}"
    pip install --quiet --upgrade "${deps[@]}"
    echo 'Starting the build.'
    release_with python
else
    trap suggest_venv ERR  # This keeps the original exit (error) code.
    echo 'Starting the build.'
    release_with python3  # Outside a venv, use python3.
fi