47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# write-scm-version.sh exists because `proxy.py``
|
|
# auto-detects it's next version from git. Hence,
|
|
# for `proxy.py` to work `proxy/common/_scm_version.py`
|
|
# file must be auto-generated with necessary information.
|
|
#
|
|
# For CI/CD, this file is generated via `tox` integration.
|
|
# For local development (without editable install), you
|
|
# must run this script to pre-populate `_scm_version.py`.
|
|
#
|
|
# This file is integrated by default within `Makefile`.
|
|
# For every make target invocation, `_scm_version.py` file
|
|
# will be re-written.
|
|
|
|
# Guessed Version 2.3.2.dev146+gad54132.d20211114
|
|
VERSION=$(python -m setuptools_scm --version | \
|
|
# 2.3.2.dev146+gad54132.d20211114
|
|
awk '{print $3}')
|
|
|
|
# Store default IFS
|
|
OLDIFS=$IFS
|
|
|
|
IFS="+"
|
|
set -- $VERSION
|
|
SEMVER=$1
|
|
DATE_AND_HASH=$2
|
|
|
|
IFS="."
|
|
set -- $SEMVER
|
|
MAJOR=$1
|
|
MINOR=$2
|
|
PATCH=$3
|
|
DISTANCE=$4
|
|
|
|
# Reset IFS
|
|
IFS=$OLDIFS
|
|
|
|
echo "# coding: utf-8
|
|
# file generated by setuptools_scm
|
|
# don't change, don't track in version control
|
|
version = '${VERSION}'
|
|
version_tuple = (${MAJOR}, ${MINOR}, '${PATCH}', '${DISTANCE}', '${DATE_AND_HASH}')" > \
|
|
proxy/common/_scm_version.py
|
|
|
|
echo $MAJOR.$MINOR.$PATCH.$DISTANCE
|