#!/bin/bash # This script automates the process of updating Certbot's dependencies # including automatically updating the correct file. It is usually run without # any arguments, but if any are provided, they will be passed to Poetry. # Dependencies can be pinned to older versions by modifying pyproject.toml in # the same directory as this file. set -euo pipefail WORK_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" COMMON_DIR="$(dirname "${WORK_DIR}")/common" REPO_ROOT="$(git rev-parse --show-toplevel)" RELATIVE_SCRIPT_PATH="$(realpath --relative-to "$REPO_ROOT" "$WORK_DIR")/$(basename "${BASH_SOURCE[0]}")" REQUIREMENTS_FILE="$REPO_ROOT/tools/requirements.txt" PINNINGS=$("${COMMON_DIR}/export-pinned-dependencies.sh" "${WORK_DIR}" "$@") cat << EOF > "$REQUIREMENTS_FILE" # This file was generated by $RELATIVE_SCRIPT_PATH and can be updated using # that script. # # It is normally used as constraints to pip, however, it has the name # requirements.txt so that is scanned by GitHub. See # https://docs.github.com/en/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems # for more info. EOF echo "${PINNINGS}" >> "${REQUIREMENTS_FILE}"