50 lines
2.4 KiB
Bash
50 lines
2.4 KiB
Bash
#!/bin/sh
|
|
|
|
# Updates metadata using variables in template_vars.env
|
|
# To be used for updating already defined metadata in an
|
|
# existing project, when the values in the template_vars.env
|
|
# file have changed
|
|
# Currently updates information for project version,
|
|
# project description, and project keywords
|
|
|
|
# TODO: Add updating of additional metadata
|
|
|
|
# save to restore working directory later
|
|
ORIGPATH="$(pwd)"
|
|
|
|
# configure path information and working directory
|
|
SCRIPTPATH="$0"
|
|
cd "$(dirname ${SCRIPTPATH})/.." || exit 253
|
|
PROJECTDIR="$(pwd)"
|
|
|
|
# source template_vars.env as defined in SOURCEFILE
|
|
SOURCEFILE="${PROJECTDIR}/template_vars.env"
|
|
if [ -f "${SOURCEFILE}" ]; then
|
|
# shellcheck disable=SC1090
|
|
. "$SOURCEFILE"
|
|
else
|
|
echo "Error: environment variables file not found: ${SOURCEFILE}"
|
|
exit 253
|
|
fi
|
|
|
|
KW=$(echo "${TPL_PROJECTKEYWORDS}" | python -c 'import sys;import re;print( ",".join(["\"{}\"".format(re.sub("[^a-zA-Z01-9 ]","",e.strip())) for e in (sys.stdin.read()).split(",") if e.strip()]) )')
|
|
|
|
SED_CMD=$(which sed)
|
|
|
|
$SED_CMD -E "s/version\s*=\s*\"[0-9\.\-\_a-zA-Z]+\"/version = \"${TPL_PROJECTVERSION}\"/g" "${PROJECTDIR}/pyproject.toml"
|
|
$SED_CMD -E "s/description\s*=\s*\".*?\"/description = \"${TPL_PROJECTDESCRIPTION}\"/g" "${PROJECTDIR}/pyproject.toml"
|
|
$SED_CMD -E "s/^#?\s*keywords\s*=\s*\[.*\]/keywords = [\"${KW}\"]/g" "${PROJECTDIR}/pyproject.toml"
|
|
|
|
$SED_CMD -i "s/^__version__ = .*/__version__ = \"${TPL_PROJECTVERSION}\"/" "${PROJECTDIR}/src/${TPL_PROJECTPREFIX}${TPL_PROJECTNAME}/__init__.py"
|
|
$SED_CMD -i "s/^__author__ = .*/__author__ = \"${TPL_COMPANYNAME}(${TPL_AUTHORNAME})\"/" "${PROJECTDIR}/src/${TPL_PROJECTPREFIX}${TPL_PROJECTNAME}/__init__.py"
|
|
$SED_CMD -i "s/^__email__ = .*/__email__ = \"${TPL_AUTHOREMAIL}\"/" "${PROJECTDIR}/src/${TPL_PROJECTPREFIX}${TPL_PROJECTNAME}/__init__.py"
|
|
$SED_CMD -i "s/^__projectDescription__ = .*/__projectDescription__ = \"${TPL_PROJECTDESCRIPTION}\"/" "${PROJECTDIR}/src/${TPL_PROJECTPREFIX}${TPL_PROJECTNAME}/__init__.py"
|
|
$SED_CMD -i "s/^__description__ = .*/__description__ = \"${TPL_PROJECTDESCRIPTION}\"/" "${PROJECTDIR}/src/${TPL_PROJECTPREFIX}${TPL_PROJECTNAME}/__init__.py"
|
|
|
|
# release = '0.0.1'
|
|
$SED_CMD -i "s/^\s*release\s*=.*?/release = '${TPL_PROJECTVERSION}'/" "${PROJECTDIR}/docs/conf.py"
|
|
|
|
echo "${TPL_PROJECTVERSION}" > "${PROJECTDIR}/src/${TPL_PROJECTPREFIX}${TPL_PROJECTNAME}/version.txt"
|
|
|
|
cd "${ORIGPATH}" || exit 252
|